@nixweb/nixloc-ui 1.17.0 → 1.19.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 (288) hide show
  1. package/.github/workflows/publish-npm.yml +32 -32
  2. package/@nixweb/nixloc-ui/.github/workflows/publish-npm.yml +32 -32
  3. package/@nixweb/nixloc-ui/README.md +24 -24
  4. package/@nixweb/nixloc-ui/babel.config.js +5 -5
  5. package/@nixweb/nixloc-ui/config/dev.env.js +8 -8
  6. package/@nixweb/nixloc-ui/config/index.js +69 -69
  7. package/@nixweb/nixloc-ui/config/prod.env.js +5 -5
  8. package/@nixweb/nixloc-ui/docs/src/component/template/ViewTemplateReportPreview.drawio +209 -209
  9. package/@nixweb/nixloc-ui/docs/src/store/modulos/relatorio.drawio +36 -36
  10. package/@nixweb/nixloc-ui/package.json +88 -88
  11. package/@nixweb/nixloc-ui/public/index.html +19 -19
  12. package/@nixweb/nixloc-ui/public/styles/app.css +52 -52
  13. package/@nixweb/nixloc-ui/src/App.vue +13 -13
  14. package/@nixweb/nixloc-ui/src/component/forms/Button.vue +163 -163
  15. package/@nixweb/nixloc-ui/src/component/forms/ButtonFilter.vue +74 -74
  16. package/@nixweb/nixloc-ui/src/component/forms/ButtonGroup.vue +66 -66
  17. package/@nixweb/nixloc-ui/src/component/forms/ButtonSub.vue +97 -97
  18. package/@nixweb/nixloc-ui/src/component/forms/ButtonToggle.vue +76 -76
  19. package/@nixweb/nixloc-ui/src/component/forms/CheckboxGroup.vue +69 -69
  20. package/@nixweb/nixloc-ui/src/component/forms/CheckboxServer.vue +192 -192
  21. package/@nixweb/nixloc-ui/src/component/forms/CheckboxSimple.vue +60 -60
  22. package/@nixweb/nixloc-ui/src/component/forms/Color.vue +38 -38
  23. package/@nixweb/nixloc-ui/src/component/forms/DateTime.vue +170 -170
  24. package/@nixweb/nixloc-ui/src/component/forms/DateYearMonth.vue +193 -193
  25. package/@nixweb/nixloc-ui/src/component/forms/Dropdown.vue +236 -236
  26. package/@nixweb/nixloc-ui/src/component/forms/EditorHtml.vue +132 -132
  27. package/@nixweb/nixloc-ui/src/component/forms/FileUpload.vue +170 -170
  28. package/@nixweb/nixloc-ui/src/component/forms/ImageUpload.vue +214 -214
  29. package/@nixweb/nixloc-ui/src/component/forms/IncrementDecrement.vue +148 -148
  30. package/@nixweb/nixloc-ui/src/component/forms/InputAddressGoogle.vue +171 -171
  31. package/@nixweb/nixloc-ui/src/component/forms/InputCallToAction.vue +135 -135
  32. package/@nixweb/nixloc-ui/src/component/forms/InputDecimal.vue +153 -153
  33. package/@nixweb/nixloc-ui/src/component/forms/InputDecimalDiscount.vue +77 -77
  34. package/@nixweb/nixloc-ui/src/component/forms/InputNumber.vue +160 -160
  35. package/@nixweb/nixloc-ui/src/component/forms/InputPassword.vue +148 -148
  36. package/@nixweb/nixloc-ui/src/component/forms/InputTag.vue +124 -124
  37. package/@nixweb/nixloc-ui/src/component/forms/InputText.vue +174 -174
  38. package/@nixweb/nixloc-ui/src/component/forms/InputTextEdit.vue +69 -69
  39. package/@nixweb/nixloc-ui/src/component/forms/InputWhatsApp.vue +47 -47
  40. package/@nixweb/nixloc-ui/src/component/forms/Modal.vue +57 -57
  41. package/@nixweb/nixloc-ui/src/component/forms/RadioGroup.vue +91 -91
  42. package/@nixweb/nixloc-ui/src/component/forms/Select.vue +378 -378
  43. package/@nixweb/nixloc-ui/src/component/forms/SelectStatic.vue +198 -198
  44. package/@nixweb/nixloc-ui/src/component/forms/SideBar.vue +99 -99
  45. package/@nixweb/nixloc-ui/src/component/forms/Slider.vue +18 -18
  46. package/@nixweb/nixloc-ui/src/component/forms/TextArea.vue +138 -138
  47. package/@nixweb/nixloc-ui/src/component/forms/Toggle.vue +72 -72
  48. package/@nixweb/nixloc-ui/src/component/layout/Account.vue +131 -131
  49. package/@nixweb/nixloc-ui/src/component/layout/Alert.vue +88 -88
  50. package/@nixweb/nixloc-ui/src/component/layout/Badge.vue +111 -111
  51. package/@nixweb/nixloc-ui/src/component/layout/BarFloating.vue +67 -67
  52. package/@nixweb/nixloc-ui/src/component/layout/FixedBar.vue +103 -103
  53. package/@nixweb/nixloc-ui/src/component/layout/Gantt.vue +128 -128
  54. package/@nixweb/nixloc-ui/src/component/layout/Header.vue +56 -56
  55. package/@nixweb/nixloc-ui/src/component/layout/HideShow.vue +61 -61
  56. package/@nixweb/nixloc-ui/src/component/layout/IconMolded.vue +58 -58
  57. package/@nixweb/nixloc-ui/src/component/layout/LoadingFullPage.vue +27 -27
  58. package/@nixweb/nixloc-ui/src/component/layout/Menu.vue +287 -287
  59. package/@nixweb/nixloc-ui/src/component/layout/Molded.vue +30 -30
  60. package/@nixweb/nixloc-ui/src/component/layout/NewAccount.vue +136 -136
  61. package/@nixweb/nixloc-ui/src/component/layout/NewHeader.vue +59 -59
  62. package/@nixweb/nixloc-ui/src/component/layout/NewIconMolded.vue +70 -70
  63. package/@nixweb/nixloc-ui/src/component/layout/NewMenu.vue +455 -455
  64. package/@nixweb/nixloc-ui/src/component/layout/Panel.vue +185 -185
  65. package/@nixweb/nixloc-ui/src/component/layout/Popover.vue +126 -126
  66. package/@nixweb/nixloc-ui/src/component/layout/ScrollBar.vue +57 -57
  67. package/@nixweb/nixloc-ui/src/component/layout/Tab.vue +135 -135
  68. package/@nixweb/nixloc-ui/src/component/layout/Tag.vue +97 -97
  69. package/@nixweb/nixloc-ui/src/component/layout/Wizard.vue +211 -211
  70. package/@nixweb/nixloc-ui/src/component/rental/DisplayCalculatePeriod.vue +48 -48
  71. package/@nixweb/nixloc-ui/src/component/rental/DisplayPeriodRent.vue +55 -55
  72. package/@nixweb/nixloc-ui/src/component/rental/DisplayTotalization.vue +86 -86
  73. package/@nixweb/nixloc-ui/src/component/report/Fields.vue +108 -108
  74. package/@nixweb/nixloc-ui/src/component/report/Report.vue +313 -313
  75. package/@nixweb/nixloc-ui/src/component/report/ReportTable.vue +111 -111
  76. package/@nixweb/nixloc-ui/src/component/report/Totalization.vue +33 -33
  77. package/@nixweb/nixloc-ui/src/component/shared/CodeEditor.vue +128 -128
  78. package/@nixweb/nixloc-ui/src/component/shared/Collapse.vue +131 -131
  79. package/@nixweb/nixloc-ui/src/component/shared/Confirmation.vue +74 -74
  80. package/@nixweb/nixloc-ui/src/component/shared/DocumentEditor.vue +99 -99
  81. package/@nixweb/nixloc-ui/src/component/shared/DocumentPreview.vue +81 -81
  82. package/@nixweb/nixloc-ui/src/component/shared/DocumentPublic.vue +33 -33
  83. package/@nixweb/nixloc-ui/src/component/shared/ExportExcel.vue +56 -56
  84. package/@nixweb/nixloc-ui/src/component/shared/ExportPDF.vue +116 -116
  85. package/@nixweb/nixloc-ui/src/component/shared/FullCalendar.vue +173 -173
  86. package/@nixweb/nixloc-ui/src/component/shared/HeaderReport.vue +47 -47
  87. package/@nixweb/nixloc-ui/src/component/shared/HorizontalFilter.vue +64 -64
  88. package/@nixweb/nixloc-ui/src/component/shared/ListNotifications.vue +70 -70
  89. package/@nixweb/nixloc-ui/src/component/shared/Loading.vue +107 -107
  90. package/@nixweb/nixloc-ui/src/component/shared/LoadingCard.vue +64 -64
  91. package/@nixweb/nixloc-ui/src/component/shared/LoadingMoreButton.vue +23 -23
  92. package/@nixweb/nixloc-ui/src/component/shared/Messages.vue +109 -109
  93. package/@nixweb/nixloc-ui/src/component/shared/PDFViewer.vue +24 -24
  94. package/@nixweb/nixloc-ui/src/component/shared/Pagination.vue +108 -108
  95. package/@nixweb/nixloc-ui/src/component/shared/ParameterLegend.vue +169 -169
  96. package/@nixweb/nixloc-ui/src/component/shared/ProgressBar.vue +25 -25
  97. package/@nixweb/nixloc-ui/src/component/shared/QueryButton.vue +66 -66
  98. package/@nixweb/nixloc-ui/src/component/shared/Report.vue +200 -200
  99. package/@nixweb/nixloc-ui/src/component/shared/SaveCancel.vue +99 -99
  100. package/@nixweb/nixloc-ui/src/component/shared/Search.vue +174 -174
  101. package/@nixweb/nixloc-ui/src/component/shared/SelectOption.vue +162 -162
  102. package/@nixweb/nixloc-ui/src/component/shared/Table.vue +174 -174
  103. package/@nixweb/nixloc-ui/src/component/shared/TableButton.vue +36 -36
  104. package/@nixweb/nixloc-ui/src/component/shared/TableDraggable.vue +117 -117
  105. package/@nixweb/nixloc-ui/src/component/shared/TableImport.vue +93 -93
  106. package/@nixweb/nixloc-ui/src/component/shared/TableItem.vue +214 -214
  107. package/@nixweb/nixloc-ui/src/component/shared/TableTotalPerPage.vue +77 -77
  108. package/@nixweb/nixloc-ui/src/component/shared/TableTotalRecords.vue +44 -44
  109. package/@nixweb/nixloc-ui/src/component/shared/TableTotalization.vue +47 -47
  110. package/@nixweb/nixloc-ui/src/component/shared/TimeLine.vue +41 -41
  111. package/@nixweb/nixloc-ui/src/component/shared/Timer.vue +77 -77
  112. package/@nixweb/nixloc-ui/src/component/shared/Tip.vue +42 -42
  113. package/@nixweb/nixloc-ui/src/component/shared/Toast.vue +69 -69
  114. package/@nixweb/nixloc-ui/src/component/shared/ToggleTheme.vue +127 -127
  115. package/@nixweb/nixloc-ui/src/component/shared/TotalizationReport.vue +86 -86
  116. package/@nixweb/nixloc-ui/src/component/shared/VerticalFilter.vue +97 -97
  117. package/@nixweb/nixloc-ui/src/component/shared/automation/ActivitiesList.vue +43 -43
  118. package/@nixweb/nixloc-ui/src/component/shared/automation/AddRule.vue +60 -60
  119. package/@nixweb/nixloc-ui/src/component/shared/automation/AutomationBuilder.vue +26 -26
  120. package/@nixweb/nixloc-ui/src/component/shared/automation/DynamicComponentList.vue +85 -85
  121. package/@nixweb/nixloc-ui/src/component/shared/automation/SelectRule.vue +97 -97
  122. package/@nixweb/nixloc-ui/src/component/shared/automation/components/BillingByRent.vue +97 -97
  123. package/@nixweb/nixloc-ui/src/component/shared/automation/components/SendEmail.vue +93 -93
  124. package/@nixweb/nixloc-ui/src/component/shared/file-manager/FileManager.vue +390 -390
  125. package/@nixweb/nixloc-ui/src/component/shared/filter-builder/FilterBuilder.vue +220 -220
  126. package/@nixweb/nixloc-ui/src/component/shared/filter-builder/FilterQuery.vue +94 -94
  127. package/@nixweb/nixloc-ui/src/component/shared/query-builder/AddRule.vue +203 -203
  128. package/@nixweb/nixloc-ui/src/component/shared/query-builder/ConvertToOdata.js +86 -86
  129. package/@nixweb/nixloc-ui/src/component/shared/query-builder/DynamicComponent.vue +161 -161
  130. package/@nixweb/nixloc-ui/src/component/shared/query-builder/DynamicComponentList.vue +70 -70
  131. package/@nixweb/nixloc-ui/src/component/shared/query-builder/Fields.vue +93 -93
  132. package/@nixweb/nixloc-ui/src/component/shared/query-builder/QueryBuilder.vue +69 -69
  133. package/@nixweb/nixloc-ui/src/component/shared/query-builder/Rules.vue +68 -68
  134. package/@nixweb/nixloc-ui/src/component/shared/query-builder/SelectRule.vue +97 -97
  135. package/@nixweb/nixloc-ui/src/component/shared/query-builder/Tags.vue +59 -59
  136. package/@nixweb/nixloc-ui/src/component/shared/query-builder/utilities.js +21 -21
  137. package/@nixweb/nixloc-ui/src/component/signature/Payment.vue +160 -160
  138. package/@nixweb/nixloc-ui/src/component/signature/Warning.vue +75 -75
  139. package/@nixweb/nixloc-ui/src/component/template/ListViewWithDataHandler.vue +429 -429
  140. package/@nixweb/nixloc-ui/src/component/template/ReportCreateUpdate.vue +110 -110
  141. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateConfiguration.vue +64 -64
  142. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateDocumentView.vue +213 -213
  143. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateImportFile.vue +347 -347
  144. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateReportList.vue +217 -217
  145. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateReportPreview.vue +432 -432
  146. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateSelectOption.vue +46 -46
  147. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateWithSalveCancel.vue +32 -32
  148. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateWithTable.vue +62 -62
  149. package/@nixweb/nixloc-ui/src/component/template/model/Report.js +5 -5
  150. package/@nixweb/nixloc-ui/src/component/training/Course.vue +343 -343
  151. package/@nixweb/nixloc-ui/src/component/training/CourseView.vue +189 -189
  152. package/@nixweb/nixloc-ui/src/component/value-objects/Address.js +10 -10
  153. package/@nixweb/nixloc-ui/src/component/value-objects/Address.vue +157 -157
  154. package/@nixweb/nixloc-ui/src/component/value-objects/Contact.js +6 -6
  155. package/@nixweb/nixloc-ui/src/component/value-objects/Contact.vue +106 -106
  156. package/@nixweb/nixloc-ui/src/component/value-objects/Person.js +10 -10
  157. package/@nixweb/nixloc-ui/src/component/value-objects/Person.vue +129 -129
  158. package/@nixweb/nixloc-ui/src/config/axios.js +9 -9
  159. package/@nixweb/nixloc-ui/src/config/dicas.js +14 -14
  160. package/@nixweb/nixloc-ui/src/config/router.js +13 -13
  161. package/@nixweb/nixloc-ui/src/config/token.js +14 -14
  162. package/@nixweb/nixloc-ui/src/main.js +23 -23
  163. package/@nixweb/nixloc-ui/src/store/modules/automation.js +30 -30
  164. package/@nixweb/nixloc-ui/src/store/modules/generic.js +815 -815
  165. package/@nixweb/nixloc-ui/src/store/modules/report.js +277 -277
  166. package/@nixweb/nixloc-ui/src/store/modules/user.js +66 -66
  167. package/@nixweb/nixloc-ui/src/store/modules/util.js +25 -25
  168. package/@nixweb/nixloc-ui/src/store/modules/validation.js +38 -38
  169. package/@nixweb/nixloc-ui/src/store/store.js +13 -13
  170. package/README.md +24 -24
  171. package/babel.config.js +5 -5
  172. package/config/dev.env.js +8 -8
  173. package/config/index.js +69 -69
  174. package/config/prod.env.js +5 -5
  175. package/docs/src/component/template/ViewTemplateReportPreview.drawio +209 -209
  176. package/docs/src/store/modulos/relatorio.drawio +36 -36
  177. package/package.json +88 -88
  178. package/public/index.html +19 -19
  179. package/public/styles/app.css +52 -52
  180. package/src/component/forms/ButtonFilter.vue +104 -104
  181. package/src/component/forms/ButtonGroup.vue +66 -66
  182. package/src/component/forms/ButtonGroupInline.vue +210 -210
  183. package/src/component/forms/ButtonSub.vue +97 -97
  184. package/src/component/forms/ButtonToggle.vue +76 -76
  185. package/src/component/forms/DateYearMonth.vue +192 -192
  186. package/src/component/forms/ImageUpload.vue +214 -214
  187. package/src/component/forms/IncrementDecrement.vue +151 -151
  188. package/src/component/forms/InputAddressGoogle.vue +171 -171
  189. package/src/component/forms/InputCallToAction.vue +135 -135
  190. package/src/component/forms/InputDecimalDiscount.vue +146 -146
  191. package/src/component/forms/InputTag.vue +124 -124
  192. package/src/component/forms/InputTextEdit.vue +69 -69
  193. package/src/component/forms/InputWhatsApp.vue +47 -47
  194. package/src/component/forms/SideBar.vue +99 -99
  195. package/src/component/forms/Toggle.vue +72 -72
  196. package/src/component/layout/Account.vue +131 -131
  197. package/src/component/layout/AnimatedPhrase.vue +68 -68
  198. package/src/component/layout/BarFloating.vue +67 -67
  199. package/src/component/layout/BottomActionsBar.vue +205 -205
  200. package/src/component/layout/ColorPicker.vue +175 -175
  201. package/src/component/layout/Gantt.vue +128 -128
  202. package/src/component/layout/HideShow.vue +61 -61
  203. package/src/component/layout/IconMolded.vue +58 -58
  204. package/src/component/layout/IconPicker.vue +161 -161
  205. package/src/component/layout/NewAccount.vue +136 -136
  206. package/src/component/layout/NewHeader.vue +59 -59
  207. package/src/component/layout/NewIconMolded.vue +70 -70
  208. package/src/component/layout/NewMenu.vue +472 -472
  209. package/src/component/layout/ScrollBar.vue +21 -8
  210. package/src/component/layout/Tab.vue +259 -259
  211. package/src/component/layout/Tag.vue +97 -97
  212. package/src/component/layout/Tooltip.vue +155 -155
  213. package/src/component/layout/Zoom.vue +111 -111
  214. package/src/component/rental/DisplayCalculatePeriod.vue +48 -48
  215. package/src/component/rental/DisplayPeriodRent.vue +55 -55
  216. package/src/component/rental/DisplayTotalization.vue +86 -86
  217. package/src/component/report/Fields.vue +108 -108
  218. package/src/component/report/Report.vue +377 -377
  219. package/src/component/report/ReportTable.vue +111 -111
  220. package/src/component/report/Totalization.vue +33 -33
  221. package/src/component/shared/CodeEditor.vue +128 -128
  222. package/src/component/shared/Confirmation.vue +74 -74
  223. package/src/component/shared/DocumentEditor.vue +99 -99
  224. package/src/component/shared/DocumentPreview.vue +105 -105
  225. package/src/component/shared/DocumentPublic.vue +33 -33
  226. package/src/component/shared/ExportExcel.vue +56 -56
  227. package/src/component/shared/FullCalendar.vue +175 -175
  228. package/src/component/shared/HeaderReport.vue +47 -47
  229. package/src/component/shared/ListNotifications.vue +70 -70
  230. package/src/component/shared/Loading.vue +4 -1
  231. package/src/component/shared/LoadingCard.vue +64 -64
  232. package/src/component/shared/ParameterLegend.vue +169 -169
  233. package/src/component/shared/Report.vue +250 -250
  234. package/src/component/shared/SaveCancel.vue +117 -99
  235. package/src/component/shared/SelectOption.vue +162 -162
  236. package/src/component/shared/TableDraggable.vue +117 -117
  237. package/src/component/shared/TableImport.vue +93 -93
  238. package/src/component/shared/TableItem.vue +228 -228
  239. package/src/component/shared/TableTotalPerPage.vue +114 -114
  240. package/src/component/shared/TableTotalRecords.vue +44 -44
  241. package/src/component/shared/TimeLine.vue +41 -41
  242. package/src/component/shared/Timer.vue +77 -77
  243. package/src/component/shared/ToggleTheme.vue +127 -127
  244. package/src/component/shared/TotalizationReport.vue +86 -86
  245. package/src/component/shared/actions/ActionButtons.vue +53 -53
  246. package/src/component/shared/actions/ActionErrorContent.vue +103 -103
  247. package/src/component/shared/actions/ActionFooter.vue +99 -93
  248. package/src/component/shared/actions/ActionHeader.vue +110 -110
  249. package/src/component/shared/actions/ActionItemList.vue +143 -143
  250. package/src/component/shared/actions/ActionsOptions.vue +209 -209
  251. package/src/component/shared/actions/ActionsSelected.vue +262 -262
  252. package/src/component/shared/automation/ActivitiesList.vue +43 -43
  253. package/src/component/shared/automation/AddRule.vue +60 -60
  254. package/src/component/shared/automation/AutomationBuilder.vue +26 -26
  255. package/src/component/shared/automation/DynamicComponentList.vue +85 -85
  256. package/src/component/shared/automation/SelectRule.vue +97 -97
  257. package/src/component/shared/automation/components/BillingByRent.vue +97 -97
  258. package/src/component/shared/automation/components/SendEmail.vue +93 -93
  259. package/src/component/shared/file-manager/FileManager.vue +390 -390
  260. package/src/component/shared/filter-builder/FilterBuilder.vue +220 -220
  261. package/src/component/shared/filter-builder/FilterQuery.vue +95 -95
  262. package/src/component/shared/query-builder/ConvertToOdata.js +86 -86
  263. package/src/component/shared/query-builder/DynamicComponent.vue +161 -161
  264. package/src/component/shared/query-builder/Fields.vue +93 -93
  265. package/src/component/shared/query-builder/Rules.vue +68 -68
  266. package/src/component/shared/query-builder/SelectRule.vue +97 -97
  267. package/src/component/shared/query-builder/Tags.vue +59 -59
  268. package/src/component/signature/Payment.vue +160 -160
  269. package/src/component/signature/Warning.vue +75 -75
  270. package/src/component/template/ReportCreateUpdate.vue +110 -110
  271. package/src/component/template/ViewTemplateDocumentView.vue +213 -213
  272. package/src/component/template/ViewTemplateImportFile.vue +347 -347
  273. package/src/component/template/ViewTemplateReportList.vue +240 -240
  274. package/src/component/template/ViewTemplateReportPreview.vue +521 -521
  275. package/src/component/template/ViewTemplateSelectOption.vue +46 -46
  276. package/src/component/template/model/Report.js +5 -5
  277. package/src/component/training/Course.vue +343 -343
  278. package/src/component/training/CourseView.vue +198 -198
  279. package/src/component/value-objects/Address.js +10 -10
  280. package/src/component/value-objects/Address.vue +173 -173
  281. package/src/component/value-objects/Contact.js +6 -6
  282. package/src/component/value-objects/Contact.vue +106 -106
  283. package/src/component/value-objects/Person.js +10 -10
  284. package/src/component/value-objects/Person.vue +130 -130
  285. package/src/store/modules/automation.js +30 -30
  286. package/src/store/modules/report.js +277 -277
  287. package/src/store/modules/user.js +69 -69
  288. package/src/store/modules/util.js +25 -25
