@sapphire-ion/framework 0.30.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 (299) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/classes/comparison/comparison-operator.mjs +18 -0
  3. package/esm2022/lib/classes/comparison/comparison-value-type.mjs +25 -0
  4. package/esm2022/lib/classes/comparison/comparison.mjs +41 -0
  5. package/esm2022/lib/classes/comparison/properties/bool-property.mjs +15 -0
  6. package/esm2022/lib/classes/comparison/properties/date-property.mjs +27 -0
  7. package/esm2022/lib/classes/comparison/properties/datetime-property.mjs +27 -0
  8. package/esm2022/lib/classes/comparison/properties/decimal-property.mjs +27 -0
  9. package/esm2022/lib/classes/comparison/properties/enum-property.mjs +27 -0
  10. package/esm2022/lib/classes/comparison/properties/implicit-property.mjs +12 -0
  11. package/esm2022/lib/classes/comparison/properties/int-property.mjs +27 -0
  12. package/esm2022/lib/classes/comparison/properties/long-property.mjs +27 -0
  13. package/esm2022/lib/classes/comparison/properties/string-property.mjs +15 -0
  14. package/esm2022/lib/classes/comparison/properties/time-property.mjs +27 -0
  15. package/esm2022/lib/classes/credentials.mjs +2 -0
  16. package/esm2022/lib/classes/environment.mjs +32 -0
  17. package/esm2022/lib/classes/filters/view-filtros.mjs +18 -0
  18. package/esm2022/lib/classes/inputs/table-field-form-builder.mjs +10 -0
  19. package/esm2022/lib/classes/inputs/table-field.mjs +63 -0
  20. package/esm2022/lib/classes/page-option.mjs +2 -0
  21. package/esm2022/lib/classes/routes/default-routing-factory.mjs +23 -0
  22. package/esm2022/lib/classes/routes/id-preloader-configuration.mjs +22 -0
  23. package/esm2022/lib/classes/routes/route-data.mjs +9 -0
  24. package/esm2022/lib/components/carousel/carousel-image/carousel-image.component.mjs +18 -0
  25. package/esm2022/lib/components/carousel/carousel-item/carousel-item.component.mjs +15 -0
  26. package/esm2022/lib/components/carousel/carousel.component.mjs +79 -0
  27. package/esm2022/lib/components/carousel/carousel.module.mjs +31 -0
  28. package/esm2022/lib/components/carousel/i-carousel-item.component.mjs +16 -0
  29. package/esm2022/lib/components/content-block/content-block.component.mjs +27 -0
  30. package/esm2022/lib/components/default/default-list/abstract-list.mjs +49 -0
  31. package/esm2022/lib/components/default/default-list/default-list.component.mjs +94 -0
  32. package/esm2022/lib/components/default/default-list/header-list/header-list.component.mjs +98 -0
  33. package/esm2022/lib/components/default/default-list/list.mjs +110 -0
  34. package/esm2022/lib/components/default/default-pagination/default-pagination.component.mjs +123 -0
  35. package/esm2022/lib/components/default/default-table/default-table.component.mjs +206 -0
  36. package/esm2022/lib/components/default/default-table/th-filter/th-filter.component.mjs +182 -0
  37. package/esm2022/lib/components/default/default-view/abstract-view.mjs +18 -0
  38. package/esm2022/lib/components/default/default-view/default-view.component.mjs +51 -0
  39. package/esm2022/lib/components/default/default-view/header-view/header-view.component.mjs +72 -0
  40. package/esm2022/lib/components/default/default-view/view.mjs +170 -0
  41. package/esm2022/lib/components/default/default.module.mjs +87 -0
  42. package/esm2022/lib/components/default-page/default.page.mjs +73 -0
  43. package/esm2022/lib/components/drag-drop-file/drag-drop-file.directive.mjs +60 -0
  44. package/esm2022/lib/components/drag-drop-file/drag-drop-file.module.mjs +31 -0
  45. package/esm2022/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.mjs +15 -0
  46. package/esm2022/lib/components/drawer/default-drawer-end/default-drawer-end.component.mjs +34 -0
  47. package/esm2022/lib/components/drawer/drawer-group/drawer-group.component.mjs +49 -0
  48. package/esm2022/lib/components/drawer/drawer.component.mjs +117 -0
  49. package/esm2022/lib/components/drawer/menu.mjs +15 -0
  50. package/esm2022/lib/components/filter/filter.component.mjs +124 -0
  51. package/esm2022/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.mjs +17 -0
  52. package/esm2022/lib/components/image/image.component.mjs +91 -0
  53. package/esm2022/lib/components/info-popover/info-popover.component.mjs +91 -0
  54. package/esm2022/lib/components/inputs/custom-input.mjs +77 -0
  55. package/esm2022/lib/components/inputs/custom-signal-input.mjs +74 -0
  56. package/esm2022/lib/components/inputs/input-bool/input-bool.component.mjs +43 -0
  57. package/esm2022/lib/components/inputs/input-bool/input-bool.configuration.mjs +16 -0
  58. package/esm2022/lib/components/inputs/input-color/input-color.component.mjs +487 -0
  59. package/esm2022/lib/components/inputs/input-configuration.mjs +2 -0
  60. package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.mjs +93 -0
  61. package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.mjs +6 -0
  62. package/esm2022/lib/components/inputs/input-date/input-date.component.mjs +119 -0
  63. package/esm2022/lib/components/inputs/input-date/input-date.configuration.mjs +8 -0
  64. package/esm2022/lib/components/inputs/input-decimal/input-decimal.component.mjs +269 -0
  65. package/esm2022/lib/components/inputs/input-decimal/input-decimal.configuration.mjs +45 -0
  66. package/esm2022/lib/components/inputs/input-default-configurations.mjs +14 -0
  67. package/esm2022/lib/components/inputs/input-file/download-button/download-button.component.mjs +91 -0
  68. package/esm2022/lib/components/inputs/input-file/input-file.component.mjs +128 -0
  69. package/esm2022/lib/components/inputs/input-file/input-file.configuration.mjs +11 -0
  70. package/esm2022/lib/components/inputs/input-loading/input-loading.component.mjs +16 -0
  71. package/esm2022/lib/components/inputs/input-provider-factory.mjs +15 -0
  72. package/esm2022/lib/components/inputs/input-select/ISelect.mjs +11 -0
  73. package/esm2022/lib/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.mjs +42 -0
  74. package/esm2022/lib/components/inputs/input-select/input-select-option/input-select-option.component.mjs +46 -0
  75. package/esm2022/lib/components/inputs/input-select/input-select-template.directive.mjs +16 -0
  76. package/esm2022/lib/components/inputs/input-select/input-select.component.mjs +322 -0
  77. package/esm2022/lib/components/inputs/input-select/input.select.configuration.mjs +164 -0
  78. package/esm2022/lib/components/inputs/input-string/input-string.component.mjs +50 -0
  79. package/esm2022/lib/components/inputs/input-string/input-string.configuration.mjs +18 -0
  80. package/esm2022/lib/components/inputs/input-textarea/input-textarea.component.mjs +47 -0
  81. package/esm2022/lib/components/inputs/input-type.mjs +18 -0
  82. package/esm2022/lib/components/inputs/input-validators.mjs +90 -0
  83. package/esm2022/lib/components/inputs/inputs.module.mjs +101 -0
  84. package/esm2022/lib/components/loading/loading.component.mjs +34 -0
  85. package/esm2022/lib/components/login/login-admin/login-admin.component.mjs +52 -0
  86. package/esm2022/lib/components/login/login.component.mjs +93 -0
  87. package/esm2022/lib/components/main-content/main-content.component.mjs +62 -0
  88. package/esm2022/lib/components/stepper/step/step.component.mjs +43 -0
  89. package/esm2022/lib/components/stepper/stepper.component.mjs +36 -0
  90. package/esm2022/lib/components/stepper/stepper.module.mjs +25 -0
  91. package/esm2022/lib/components/tabs/tab/tab.component.mjs +41 -0
  92. package/esm2022/lib/components/tabs/tabs/tabs.component.mjs +56 -0
  93. package/esm2022/lib/components/tabs/tabs.module.mjs +22 -0
  94. package/esm2022/lib/components/text-tooltip/text-tooltip.component.mjs +51 -0
  95. package/esm2022/lib/components/tooltip/tooltip.component.mjs +21 -0
  96. package/esm2022/lib/core.module.mjs +29 -0
  97. package/esm2022/lib/directives/ng-var.directive.mjs +29 -0
  98. package/esm2022/lib/guards/auth.guard.mjs +26 -0
  99. package/esm2022/lib/guards/error.interceptor.mjs +106 -0
  100. package/esm2022/lib/guards/token.interceptor.mjs +25 -0
  101. package/esm2022/lib/index.mjs +172 -0
  102. package/esm2022/lib/pipes/secure.pipe.mjs +42 -0
  103. package/esm2022/lib/services/auth.service.mjs +149 -0
  104. package/esm2022/lib/services/environment.service.mjs +26 -0
  105. package/esm2022/lib/services/generics.service.mjs +84 -0
  106. package/esm2022/lib/services/route/route.cache.service.mjs +15 -0
  107. package/esm2022/lib/services/route/route.provider.service.mjs +42 -0
  108. package/esm2022/lib/services/usuario.service.mjs +49 -0
  109. package/esm2022/lib/services/utils.service.mjs +149 -0
  110. package/esm2022/lib/services/web/api-url-provider.service.mjs +29 -0
  111. package/esm2022/lib/services/web/http.ativo.service.mjs +55 -0
  112. package/esm2022/lib/services/web/http.service.mjs +175 -0
  113. package/esm2022/lib/services/web/storage.service.mjs +115 -0
  114. package/esm2022/public-api.mjs +5 -0
  115. package/esm2022/sapphire-ion-framework.mjs +5 -0
  116. package/fesm2022/sapphire-ion-framework.mjs +6080 -0
  117. package/fesm2022/sapphire-ion-framework.mjs.map +1 -0
  118. package/index.d.ts +5 -0
  119. package/lib/classes/comparison/comparison-operator.d.ts +9 -0
  120. package/lib/classes/comparison/comparison-value-type.d.ts +23 -0
  121. package/lib/classes/comparison/comparison.d.ts +25 -0
  122. package/lib/classes/comparison/properties/bool-property.d.ts +7 -0
  123. package/lib/classes/comparison/properties/date-property.d.ts +11 -0
  124. package/lib/classes/comparison/properties/datetime-property.d.ts +11 -0
  125. package/lib/classes/comparison/properties/decimal-property.d.ts +11 -0
  126. package/lib/classes/comparison/properties/enum-property.d.ts +11 -0
  127. package/lib/classes/comparison/properties/implicit-property.d.ts +6 -0
  128. package/lib/classes/comparison/properties/int-property.d.ts +11 -0
  129. package/lib/classes/comparison/properties/long-property.d.ts +11 -0
  130. package/lib/classes/comparison/properties/string-property.d.ts +7 -0
  131. package/lib/classes/comparison/properties/time-property.d.ts +11 -0
  132. package/lib/classes/credentials.d.ts +5 -0
  133. package/lib/classes/environment.d.ts +13 -0
  134. package/lib/classes/filters/view-filtros.d.ts +10 -0
  135. package/lib/classes/inputs/table-field-form-builder.d.ts +5 -0
  136. package/lib/classes/inputs/table-field.d.ts +19 -0
  137. package/lib/classes/page-option.d.ts +7 -0
  138. package/lib/classes/routes/default-routing-factory.d.ts +8 -0
  139. package/lib/classes/routes/id-preloader-configuration.d.ts +28 -0
  140. package/lib/classes/routes/route-data.d.ts +5 -0
  141. package/lib/components/carousel/carousel-image/carousel-image.component.d.ts +10 -0
  142. package/lib/components/carousel/carousel-item/carousel-item.component.d.ts +9 -0
  143. package/lib/components/carousel/carousel.component.d.ts +32 -0
  144. package/lib/components/carousel/carousel.module.d.ts +12 -0
  145. package/lib/components/carousel/i-carousel-item.component.d.ts +9 -0
  146. package/lib/components/content-block/content-block.component.d.ts +15 -0
  147. package/lib/components/default/default-list/abstract-list.d.ts +21 -0
  148. package/lib/components/default/default-list/default-list.component.d.ts +42 -0
  149. package/lib/components/default/default-list/header-list/header-list.component.d.ts +45 -0
  150. package/lib/components/default/default-list/list.d.ts +37 -0
  151. package/lib/components/default/default-pagination/default-pagination.component.d.ts +36 -0
  152. package/lib/components/default/default-table/default-table.component.d.ts +71 -0
  153. package/lib/components/default/default-table/th-filter/th-filter.component.d.ts +20 -0
  154. package/lib/components/default/default-view/abstract-view.d.ts +16 -0
  155. package/lib/components/default/default-view/default-view.component.d.ts +26 -0
  156. package/lib/components/default/default-view/header-view/header-view.component.d.ts +25 -0
  157. package/lib/components/default/default-view/view.d.ts +55 -0
  158. package/lib/components/default/default.module.d.ts +28 -0
  159. package/lib/components/default-page/default.page.d.ts +35 -0
  160. package/lib/components/drag-drop-file/drag-drop-file.directive.d.ts +14 -0
  161. package/lib/components/drag-drop-file/drag-drop-file.module.d.ts +10 -0
  162. package/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.d.ts +9 -0
  163. package/lib/components/drawer/default-drawer-end/default-drawer-end.component.d.ts +13 -0
  164. package/lib/components/drawer/drawer-group/drawer-group.component.d.ts +22 -0
  165. package/lib/components/drawer/drawer.component.d.ts +23 -0
  166. package/lib/components/drawer/menu.d.ts +9 -0
  167. package/lib/components/filter/filter.component.d.ts +29 -0
  168. package/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.d.ts +8 -0
  169. package/lib/components/image/image.component.d.ts +23 -0
  170. package/lib/components/info-popover/info-popover.component.d.ts +15 -0
  171. package/lib/components/inputs/custom-input.d.ts +36 -0
  172. package/lib/components/inputs/custom-signal-input.d.ts +38 -0
  173. package/lib/components/inputs/input-bool/input-bool.component.d.ts +19 -0
  174. package/lib/components/inputs/input-bool/input-bool.configuration.d.ts +17 -0
  175. package/lib/components/inputs/input-color/input-color.component.d.ts +80 -0
  176. package/lib/components/inputs/input-configuration.d.ts +8 -0
  177. package/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.d.ts +24 -0
  178. package/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.d.ts +5 -0
  179. package/lib/components/inputs/input-date/input-date.component.d.ts +30 -0
  180. package/lib/components/inputs/input-date/input-date.configuration.d.ts +7 -0
  181. package/lib/components/inputs/input-decimal/input-decimal.component.d.ts +41 -0
  182. package/lib/components/inputs/input-decimal/input-decimal.configuration.d.ts +25 -0
  183. package/lib/components/inputs/input-default-configurations.d.ts +13 -0
  184. package/lib/components/inputs/input-file/download-button/download-button.component.d.ts +36 -0
  185. package/lib/components/inputs/input-file/input-file.component.d.ts +39 -0
  186. package/lib/components/inputs/input-file/input-file.configuration.d.ts +11 -0
  187. package/lib/components/inputs/input-loading/input-loading.component.d.ts +7 -0
  188. package/lib/components/inputs/input-provider-factory.d.ts +4 -0
  189. package/lib/components/inputs/input-select/ISelect.d.ts +21 -0
  190. package/lib/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.d.ts +18 -0
  191. package/lib/components/inputs/input-select/input-select-option/input-select-option.component.d.ts +24 -0
  192. package/lib/components/inputs/input-select/input-select-template.directive.d.ts +8 -0
  193. package/lib/components/inputs/input-select/input-select.component.d.ts +66 -0
  194. package/lib/components/inputs/input-select/input.select.configuration.d.ts +87 -0
  195. package/lib/components/inputs/input-string/input-string.component.d.ts +19 -0
  196. package/lib/components/inputs/input-string/input-string.configuration.d.ts +14 -0
  197. package/lib/components/inputs/input-textarea/input-textarea.component.d.ts +18 -0
  198. package/lib/components/inputs/input-type.d.ts +16 -0
  199. package/lib/components/inputs/input-validators.d.ts +19 -0
  200. package/lib/components/inputs/inputs.module.d.ts +28 -0
  201. package/lib/components/loading/loading.component.d.ts +18 -0
  202. package/lib/components/login/login-admin/login-admin.component.d.ts +20 -0
  203. package/lib/components/login/login.component.d.ts +28 -0
  204. package/lib/components/main-content/main-content.component.d.ts +17 -0
  205. package/lib/components/stepper/step/step.component.d.ts +15 -0
  206. package/lib/components/stepper/stepper.component.d.ts +17 -0
  207. package/lib/components/stepper/stepper.module.d.ts +10 -0
  208. package/lib/components/tabs/tab/tab.component.d.ts +19 -0
  209. package/lib/components/tabs/tabs/tabs.component.d.ts +18 -0
  210. package/lib/components/tabs/tabs.module.d.ts +12 -0
  211. package/lib/components/text-tooltip/text-tooltip.component.d.ts +16 -0
  212. package/lib/components/tooltip/tooltip.component.d.ts +7 -0
  213. package/lib/core.module.d.ts +11 -0
  214. package/lib/directives/ng-var.directive.d.ts +12 -0
  215. package/lib/guards/auth.guard.d.ts +11 -0
  216. package/lib/guards/error.interceptor.d.ts +32 -0
  217. package/lib/guards/token.interceptor.d.ts +11 -0
  218. package/lib/index.d.ts +108 -0
  219. package/lib/pipes/secure.pipe.d.ts +15 -0
  220. package/lib/services/auth.service.d.ts +47 -0
  221. package/lib/services/environment.service.d.ts +10 -0
  222. package/lib/services/generics.service.d.ts +22 -0
  223. package/lib/services/route/route.cache.service.d.ts +7 -0
  224. package/lib/services/route/route.provider.service.d.ts +13 -0
  225. package/lib/services/usuario.service.d.ts +21 -0
  226. package/lib/services/utils.service.d.ts +36 -0
  227. package/lib/services/web/api-url-provider.service.d.ts +13 -0
  228. package/lib/services/web/http.ativo.service.d.ts +31 -0
  229. package/lib/services/web/http.service.d.ts +51 -0
  230. package/lib/services/web/storage.service.d.ts +25 -0
  231. package/package.json +41 -0
  232. package/public-api.d.ts +1 -0
  233. package/themes/compiled-styles.scss +2291 -0
  234. package/themes/components/_inputs_new/input-string/input-string.component.scss +0 -0
  235. package/themes/components/_inputs_new/inputs.scss +15 -0
  236. package/themes/components/carousel/carousel-image/carousel-image.component.scss +0 -0
  237. package/themes/components/carousel/carousel-item/carousel-item.component.scss +0 -0
  238. package/themes/components/carousel/carousel.component.scss +9 -0
  239. package/themes/components/content-block/content-block.component.scss +0 -0
  240. package/themes/components/default/default-list/default-list.component.scss +0 -0
  241. package/themes/components/default/default-list/header-list/header-list.component.scss +0 -0
  242. package/themes/components/default/default-pagination/default-pagination.component.scss +22 -0
  243. package/themes/components/default/default-table/default-table.component.scss +33 -0
  244. package/themes/components/default/default-table/th-filter/th-filter.component.scss +24 -0
  245. package/themes/components/default/default-view/default-view.component.scss +5 -0
  246. package/themes/components/default/default-view/header-view/header-view.component.scss +7 -0
  247. package/themes/components/default-page/default.page.scss +4 -0
  248. package/themes/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.scss +9 -0
  249. package/themes/components/drawer/default-drawer-end/default-drawer-end.component.scss +0 -0
  250. package/themes/components/drawer/drawer-group/drawer-group.component.scss +22 -0
  251. package/themes/components/drawer/drawer.component.scss +46 -0
  252. package/themes/components/filter/filter.component.scss +0 -0
  253. package/themes/components/http-responses-pages/forbidden-403/forbidden-403.component.scss +19 -0
  254. package/themes/components/image/image.component.scss +0 -0
  255. package/themes/components/info-popover/info-popover.component.scss +3 -0
  256. package/themes/components/inputs/input-bool/input-bool.component.scss +14 -0
  257. package/themes/components/inputs/input-color/input-color.component.scss +48 -0
  258. package/themes/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.scss +0 -0
  259. package/themes/components/inputs/input-date/input-date.component.scss +41 -0
  260. package/themes/components/inputs/input-decimal/input-decimal.component.scss +44 -0
  261. package/themes/components/inputs/input-file/download-button/download-button.component.scss +3 -0
  262. package/themes/components/inputs/input-file/input-file.component.scss +3 -0
  263. package/themes/components/inputs/input-loading/input-loading.component.scss +0 -0
  264. package/themes/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.scss +0 -0
  265. package/themes/components/inputs/input-select/input-select-option/input-select-option.component.scss +0 -0
  266. package/themes/components/inputs/input-select/input-select.component.scss +28 -0
  267. package/themes/components/inputs/input-string/input-string.component.scss +0 -0
  268. package/themes/components/inputs/input-textarea/input-textarea.component.scss +0 -0
  269. package/themes/components/inputs/inputs.scss +67 -0
  270. package/themes/components/loading/loading.component.scss +0 -0
  271. package/themes/components/login/login-admin/login-admin.component.scss +3 -0
  272. package/themes/components/login/login.component.scss +40 -0
  273. package/themes/components/main-content/main-content.component.scss +9 -0
  274. package/themes/components/stepper/step/step.component.scss +48 -0
  275. package/themes/components/stepper/stepper.component.scss +0 -0
  276. package/themes/components/tabs/tab/tab.component.scss +0 -0
  277. package/themes/components/tabs/tabs/tabs.component.scss +23 -0
  278. package/themes/components/text-tooltip/text-tooltip.component.scss +0 -0
  279. package/themes/components/tooltip/tooltip.component.scss +23 -0
  280. package/themes/styles/components.scss +52 -0
  281. package/themes/styles/core.styles.scss +409 -0
  282. package/themes/styles/ionic/ion-action-sheet.scss +8 -0
  283. package/themes/styles/ionic/ion-alert.scss +9 -0
  284. package/themes/styles/ionic/ion-button.scss +3 -0
  285. package/themes/styles/ionic/ion-card.scss +3 -0
  286. package/themes/styles/ionic/ion-content.scss +3 -0
  287. package/themes/styles/ionic/ion-datetime.scss +6 -0
  288. package/themes/styles/ionic/ion-item.scss +10 -0
  289. package/themes/styles/ionic/ion-list.scss +4 -0
  290. package/themes/styles/ionic/ion-modal.scss +8 -0
  291. package/themes/styles/ionic/ion-popover.scss +31 -0
  292. package/themes/styles/ionic/ion-progress-bar.scss +3 -0
  293. package/themes/styles/ionic/ion-searchbar.scss +4 -0
  294. package/themes/styles/ionic/ion-toast.scss +14 -0
  295. package/themes/styles/ionic.scss +13 -0
  296. package/themes/styles/login-default.scss +87 -0
  297. package/themes/styles/mixins.scss +467 -0
  298. package/themes/styles/styles.scss +1 -0
  299. package/themes/styles/translucid.scss +21 -0