@@ -1,278 +1,278 @@
1
- import ConvertToOdata from "@nixweb/nixloc-ui/src/component/shared/query-builder/ConvertToOdata.js";
2
-
3
- export default {
4
- namespaced: true,
5
- state: {
6
- report: { id: "", fields: [], rules: [], },
7
- selectedFields: {},
8
- selectedRules: [],
9
- finalQueryFormatOData: {
10
- fields: [], totalization: [],
11
- },
12
- tags: []
13
- },
14
- getters: {
15
- headerTable: (state) => {
16
- let list = [];
17
- state.report.fields.forEach(function (field) {
18
- if (field.selected) list.push(field);
19
- });
20
- return list;
21
- },
22
- fields: (state) => {
23
- // esse getter serve somente para carregar informações no component Fields
24
- var fields = { selected: [], options: [], sort: { content: "", id: "asc" }, orderBy: "" };
25
-
26
- state.report.fields.forEach(function (value) {
27
- let option = { text: value.title, value: value.field };
28
- fields.options.push(option);
29
-
30
- // se o relatório for o padrão, carrega as info default
31
- if (state.report.id == undefined) {
32
- if (value.selected)
33
- fields.selected.push(value.field);
34
-
35
- if (value.orderBy) {
36
- fields.sort = { content: value.title, id: value.field };
37
- fields.orderBy = value.orderBy;
38
- }
39
- }
40
- else {
41
- fields.selected = state.selectedFields.selected;
42
- fields.sort = state.selectedFields.sort;
43
- fields.orderBy = state.selectedFields.orderBy;
44
- }
45
-
46
- });
47
- return fields;
48
- },
49
- oDataOrderBy: (state) => {
50
- let orderBy = "";
51
- if (state.selectedFields.sort != undefined)
52
- orderBy = `$orderby=${state.selectedFields.sort.id} ${state.selectedFields.orderBy}`;
53
- return orderBy;
54
- },
55
- oDataSelect: (state) => {
56
- let selectedFields = [];
57
-
58
- // verifica os campos obrigatórios por default "requiredOData"
59
- state.report.fields.forEach(value => {
60
- if (value.requiredOData)
61
- selectedFields.push(value.field);
62
- });
63
-
64
- // verifica os campos selecionados pelo usuário
65
- if (state.selectedFields.selected != undefined) {
66
- state.selectedFields.selected.forEach(function (field) {
67
- selectedFields.push(field);
68
- });
69
- }
70
-
71
- let query = "";
72
- let indexQuery = 0;
73
-
74
- // remove itens duplicados e monta a query select
75
- [...new Set(selectedFields)].forEach(field => {
76
- if (indexQuery == 0) query += `$select=${field}`;
77
- if (indexQuery > 0) query += `,${field}`;
78
- indexQuery++;
79
- });
80
-
81
- return query;
82
- },
83
- oDataFilter: (state) => {
84
- let query = "";
85
- let totalization = "";
86
- let indexQuery = 0;
87
- let indexTotalization = 0;
88
- var sizeFields = state.finalQueryFormatOData.fields.length;
89
- var sizeTotalization = state.finalQueryFormatOData.totalization.length;
90
- var andOr = [];
91
-
92
-
93
- state.finalQueryFormatOData.fields.forEach(function (rule) {
94
-
95
- if (rule.type == "field") {
96
- if (indexQuery == 0 && sizeFields > 0) query += `$filter=${rule.formatOdata}`;
97
-
98
- if (indexQuery > 0 && sizeFields > 0) {
99
- query += ` ${rule.andOr} ${rule.formatOdata}`;
100
- andOr.push(rule.andOr);
101
- }
102
- indexQuery++;
103
-
104
- // verifica no array se o último item é o "and", se sim será necessário inserir "(" depois do filter = e ")" antes do "and"
105
- // para que o oData consiga efetuar a query corretamente
106
- if (andOr[andOr.length - 1] == "and") {
107
-
108
- let initIndex = query.indexOf("=");
109
- let lastIndex = query.indexOf("and");
110
-
111
- var query1 = [query.slice(0, initIndex + 1), "(", query.slice(initIndex)].join('').replace("=(=", "=(");
112
- var query2 = [query1.slice(0, lastIndex + 1), ")", query1.slice(lastIndex)].join('');
113
- query = query2;
114
- }
115
-
116
- } else {
117
- if (indexTotalization == 0 && size > 0) totalization += `${rule.formatOdata}`;
118
- if (indexTotalization > 0 && size > 0) totalization += `,${rule.formatOdata}`;
119
- indexTotalization++;
120
- }
121
- });
122
-
123
- state.finalQueryFormatOData.totalization.forEach(function (rule) {
124
-
125
- if (indexTotalization == 0 && sizeTotalization > 0) totalization = `${rule.formatOdata}`;
126
- if (indexTotalization > 0 && sizeTotalization > 0) totalization = `,${rule.formatOdata}`;
127
- indexTotalization++;
128
- });
129
-
130
- return { query, totalization };
131
- },
132
- tags: (state) => {
133
- state.tags = [];
134
- let description = "";
135
-
136
- state.finalQueryFormatOData.fields.forEach(function (rule) {
137
- description = "";
138
-
139
- if (rule.typeField == "dateTime") {
140
- description = `${rule.value[0]} - ${rule.value[1]}`;
141
- }
142
-
143
- if (rule.typeField == "select") {
144
- description = rule.value.content;
145
- }
146
-
147
- if (rule.typeField == "text" || rule.typeField == "numeric") {
148
- description = `${rule.operator} "${rule.value}"`;
149
- }
150
-
151
- if (rule.typeField == "checkbox") {
152
- rule.options.forEach(function (option) {
153
- rule.value.forEach(function (value) {
154
- if (option.value == value) {
155
- description += `${option.title},`;
156
- }
157
- });
158
- });
159
- }
160
-
161
- let tag = { id: rule.id, title: rule.title, value: description };
162
- state.tags.push(tag);
163
-
164
- });
165
- return state.tags;
166
-
167
- },
168
- rulesIsValid: (state) => {
169
- let isValid = false;
170
- let rulesRequired = state.report.rules.filter(x => x.isRequired);
171
- let rulesRequiredSelected = state.selectedRules.filter(x => x.isRequired);
172
-
173
- if (rulesRequired.length == rulesRequiredSelected.length)
174
- isValid = true;
175
-
176
- return isValid;
177
- },
178
- rulesRequired: (state) => {
179
- return state.report.rules.filter(x => x.isRequired);
180
- },
181
- },
182
- mutations: {
183
- updateSelectedFields: (state, selectedFields) => {
184
- state.selectedFields = selectedFields;
185
- // após selecionar o campo, atualiza tambem quais campos deverão aparecer no report
186
- // se foi selecionado é marcado como selected = true
187
- state.report.fields.forEach(function (value) {
188
- var hasSelected = selectedFields.selected.find((selected) => {
189
- if (value.field == selected) return true;
190
- });
191
- if (value.field === hasSelected) {
192
- value.selected = true;
193
- } else {
194
- value.selected = false;
195
- }
196
- });
197
- },
198
- addSelectedRules: (state, selectedRule) => {
199
- state.selectedRules.push(selectedRule);
200
- },
201
- removeSelectedRule: (state, id) => {
202
- var filter = state.selectedRules.filter((item) => {
203
- return id != item.id;
204
- })
205
- state.selectedRules = filter;
206
- },
207
- mountFinalQueryFormatOData: (state, selectedRules) => {
208
- // aqui faz a conversão das regras selecionadas no padrão do query-builder para o formato oData carregando no objeto finalQueryFormatOData
209
- // para ser consumido nos getters oDataSelect e oDataFilter
210
-
211
- state.finalQueryFormatOData = { fields: [], totalization: [] };
212
- var convertToOdata = new ConvertToOdata();
213
-
214
- selectedRules.forEach(function (rule) {
215
-
216
- if (rule.value != null && rule.value != "" && rule.value != undefined && rule.type == "totalization") {
217
- let formatOdata = convertToOdata.convertRule(rule);
218
-
219
- rule.value.forEach(value => {
220
- // adiciona no array somente a opção da regra selecionada
221
- var ruleSelected = rule.options.filter(x => x.value == value);
222
-
223
- let ruleOdata = {
224
- title: ruleSelected[0].aggregate.title,
225
- value: ruleSelected[0].aggregate.value,
226
- classCss: ruleSelected[0].aggregate.classCss,
227
- type: ruleSelected[0].aggregate.type,
228
- formatOdata: formatOdata,
229
- };
230
-
231
- state.finalQueryFormatOData.totalization.push(ruleOdata);
232
- });
233
- }
234
-
235
- if (rule.value != null && rule.value != "" && rule.value != undefined && rule.type == "field") {
236
-
237
- let formatOdata = convertToOdata.convertRule(rule);
238
-
239
- let ruleOdata = {
240
- id: rule.id,
241
- title: rule.title,
242
- type: rule.type,
243
- typeField: rule.typeField,
244
- options: rule.options,
245
- operator: rule.operator,
246
- selected: rule.selected,
247
- isRequired: rule.isRequired,
248
- formatOdata: formatOdata,
249
- andOr: rule.andOr,
250
- value: rule.value,
251
- };
252
-
253
- state.finalQueryFormatOData.fields.push(ruleOdata);
254
- }
255
- });
256
- },
257
- clearTotalization: (state) => {
258
- state.finalQueryFormatOData.totalization = [];
259
- }
260
- },
261
- actions: {
262
- addReport: async function (context, report) {
263
- context.state.report = report;
264
- context.state.selectedFields = context.getters.fields;
265
- },
266
- addInitialReportCustom: async function (context, report) {
267
- context.state.selectedFields = report.selectedFields;
268
- context.state.selectedRules = report.selectedRules;
269
- context.commit('mountFinalQueryFormatOData', report.selectedRules);
270
- context.commit('updateSelectedFields', report.selectedFields);
271
- },
272
- removeInitialReportCustom: async function (context) {
273
- context.state.selectedFields = {};
274
- context.state.selectedRules = [];
275
- context.state.finalQueryFormatOData.fields = [];
276
- }
277
- }
1
+ import ConvertToOdata from "@nixweb/nixloc-ui/src/component/shared/query-builder/ConvertToOdata.js";
2
+
3
+ export default {
4
+ namespaced: true,
5
+ state: {
6
+ report: { id: "", fields: [], rules: [], },
7
+ selectedFields: {},
8
+ selectedRules: [],
9
+ finalQueryFormatOData: {
10
+ fields: [], totalization: [],
11
+ },
12
+ tags: []
13
+ },
14
+ getters: {
15
+ headerTable: (state) => {
16
+ let list = [];
17
+ state.report.fields.forEach(function (field) {
18
+ if (field.selected) list.push(field);
19
+ });
20
+ return list;
21
+ },
22
+ fields: (state) => {
23
+ // esse getter serve somente para carregar informações no component Fields
24
+ var fields = { selected: [], options: [], sort: { content: "", id: "asc" }, orderBy: "" };
25
+
26
+ state.report.fields.forEach(function (value) {
27
+ let option = { text: value.title, value: value.field };
28
+ fields.options.push(option);
29
+
30
+ // se o relatório for o padrão, carrega as info default
31
+ if (state.report.id == undefined) {
32
+ if (value.selected)
33
+ fields.selected.push(value.field);
34
+
35
+ if (value.orderBy) {
36
+ fields.sort = { content: value.title, id: value.field };
37
+ fields.orderBy = value.orderBy;
38
+ }
39
+ }
40
+ else {
41
+ fields.selected = state.selectedFields.selected;
42
+ fields.sort = state.selectedFields.sort;
43
+ fields.orderBy = state.selectedFields.orderBy;
44
+ }
45
+
46
+ });
47
+ return fields;
48
+ },
49
+ oDataOrderBy: (state) => {
50
+ let orderBy = "";
51
+ if (state.selectedFields.sort != undefined)
52
+ orderBy = `$orderby=${state.selectedFields.sort.id} ${state.selectedFields.orderBy}`;
53
+ return orderBy;
54
+ },
55
+ oDataSelect: (state) => {
56
+ let selectedFields = [];
57
+
58
+ // verifica os campos obrigatórios por default "requiredOData"
59
+ state.report.fields.forEach(value => {
60
+ if (value.requiredOData)
61
+ selectedFields.push(value.field);
62
+ });
63
+
64
+ // verifica os campos selecionados pelo usuário
65
+ if (state.selectedFields.selected != undefined) {
66
+ state.selectedFields.selected.forEach(function (field) {
67
+ selectedFields.push(field);
68
+ });
69
+ }
70
+
71
+ let query = "";
72
+ let indexQuery = 0;
73
+
74
+ // remove itens duplicados e monta a query select
75
+ [...new Set(selectedFields)].forEach(field => {
76
+ if (indexQuery == 0) query += `$select=${field}`;
77
+ if (indexQuery > 0) query += `,${field}`;
78
+ indexQuery++;
79
+ });
80
+
81
+ return query;
82
+ },
83
+ oDataFilter: (state) => {
84
+ let query = "";
85
+ let totalization = "";
86
+ let indexQuery = 0;
87
+ let indexTotalization = 0;
88
+ var sizeFields = state.finalQueryFormatOData.fields.length;
89
+ var sizeTotalization = state.finalQueryFormatOData.totalization.length;
90
+ var andOr = [];
91
+
92
+
93
+ state.finalQueryFormatOData.fields.forEach(function (rule) {
94
+
95
+ if (rule.type == "field") {
96
+ if (indexQuery == 0 && sizeFields > 0) query += `$filter=${rule.formatOdata}`;
97
+
98
+ if (indexQuery > 0 && sizeFields > 0) {
99
+ query += ` ${rule.andOr} ${rule.formatOdata}`;
100
+ andOr.push(rule.andOr);
101
+ }
102
+ indexQuery++;
103
+
104
+ // verifica no array se o último item é o "and", se sim será necessário inserir "(" depois do filter = e ")" antes do "and"
105
+ // para que o oData consiga efetuar a query corretamente
106
+ if (andOr[andOr.length - 1] == "and") {
107
+
108
+ let initIndex = query.indexOf("=");
109
+ let lastIndex = query.indexOf("and");
110
+
111
+ var query1 = [query.slice(0, initIndex + 1), "(", query.slice(initIndex)].join('').replace("=(=", "=(");
112
+ var query2 = [query1.slice(0, lastIndex + 1), ")", query1.slice(lastIndex)].join('');
113
+ query = query2;
114
+ }
115
+
116
+ } else {
117
+ if (indexTotalization == 0 && size > 0) totalization += `${rule.formatOdata}`;
118
+ if (indexTotalization > 0 && size > 0) totalization += `,${rule.formatOdata}`;
119
+ indexTotalization++;
120
+ }
121
+ });
122
+
123
+ state.finalQueryFormatOData.totalization.forEach(function (rule) {
124
+
125
+ if (indexTotalization == 0 && sizeTotalization > 0) totalization = `${rule.formatOdata}`;
126
+ if (indexTotalization > 0 && sizeTotalization > 0) totalization = `,${rule.formatOdata}`;
127
+ indexTotalization++;
128
+ });
129
+
130
+ return { query, totalization };
131
+ },
132
+ tags: (state) => {
133
+ state.tags = [];
134
+ let description = "";
135
+
136
+ state.finalQueryFormatOData.fields.forEach(function (rule) {
137
+ description = "";
138
+
139
+ if (rule.typeField == "dateTime") {
140
+ description = `${rule.value[0]} - ${rule.value[1]}`;
141
+ }
142
+
143
+ if (rule.typeField == "select") {
144
+ description = rule.value.content;
145
+ }
146
+
147
+ if (rule.typeField == "text" || rule.typeField == "numeric") {
148
+ description = `${rule.operator} "${rule.value}"`;
149
+ }
150
+
151
+ if (rule.typeField == "checkbox") {
152
+ rule.options.forEach(function (option) {
153
+ rule.value.forEach(function (value) {
154
+ if (option.value == value) {
155
+ description += `${option.title},`;
156
+ }
157
+ });
158
+ });
159
+ }
160
+
161
+ let tag = { id: rule.id, title: rule.title, value: description };
162
+ state.tags.push(tag);
163
+
164
+ });
165
+ return state.tags;
166
+
167
+ },
168
+ rulesIsValid: (state) => {
169
+ let isValid = false;
170
+ let rulesRequired = state.report.rules.filter(x => x.isRequired);
171
+ let rulesRequiredSelected = state.selectedRules.filter(x => x.isRequired);
172
+
173
+ if (rulesRequired.length == rulesRequiredSelected.length)
174
+ isValid = true;
175
+
176
+ return isValid;
177
+ },
178
+ rulesRequired: (state) => {
179
+ return state.report.rules.filter(x => x.isRequired);
180
+ },
181
+ },
182
+ mutations: {
183
+ updateSelectedFields: (state, selectedFields) => {
184
+ state.selectedFields = selectedFields;
185
+ // após selecionar o campo, atualiza tambem quais campos deverão aparecer no report
186
+ // se foi selecionado é marcado como selected = true
187
+ state.report.fields.forEach(function (value) {
188
+ var hasSelected = selectedFields.selected.find((selected) => {
189
+ if (value.field == selected) return true;
190
+ });
191
+ if (value.field === hasSelected) {
192
+ value.selected = true;
193
+ } else {
194
+ value.selected = false;
195
+ }
196
+ });
197
+ },
198
+ addSelectedRules: (state, selectedRule) => {
199
+ state.selectedRules.push(selectedRule);
200
+ },
201
+ removeSelectedRule: (state, id) => {
202
+ var filter = state.selectedRules.filter((item) => {
203
+ return id != item.id;
204
+ })
205
+ state.selectedRules = filter;
206
+ },
207
+ mountFinalQueryFormatOData: (state, selectedRules) => {
208
+ // aqui faz a conversão das regras selecionadas no padrão do query-builder para o formato oData carregando no objeto finalQueryFormatOData
209
+ // para ser consumido nos getters oDataSelect e oDataFilter
210
+
211
+ state.finalQueryFormatOData = { fields: [], totalization: [] };
212
+ var convertToOdata = new ConvertToOdata();
213
+
214
+ selectedRules.forEach(function (rule) {
215
+
216
+ if (rule.value != null && rule.value != "" && rule.value != undefined && rule.type == "totalization") {
217
+ let formatOdata = convertToOdata.convertRule(rule);
218
+
219
+ rule.value.forEach(value => {
220
+ // adiciona no array somente a opção da regra selecionada
221
+ var ruleSelected = rule.options.filter(x => x.value == value);
222
+
223
+ let ruleOdata = {
224
+ title: ruleSelected[0].aggregate.title,
225
+ value: ruleSelected[0].aggregate.value,
226
+ classCss: ruleSelected[0].aggregate.classCss,
227
+ type: ruleSelected[0].aggregate.type,
228
+ formatOdata: formatOdata,
229
+ };
230
+
231
+ state.finalQueryFormatOData.totalization.push(ruleOdata);
232
+ });
233
+ }
234
+
235
+ if (rule.value != null && rule.value != "" && rule.value != undefined && rule.type == "field") {
236
+
237
+ let formatOdata = convertToOdata.convertRule(rule);
238
+
239
+ let ruleOdata = {
240
+ id: rule.id,
241
+ title: rule.title,
242
+ type: rule.type,
243
+ typeField: rule.typeField,
244
+ options: rule.options,
245
+ operator: rule.operator,
246
+ selected: rule.selected,
247
+ isRequired: rule.isRequired,
248
+ formatOdata: formatOdata,
249
+ andOr: rule.andOr,
250
+ value: rule.value,
251
+ };
252
+
253
+ state.finalQueryFormatOData.fields.push(ruleOdata);
254
+ }
255
+ });
256
+ },
257
+ clearTotalization: (state) => {
258
+ state.finalQueryFormatOData.totalization = [];
259
+ }
260
+ },
261
+ actions: {
262
+ addReport: async function (context, report) {
263
+ context.state.report = report;
264
+ context.state.selectedFields = context.getters.fields;
265
+ },
266
+ addInitialReportCustom: async function (context, report) {
267
+ context.state.selectedFields = report.selectedFields;
268
+ context.state.selectedRules = report.selectedRules;
269
+ context.commit('mountFinalQueryFormatOData', report.selectedRules);
270
+ context.commit('updateSelectedFields', report.selectedFields);
271
+ },
272
+ removeInitialReportCustom: async function (context) {
273
+ context.state.selectedFields = {};
274
+ context.state.selectedRules = [];
275
+ context.state.finalQueryFormatOData.fields = [];
276
+ }
277
+ }
278
278
  }