@@ -0,0 +1,149 @@
1
+ import { ActionSheetController } from '@ionic/angular';
2
+ import { FilePicker } from '@capawesome/capacitor-file-picker';
3
+ import { CameraSource } from '@capacitor/camera';
4
+ import { Injectable } from '@angular/core';
5
+ import moment from 'moment';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@ionic/angular";
8
+ export class UtilsService {
9
+ constructor(actionSheetController) {
10
+ this.actionSheetController = actionSheetController;
11
+ }
12
+ /** Retorna um array de arquivos de acordo com o tipo de configutação */
13
+ async SelectFile(configuration) {
14
+ let SelectType;
15
+ (function (SelectType) {
16
+ SelectType[SelectType["camera"] = 1] = "camera";
17
+ SelectType[SelectType["galery"] = 2] = "galery";
18
+ SelectType[SelectType["file"] = 3] = "file";
19
+ SelectType[SelectType["deny"] = 4] = "deny";
20
+ })(SelectType || (SelectType = {}));
21
+ const btnCamera = { text: 'Câmera', icon: 'camera', data: SelectType.camera };
22
+ const btnGalery = { text: 'Galeria', icon: 'image', data: SelectType.galery };
23
+ const btnFile = { text: 'Selecionar Arquivo', icon: 'document', data: SelectType.file };
24
+ const btnDeny = { text: 'Cancelar', icon: 'close-circle', data: SelectType.deny, role: 'cancel', };
25
+ const isApp = (!document.URL.startsWith('http') || document.URL.startsWith('http://localhost:8080'));
26
+ var lstBtn = [];
27
+ if (isApp) {
28
+ lstBtn.push(btnCamera);
29
+ lstBtn.push(btnGalery);
30
+ }
31
+ lstBtn.push(btnFile);
32
+ lstBtn.push(btnDeny);
33
+ var res;
34
+ if (lstBtn.length > 2) {
35
+ const actionSheet = await this.actionSheetController.create({ buttons: lstBtn });
36
+ actionSheet.present();
37
+ res = await actionSheet.onDidDismiss();
38
+ }
39
+ else {
40
+ res = { role: 'confirm', data: lstBtn[0].data };
41
+ }
42
+ if (['backdrop', 'cancel'].includes(res.role)) {
43
+ return;
44
+ }
45
+ if ([SelectType.camera, SelectType.galery].includes(res.data)) {
46
+ const Source = res.data == SelectType.camera ? CameraSource.Camera : CameraSource.Photos;
47
+ //const photo = await Camera.getPhoto({ resultType: CameraResultType.Uri, source: Source, quality: 100 });
48
+ console.error("[ TODO ]");
49
+ return null;
50
+ }
51
+ else {
52
+ const res = FilePicker.pickFiles({ types: configuration.types, limit: configuration.multiple ? 0 : 1 });
53
+ const files = (await res).files;
54
+ return files.map(p => p.blob);
55
+ }
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, deps: [{ token: i1.ActionSheetController }], target: i0.ɵɵFactoryTarget.Injectable }); }
58
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, providedIn: 'root' }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, decorators: [{
61
+ type: Injectable,
62
+ args: [{
63
+ providedIn: 'root'
64
+ }]
65
+ }], ctorParameters: () => [{ type: i1.ActionSheetController }] });
66
+ export class Utils {
67
+ /** Converte de unix para Date object */
68
+ static UNIXToDate(unix_timestamp) {
69
+ var date = new Date(unix_timestamp * 1000);
70
+ return date;
71
+ }
72
+ /**
73
+ * @param DateStr - Date on ISO format, e.g:
74
+ * [ 2010-10-05T14:48:00.000Z ]
75
+ * @returns Date on format DD/MM/YYYY
76
+ */
77
+ static DateISOToDDMMYYYYHHMM(iso, onInvalidDateString = '-') {
78
+ if (!iso) {
79
+ return onInvalidDateString;
80
+ }
81
+ return moment(iso).format("DD/MM/YYYY HH:mm");
82
+ }
83
+ /**
84
+ * @param iso - Date on ISO format, e.g:
85
+ * [ 2010-10-05T14:48:00.000Z ]
86
+ * @returns Date on format DD/MM/YYYY
87
+ */
88
+ static DateISOToDDMMYYYY(iso, onInvalidDateString = '-') {
89
+ if (!iso) {
90
+ return onInvalidDateString;
91
+ }
92
+ return moment(iso).format("DD/MM/YYYY");
93
+ }
94
+ static GenerateGUID() {
95
+ return 'id-xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
96
+ var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);
97
+ return v.toString(16);
98
+ });
99
+ }
100
+ /**
101
+ * @param file: base64 | Blob
102
+ */
103
+ static async DownloadFile(file, fileName) {
104
+ var blob = null;
105
+ if (!(file instanceof Blob)) {
106
+ blob = await this.Base64ToBlob(file);
107
+ }
108
+ else {
109
+ blob = file;
110
+ }
111
+ var fileURL = URL.createObjectURL(blob);
112
+ const linkElement = document.createElement("a");
113
+ linkElement.setAttribute("href", fileURL);
114
+ linkElement.setAttribute("target", "_blank");
115
+ linkElement.setAttribute("download", fileName);
116
+ let me = new MouseEvent("click", {
117
+ view: window,
118
+ bubbles: true,
119
+ cancelable: false,
120
+ });
121
+ linkElement.dispatchEvent(me);
122
+ }
123
+ static async Base64ToBlob(base64) {
124
+ return (await fetch(base64)).blob();
125
+ }
126
+ }
127
+ export function Search(items, Search, bindLabel) {
128
+ return items.filter(p => bindLabel(p)?.toLowerCase().includes(Search.toLowerCase()));
129
+ }
130
+ export function Timeout(timeout) {
131
+ return new Promise(resolve => setTimeout(resolve, timeout));
132
+ }
133
+ //[ Base 64 ]
134
+ function DecodeBase64(b64) {
135
+ return JSON.parse(Buffer.from(b64, 'base64').toString('utf-8'));
136
+ }
137
+ function DecodeBase64AsString(b64) {
138
+ return Buffer.from(b64, 'base64').toString('utf-8');
139
+ }
140
+ function EncodeBase64(obj) {
141
+ if (typeof obj == "object") {
142
+ return Buffer.from(JSON.stringify(obj)).toString('base64');
143
+ }
144
+ else if (typeof obj == "string") {
145
+ return Buffer.from(obj).toString('base64');
146
+ }
147
+ }
148
+ export const INT_MAX = 2_147_483_646;
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhcHBoaXJlLWlvbi1mcmFtZXdvcmsvc3JjL2xpYi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUErQixNQUFNLG1DQUFtQyxDQUFDO0FBRTVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7O0FBTzVCLE1BQU0sT0FBTyxZQUFZO0lBRXZCLFlBQW9CLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQ2hFLENBQUM7SUFFRCx3RUFBd0U7SUFDeEUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFxQztRQUNwRCxJQUFLLFVBS0o7UUFMRCxXQUFLLFVBQVU7WUFDYiwrQ0FBVSxDQUFBO1lBQ1YsK0NBQVUsQ0FBQTtZQUNWLDJDQUFVLENBQUE7WUFDViwyQ0FBVSxDQUFBO1FBQ1osQ0FBQyxFQUxJLFVBQVUsS0FBVixVQUFVLFFBS2Q7UUFFRCxNQUFNLFNBQVMsR0FBc0IsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFjLElBQUksRUFBRSxRQUFRLEVBQVEsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNsSCxNQUFNLFNBQVMsR0FBc0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFhLElBQUksRUFBRSxPQUFPLEVBQVMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNsSCxNQUFNLE9BQU8sR0FBd0IsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLFVB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QVUsT0FBTyxDQUFDLE9BQWU7SUFDckMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQsYUFBYTtBQUNiLFNBQVMsWUFBWSxDQUFJLEdBQVc7SUFDbEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLEdBQVc7SUFDdkMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEdBQWlCO0lBQ3JDLElBQUcsT0FBTyxHQUFHLElBQUksUUFBUSxFQUFDLENBQUM7UUFDekIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0QsQ0FBQztTQUVELElBQUcsT0FBTyxHQUFHLElBQUksUUFBUSxFQUFDLENBQUM7UUFDekIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25TaGVldEJ1dHRvbiwgQWN0aW9uU2hlZXRDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBGaWxlUGlja2VyLCBQaWNrRmlsZXNSZXN1bHQsIFBpY2tlZEZpbGUgfSBmcm9tICdAY2FwYXdlc29tZS9jYXBhY2l0b3ItZmlsZS1waWNrZXInO1xyXG5pbXBvcnQgeyBPdmVybGF5RXZlbnREZXRhaWwgfSBmcm9tICdAaW9uaWMvY29yZSc7XHJcbmltcG9ydCB7IENhbWVyYVNvdXJjZSB9IGZyb20gJ0BjYXBhY2l0b3IvY2FtZXJhJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG5pbXBvcnQgeyBJbnB1dEZpbGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dHMvaW5wdXQtZmlsZS9pbnB1dC1maWxlLmNvbmZpZ3VyYXRpb24nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXRpbHNTZXJ2aWNle1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvblNoZWV0Q29udHJvbGxlcjogQWN0aW9uU2hlZXRDb250cm9sbGVyKSB7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0b3JuYSB1bSBhcnJheSBkZSBhcnF1aXZvcyBkZSBhY29yZG8gY29tIG8gdGlwbyBkZSBjb25maWd1dGHDp8OjbyAqL1xyXG4gIGFzeW5jIFNlbGVjdEZpbGUoY29uZmlndXJhdGlvbjogSW5wdXRGaWxlQ29uZmlndXJhdGlvbik6IFByb21pc2U8RmlsZVtdPntcclxuICAgIGVudW0gU2VsZWN0VHlwZSB7XHJcbiAgICAgIGNhbWVyYSA9IDEsXHJcbiAgICAgIGdhbGVyeSA9IDIsXHJcbiAgICAgIGZpbGUgICA9IDMsXHJcbiAgICAgIGRlbnkgICA9IDQsXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYnRuQ2FtZXJhOiBBY3Rpb25TaGVldEJ1dHRvbiA9IHsgdGV4dDogJ0PDom1lcmEnICAgICAgICAgICAgLCBpY29uOiAnY2FtZXJhJyAgICAgICwgZGF0YTogU2VsZWN0VHlwZS5jYW1lcmEgfVxyXG4gICAgY29uc3QgYnRuR2FsZXJ5OiBBY3Rpb25TaGVldEJ1dHRvbiA9IHsgdGV4dDogJ0dhbGVyaWEnICAgICAgICAgICAsIGljb246ICdpbWFnZScgICAgICAgLCBkYXRhOiBTZWxlY3RUeXBlLmdhbGVyeSB9XHJcbiAgICBjb25zdCBidG5GaWxlICA6IEFjdGlvblNoZWV0QnV0dG9uID0geyB0ZXh0OiAnU2VsZWNpb25hciBBcnF1aXZvJywgaWNvbjogJ2RvY3VtZW50JyAgICAsIGRhdGE6IFNlbGVjdFR5cGUuZmlsZSAgIH1cclxuICAgIGNvbnN0IGJ0bkRlbnkgIDogQWN0aW9uU2hlZXRCdXR0b24gPSB7IHRleHQ6ICdDYW5jZWxhcicgICAgICAgICAgLCBpY29uOiAnY2xvc2UtY2lyY2xlJywgZGF0YTogU2VsZWN0VHlwZS5kZW55LCByb2xlOiAnY2FuY2VsJywgfTtcclxuXHJcbiAgICBjb25zdCBpc0FwcCA9ICghZG9jdW1lbnQuVVJMLnN0YXJ0c1dpdGgoJ2h0dHAnKSB8fCBkb2N1bWVudC5VUkwuc3RhcnRzV2l0aCgnaHR0cDovL2xvY2FsaG9zdDo4MDgwJykpO1xyXG5cclxuICAgIHZhciBsc3RCdG46IGFueVtdID0gW107XHJcbiAgICBpZihpc0FwcCl7IFxyXG4gICAgICBsc3RCdG4ucHVzaChidG5DYW1lcmEpOyBcclxuICAgICAgbHN0QnRuLnB1c2goYnRuR2FsZXJ5KTtcclxuICAgIH1cclxuICAgIGxzdEJ0bi5wdXNoKGJ0bkZpbGUpO1xyXG4gICAgbHN0QnRuLnB1c2goYnRuRGVueSk7XHJcblxyXG4gICAgdmFyIHJlczogT3ZlcmxheUV2ZW50RGV0YWlsPGFueT47XHJcbiAgICBpZihsc3RCdG4ubGVuZ3RoID4gMil7XHJcbiAgICAgIGNvbnN0IGFjdGlvblNoZWV0ID0gYXdhaXQgdGhpcy5hY3Rpb25TaGVldENvbnRyb2xsZXIuY3JlYXRlKHsgYnV0dG9uczogbHN0QnRuIH0pO1xyXG4gICAgICBhY3Rpb25TaGVldC5wcmVzZW50KCk7XHJcbiAgICAgIHJlcyA9IGF3YWl0IGFjdGlvblNoZWV0Lm9uRGlkRGlzbWlzcygpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHJlcyA9IHsgcm9sZTogJ2NvbmZpcm0nLCBkYXRhOiBsc3RCdG5bMF0uZGF0YSB9O1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgaWYoWydiYWNrZHJvcCcsICdjYW5jZWwnXS5pbmNsdWRlcyhyZXMucm9sZSkpeyByZXR1cm47IH1cclxuXHJcbiAgICBpZihbU2VsZWN0VHlwZS5jYW1lcmEsIFNlbGVjdFR5cGUuZ2FsZXJ5XS5pbmNsdWRlcyhyZXMuZGF0YSkpeyBcclxuICAgICAgY29uc3QgU291cmNlID0gcmVzLmRhdGEgPT0gU2VsZWN0VHlwZS5jYW1lcmEgPyBDYW1lcmFTb3VyY2UuQ2FtZXJhIDogQ2FtZXJhU291cmNlLlBob3Rvc1xyXG4gICAgICAvL2NvbnN0IHBob3RvID0gYXdhaXQgQ2FtZXJhLmdldFBob3RvKHsgcmVzdWx0VHlwZTogQ2FtZXJhUmVzdWx0VHlwZS5VcmksIHNvdXJjZTogU291cmNlLCBxdWFsaXR5OiAxMDAgfSk7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJbIFRPRE8gXVwiKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1lbHNle1xyXG4gICAgICBjb25zdCByZXM6IFByb21pc2U8UGlja0ZpbGVzUmVzdWx0PiA9IEZpbGVQaWNrZXIucGlja0ZpbGVzKHsgdHlwZXM6IGNvbmZpZ3VyYXRpb24udHlwZXMsIGxpbWl0OiBjb25maWd1cmF0aW9uLm11bHRpcGxlID8gMCA6IDEgfSk7XHJcbiAgICAgIGNvbnN0IGZpbGVzOiBQaWNrZWRGaWxlW10gPSAoYXdhaXQgcmVzKS5maWxlcztcclxuICAgICAgcmV0dXJuIGZpbGVzLm1hcChwID0+IDxGaWxlPnAuYmxvYik7XHJcbiAgICB9XHJcbiAgfSBcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFV0aWxzIHtcclxuICAvKiogQ29udmVydGUgZGUgdW5peCBwYXJhIERhdGUgb2JqZWN0ICovXHJcbiAgc3RhdGljIFVOSVhUb0RhdGUodW5peF90aW1lc3RhbXA6IG51bWJlcik6IERhdGUge1xyXG4gICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSh1bml4X3RpbWVzdGFtcCAqIDEwMDApO1xyXG4gICAgcmV0dXJuIGRhdGU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBwYXJhbSBEYXRlU3RyIC0gRGF0ZSBvbiBJU08gZm9ybWF0LCBlLmc6IFxyXG4gICAqIFsgMjAxMC0xMC0wNVQxNDo0ODowMC4wMDBaIF1cclxuICAgKiBAcmV0dXJucyBEYXRlIG9uIGZvcm1hdCBERC9NTS9ZWVlZXHJcbiAgKi9cclxuICBzdGF0aWMgRGF0ZUlTT1RvRERNTVlZWVlISE1NKGlzbzogc3RyaW5nLCBvbkludmFsaWREYXRlU3RyaW5nOiBzdHJpbmcgPSAnLScpOiBzdHJpbmd7XHJcbiAgICBpZighaXNvKXsgcmV0dXJuIG9uSW52YWxpZERhdGVTdHJpbmc7IH1cclxuICAgIHJldHVybiBtb21lbnQoaXNvKS5mb3JtYXQoXCJERC9NTS9ZWVlZIEhIOm1tXCIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICAgKiBAcGFyYW0gaXNvIC0gRGF0ZSBvbiBJU08gZm9ybWF0LCBlLmc6IFxyXG4gICAgICogWyAyMDEwLTEwLTA1VDE0OjQ4OjAwLjAwMFogXVxyXG4gICAgICogQHJldHVybnMgRGF0ZSBvbiBmb3JtYXQgREQvTU0vWVlZWVxyXG4gICAgKi9cclxuICBzdGF0aWMgRGF0ZUlTT1RvRERNTVlZWVkoaXNvOiBzdHJpbmcsIG9uSW52YWxpZERhdGVTdHJpbmc6IHN0cmluZyA9ICctJyk6IHN0cmluZ3tcclxuICAgIGlmKCFpc28peyByZXR1cm4gb25JbnZhbGlkRGF0ZVN0cmluZzsgfVxyXG4gICAgcmV0dXJuIG1vbWVudChpc28pLmZvcm1hdChcIkREL01NL1lZWVlcIik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgR2VuZXJhdGVHVUlEKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJ2lkLXh4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3h5XS9nLCBmdW5jdGlvbihjKSB7XHJcbiAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSAqIDE2IHwgMCxcclxuICAgICAgdiA9IGMgPT09ICd4JyA/IHIgOiAociAmIDB4MyB8IDB4OCk7XHJcbiAgICAgIHJldHVybiB2LnRvU3RyaW5nKDE2KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqIFxyXG4gICAqIEBwYXJhbSBmaWxlOiBiYXNlNjQgfCBCbG9iXHJcbiAgICovXHJcbiAgc3RhdGljIGFzeW5jIERvd25sb2FkRmlsZShmaWxlOiBzdHJpbmcgfCBCbG9iLCBmaWxlTmFtZTogc3RyaW5nKXtcclxuICAgIHZhciBibG9iOiBCbG9iID0gbnVsbDtcclxuICAgIGlmKCEoZmlsZSBpbnN0YW5jZW9mIEJsb2IpKXtcclxuICAgICAgYmxvYiA9IGF3YWl0IHRoaXMuQmFzZTY0VG9CbG9iKGZpbGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZXsgXHJcbiAgICAgIGJsb2IgPSBmaWxlOyBcclxuICAgIH1cclxuXHJcbiAgICB2YXIgZmlsZVVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICBjb25zdCBsaW5rRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKFwiaHJlZlwiLCBmaWxlVVJMKTtcclxuICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcInRhcmdldFwiLCBcIl9ibGFua1wiKTtcclxuICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsIGZpbGVOYW1lKTtcclxuXHJcbiAgICBsZXQgbWUgPSBuZXcgTW91c2VFdmVudChcImNsaWNrXCIsIHtcclxuICAgICAgdmlldzogd2luZG93LFxyXG4gICAgICBidWJibGVzOiB0cnVlLFxyXG4gICAgICBjYW5jZWxhYmxlOiBmYWxzZSxcclxuICAgIH0pO1xyXG5cclxuICAgIGxpbmtFbGVtZW50LmRpc3BhdGNoRXZlbnQobWUpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGFzeW5jIEJhc2U2NFRvQmxvYihiYXNlNjQ6IHN0cmluZyk6IFByb21pc2U8QmxvYj57XHJcbiAgICByZXR1cm4gKGF3YWl0IGZldGNoKGJhc2U2NCkpLmJsb2IoKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBTZWFyY2g8VCA9IGFueT4oaXRlbXM6IFRbXSwgU2VhcmNoOiBzdHJpbmcsIGJpbmRMYWJlbDogKChvYmo6IFQpID0+IHN0cmluZykpOiBUW10ge1xyXG4gIHJldHVybiBpdGVtcy5maWx0ZXIocCA9PiBiaW5kTGFiZWwocCk/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoU2VhcmNoLnRvTG93ZXJDYXNlKCkpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRpbWVvdXQodGltZW91dDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPntcclxuICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIHRpbWVvdXQpKTtcclxufVxyXG5cclxuLy9bIEJhc2UgNjQgXVxyXG5mdW5jdGlvbiBEZWNvZGVCYXNlNjQ8VD4oYjY0OiBzdHJpbmcpOiBUe1xyXG4gIHJldHVybiBKU09OLnBhcnNlKEJ1ZmZlci5mcm9tKGI2NCwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGYtOCcpKTtcclxufVxyXG5cclxuZnVuY3Rpb24gRGVjb2RlQmFzZTY0QXNTdHJpbmcoYjY0OiBzdHJpbmcpIHtcclxuICByZXR1cm4gQnVmZmVyLmZyb20oYjY0LCAnYmFzZTY0JykudG9TdHJpbmcoJ3V0Zi04Jyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEVuY29kZUJhc2U2NChvYmo6IGFueSB8IHN0cmluZyk6IHN0cmluZ3tcclxuICBpZih0eXBlb2Ygb2JqID09IFwib2JqZWN0XCIpe1xyXG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KG9iaikpLnRvU3RyaW5nKCdiYXNlNjQnKTtcclxuICB9XHJcbiAgZWxzZVxyXG4gIGlmKHR5cGVvZiBvYmogPT0gXCJzdHJpbmdcIil7XHJcbiAgICByZXR1cm4gQnVmZmVyLmZyb20ob2JqKS50b1N0cmluZygnYmFzZTY0Jyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgSU5UX01BWCA9IDJfMTQ3XzQ4M182NDY7Il19
@@ -0,0 +1,29 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { EnvironmentService } from '../environment.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../environment.service";
5
+ export class ApiUrlProviderService {
6
+ constructor(coreService) {
7
+ this.coreService = coreService;
8
+ //#region [ API URL ]
9
+ this._apiUrl = '';
10
+ this._production = coreService.environment.production;
11
+ this.apiUrl = this.coreService.environment.apiUrl;
12
+ ;
13
+ console.log(`%c [ sapphire-ion-framework : ${this.coreService.environment.applicationName} started @ development ] | Conectado em: ${this.apiUrl}`, "background-color: #2fdf75; color: black;");
14
+ }
15
+ get apiUrl() { return this._apiUrl; }
16
+ set apiUrl(value) {
17
+ this._apiUrl = value;
18
+ }
19
+ get production() { return this._production; }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiUrlProviderService, deps: [{ token: i1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiUrlProviderService, providedIn: 'root' }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiUrlProviderService, decorators: [{
24
+ type: Injectable,
25
+ args: [{
26
+ providedIn: 'root'
27
+ }]
28
+ }], ctorParameters: () => [{ type: i1.EnvironmentService }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FwcGhpcmUtaW9uLWZyYW1ld29yay9zcmMvbGliL3NlcnZpY2VzL3dlYi9hcGktdXJsLXByb3ZpZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBTTVELE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFDVSxXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFTekMscUJBQXFCO1FBQ2QsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQVIxQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1FBRXRELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBQUEsQ0FBQztRQUVuRCxPQUFPLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxlQUFlLDRDQUE0QyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsMENBQTBDLENBQUMsQ0FBQTtJQUNqTSxDQUFDO0lBS0QsSUFBVyxNQUFNLEtBQVksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNuRCxJQUFXLE1BQU0sQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFJRCxJQUFXLFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDOytHQXRCekMscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJlZmVyZW5jZXMgfSBmcm9tICdAY2FwYWNpdG9yL3ByZWZlcmVuY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwaVVybFByb3ZpZGVyU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb3JlU2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICkgeyBcclxuICAgIHRoaXMuX3Byb2R1Y3Rpb24gPSBjb3JlU2VydmljZS5lbnZpcm9ubWVudC5wcm9kdWN0aW9uO1xyXG5cclxuICAgIHRoaXMuYXBpVXJsID0gdGhpcy5jb3JlU2VydmljZS5lbnZpcm9ubWVudC5hcGlVcmw7O1xyXG5cclxuICAgIGNvbnNvbGUubG9nKGAlYyBbIHNhcHBoaXJlLWlvbi1mcmFtZXdvcmsgOiAke3RoaXMuY29yZVNlcnZpY2UuZW52aXJvbm1lbnQuYXBwbGljYXRpb25OYW1lfSBzdGFydGVkIEAgZGV2ZWxvcG1lbnQgXSB8IENvbmVjdGFkbyBlbTogJHt0aGlzLmFwaVVybH1gLCBcImJhY2tncm91bmQtY29sb3I6ICMyZmRmNzU7IGNvbG9yOiBibGFjaztcIilcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBbIEFQSSBVUkwgXVxyXG4gIHB1YmxpYyBfYXBpVXJsOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgcHVibGljIGdldCBhcGlVcmwoKTogc3RyaW5neyByZXR1cm4gdGhpcy5fYXBpVXJsOyB9XHJcbiAgcHVibGljIHNldCBhcGlVcmwodmFsdWU6IHN0cmluZyl7XHJcbiAgICB0aGlzLl9hcGlVcmwgPSB2YWx1ZTtcclxuICB9XHJcbiAgXHJcbiAgcHJpdmF0ZSBfcHJvZHVjdGlvbjogYm9vbGVhbjtcclxuXHJcbiAgcHVibGljIGdldCBwcm9kdWN0aW9uKCkgeyByZXR1cm4gdGhpcy5fcHJvZHVjdGlvbjsgfVxyXG4gIC8vI2VuZHJlZ2lvbiBbIEFQSSBVUkwgXVxyXG59XHJcblxyXG4vLyBleHBvcnQgY2xhc3MgQXBpVXJse1xyXG4vLyAgIGxhYmVsICAgICA6IHN0cmluZzsgXHJcbi8vICAgdmFsdWUgICAgIDogc3RyaW5nO1xyXG4vLyAgIHByb2R1Y3Rpb246IGJvb2xlYW47XHJcbi8vICAgY29uc3RydWN0b3IodmFsdWU6IHN0cmluZywgcG9ydDogbnVtYmVyLCBwcm9kdWN0aW9uOiBib29sZWFuLCBodHRwczogYm9vbGVhbiA9IGZhbHNlKXtcclxuLy8gICAgIHRoaXMucHJvZHVjdGlvbiA9IHByb2R1Y3Rpb247XHJcbi8vICAgICBpZighcHJvZHVjdGlvbil7XHJcbi8vICAgICAgIHRoaXMudmFsdWUgPSBgaHR0cCR7aHR0cHMgPyAncycgOiAnJ306Ly8ke3ZhbHVlfToke3BvcnR9L2A7XHJcbi8vICAgICAgIHRoaXMubGFiZWwgPSB2YWx1ZTtcclxuLy8gICAgIH1lbHNle1xyXG4vLyAgICAgICB0aGlzLnZhbHVlID0gYGh0dHAke2h0dHBzID8gJ3MnIDogJyd9Oi8vJHt2YWx1ZX0vYDtcclxuLy8gICAgICAgdGhpcy5sYWJlbCA9ICdQcm9kdcOnw6NvJ1xyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuLy8gfSJdfQ==
@@ -0,0 +1,55 @@
1
+ import { NavController } from '@ionic/angular';
2
+ import { FormBuilder } from '@angular/forms';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { Injectable } from '@angular/core';
5
+ import { InputBoolConfiguration, InputBoolType } from '../../components/inputs/input-bool/input-bool.configuration';
6
+ import { HttpService } from './http.service';
7
+ import { ApiUrlProviderService } from './api-url-provider.service';
8
+ import { GenericService } from '../generics.service';
9
+ import { TableField } from '../../classes/inputs/table-field';
10
+ import { InputType } from '../../components/inputs/input-type';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/common/http";
13
+ import * as i2 from "@angular/forms";
14
+ import * as i3 from "../generics.service";
15
+ import * as i4 from "@ionic/angular";
16
+ import * as i5 from "./api-url-provider.service";
17
+ export class HttpServiceAtivo extends HttpService {
18
+ constructor(http, fb, genericService, navController, apiUrlProviderService) {
19
+ super(http, fb, genericService, navController, apiUrlProviderService);
20
+ this.http = http;
21
+ this.fb = fb;
22
+ this.genericService = genericService;
23
+ this.navController = navController;
24
+ this.apiUrlProviderService = apiUrlProviderService;
25
+ }
26
+ /**
27
+ * Troca o status de ativo da entidade
28
+ */
29
+ Ativar(id) {
30
+ return this.http.post(this.fullRoute + `/ativar/${id}`, {});
31
+ }
32
+ /**
33
+ * Lista todos os dados ativos
34
+ * @param vFilter
35
+ */
36
+ ListAtivo(vFilter) {
37
+ return this.http.post(this.fullRoute + `/listAtivo`, vFilter);
38
+ }
39
+ /** Table Field padrão de ativo */
40
+ get defaultAtivo() {
41
+ var control = this.fb.control(true);
42
+ const field = new TableField("Ativo", "ativo", control, InputType.Bool);
43
+ field.configuration = new InputBoolConfiguration(InputBoolType.toggle);
44
+ return field;
45
+ }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpServiceAtivo, deps: [{ token: i1.HttpClient }, { token: i2.FormBuilder }, { token: i3.GenericService }, { token: i4.NavController }, { token: i5.ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
47
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpServiceAtivo, providedIn: 'root' }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpServiceAtivo, decorators: [{
50
+ type: Injectable,
51
+ args: [{
52
+ providedIn: 'root'
53
+ }]
54
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.FormBuilder }, { type: i3.GenericService }, { type: i4.NavController }, { type: i5.ApiUrlProviderService }] });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5hdGl2by5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FwcGhpcmUtaW9uLWZyYW1ld29yay9zcmMvbGliL3NlcnZpY2VzL3dlYi9odHRwLmF0aXZvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDbkgsT0FBTyxFQUFFLFdBQVcsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7O0FBSy9ELE1BQU0sT0FBZ0IsZ0JBQTBCLFNBQVEsV0FBYztJQUVwRSxZQUNxQixJQUEwQixFQUMxQixFQUEyQixFQUMzQixjQUE4QixFQUM5QixhQUE2QixFQUM3QixxQkFBNEM7UUFFL0QsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBTm5ELFNBQUksR0FBSixJQUFJLENBQXNCO1FBQzFCLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBQzNCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFDN0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUdqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsRUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVUsSUFBSSxDQUFDLFNBQVMsR0FBRyxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQWtCLE9BQXFCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELG1DQUFtQztJQUNuQyxJQUFJLFlBQVk7UUFDZCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEUsS0FBSyxDQUFDLGFBQWEsR0FBRyxJQUFJLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7K0dBakNtQixnQkFBZ0I7bUhBQWhCLGdCQUFnQixjQUZ4QixNQUFNOzs0RkFFRSxnQkFBZ0I7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgSW5wdXRCb29sQ29uZmlndXJhdGlvbiwgSW5wdXRCb29sVHlwZX0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pbnB1dHMvaW5wdXQtYm9vbC9pbnB1dC1ib29sLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSwgVmlld1JldG9ybm8gfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaVVybFByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2VuZXJpY1NlcnZpY2UgfSBmcm9tICcuLi9nZW5lcmljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmlld0ZpbHRyb3MgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2ZpbHRlcnMvdmlldy1maWx0cm9zJztcclxuaW1wb3J0IHsgVGFibGVGaWVsZCB9IGZyb20gJy4uLy4uL2NsYXNzZXMvaW5wdXRzL3RhYmxlLWZpZWxkJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pbnB1dHMvaW5wdXQtdHlwZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIdHRwU2VydmljZUF0aXZvPFYgPSBhbnk+IGV4dGVuZHMgSHR0cFNlcnZpY2U8Vj4ge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBodHRwICAgICAgICAgIDogSHR0cENsaWVudCxcclxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBmYiAgICAgICAgICAgIDogRm9ybUJ1aWxkZXIsIFxyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGdlbmVyaWNTZXJ2aWNlOiBHZW5lcmljU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBuYXZDb250cm9sbGVyIDogTmF2Q29udHJvbGxlcixcclxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBhcGlVcmxQcm92aWRlclNlcnZpY2U6IEFwaVVybFByb3ZpZGVyU2VydmljZSxcclxuICApIHsgXHJcbiAgICBzdXBlcihodHRwLCBmYiwgZ2VuZXJpY1NlcnZpY2UsIG5hdkNvbnRyb2xsZXIsIGFwaVVybFByb3ZpZGVyU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcm9jYSBvIHN0YXR1cyBkZSBhdGl2byBkYSBlbnRpZGFkZVxyXG4gICAqL1xyXG4gIEF0aXZhcihpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Ym9vbGVhbj4odGhpcy5mdWxsUm91dGUgKyBgL2F0aXZhci8ke2lkfWAsIHt9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3RhIHRvZG9zIG9zIGRhZG9zIGF0aXZvc1xyXG4gICAqIEBwYXJhbSB2RmlsdGVyXHJcbiAgICovXHJcbiAgTGlzdEF0aXZvPFQgPSBWaWV3UmV0b3Jubz4odkZpbHRlcj86IFZpZXdGaWx0cm9zKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VD4odGhpcy5mdWxsUm91dGUgKyBgL2xpc3RBdGl2b2AsIHZGaWx0ZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqICBUYWJsZSBGaWVsZCBwYWRyw6NvIGRlIGF0aXZvICovXHJcbiAgZ2V0IGRlZmF1bHRBdGl2bygpOiBUYWJsZUZpZWxkIHtcclxuICAgIHZhciBjb250cm9sID0gdGhpcy5mYi5jb250cm9sKHRydWUpO1xyXG4gICAgY29uc3QgZmllbGQgPSBuZXcgVGFibGVGaWVsZChcIkF0aXZvXCIsIFwiYXRpdm9cIiwgY29udHJvbCwgSW5wdXRUeXBlLkJvb2wpO1xyXG4gICAgZmllbGQuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dEJvb2xDb25maWd1cmF0aW9uKElucHV0Qm9vbFR5cGUudG9nZ2xlKTsgXHJcbiAgICByZXR1cm4gZmllbGQ7XHJcbiAgfVxyXG59Il19
@@ -0,0 +1,175 @@
1
+ import { BehaviorSubject, firstValueFrom } from 'rxjs';
2
+ import { HttpClient, HttpEventType } from '@angular/common/http';
3
+ import { FormBuilder, FormGroup } from '@angular/forms';
4
+ import { Injectable } from '@angular/core';
5
+ import { NavController } from '@ionic/angular';
6
+ import { ApiUrlProviderService } from './api-url-provider.service';
7
+ import { GenericService } from '../../services/generics.service';
8
+ import { TableField } from '../../classes/inputs/table-field';
9
+ import { InputType } from '../../components/inputs/input-type';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common/http";
12
+ import * as i2 from "@angular/forms";
13
+ import * as i3 from "../../services/generics.service";
14
+ import * as i4 from "@ionic/angular";
15
+ import * as i5 from "./api-url-provider.service";
16
+ export class HttpService {
17
+ constructor(http, fb, genericService, navController, apiUrlProviderService) {
18
+ this.http = http;
19
+ this.fb = fb;
20
+ this.genericService = genericService;
21
+ this.navController = navController;
22
+ this.apiUrlProviderService = apiUrlProviderService;
23
+ }
24
+ get fullRoute() {
25
+ return this.apiUrlProviderService.apiUrl + this.route;
26
+ }
27
+ /**
28
+ * Retorna os dados de acordo com os filtros
29
+ * @param vFilter Filtra os dados (Pesquisa, Paginação e IComparison)
30
+ */
31
+ List(vFilter) {
32
+ return this.http.post(this.fullRoute + `/list`, vFilter);
33
+ }
34
+ /** Retorna o dado da tabela associada com a rota com o id indicado
35
+ * @param id id do dado
36
+ */
37
+ Get(id) {
38
+ return this.http.get(this.fullRoute + `/get/${id}`);
39
+ }
40
+ /** Salva as alterações no dado recebido */
41
+ Save(obj, view) {
42
+ if (view) {
43
+ view.submitted = true;
44
+ }
45
+ var object = obj;
46
+ if (obj instanceof FormGroup) {
47
+ if (obj.invalid) {
48
+ const r = new BehaviorSubject(null);
49
+ r.error("[ Invalid Form ]");
50
+ r.complete();
51
+ this.genericService.PresentToast("Verifique os campos!");
52
+ return r;
53
+ }
54
+ object = obj.value;
55
+ }
56
+ const formData = new FormData();
57
+ this.FilesToForm(object, formData);
58
+ if (obj instanceof FormGroup && this.hasFileForm && !view) {
59
+ console.error("[ FormGroup contains file, but view isnt passed ]");
60
+ }
61
+ else if (view) {
62
+ return this._Save(formData, view);
63
+ }
64
+ return this.http.post(this.fullRoute + `/save`, formData);
65
+ }
66
+ /** Exclui a entidade */
67
+ Delete(id) {
68
+ return this.http.delete(this.fullRoute + `/delete/` + id);
69
+ }
70
+ /** Retorna todos os dados */
71
+ Load(vFiltros) {
72
+ return firstValueFrom(this.List(vFiltros));
73
+ }
74
+ get lstTableFields() { return []; }
75
+ get lstTableFieldsView() { return this.lstTableFields; }
76
+ get defaultId() {
77
+ var control = this.fb.control(0);
78
+ const field = new TableField("id", "id", control, InputType.Number);
79
+ field.hidden = true;
80
+ field.hiddenView = true;
81
+ return field;
82
+ }
83
+ get defaultIdEmpresa() {
84
+ var control = this.fb.control(0);
85
+ const field = new TableField("Empresa", "idEmpresa", control, InputType.Select);
86
+ field.hiddenView = true;
87
+ field.hidden = true;
88
+ return field;
89
+ }
90
+ get hasFileForm() { return this.lstTableFieldsView.filter(p => p.type == InputType.File).length > 0; }
91
+ _Save(formData, view) {
92
+ view.loading = true;
93
+ const subject = new BehaviorSubject(null);
94
+ this.http.post(this.fullRoute + `/save`, formData, {
95
+ reportProgress: true,
96
+ observe: 'events',
97
+ }).subscribe({
98
+ next: (rez) => {
99
+ if (rez.type == HttpEventType.UploadProgress) {
100
+ const res = rez.loaded / rez.total;
101
+ subject.next(rez);
102
+ view.progress = res;
103
+ }
104
+ else if (rez.type == HttpEventType.Response) {
105
+ view.loading = false;
106
+ view.submitted = false;
107
+ view.Refresh();
108
+ const id = Number(rez.body);
109
+ //[ Redirect to view/id | redirectPath ]
110
+ if (view.id == 0) {
111
+ this.RedirectRoute(id, view.redirectPath, view.GetCurrentRouting());
112
+ }
113
+ }
114
+ },
115
+ error: (err) => {
116
+ subject.error(err);
117
+ view.loading = false;
118
+ view.submitted = false;
119
+ subject.complete();
120
+ },
121
+ complete: () => {
122
+ this.genericService.PresentToastSuccess();
123
+ subject.complete();
124
+ }
125
+ });
126
+ return subject;
127
+ }
128
+ RedirectRoute(id, redirectPath, activatedRoute) {
129
+ if (!redirectPath) {
130
+ return;
131
+ }
132
+ const path = redirectPath.replace(":id", id.toString());
133
+ this.navController.navigateRoot([`../${path}`], { relativeTo: activatedRoute });
134
+ }
135
+ FilesToForm(object, formData) {
136
+ //TODO FIX
137
+ Object.entries(object).forEach((prop) => {
138
+ if (this.lstTableFieldsView.find(p => prop[0] == p.index && p.type == InputType.File)) {
139
+ const formValue = prop[1];
140
+ if (formValue && typeof (formValue) != "string") {
141
+ var lstFiles = formValue;
142
+ lstFiles.forEach(e => {
143
+ if (e instanceof File) {
144
+ const file = e;
145
+ const name = `file-${formValue.indexOf(file)}-${prop[0]}`;
146
+ formData.append(name, e, e.name);
147
+ }
148
+ else {
149
+ var file = e;
150
+ const fileToUpload = file.blob;
151
+ const name = `file-${formValue.indexOf(file)}-${prop[0]}`;
152
+ formData.append(name, fileToUpload, fileToUpload.name);
153
+ }
154
+ });
155
+ object[prop[0]] = "";
156
+ }
157
+ }
158
+ });
159
+ formData.append('view', JSON.stringify(object));
160
+ }
161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpService, deps: [{ token: i1.HttpClient }, { token: i2.FormBuilder }, { token: i3.GenericService }, { token: i4.NavController }, { token: i5.ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
162
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpService, providedIn: 'root' }); }
163
+ }
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpService, decorators: [{
165
+ type: Injectable,
166
+ args: [{
167
+ providedIn: 'root'
168
+ }]
169
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.FormBuilder }, { type: i3.GenericService }, { type: i4.NavController }, { type: i5.ApiUrlProviderService }] });
170
+ export class ViewRetorno {
171
+ constructor() {
172
+ this.lstDados = [];
173
+ }
174
+ }
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FwcGhpcmUtaW9uLWZyYW1ld29yay9zcmMvbGliL3NlcnZpY2VzL3dlYi9odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSS9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7O0FBTS9ELE1BQU0sT0FBZ0IsV0FBVztJQUsvQixZQUNZLElBQTBCLEVBQzFCLEVBQTJCLEVBQzNCLGNBQThCLEVBQzlCLGFBQTZCLEVBQzdCLHFCQUE0QztRQUo1QyxTQUFJLEdBQUosSUFBSSxDQUFzQjtRQUMxQixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFDcEQsQ0FBQztJQUVMLElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsSUFB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QixNQUFNLFlBQVksR0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDOzRCQUNyQyxNQUFNLElBQUksR0FBRyxRQUFTLFNBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDOzRCQUNyRSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUN6RCxDQUFDO29CQUNILENBQUMsQ0FBQyxDQUFDO29CQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRSxFQUFFLENBQUM7Z0JBQ3RCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQzsrR0FwS21CLFdBQVc7bUhBQVgsV0FBVyxjQUZuQixNQUFNOzs0RkFFRSxXQUFXO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUF3S0QsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFDRSxhQUFRLEdBQVEsRUFBRSxDQUFDO0lBRXJCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgUGlja2VkRmlsZSB9IGZyb20gJ0BjYXBhd2Vzb21lL2NhcGFjaXRvci1maWxlLXBpY2tlcic7XHJcblxyXG5cclxuaW1wb3J0IHsgQXBpVXJsUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9hcGktdXJsLXByb3ZpZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZUF0aXZvIH0gZnJvbSAnLi9odHRwLmF0aXZvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHZW5lcmljU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2dlbmVyaWNzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWaWV3RmlsdHJvcyB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZmlsdGVycy92aWV3LWZpbHRyb3MnO1xyXG5pbXBvcnQgeyBUYWJsZUZpZWxkIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9pbnB1dHMvdGFibGUtZmllbGQnO1xyXG5pbXBvcnQgeyBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC10eXBlJztcclxuaW1wb3J0IHsgVmlldyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZGVmYXVsdC9kZWZhdWx0LXZpZXcvdmlldyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIdHRwU2VydmljZTxWID0gYW55PiB7XHJcblxyXG4gIHB1YmxpYyBhYnN0cmFjdCByb3V0ZTogc3RyaW5nOyBcclxuICBwdWJsaWMgYWJzdHJhY3QgdGl0bGU6IHN0cmluZzsgXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGh0dHAgICAgICAgICAgOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIGZiICAgICAgICAgICAgOiBGb3JtQnVpbGRlciwgXHJcbiAgICBwcm90ZWN0ZWQgZ2VuZXJpY1NlcnZpY2U6IEdlbmVyaWNTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIG5hdkNvbnRyb2xsZXIgOiBOYXZDb250cm9sbGVyLFxyXG4gICAgcHJvdGVjdGVkIGFwaVVybFByb3ZpZGVyU2VydmljZTogQXBpVXJsUHJvdmlkZXJTZXJ2aWNlLFxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZnVsbFJvdXRlKCk6IHN0cmluZ3tcclxuICAgIHJldHVybiB0aGlzLmFwaVVybFByb3ZpZGVyU2VydmljZS5hcGlVcmwgKyB0aGlzLnJvdXRlXHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogUmV0b3JuYSBvcyBkYWRvcyBkZSBhY29yZG8gY29tIG9zIGZpbHRyb3MgXHJcbiAgICogQHBhcmFtIHZGaWx0ZXIgRmlsdHJhIG9zIGRhZG9zIChQZXNxdWlzYSwgUGFnaW5hw6fDo28gZSBJQ29tcGFyaXNvbilcclxuICAqL1xyXG4gIExpc3QodkZpbHRlcj86IFZpZXdGaWx0cm9zKTogT2JzZXJ2YWJsZTxWaWV3UmV0b3JubzxWPj57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Vmlld1JldG9ybm88Vj4+KHRoaXMuZnVsbFJvdXRlICsgYC9saXN0YCwgdkZpbHRlcik7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0b3JuYSBvIGRhZG8gZGEgdGFiZWxhIGFzc29jaWFkYSBjb20gYSByb3RhIGNvbSBvIGlkIGluZGljYWRvIFxyXG4gICAqIEBwYXJhbSBpZCBpZCBkbyBkYWRvXHJcbiAgKi9cclxuICBHZXQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Vj4geyBcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFY+KHRoaXMuZnVsbFJvdXRlICtgL2dldC8ke2lkfWApO1xyXG4gIH1cclxuICBcclxuICAvKiogU2FsdmEgYXMgYWx0ZXJhw6fDtWVzIG5vIGRhZG8gcmVjZWJpZG8gKi9cclxuICBTYXZlPFQgPSBudW1iZXI+KG9iajogYW55IHwgViwgdmlldz86IFZpZXc8SHR0cFNlcnZpY2UgfCBIdHRwU2VydmljZUF0aXZvPik6IE9ic2VydmFibGU8VD57XHJcbiAgICBpZih2aWV3KXsgdmlldy5zdWJtaXR0ZWQgPSB0cnVlOyB9XHJcblxyXG4gICAgdmFyIG9iamVjdCA9IG9iajtcclxuICAgIFxyXG4gICAgaWYob2JqIGluc3RhbmNlb2YgRm9ybUdyb3VwKXsgXHJcbiAgICAgIGlmKG9iai5pbnZhbGlkKXsgXHJcbiAgICAgICAgY29uc3QgciA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbClcclxuICAgICAgICByLmVycm9yKFwiWyBJbnZhbGlkIEZvcm0gXVwiKTtcclxuICAgICAgICByLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgdGhpcy5nZW5lcmljU2VydmljZS5QcmVzZW50VG9hc3QoXCJWZXJpZmlxdWUgb3MgY2FtcG9zIVwiKVxyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgb2JqZWN0ID0gb2JqLnZhbHVlOyBcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgdGhpcy5GaWxlc1RvRm9ybShvYmplY3QsIGZvcm1EYXRhKVxyXG4gICAgXHJcbiAgICBpZihvYmogaW5zdGFuY2VvZiBGb3JtR3JvdXAgJiYgdGhpcy5oYXNGaWxlRm9ybSAmJiAhdmlldyl7IFxyXG4gICAgICBjb25zb2xlLmVycm9yKFwiWyBGb3JtR3JvdXAgY29udGFpbnMgZmlsZSwgYnV0IHZpZXcgaXNudCBwYXNzZWQgXVwiKSBcclxuICAgIH0gZWxzZSBcclxuICAgIGlmKHZpZXcpeyBcclxuICAgICAgcmV0dXJuIHRoaXMuX1NhdmUoZm9ybURhdGEsIHZpZXcpOyBcclxuICAgIH0gXHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHRoaXMuZnVsbFJvdXRlICsgYC9zYXZlYCwgZm9ybURhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEV4Y2x1aSBhIGVudGlkYWRlICovXHJcbiAgRGVsZXRlKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPHZvaWQ+KHRoaXMuZnVsbFJvdXRlICsgYC9kZWxldGUvYCtpZCk7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0b3JuYSB0b2RvcyBvcyBkYWRvcyAqL1xyXG4gIHB1YmxpYyBMb2FkKHZGaWx0cm9zPzogVmlld0ZpbHRyb3MpOiBQcm9taXNlPFZpZXdSZXRvcm5vPFY+PntcclxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLkxpc3QodkZpbHRyb3MpKTtcclxuICB9XHJcblxyXG4gIGdldCBsc3RUYWJsZUZpZWxkcygpICAgIDogVGFibGVGaWVsZFtdIHsgcmV0dXJuIFtdOyB9IFxyXG4gIGdldCBsc3RUYWJsZUZpZWxkc1ZpZXcoKTogVGFibGVGaWVsZFtdIHsgcmV0dXJuIHRoaXMubHN0VGFibGVGaWVsZHM7IH0gXHJcblxyXG4gIGdldCBkZWZhdWx0SWQoKSB7XHJcbiAgICB2YXIgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbCgwKTtcclxuICAgIGNvbnN0IGZpZWxkID0gbmV3IFRhYmxlRmllbGQoXCJpZFwiLCBcImlkXCIsIGNvbnRyb2wsIElucHV0VHlwZS5OdW1iZXIpOyBcclxuICAgIGZpZWxkLmhpZGRlbiA9IHRydWU7XHJcbiAgICBmaWVsZC5oaWRkZW5WaWV3ID0gdHJ1ZTtcclxuICAgIHJldHVybiBmaWVsZFxyXG4gIH1cclxuXHJcbiAgZ2V0IGRlZmF1bHRJZEVtcHJlc2EoKSB7XHJcbiAgICB2YXIgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbCgwKTtcclxuICAgIGNvbnN0IGZpZWxkID0gbmV3IFRhYmxlRmllbGQoXCJFbXByZXNhXCIsIFwiaWRFbXByZXNhXCIsIGNvbnRyb2wsIElucHV0VHlwZS5TZWxlY3QpOyBcclxuICAgIGZpZWxkLmhpZGRlblZpZXcgPSB0cnVlO1xyXG4gICAgZmllbGQuaGlkZGVuICAgICA9IHRydWU7XHJcbiAgICByZXR1cm4gZmllbGQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBoYXNGaWxlRm9ybSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMubHN0VGFibGVGaWVsZHNWaWV3LmZpbHRlcihwID0+IHAudHlwZSA9PSBJbnB1dFR5cGUuRmlsZSkubGVuZ3RoID4gMDsgfSBcclxuXHJcbiAgcHJvdGVjdGVkIF9TYXZlKGZvcm1EYXRhOiBGb3JtRGF0YSwgdmlldzogVmlldzxIdHRwU2VydmljZSB8IEh0dHBTZXJ2aWNlQXRpdm8+KTogT2JzZXJ2YWJsZTxhbnkgfCB2b2lkPntcclxuICAgIHZpZXcubG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICAgIHRoaXMuaHR0cC5wb3N0KHRoaXMuZnVsbFJvdXRlICtgL3NhdmVgLCBmb3JtRGF0YSwge1xyXG4gICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcclxuICAgICAgb2JzZXJ2ZTogJ2V2ZW50cycsXHJcbiAgICB9KS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmV6KSA9PiB7IFxyXG4gICAgICAgIGlmKHJlei50eXBlID09IEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3Mpe1xyXG4gICAgICAgICAgY29uc3QgcmVzID0gcmV6LmxvYWRlZCAvIHJlei50b3RhbCE7IFxyXG4gICAgICAgICAgc3ViamVjdC5uZXh0KHJleik7XHJcbiAgICAgICAgICB2aWV3LnByb2dyZXNzID0gcmVzOyAgXHJcbiAgICAgICAgfWVsc2UgXHJcbiAgICAgICAgaWYocmV6LnR5cGUgPT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZSl7XHJcbiAgICAgICAgICB2aWV3LmxvYWRpbmcgICA9IGZhbHNlOyBcclxuICAgICAgICAgIHZpZXcuc3VibWl0dGVkID0gZmFsc2U7IFxyXG4gICAgICAgICAgdmlldy5SZWZyZXNoKCk7IFxyXG5cclxuICAgICAgICAgIGNvbnN0IGlkOiBudW1iZXIgPSBOdW1iZXIocmV6LmJvZHkpXHJcbiAgICAgICAgICAvL1sgUmVkaXJlY3QgdG8gdmlldy9pZCB8IHJlZGlyZWN0UGF0aCBdXHJcbiAgICAgICAgICBpZih2aWV3LmlkID09IDApeyB0aGlzLlJlZGlyZWN0Um91dGUoaWQsIHZpZXcucmVkaXJlY3RQYXRoLCB2aWV3LkdldEN1cnJlbnRSb3V0aW5nKCkpOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjooZXJyKSA9PiB7IFxyXG4gICAgICAgIHN1YmplY3QuZXJyb3IoZXJyKTsgXHJcbiAgICAgICAgdmlldy5sb2FkaW5nICAgPSBmYWxzZTsgXHJcbiAgICAgICAgdmlldy5zdWJtaXR0ZWQgPSBmYWxzZTsgXHJcbiAgICAgICAgc3ViamVjdC5jb21wbGV0ZSgpOyBcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGU6KCkgPT4geyBcclxuICAgICAgICB0aGlzLmdlbmVyaWNTZXJ2aWNlLlByZXNlbnRUb2FzdFN1Y2Nlc3MoKTtcclxuICAgICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7IFxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gc3ViamVjdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgUmVkaXJlY3RSb3V0ZShpZDogbnVtYmVyLCByZWRpcmVjdFBhdGg6IHN0cmluZywgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKTogdm9pZCB7XHJcbiAgICBpZighcmVkaXJlY3RQYXRoKXsgcmV0dXJuOyB9XHJcbiAgICBjb25zdCBwYXRoID0gcmVkaXJlY3RQYXRoLnJlcGxhY2UoXCI6aWRcIiwgaWQudG9TdHJpbmcoKSk7XHJcbiAgICB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVSb290KFtgLi4vJHtwYXRofWBdLCB7IHJlbGF0aXZlVG86IGFjdGl2YXRlZFJvdXRlIH0pXHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBGaWxlc1RvRm9ybShvYmplY3Q6IGFueSwgZm9ybURhdGE6IEZvcm1EYXRhKXtcclxuICAgIC8vVE9ETyBGSVhcclxuICAgIE9iamVjdC5lbnRyaWVzKG9iamVjdCkuZm9yRWFjaCgocHJvcCkgPT4ge1xyXG4gICAgICBpZih0aGlzLmxzdFRhYmxlRmllbGRzVmlldy5maW5kKHAgPT4gcHJvcFswXSA9PSBwLmluZGV4ICYmIHAudHlwZSA9PSBJbnB1dFR5cGUuRmlsZSkpe1xyXG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHByb3BbMV07XHJcbiAgICAgICAgaWYoZm9ybVZhbHVlICYmIHR5cGVvZihmb3JtVmFsdWUpICE9IFwic3RyaW5nXCIpe1xyXG4gICAgICAgICAgdmFyIGxzdEZpbGVzID0gKGZvcm1WYWx1ZSBhcyBhbnlbXSlcclxuICAgICAgICAgIGxzdEZpbGVzLmZvckVhY2goZSA9PiB7XHJcbiAgICAgICAgICAgIGlmKGUgaW5zdGFuY2VvZiBGaWxlKXtcclxuICAgICAgICAgICAgICBjb25zdCBmaWxlOiBGaWxlID0gZTsgXHJcbiAgICAgICAgICAgICAgY29uc3QgbmFtZSA9IGBmaWxlLSR7KGZvcm1WYWx1ZSBhcyBhbnlbXSkuaW5kZXhPZihmaWxlKX0tJHtwcm9wWzBdfWA7XHJcbiAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKG5hbWUsIGUsIGUubmFtZSk7IFxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHZhciBmaWxlOiBQaWNrZWRGaWxlID0gZTtcclxuICAgICAgICAgICAgICBjb25zdCBmaWxlVG9VcGxvYWQgPSA8RmlsZT5maWxlLmJsb2I7XHJcbiAgICAgICAgICAgICAgY29uc3QgbmFtZSA9IGBmaWxlLSR7KGZvcm1WYWx1ZSBhcyBhbnlbXSkuaW5kZXhPZihmaWxlKX0tJHtwcm9wWzBdfWA7XHJcbiAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKG5hbWUsIGZpbGVUb1VwbG9hZCwgZmlsZVRvVXBsb2FkLm5hbWUpOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBvYmplY3RbcHJvcFswXV09IFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgndmlldycsIEpTT04uc3RyaW5naWZ5KG9iamVjdCkpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFZpZXdSZXRvcm5vPFQgPSBhbnk+IHtcclxuICBsc3REYWRvczogVFtdID0gW107XHJcbiAgdG90YWw6IG51bWJlcjtcclxufSJdfQ==
@@ -0,0 +1,115 @@
1
+ import { HttpClient, HttpEventType } from '@angular/common/http';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { Injectable } from '@angular/core';
4
+ import { ApiUrlProviderService } from './api-url-provider.service';
5
+ import { GenericService } from '../generics.service';
6
+ import { Utils } from '../utils.service';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common/http";
9
+ import * as i2 from "./api-url-provider.service";
10
+ import * as i3 from "../generics.service";
11
+ export class StorageService {
12
+ constructor(http, apiUrlProviderService, genericService) {
13
+ this.http = http;
14
+ this.apiUrlProviderService = apiUrlProviderService;
15
+ this.genericService = genericService;
16
+ this.currentlyDownloading = [];
17
+ }
18
+ GetProgress(file) {
19
+ const Download = this.currentlyDownloading.find(p => p.file == file);
20
+ return Download ? Download.progress : 0;
21
+ }
22
+ StartDownload(file, params, post = false) {
23
+ if (!this.currentlyDownloading.find(p => p.file == file)) {
24
+ const download = new Download(file);
25
+ this.currentlyDownloading.push(download);
26
+ this.HandleDownload(download, params, post);
27
+ return download;
28
+ }
29
+ return this.currentlyDownloading.find(p => p.file == file);
30
+ }
31
+ HandleDownload(download, params, post = false) {
32
+ var request = this.GetFile(download.file, params, post);
33
+ const requestProgess = new BehaviorSubject(null);
34
+ download.requestProgess = requestProgess;
35
+ request.subscribe({
36
+ next: (event) => {
37
+ if (event.type === HttpEventType.DownloadProgress) {
38
+ download.progress = event.loaded / event.total;
39
+ requestProgess.next(download.progress);
40
+ }
41
+ else if (event.type === HttpEventType.Response) {
42
+ Utils.DownloadFile(event, download.file);
43
+ this.currentlyDownloading.splice(this.currentlyDownloading.indexOf(download), 1);
44
+ requestProgess.complete();
45
+ }
46
+ if (event.status == 404) {
47
+ this.genericService.PresentToast("Arquivo não encontrado / Url inválida");
48
+ requestProgess.error(event);
49
+ requestProgess.complete();
50
+ }
51
+ },
52
+ error: (err) => {
53
+ this.currentlyDownloading.splice(this.currentlyDownloading.indexOf(download), 1);
54
+ }
55
+ });
56
+ return request;
57
+ }
58
+ static SanitizeFileName(v) {
59
+ try {
60
+ var filenameEnd = v.split('/')[v.split('/').length - 1];
61
+ if (filenameEnd.split('.').length <= 2) {
62
+ return filenameEnd;
63
+ }
64
+ else {
65
+ var lst = filenameEnd.split('.');
66
+ lst[0] = '';
67
+ return lst.join('.').replace('.', '');
68
+ }
69
+ }
70
+ catch {
71
+ return v;
72
+ }
73
+ }
74
+ ;
75
+ GetFile(fileUrl, params, post = false) {
76
+ var url;
77
+ if (fileUrl[0] == '/') {
78
+ url = fileUrl.slice(1, fileUrl.length - 1);
79
+ }
80
+ else {
81
+ url = `${this.apiUrlProviderService.apiUrl}${fileUrl}`;
82
+ }
83
+ url = encodeURI(url).replace(/#/g, '%23');
84
+ if (!post) {
85
+ return this.http.get(url, {
86
+ reportProgress: true,
87
+ observe: 'events',
88
+ responseType: 'blob',
89
+ params: params
90
+ });
91
+ }
92
+ else {
93
+ return this.http.post(url, params, {
94
+ reportProgress: true,
95
+ observe: 'events',
96
+ responseType: 'blob'
97
+ });
98
+ }
99
+ }
100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageService, deps: [{ token: i1.HttpClient }, { token: i2.ApiUrlProviderService }, { token: i3.GenericService }], target: i0.ɵɵFactoryTarget.Injectable }); }
101
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageService, providedIn: 'root' }); }
102
+ }
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageService, decorators: [{
104
+ type: Injectable,
105
+ args: [{
106
+ providedIn: 'root'
107
+ }]
108
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ApiUrlProviderService }, { type: i3.GenericService }] });
109
+ export class Download {
110
+ constructor(file) {
111
+ this.file = file;
112
+ this.progress = 0.00001;
113
+ }
114
+ }
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FwcGhpcmUtaW9uLWZyYW1ld29yay9zcmMvbGliL3NlcnZpY2VzL3dlYi9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBTXpDLE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQ1EsSUFBaUIsRUFDakIscUJBQTRDLEVBQzVDLGNBQThCO1FBRjlCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFHOUIseUJBQW9CLEdBQWUsRUFBRSxDQUFDO0lBRjFDLENBQUM7SUFJRSxXQUFXLENBQUMsSUFBWTtRQUM3QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQTtRQUNwRSxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxhQUFhLENBQUMsSUFBWSxFQUFFLE1BQVksRUFBRSxPQUFnQixLQUFLO1FB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QUFFLE1BQU0sRUFBRTtnQkFDakMsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixZQUFZLEVBQUUsTUFBTTthQUNyQixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzsrR0E3RlUsY0FBYzttSEFBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBaUdELE1BQU0sT0FBTyxRQUFRO0lBR25CLFlBQW1CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBRC9CLGFBQVEsR0FBaUIsT0FBTyxDQUFDO0lBQ0EsQ0FBQztDQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFdmVudFR5cGUsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEFwaVVybFByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2VuZXJpY1NlcnZpY2UgfSBmcm9tICcuLi9nZW5lcmljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi91dGlscy5zZXJ2aWNlJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9yYWdlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gIHByaXZhdGUgaHR0cCA6IEh0dHBDbGllbnQsXHJcbiAgcHJpdmF0ZSBhcGlVcmxQcm92aWRlclNlcnZpY2U6IEFwaVVybFByb3ZpZGVyU2VydmljZSxcclxuICBwcml2YXRlIGdlbmVyaWNTZXJ2aWNlOiBHZW5lcmljU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIHByaXZhdGUgY3VycmVudGx5RG93bmxvYWRpbmc6IERvd25sb2FkW10gPSBbXTtcclxuXHJcbiAgcHVibGljIEdldFByb2dyZXNzKGZpbGU6IHN0cmluZyk6IG51bWJlcntcclxuICAgIGNvbnN0IERvd25sb2FkID0gdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5maW5kKHAgPT4gcC5maWxlID09IGZpbGUpXHJcbiAgICByZXR1cm4gRG93bmxvYWQgPyBEb3dubG9hZC5wcm9ncmVzcyA6IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU3RhcnREb3dubG9hZChmaWxlOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgcG9zdDogYm9vbGVhbiA9IGZhbHNlKTogRG93bmxvYWQge1xyXG4gICAgaWYoIXRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuZmluZChwID0+IHAuZmlsZSA9PSBmaWxlKSl7XHJcbiAgICAgIGNvbnN0IGRvd25sb2FkID0gbmV3IERvd25sb2FkKGZpbGUpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRseURvd25sb2FkaW5nLnB1c2goZG93bmxvYWQpO1xyXG4gICAgICB0aGlzLkhhbmRsZURvd25sb2FkKGRvd25sb2FkLCBwYXJhbXMsIHBvc3QpO1xyXG4gICAgICByZXR1cm4gZG93bmxvYWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5maW5kKHAgPT4gcC5maWxlID09IGZpbGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBIYW5kbGVEb3dubG9hZChkb3dubG9hZDogRG93bmxvYWQsIHBhcmFtcz86IGFueSwgcG9zdDogYm9vbGVhbiA9IGZhbHNlKXtcclxuICAgIHZhciByZXF1ZXN0OiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLkdldEZpbGUoZG93bmxvYWQuZmlsZSwgcGFyYW1zLCBwb3N0KTtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0UHJvZ2VzcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICAgIGRvd25sb2FkLnJlcXVlc3RQcm9nZXNzID0gcmVxdWVzdFByb2dlc3M7XHJcbiAgICByZXF1ZXN0LnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChldmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3MpIHsgXHJcbiAgICAgICAgICBkb3dubG9hZC5wcm9ncmVzcyA9IGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsOyBcclxuICAgICAgICAgIHJlcXVlc3RQcm9nZXNzLm5leHQoZG93bmxvYWQucHJvZ3Jlc3MpO1xyXG4gICAgICAgIH0gZWxzZSBcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZSkge1xyXG4gICAgICAgICAgVXRpbHMuRG93bmxvYWRGaWxlKGV2ZW50LCBkb3dubG9hZC5maWxlKTtcclxuICAgICAgICAgIHRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuc3BsaWNlKHRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuaW5kZXhPZihkb3dubG9hZCksIDEpO1xyXG4gICAgICAgICAgcmVxdWVzdFByb2dlc3MuY29tcGxldGUoKTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGV2ZW50LnN0YXR1cyA9PSA0MDQpe1xyXG4gICAgICAgICAgdGhpcy5nZW5lcmljU2VydmljZS5QcmVzZW50VG9hc3QoXCJBcnF1aXZvIG7Do28gZW5jb250cmFkbyAvIFVybCBpbnbDoWxpZGFcIilcclxuICAgICAgICAgIHJlcXVlc3RQcm9nZXNzLmVycm9yKGV2ZW50KTsgXHJcbiAgICAgICAgICByZXF1ZXN0UHJvZ2Vzcy5jb21wbGV0ZSgpOyBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5zcGxpY2UodGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5pbmRleE9mKGRvd25sb2FkKSwgMSlcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgU2FuaXRpemVGaWxlTmFtZSh2KTogc3RyaW5ne1xyXG4gICAgdHJ5e1xyXG4gICAgICB2YXIgZmlsZW5hbWVFbmQ6IHN0cmluZyAgPSB2LnNwbGl0KCcvJylbdi5zcGxpdCgnLycpLmxlbmd0aCAtIDFdXHJcbiAgICAgIFxyXG4gICAgICBpZihmaWxlbmFtZUVuZC5zcGxpdCgnLicpLmxlbmd0aCA8PSAyKXtcclxuICAgICAgICByZXR1cm4gZmlsZW5hbWVFbmQ7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHZhciBsc3QgPSBmaWxlbmFtZUVuZC5zcGxpdCgnLicpO1xyXG4gICAgICAgIGxzdFswXSA9ICcnO1xyXG4gICAgICAgIHJldHVybiBsc3Quam9pbignLicpLnJlcGxhY2UoJy4nLCAnJyk7XHJcbiAgICAgIH1cclxuICAgIH1jYXRjaHtcclxuICAgICAgcmV0dXJuIHY7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIEdldEZpbGUoZmlsZVVybDogc3RyaW5nLCBwYXJhbXM/OiBhbnksIHBvc3Q6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB2YXIgdXJsOiBzdHJpbmc7XHJcbiAgICBpZihmaWxlVXJsWzBdID09ICcvJyl7IFxyXG4gICAgICB1cmwgPSBmaWxlVXJsLnNsaWNlKDEsIGZpbGVVcmwubGVuZ3RoIC0gMSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdXJsID0gYCR7dGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsfSR7ZmlsZVVybH1gO1xyXG4gICAgfVxyXG4gICAgdXJsID0gZW5jb2RlVVJJKHVybCkucmVwbGFjZSgvIy9nLCAnJTIzJylcclxuXHJcbiAgICBpZighcG9zdCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwge1xyXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgICAgIG9ic2VydmU6ICdldmVudHMnLFxyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxyXG4gICAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICAgIH0pO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIHBhcmFtcywge1xyXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgICAgIG9ic2VydmU6ICdldmVudHMnLFxyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIERvd25sb2FkIHtcclxuICByZXF1ZXN0UHJvZ2VzczogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gIHByb2dyZXNzICAgICAgOiBudW1iZXIgPSAwLjAwMDAxO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmaWxlOiBzdHJpbmcpe31cclxufSJdfQ==
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Public API Surface of ion-sapphire-framework
3
+ */
4
+ export * from './lib/index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NhcHBoaXJlLWlvbi1mcmFtZXdvcmsvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBpb24tc2FwcGhpcmUtZnJhbWV3b3JrXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5kZXgnOyJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwcGhpcmUtaW9uLWZyYW1ld29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NhcHBoaXJlLWlvbi1mcmFtZXdvcmsvc3JjL3NhcHBoaXJlLWlvbi1mcmFtZXdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==