@kaspernj/api-maker 1.0.2011 → 1.0.2013

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 (413) hide show
  1. package/{.eslintrc.cjs → .eslintrc.js} +10 -1
  2. package/README.md +35 -0
  3. package/android/build.gradle +43 -0
  4. package/android/src/main/AndroidManifest.xml +2 -0
  5. package/android/src/main/java/expo/modules/api_maker/ApiMakerModule.kt +50 -0
  6. package/android/src/main/java/expo/modules/api_maker/ApiMakerView.kt +30 -0
  7. package/build/api.js +120 -0
  8. package/build/attribute-not-loaded-error.js +2 -0
  9. package/build/base-component.js +5 -0
  10. package/build/base-error.js +33 -0
  11. package/build/base-model/attribute.js +25 -0
  12. package/build/base-model/column.js +11 -0
  13. package/build/base-model/reflection.js +14 -0
  14. package/build/base-model/scope.js +11 -0
  15. package/build/base-model.js +828 -0
  16. package/build/bootstrap/attribute-row.js +135 -0
  17. package/build/bootstrap/attribute-rows.js +31 -0
  18. package/build/bootstrap/card.js +138 -0
  19. package/build/bootstrap/checkbox.js +97 -0
  20. package/build/bootstrap/checkboxes.js +183 -0
  21. package/build/bootstrap/index.js +2 -0
  22. package/build/bootstrap/input.js +129 -0
  23. package/build/bootstrap/invalid-feedback.js +27 -0
  24. package/build/bootstrap/paginate.js +150 -0
  25. package/build/bootstrap/radio-buttons.js +72 -0
  26. package/build/bootstrap/select.js +88 -0
  27. package/build/bootstrap/sort-link.js +131 -0
  28. package/build/cable-connection-pool.js +128 -0
  29. package/build/cable-subscription-pool.js +207 -0
  30. package/build/cable-subscription.js +21 -0
  31. package/build/cache-key-generator.js +81 -0
  32. package/build/can-can.js +134 -0
  33. package/build/channels-consumer.js +9 -0
  34. package/build/collection-loader.js +48 -0
  35. package/build/collection.js +280 -0
  36. package/build/command-submit-data.js +81 -0
  37. package/build/commands-pool.js +195 -0
  38. package/build/compose.js +9 -0
  39. package/build/config.js +62 -0
  40. package/build/custom-error.js +5 -0
  41. package/build/data-set-to-attributes.js +10 -0
  42. package/build/deserializer.js +56 -0
  43. package/build/destroy-error.js +5 -0
  44. package/build/devise.js +112 -0
  45. package/build/draggable-sort/controller.js +136 -0
  46. package/build/draggable-sort/index.js +114 -0
  47. package/build/draggable-sort/item.js +188 -0
  48. package/build/error-logger.js +101 -0
  49. package/build/error-messages.js +13 -0
  50. package/build/event-connection.js +32 -0
  51. package/build/event-emitter-listener.js +15 -0
  52. package/build/event-model-class.js +24 -0
  53. package/build/events.js +5 -0
  54. package/build/flash-message.js +79 -0
  55. package/build/form.js +83 -0
  56. package/build/history-expo.js +20 -0
  57. package/build/history-react-native.js +20 -0
  58. package/build/history.js +3 -0
  59. package/build/index.js +3 -0
  60. package/build/inputs/attachment.js +133 -0
  61. package/build/inputs/auto-submit.js +36 -0
  62. package/build/inputs/checkbox.js +138 -0
  63. package/build/inputs/checkboxes.js +112 -0
  64. package/build/inputs/id-for-component.js +15 -0
  65. package/build/inputs/input-wrapper.js +19 -0
  66. package/build/inputs/input.js +243 -0
  67. package/build/inputs/money.js +179 -0
  68. package/build/inputs/name-for-component.js +13 -0
  69. package/build/inputs/select.js +93 -0
  70. package/build/instance-of-class-name.js +23 -0
  71. package/build/is-expo.js +22 -0
  72. package/build/key-value-store.js +53 -0
  73. package/build/link.js +73 -0
  74. package/build/logger.js +30 -0
  75. package/build/modal.js +38 -0
  76. package/build/model-class-require.js +13 -0
  77. package/build/model-events.js +30 -0
  78. package/build/model-name.js +28 -0
  79. package/build/model-prop-type.js +101 -0
  80. package/build/model-recipes-loader.js +32 -0
  81. package/build/model-recipes-model-loader.js +357 -0
  82. package/build/models-response-reader.js +40 -0
  83. package/build/models.js +8 -0
  84. package/build/money-formatter.js +78 -0
  85. package/build/not-loaded-error.js +2 -0
  86. package/build/params.js +61 -0
  87. package/build/preloaded.js +38 -0
  88. package/build/resize-observer.js +11 -0
  89. package/build/result.js +13 -0
  90. package/build/router/route.js +270 -0
  91. package/build/router/switch.js +72 -0
  92. package/build/router.js +59 -0
  93. package/build/routes-native.js +202 -0
  94. package/build/routes.js +50 -0
  95. package/build/run-last.js +35 -0
  96. package/build/serializer.js +63 -0
  97. package/build/services.js +20 -0
  98. package/build/session-status-updater.js +134 -0
  99. package/build/source-maps-loader.js +184 -0
  100. package/build/super-admin/config-reader.js +85 -0
  101. package/build/super-admin/edit-page/edit-attribute-checkbox.js +85 -0
  102. package/build/super-admin/edit-page/edit-attribute-content.js +55 -0
  103. package/build/super-admin/edit-page/edit-attribute-input.js +79 -0
  104. package/build/super-admin/edit-page/edit-attribute.js +77 -0
  105. package/build/super-admin/edit-page.js +123 -0
  106. package/build/super-admin/has-edit-config.js +12 -0
  107. package/build/super-admin/index-page.js +25 -0
  108. package/build/super-admin/index.js +181 -0
  109. package/build/super-admin/layout/header/index.js +161 -0
  110. package/build/super-admin/layout/index.js +164 -0
  111. package/build/super-admin/layout/menu/index.js +206 -0
  112. package/build/super-admin/layout/menu/menu-content.js +46 -0
  113. package/build/super-admin/layout/menu/menu-item.js +84 -0
  114. package/build/super-admin/layout/no-access.js +27 -0
  115. package/build/super-admin/model-class-table.js +61 -0
  116. package/build/super-admin/models.js +8 -0
  117. package/build/super-admin/show-nav.js +51 -0
  118. package/build/super-admin/show-page/belongs-to-attribute-row.js +29 -0
  119. package/build/super-admin/show-page/index.js +141 -0
  120. package/build/super-admin/show-reflection-actions.js +47 -0
  121. package/build/super-admin/show-reflection-link.js +48 -0
  122. package/build/super-admin/show-reflection-page.js +48 -0
  123. package/build/table/column-content.js +117 -0
  124. package/build/table/column-identifier.js +18 -0
  125. package/build/table/column-visible.js +7 -0
  126. package/build/table/components/column.js +21 -0
  127. package/build/table/components/flat-list.js +21 -0
  128. package/build/table/components/header.js +26 -0
  129. package/build/table/components/row.js +26 -0
  130. package/build/table/filters/attribute-element.js +44 -0
  131. package/build/table/filters/filter-form.js +402 -0
  132. package/build/table/filters/filter.js +90 -0
  133. package/build/table/filters/index.js +184 -0
  134. package/build/table/filters/load-search-modal.js +175 -0
  135. package/build/table/filters/reflection-element.js +37 -0
  136. package/build/table/filters/save-search-modal.js +88 -0
  137. package/build/table/filters/scope-element.js +42 -0
  138. package/build/table/header-column-content.js +68 -0
  139. package/build/table/header-column.js +144 -0
  140. package/build/table/header-select.js +105 -0
  141. package/build/table/model-callback-args.js +10 -0
  142. package/build/table/model-column.js +97 -0
  143. package/build/table/model-row.js +193 -0
  144. package/build/table/select-calculator.js +63 -0
  145. package/build/table/settings/column-row.js +97 -0
  146. package/build/table/settings/download-action.js +79 -0
  147. package/build/table/settings/index.js +92 -0
  148. package/build/table/table-settings.js +219 -0
  149. package/build/table/table.js +972 -0
  150. package/build/table/use-sorting.js +34 -0
  151. package/build/table/widths.js +75 -0
  152. package/build/table/worker-plugins-check-all-checkbox.js +125 -0
  153. package/build/table/worker-plugins-checkbox.js +115 -0
  154. package/build/translated-attributes.js +10 -0
  155. package/build/translated-collections.js +12 -0
  156. package/build/updated-attribute.js +76 -0
  157. package/build/url-encode.js +15 -0
  158. package/build/use-breakpoint.js +71 -0
  159. package/build/use-can-can.js +55 -0
  160. package/build/use-collection.js +225 -0
  161. package/build/use-created-event.js +52 -0
  162. package/build/use-current-user.js +76 -0
  163. package/build/use-destroyed-event.js +60 -0
  164. package/build/use-event-emitter.js +13 -0
  165. package/build/use-event-listener.js +16 -0
  166. package/build/use-input.js +137 -0
  167. package/build/use-model-event.js +60 -0
  168. package/build/use-model.js +169 -0
  169. package/build/use-resize-observer.js +23 -0
  170. package/build/use-router.js +104 -0
  171. package/build/use-screen-layout.js +39 -0
  172. package/build/use-styles.js +41 -0
  173. package/build/use-updated-event.js +60 -0
  174. package/build/use-validation-errors.js +30 -0
  175. package/build/utils/card.js +51 -0
  176. package/build/utils/checkbox.js +78 -0
  177. package/build/utils/checkboxes.js +163 -0
  178. package/build/utils/default-style.js +18 -0
  179. package/build/utils/icon.js +23 -0
  180. package/build/utils/invalid-feedback.js +19 -0
  181. package/build/utils/modal.js +62 -0
  182. package/build/utils/text.js +44 -0
  183. package/build/validation-error.js +28 -0
  184. package/build/validation-errors.js +98 -0
  185. package/build/with-api-maker.js +29 -0
  186. package/build/with-collection.js +14 -0
  187. package/build/with-current-user.js +10 -0
  188. package/build/with-model.js +15 -0
  189. package/build/with-router.js +22 -0
  190. package/expo-module.config.json +17 -0
  191. package/ios/ApiMaker.podspec +29 -0
  192. package/ios/ApiMakerModule.swift +48 -0
  193. package/ios/ApiMakerView.swift +38 -0
  194. package/package.json +49 -46
  195. package/src/{api.mjs → api.js} +38 -37
  196. package/src/base-component.jsx +5 -0
  197. package/src/{base-error.mjs → base-error.js} +4 -6
  198. package/src/base-model/attribute.js +33 -0
  199. package/src/base-model/column.js +13 -0
  200. package/src/base-model/reflection.js +15 -0
  201. package/src/base-model/scope.js +12 -0
  202. package/src/{base-model.mjs → base-model.js} +302 -144
  203. package/src/bootstrap/attribute-row.jsx +135 -0
  204. package/src/bootstrap/attribute-rows.jsx +27 -0
  205. package/src/bootstrap/card.jsx +149 -0
  206. package/src/bootstrap/checkbox.jsx +86 -0
  207. package/src/bootstrap/checkboxes.jsx +185 -0
  208. package/src/bootstrap/index.js +0 -0
  209. package/src/bootstrap/input.jsx +173 -0
  210. package/src/bootstrap/invalid-feedback.jsx +31 -0
  211. package/src/bootstrap/paginate.jsx +187 -0
  212. package/src/bootstrap/radio-buttons.jsx +87 -0
  213. package/src/bootstrap/select.jsx +110 -0
  214. package/src/bootstrap/sort-link.jsx +106 -0
  215. package/src/{cable-connection-pool.mjs → cable-connection-pool.js} +16 -36
  216. package/src/{cable-subscription-pool.mjs → cable-subscription-pool.js} +26 -21
  217. package/src/{cable-subscription.mjs → cable-subscription.js} +6 -4
  218. package/src/cache-key-generator.js +100 -0
  219. package/src/{can-can.mjs → can-can.js} +13 -12
  220. package/src/channels-consumer.js +10 -0
  221. package/src/collection-loader.jsx +58 -224
  222. package/src/{collection.mjs → collection.js} +98 -44
  223. package/src/{command-submit-data.mjs → command-submit-data.js} +2 -7
  224. package/src/{commands-pool.mjs → commands-pool.js} +57 -41
  225. package/src/compose.js +11 -0
  226. package/src/{config.mjs → config.js} +6 -2
  227. package/src/{custom-error.mjs → custom-error.js} +1 -1
  228. package/src/data-set-to-attributes.js +13 -0
  229. package/src/{deserializer.mjs → deserializer.js} +3 -3
  230. package/src/destroy-error.js +7 -0
  231. package/src/devise.js +129 -0
  232. package/src/draggable-sort/controller.js +137 -0
  233. package/src/draggable-sort/index.jsx +108 -0
  234. package/src/draggable-sort/item.jsx +174 -0
  235. package/src/{error-logger.mjs → error-logger.js} +12 -7
  236. package/src/{error-messages.mjs → error-messages.js} +1 -0
  237. package/src/event-connection.jsx +1 -1
  238. package/src/event-emitter-listener.jsx +8 -27
  239. package/src/event-model-class.jsx +2 -4
  240. package/src/events.js +7 -0
  241. package/src/flash-message.js +70 -0
  242. package/src/form.jsx +91 -0
  243. package/src/history-expo.js +23 -0
  244. package/src/history-react-native.js +25 -0
  245. package/src/history.js +3 -0
  246. package/src/index.js +3 -0
  247. package/src/inputs/attachment.jsx +108 -0
  248. package/src/inputs/auto-submit.js +37 -0
  249. package/src/inputs/checkbox.jsx +125 -0
  250. package/src/inputs/checkboxes.jsx +116 -0
  251. package/src/inputs/id-for-component.js +15 -0
  252. package/src/inputs/input-wrapper.jsx +16 -0
  253. package/src/inputs/input.jsx +260 -0
  254. package/src/inputs/money.jsx +187 -0
  255. package/src/inputs/name-for-component.js +15 -0
  256. package/src/inputs/select.jsx +104 -0
  257. package/src/is-expo.js +18 -0
  258. package/src/{key-value-store.mjs → key-value-store.js} +1 -1
  259. package/src/link.jsx +54 -9
  260. package/src/logger.js +38 -0
  261. package/src/modal.jsx +37 -0
  262. package/src/model-class-require.js +17 -0
  263. package/src/{model-events.mjs → model-events.js} +1 -1
  264. package/src/{model-name.mjs → model-name.js} +8 -8
  265. package/src/{model-recipes-loader.mjs → model-recipes-loader.js} +1 -1
  266. package/src/{model-recipes-model-loader.mjs → model-recipes-model-loader.js} +5 -5
  267. package/src/{models-response-reader.mjs → models-response-reader.js} +3 -4
  268. package/src/models.js +7 -0
  269. package/src/{models.mjs.erb → models.js.erb} +6 -3
  270. package/src/{money-formatter.mjs → money-formatter.js} +5 -4
  271. package/src/{params.mjs → params.js} +17 -7
  272. package/src/{preloaded.mjs → preloaded.js} +2 -2
  273. package/src/resize-observer.jsx +10 -0
  274. package/src/result.js +13 -0
  275. package/src/router/route.jsx +246 -0
  276. package/src/router/switch.jsx +76 -0
  277. package/src/router.jsx +23 -21
  278. package/src/{routes-native.mjs → routes-native.js} +12 -6
  279. package/src/{routes.mjs → routes.js} +1 -1
  280. package/src/run-last.js +39 -0
  281. package/src/{serializer.mjs → serializer.js} +2 -2
  282. package/src/{services.mjs → services.js} +1 -1
  283. package/src/session-status-updater.js +172 -0
  284. package/src/{source-maps-loader.mjs → source-maps-loader.js} +54 -28
  285. package/src/super-admin/config-reader.jsx +93 -0
  286. package/src/super-admin/edit-page/edit-attribute-checkbox.jsx +81 -0
  287. package/src/super-admin/edit-page/edit-attribute-content.jsx +57 -0
  288. package/src/super-admin/edit-page/edit-attribute-input.jsx +71 -0
  289. package/src/super-admin/edit-page/edit-attribute.jsx +81 -0
  290. package/src/super-admin/edit-page.jsx +117 -0
  291. package/src/super-admin/has-edit-config.js +15 -0
  292. package/src/super-admin/index-page.jsx +23 -0
  293. package/src/super-admin/index.jsx +197 -0
  294. package/src/super-admin/layout/header/index.jsx +144 -0
  295. package/src/super-admin/layout/header/style.scss +45 -0
  296. package/src/super-admin/layout/index.jsx +154 -0
  297. package/src/super-admin/layout/menu/index.jsx +171 -0
  298. package/src/super-admin/layout/menu/menu-content.jsx +43 -0
  299. package/src/super-admin/layout/menu/menu-item.jsx +70 -0
  300. package/src/super-admin/layout/menu/style.scss +11 -0
  301. package/src/super-admin/layout/no-access.jsx +26 -0
  302. package/src/super-admin/model-class-table.jsx +66 -0
  303. package/src/super-admin/models.js +11 -0
  304. package/src/super-admin/show-nav.jsx +44 -0
  305. package/src/super-admin/show-page/belongs-to-attribute-row.jsx +30 -0
  306. package/src/super-admin/show-page/index.jsx +141 -0
  307. package/src/super-admin/show-reflection-actions.jsx +49 -0
  308. package/src/super-admin/show-reflection-link.jsx +40 -0
  309. package/src/super-admin/show-reflection-page.jsx +47 -0
  310. package/src/super-admin/stylesheets/variables.scss +11 -0
  311. package/src/table/column-content.jsx +122 -0
  312. package/src/table/column-identifier.js +23 -0
  313. package/src/table/column-visible.js +7 -0
  314. package/src/table/components/column.jsx +19 -0
  315. package/src/table/components/flat-list.jsx +19 -0
  316. package/src/table/components/header.jsx +21 -0
  317. package/src/table/components/row.jsx +23 -0
  318. package/src/table/filters/attribute-element.jsx +47 -0
  319. package/src/table/filters/filter-form.jsx +407 -0
  320. package/src/table/filters/filter.jsx +70 -0
  321. package/src/table/filters/index.jsx +170 -0
  322. package/src/table/filters/load-search-modal.jsx +146 -0
  323. package/src/table/filters/reflection-element.jsx +38 -0
  324. package/src/table/filters/save-search-modal.jsx +74 -0
  325. package/src/table/filters/scope-element.jsx +44 -0
  326. package/src/table/header-column-content.jsx +55 -0
  327. package/src/table/header-column.jsx +129 -0
  328. package/src/table/header-select.jsx +73 -0
  329. package/src/table/model-callback-args.js +10 -0
  330. package/src/table/model-column.jsx +82 -0
  331. package/src/table/model-row.jsx +136 -0
  332. package/src/table/select-calculator.js +65 -0
  333. package/src/table/settings/column-row.jsx +93 -0
  334. package/src/table/settings/download-action.jsx +68 -0
  335. package/src/table/settings/index.jsx +65 -0
  336. package/src/table/table-settings.js +263 -0
  337. package/src/table/table.jsx +950 -0
  338. package/src/table/use-sorting.js +35 -0
  339. package/src/table/variables.scss +11 -0
  340. package/src/table/widths.jsx +87 -0
  341. package/src/table/worker-plugins-check-all-checkbox.jsx +112 -0
  342. package/src/table/worker-plugins-checkbox.jsx +104 -0
  343. package/src/translated-attributes.js +11 -0
  344. package/src/{translated-collections.mjs → translated-collections.js} +3 -2
  345. package/src/updated-attribute.jsx +1 -1
  346. package/src/url-encode.js +18 -0
  347. package/src/use-breakpoint.js +87 -0
  348. package/src/use-can-can.js +55 -0
  349. package/src/use-collection.js +280 -0
  350. package/src/use-created-event.js +55 -0
  351. package/src/use-current-user.js +88 -0
  352. package/src/use-destroyed-event.js +60 -0
  353. package/src/use-event-emitter.js +15 -0
  354. package/src/use-event-listener.js +19 -0
  355. package/src/use-input.js +157 -0
  356. package/src/use-model-event.js +60 -0
  357. package/src/use-model.js +189 -0
  358. package/src/use-resize-observer.js +24 -0
  359. package/src/use-router.jsx +128 -0
  360. package/src/use-screen-layout.js +49 -0
  361. package/src/use-styles.js +50 -0
  362. package/src/use-updated-event.js +60 -0
  363. package/src/use-validation-errors.js +33 -0
  364. package/src/utils/card.jsx +49 -0
  365. package/src/utils/checkbox.jsx +80 -0
  366. package/src/utils/checkboxes.jsx +158 -0
  367. package/src/utils/default-style.jsx +25 -0
  368. package/src/utils/icon.jsx +21 -0
  369. package/src/utils/invalid-feedback.jsx +20 -0
  370. package/src/utils/modal.jsx +60 -0
  371. package/src/utils/text.jsx +38 -0
  372. package/src/{validation-error.mjs → validation-error.js} +9 -5
  373. package/src/{validation-errors.mjs → validation-errors.js} +15 -27
  374. package/src/with-api-maker.jsx +31 -0
  375. package/src/with-collection.jsx +17 -0
  376. package/src/with-current-user.jsx +7 -25
  377. package/src/with-model.jsx +16 -0
  378. package/src/with-router.jsx +7 -129
  379. package/__tests__/base-model.test.js +0 -71
  380. package/__tests__/cable-connection-pool.test.js +0 -227
  381. package/__tests__/cable-subscription-pool.test.js +0 -26
  382. package/__tests__/can-can.test.js +0 -34
  383. package/__tests__/collection.test.js +0 -51
  384. package/__tests__/custom-error.test.js +0 -13
  385. package/__tests__/model-name.test.js +0 -34
  386. package/__tests__/model-prop-type.test.js +0 -113
  387. package/__tests__/params.test.js +0 -40
  388. package/__tests__/routes-native.test.js +0 -103
  389. package/__tests__/routes.test.js +0 -46
  390. package/__tests__/serializer.test.js +0 -30
  391. package/__tests__/support/task.js +0 -27
  392. package/__tests__/support/user.js +0 -32
  393. package/index.js +0 -1
  394. package/jest.config.js +0 -4
  395. package/src/can-can-loader.jsx +0 -54
  396. package/src/channels-consumer.mjs +0 -3
  397. package/src/destroy-error.mjs +0 -7
  398. package/src/devise.mjs +0 -122
  399. package/src/event-created.jsx +0 -65
  400. package/src/event-destroyed.jsx +0 -29
  401. package/src/event-listener.jsx +0 -38
  402. package/src/event-updated.jsx +0 -74
  403. package/src/logger.mjs +0 -25
  404. package/src/model-class-require.mjs +0 -10
  405. package/src/model-load-wrapper.jsx +0 -116
  406. package/src/result.mjs +0 -29
  407. package/src/session-status-updater.mjs +0 -116
  408. package/webpack.config.js +0 -15
  409. /package/src/{attribute-not-loaded-error.mjs → attribute-not-loaded-error.js} +0 -0
  410. /package/src/{instance-of-class-name.mjs → instance-of-class-name.js} +0 -0
  411. /package/src/{model-prop-type.mjs → model-prop-type.js} +0 -0
  412. /package/src/{not-loaded-error.mjs → not-loaded-error.js} +0 -0
  413. /package/src/{translated-collections-data.mjs.erb → translated-collections-data.js.erb} +0 -0
@@ -0,0 +1,184 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import BaseComponent from "../../base-component";
3
+ import { digg, digs } from "diggerize";
4
+ import Filter from "./filter";
5
+ import FilterForm from "./filter-form";
6
+ import LoadSearchModal from "./load-search-modal";
7
+ import SaveSearchModal from "./save-search-modal";
8
+ import Params from "../../params";
9
+ import PropTypes from "prop-types";
10
+ import * as models from "models";
11
+ import memo from "set-state-compare/src/memo";
12
+ import { shapeComponent } from "set-state-compare/src/shape-component";
13
+ import React from "react";
14
+ import useI18n from "i18n-on-steroids/src/use-i18n";
15
+ import useQueryParams from "on-location-changed/build/use-query-params";
16
+ import { View } from "react-native";
17
+ const {
18
+ TableSearch
19
+ } = models;
20
+ export default memo(shapeComponent(class ApiMakerTableFilters extends BaseComponent {
21
+ static propTypes = {
22
+ currentUser: PropTypes.object,
23
+ modelClass: PropTypes.func.isRequired,
24
+ queryName: PropTypes.string.isRequired,
25
+ querySName: PropTypes.string.isRequired
26
+ };
27
+ setup() {
28
+ const {
29
+ t
30
+ } = useI18n({
31
+ namespace: "js.api_maker.table.filters"
32
+ });
33
+ this.queryParams = useQueryParams();
34
+ this.t = t;
35
+ this.useStates({
36
+ filter: undefined,
37
+ showLoadSearchModal: undefined,
38
+ showSaveSearchModal: false
39
+ });
40
+ }
41
+ render() {
42
+ const {
43
+ modelClass,
44
+ querySName
45
+ } = digs(this.props, "modelClass", "querySName");
46
+ const {
47
+ currentUser
48
+ } = this.props;
49
+ const {
50
+ filter,
51
+ showLoadSearchModal,
52
+ showSaveSearchModal
53
+ } = digs(this.state, "filter", "showLoadSearchModal", "showSaveSearchModal");
54
+ const currentFilters = this.currentFilters();
55
+ return /*#__PURE__*/React.createElement(View, {
56
+ dataSet: {
57
+ class: "api-maker--table--filters"
58
+ },
59
+ style: {
60
+ alignItems: "flex-start"
61
+ }
62
+ }, filter && /*#__PURE__*/React.createElement(FilterForm, {
63
+ filter: filter,
64
+ key: `filter-${filter.filterIndex}`,
65
+ modelClass: modelClass,
66
+ onApplyClicked: digg(this, "onApplyClicked"),
67
+ querySearchName: querySName
68
+ }), showLoadSearchModal && /*#__PURE__*/React.createElement(LoadSearchModal, {
69
+ currentUser: currentUser,
70
+ modelClass: modelClass,
71
+ onEditSearchPressed: digg(this, "onEditSearchPressed"),
72
+ onRequestClose: digg(this, "onRequestCloseLoadSearchModal"),
73
+ querySearchName: querySName
74
+ }), showSaveSearchModal && /*#__PURE__*/React.createElement(SaveSearchModal, {
75
+ currentFilters: digg(this, "currentFilters"),
76
+ currentUser: currentUser,
77
+ onRequestClose: digg(this, "onRequestCloseSaveSearchModal"),
78
+ search: showSaveSearchModal
79
+ }), currentFilters?.map((filterData, filterIndex) => /*#__PURE__*/React.createElement(Filter, _extends({
80
+ key: filterIndex,
81
+ filterIndex: filterIndex,
82
+ onClick: this.tt.onFilterClicked,
83
+ onRemoveClicked: this.tt.onRemoveClicked
84
+ }, filterData))), /*#__PURE__*/React.createElement(View, {
85
+ className: "filter-actions",
86
+ style: {
87
+ flexDirection: "row",
88
+ marginTop: 10
89
+ }
90
+ }, /*#__PURE__*/React.createElement("button", {
91
+ className: "add-new-filter-button",
92
+ onClick: this.tt.onAddFilterClicked
93
+ }, this.t(".add_new_filter", {
94
+ defaultValue: "Add new filter"
95
+ })), currentUser && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("button", {
96
+ className: "save-search-button",
97
+ onClick: this.tt.onSaveSearchClicked,
98
+ style: {
99
+ marginLeft: 10
100
+ }
101
+ }, this.t(".save_search", {
102
+ defaultValue: "Save search"
103
+ })), /*#__PURE__*/React.createElement("button", {
104
+ className: "load-search-button",
105
+ onClick: this.tt.onLoadSearchClicked,
106
+ style: {
107
+ marginLeft: 10
108
+ }
109
+ }, this.t(".load_search", {
110
+ defaultValue: "Load search"
111
+ })))));
112
+ }
113
+ currentFilters = () => {
114
+ const {
115
+ querySName
116
+ } = digs(this.props, "querySName");
117
+ const currentFilters = this.queryParams[querySName] || [];
118
+ return currentFilters.map(currentFilter => JSON.parse(currentFilter));
119
+ };
120
+ onAddFilterClicked = e => {
121
+ e.preventDefault();
122
+ const newFilterIndex = this.currentFilters().length;
123
+ this.setState({
124
+ filter: {
125
+ filterIndex: newFilterIndex
126
+ }
127
+ });
128
+ };
129
+ onApplyClicked = () => this.setState({
130
+ filter: undefined
131
+ });
132
+ onEditSearchPressed = ({
133
+ search
134
+ }) => {
135
+ this.onRequestCloseLoadSearchModal();
136
+ this.setState({
137
+ showSaveSearchModal: search
138
+ });
139
+ };
140
+ onFilterClicked = filter => this.setState({
141
+ filter
142
+ });
143
+ onLoadSearchClicked = e => {
144
+ e.preventDefault();
145
+ this.setState({
146
+ showLoadSearchModal: true
147
+ });
148
+ };
149
+ onRemoveClicked = ({
150
+ filterIndex
151
+ }) => {
152
+ const {
153
+ querySName
154
+ } = digs(this.props, "querySName");
155
+ const searchParams = Params.parse()[querySName] || {};
156
+ delete searchParams[filterIndex];
157
+ const newParams = {};
158
+ newParams[querySName] = searchParams;
159
+ Params.changeParams(newParams);
160
+ this.setState({
161
+ filter: undefined
162
+ });
163
+ };
164
+ onRequestCloseLoadSearchModal = () => this.setState({
165
+ showLoadSearchModal: false
166
+ });
167
+ onRequestCloseSaveSearchModal = () => this.setState({
168
+ showSaveSearchModal: undefined
169
+ });
170
+ onSaveSearchClicked = e => {
171
+ e.preventDefault();
172
+ if (this.hasAnyFilters()) {
173
+ this.setState({
174
+ showSaveSearchModal: new TableSearch()
175
+ });
176
+ } else {
177
+ FlashMessage.alert(this.t(".no_filters_has_been_set", {
178
+ defaultValue: "No filters has been set"
179
+ }));
180
+ }
181
+ };
182
+ hasAnyFilters = () => Object.keys(this.currentFilters()).length > 0;
183
+ }));
184
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiZGlnZyIsImRpZ3MiLCJGaWx0ZXIiLCJGaWx0ZXJGb3JtIiwiTG9hZFNlYXJjaE1vZGFsIiwiU2F2ZVNlYXJjaE1vZGFsIiwiUGFyYW1zIiwiUHJvcFR5cGVzIiwibW9kZWxzIiwibWVtbyIsInNoYXBlQ29tcG9uZW50IiwiUmVhY3QiLCJ1c2VJMThuIiwidXNlUXVlcnlQYXJhbXMiLCJWaWV3IiwiVGFibGVTZWFyY2giLCJBcGlNYWtlclRhYmxlRmlsdGVycyIsInByb3BUeXBlcyIsImN1cnJlbnRVc2VyIiwib2JqZWN0IiwibW9kZWxDbGFzcyIsImZ1bmMiLCJpc1JlcXVpcmVkIiwicXVlcnlOYW1lIiwic3RyaW5nIiwicXVlcnlTTmFtZSIsInNldHVwIiwidCIsIm5hbWVzcGFjZSIsInF1ZXJ5UGFyYW1zIiwidXNlU3RhdGVzIiwiZmlsdGVyIiwidW5kZWZpbmVkIiwic2hvd0xvYWRTZWFyY2hNb2RhbCIsInNob3dTYXZlU2VhcmNoTW9kYWwiLCJyZW5kZXIiLCJwcm9wcyIsInN0YXRlIiwiY3VycmVudEZpbHRlcnMiLCJjcmVhdGVFbGVtZW50IiwiZGF0YVNldCIsImNsYXNzIiwic3R5bGUiLCJhbGlnbkl0ZW1zIiwia2V5IiwiZmlsdGVySW5kZXgiLCJvbkFwcGx5Q2xpY2tlZCIsInF1ZXJ5U2VhcmNoTmFtZSIsIm9uRWRpdFNlYXJjaFByZXNzZWQiLCJvblJlcXVlc3RDbG9zZSIsInNlYXJjaCIsIm1hcCIsImZpbHRlckRhdGEiLCJfZXh0ZW5kcyIsIm9uQ2xpY2siLCJ0dCIsIm9uRmlsdGVyQ2xpY2tlZCIsIm9uUmVtb3ZlQ2xpY2tlZCIsImNsYXNzTmFtZSIsImZsZXhEaXJlY3Rpb24iLCJtYXJnaW5Ub3AiLCJvbkFkZEZpbHRlckNsaWNrZWQiLCJkZWZhdWx0VmFsdWUiLCJGcmFnbWVudCIsIm9uU2F2ZVNlYXJjaENsaWNrZWQiLCJtYXJnaW5MZWZ0Iiwib25Mb2FkU2VhcmNoQ2xpY2tlZCIsImN1cnJlbnRGaWx0ZXIiLCJKU09OIiwicGFyc2UiLCJlIiwicHJldmVudERlZmF1bHQiLCJuZXdGaWx0ZXJJbmRleCIsImxlbmd0aCIsInNldFN0YXRlIiwib25SZXF1ZXN0Q2xvc2VMb2FkU2VhcmNoTW9kYWwiLCJzZWFyY2hQYXJhbXMiLCJuZXdQYXJhbXMiLCJjaGFuZ2VQYXJhbXMiLCJvblJlcXVlc3RDbG9zZVNhdmVTZWFyY2hNb2RhbCIsImhhc0FueUZpbHRlcnMiLCJGbGFzaE1lc3NhZ2UiLCJhbGVydCIsIk9iamVjdCIsImtleXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvZmlsdGVycy9pbmRleC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCB7ZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgRmlsdGVyIGZyb20gXCIuL2ZpbHRlclwiXG5pbXBvcnQgRmlsdGVyRm9ybSBmcm9tIFwiLi9maWx0ZXItZm9ybVwiXG5pbXBvcnQgTG9hZFNlYXJjaE1vZGFsIGZyb20gXCIuL2xvYWQtc2VhcmNoLW1vZGFsXCJcbmltcG9ydCBTYXZlU2VhcmNoTW9kYWwgZnJvbSBcIi4vc2F2ZS1zZWFyY2gtbW9kYWxcIlxuaW1wb3J0IFBhcmFtcyBmcm9tIFwiLi4vLi4vcGFyYW1zXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0ICogYXMgbW9kZWxzIGZyb20gXCJtb2RlbHNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuXCJcbmltcG9ydCB1c2VRdWVyeVBhcmFtcyBmcm9tIFwib24tbG9jYXRpb24tY2hhbmdlZC9idWlsZC91c2UtcXVlcnktcGFyYW1zXCJcbmltcG9ydCB7Vmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5cbmNvbnN0IHtUYWJsZVNlYXJjaH0gPSBtb2RlbHNcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclRhYmxlRmlsdGVycyBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGN1cnJlbnRVc2VyOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1vZGVsQ2xhc3M6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcXVlcnlOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgcXVlcnlTTmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnRhYmxlLmZpbHRlcnNcIn0pXG5cbiAgICB0aGlzLnF1ZXJ5UGFyYW1zID0gdXNlUXVlcnlQYXJhbXMoKVxuICAgIHRoaXMudCA9IHRcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBmaWx0ZXI6IHVuZGVmaW5lZCxcbiAgICAgIHNob3dMb2FkU2VhcmNoTW9kYWw6IHVuZGVmaW5lZCxcbiAgICAgIHNob3dTYXZlU2VhcmNoTW9kYWw6IGZhbHNlXG4gICAgfSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7bW9kZWxDbGFzcywgcXVlcnlTTmFtZX0gPSBkaWdzKHRoaXMucHJvcHMsIFwibW9kZWxDbGFzc1wiLCBcInF1ZXJ5U05hbWVcIilcbiAgICBjb25zdCB7Y3VycmVudFVzZXJ9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtmaWx0ZXIsIHNob3dMb2FkU2VhcmNoTW9kYWwsIHNob3dTYXZlU2VhcmNoTW9kYWx9ID0gZGlncyh0aGlzLnN0YXRlLCBcImZpbHRlclwiLCBcInNob3dMb2FkU2VhcmNoTW9kYWxcIiwgXCJzaG93U2F2ZVNlYXJjaE1vZGFsXCIpXG4gICAgY29uc3QgY3VycmVudEZpbHRlcnMgPSB0aGlzLmN1cnJlbnRGaWx0ZXJzKClcblxuICAgIHJldHVybiAoXG4gICAgICA8VmlldyBkYXRhU2V0PXt7Y2xhc3M6IFwiYXBpLW1ha2VyLS10YWJsZS0tZmlsdGVyc1wifX0gc3R5bGU9e3thbGlnbkl0ZW1zOiBcImZsZXgtc3RhcnRcIn19PlxuICAgICAgICB7ZmlsdGVyICYmXG4gICAgICAgICAgPEZpbHRlckZvcm1cbiAgICAgICAgICAgIGZpbHRlcj17ZmlsdGVyfVxuICAgICAgICAgICAga2V5PXtgZmlsdGVyLSR7ZmlsdGVyLmZpbHRlckluZGV4fWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgICAgb25BcHBseUNsaWNrZWQ9e2RpZ2codGhpcywgXCJvbkFwcGx5Q2xpY2tlZFwiKX1cbiAgICAgICAgICAgIHF1ZXJ5U2VhcmNoTmFtZT17cXVlcnlTTmFtZX1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHtzaG93TG9hZFNlYXJjaE1vZGFsICYmXG4gICAgICAgICAgPExvYWRTZWFyY2hNb2RhbFxuICAgICAgICAgICAgY3VycmVudFVzZXI9e2N1cnJlbnRVc2VyfVxuICAgICAgICAgICAgbW9kZWxDbGFzcz17bW9kZWxDbGFzc31cbiAgICAgICAgICAgIG9uRWRpdFNlYXJjaFByZXNzZWQ9e2RpZ2codGhpcywgXCJvbkVkaXRTZWFyY2hQcmVzc2VkXCIpfVxuICAgICAgICAgICAgb25SZXF1ZXN0Q2xvc2U9e2RpZ2codGhpcywgXCJvblJlcXVlc3RDbG9zZUxvYWRTZWFyY2hNb2RhbFwiKX1cbiAgICAgICAgICAgIHF1ZXJ5U2VhcmNoTmFtZT17cXVlcnlTTmFtZX1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHtzaG93U2F2ZVNlYXJjaE1vZGFsICYmXG4gICAgICAgICAgPFNhdmVTZWFyY2hNb2RhbFxuICAgICAgICAgICAgY3VycmVudEZpbHRlcnM9e2RpZ2codGhpcywgXCJjdXJyZW50RmlsdGVyc1wiKX1cbiAgICAgICAgICAgIGN1cnJlbnRVc2VyPXtjdXJyZW50VXNlcn1cbiAgICAgICAgICAgIG9uUmVxdWVzdENsb3NlPXtkaWdnKHRoaXMsIFwib25SZXF1ZXN0Q2xvc2VTYXZlU2VhcmNoTW9kYWxcIil9XG4gICAgICAgICAgICBzZWFyY2g9e3Nob3dTYXZlU2VhcmNoTW9kYWx9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7Y3VycmVudEZpbHRlcnM/Lm1hcCgoZmlsdGVyRGF0YSwgZmlsdGVySW5kZXgpID0+XG4gICAgICAgICAgPEZpbHRlclxuICAgICAgICAgICAga2V5PXtmaWx0ZXJJbmRleH1cbiAgICAgICAgICAgIGZpbHRlckluZGV4PXtmaWx0ZXJJbmRleH1cbiAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMudHQub25GaWx0ZXJDbGlja2VkfVxuICAgICAgICAgICAgb25SZW1vdmVDbGlja2VkPXt0aGlzLnR0Lm9uUmVtb3ZlQ2xpY2tlZH1cbiAgICAgICAgICAgIHsuLi5maWx0ZXJEYXRhfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIDxWaWV3IGNsYXNzTmFtZT1cImZpbHRlci1hY3Rpb25zXCIgc3R5bGU9e3tmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBtYXJnaW5Ub3A6IDEwfX0+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJhZGQtbmV3LWZpbHRlci1idXR0b25cIiBvbkNsaWNrPXt0aGlzLnR0Lm9uQWRkRmlsdGVyQ2xpY2tlZH0+XG4gICAgICAgICAgICB7dGhpcy50KFwiLmFkZF9uZXdfZmlsdGVyXCIsIHtkZWZhdWx0VmFsdWU6IFwiQWRkIG5ldyBmaWx0ZXJcIn0pfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIHtjdXJyZW50VXNlciAmJlxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJzYXZlLXNlYXJjaC1idXR0b25cIiBvbkNsaWNrPXt0aGlzLnR0Lm9uU2F2ZVNlYXJjaENsaWNrZWR9IHN0eWxlPXt7bWFyZ2luTGVmdDogMTB9fT5cbiAgICAgICAgICAgICAgICB7dGhpcy50KFwiLnNhdmVfc2VhcmNoXCIsIHtkZWZhdWx0VmFsdWU6IFwiU2F2ZSBzZWFyY2hcIn0pfVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJsb2FkLXNlYXJjaC1idXR0b25cIiBvbkNsaWNrPXt0aGlzLnR0Lm9uTG9hZFNlYXJjaENsaWNrZWR9IHN0eWxlPXt7bWFyZ2luTGVmdDogMTB9fT5cbiAgICAgICAgICAgICAgICB7dGhpcy50KFwiLmxvYWRfc2VhcmNoXCIsIHtkZWZhdWx0VmFsdWU6IFwiTG9hZCBzZWFyY2hcIn0pfVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9WaWV3PlxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxuXG4gIGN1cnJlbnRGaWx0ZXJzID0gKCkgPT4ge1xuICAgIGNvbnN0IHtxdWVyeVNOYW1lfSA9IGRpZ3ModGhpcy5wcm9wcywgXCJxdWVyeVNOYW1lXCIpXG4gICAgY29uc3QgY3VycmVudEZpbHRlcnMgPSB0aGlzLnF1ZXJ5UGFyYW1zW3F1ZXJ5U05hbWVdIHx8IFtdXG5cbiAgICByZXR1cm4gY3VycmVudEZpbHRlcnMubWFwKChjdXJyZW50RmlsdGVyKSA9PiBKU09OLnBhcnNlKGN1cnJlbnRGaWx0ZXIpKVxuICB9XG5cbiAgb25BZGRGaWx0ZXJDbGlja2VkID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgIGNvbnN0IG5ld0ZpbHRlckluZGV4ID0gdGhpcy5jdXJyZW50RmlsdGVycygpLmxlbmd0aFxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBmaWx0ZXI6IHtcbiAgICAgICAgZmlsdGVySW5kZXg6IG5ld0ZpbHRlckluZGV4XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIG9uQXBwbHlDbGlja2VkID0gKCkgPT4gdGhpcy5zZXRTdGF0ZSh7ZmlsdGVyOiB1bmRlZmluZWR9KVxuXG4gIG9uRWRpdFNlYXJjaFByZXNzZWQgPSAoe3NlYXJjaH0pID0+IHtcbiAgICB0aGlzLm9uUmVxdWVzdENsb3NlTG9hZFNlYXJjaE1vZGFsKClcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNob3dTYXZlU2VhcmNoTW9kYWw6IHNlYXJjaFxuICAgIH0pXG4gIH1cblxuICBvbkZpbHRlckNsaWNrZWQgPSAoZmlsdGVyKSA9PiB0aGlzLnNldFN0YXRlKHtmaWx0ZXJ9KVxuXG4gIG9uTG9hZFNlYXJjaENsaWNrZWQgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzaG93TG9hZFNlYXJjaE1vZGFsOiB0cnVlXG4gICAgfSlcbiAgfVxuXG4gIG9uUmVtb3ZlQ2xpY2tlZCA9ICh7ZmlsdGVySW5kZXh9KSA9PiB7XG4gICAgY29uc3Qge3F1ZXJ5U05hbWV9ID0gZGlncyh0aGlzLnByb3BzLCBcInF1ZXJ5U05hbWVcIilcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBQYXJhbXMucGFyc2UoKVtxdWVyeVNOYW1lXSB8fCB7fVxuXG4gICAgZGVsZXRlIHNlYXJjaFBhcmFtc1tmaWx0ZXJJbmRleF1cblxuICAgIGNvbnN0IG5ld1BhcmFtcyA9IHt9XG5cbiAgICBuZXdQYXJhbXNbcXVlcnlTTmFtZV0gPSBzZWFyY2hQYXJhbXNcblxuICAgIFBhcmFtcy5jaGFuZ2VQYXJhbXMobmV3UGFyYW1zKVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBmaWx0ZXI6IHVuZGVmaW5lZFxuICAgIH0pXG4gIH1cblxuICBvblJlcXVlc3RDbG9zZUxvYWRTZWFyY2hNb2RhbCA9ICgpID0+IHRoaXMuc2V0U3RhdGUoe3Nob3dMb2FkU2VhcmNoTW9kYWw6IGZhbHNlfSlcbiAgb25SZXF1ZXN0Q2xvc2VTYXZlU2VhcmNoTW9kYWwgPSAoKSA9PiB0aGlzLnNldFN0YXRlKHtzaG93U2F2ZVNlYXJjaE1vZGFsOiB1bmRlZmluZWR9KVxuXG4gIG9uU2F2ZVNlYXJjaENsaWNrZWQgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuXG4gICAgaWYgKHRoaXMuaGFzQW55RmlsdGVycygpKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtzaG93U2F2ZVNlYXJjaE1vZGFsOiBuZXcgVGFibGVTZWFyY2goKX0pXG4gICAgfSBlbHNlIHtcbiAgICAgIEZsYXNoTWVzc2FnZS5hbGVydCh0aGlzLnQoXCIubm9fZmlsdGVyc19oYXNfYmVlbl9zZXRcIiwge2RlZmF1bHRWYWx1ZTogXCJObyBmaWx0ZXJzIGhhcyBiZWVuIHNldFwifSkpXG4gICAgfVxuICB9XG5cbiAgaGFzQW55RmlsdGVycyA9ICgpID0+IE9iamVjdC5rZXlzKHRoaXMuY3VycmVudEZpbHRlcnMoKSkubGVuZ3RoID4gMFxufSkpXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxhQUFhLE1BQU0sc0JBQXNCO0FBQ2hELFNBQVFDLElBQUksRUFBRUMsSUFBSSxRQUFPLFdBQVc7QUFDcEMsT0FBT0MsTUFBTSxNQUFNLFVBQVU7QUFDN0IsT0FBT0MsVUFBVSxNQUFNLGVBQWU7QUFDdEMsT0FBT0MsZUFBZSxNQUFNLHFCQUFxQjtBQUNqRCxPQUFPQyxlQUFlLE1BQU0scUJBQXFCO0FBQ2pELE9BQU9DLE1BQU0sTUFBTSxjQUFjO0FBQ2pDLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU8sS0FBS0MsTUFBTSxNQUFNLFFBQVE7QUFDaEMsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BFLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLE9B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
@@ -0,0 +1,175 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import React, { useMemo } from "react";
3
+ import { Pressable, View } from "react-native";
4
+ import apiMakerConfig from "@kaspernj/api-maker/build/config";
5
+ import BaseComponent from "../../base-component";
6
+ import classNames from "classnames";
7
+ import { digg } from "diggerize";
8
+ import memo from "set-state-compare/src/memo";
9
+ import { shapeComponent } from "set-state-compare/src/shape-component";
10
+ import * as models from "models";
11
+ import Params from "../../params";
12
+ import Text from "../../utils/text";
13
+ import useI18n from "i18n-on-steroids/src/use-i18n";
14
+ const {
15
+ TableSearch
16
+ } = models;
17
+ const SearchLink = memo(shapeComponent(class SearchLink extends BaseComponent {
18
+ render() {
19
+ const {
20
+ search
21
+ } = this.props;
22
+ return /*#__PURE__*/React.createElement(View, {
23
+ dataSet: {
24
+ class: "search-row",
25
+ searchId: search.id()
26
+ },
27
+ style: {
28
+ flexDirection: "row",
29
+ width: "100%"
30
+ }
31
+ }, /*#__PURE__*/React.createElement(Pressable, {
32
+ dataSet: {
33
+ class: "load-search-link"
34
+ },
35
+ onPress: this.onSearchClicked,
36
+ style: {
37
+ justifyContent: "center"
38
+ }
39
+ }, /*#__PURE__*/React.createElement(Text, null, search.name())), /*#__PURE__*/React.createElement(View, {
40
+ style: {
41
+ flexDirection: "row",
42
+ marginLeft: "auto"
43
+ }
44
+ }, /*#__PURE__*/React.createElement(Pressable, {
45
+ dataSet: {
46
+ class: "edit-search-button"
47
+ },
48
+ onPress: this.onEditPressed,
49
+ style: {
50
+ alignItems: "center",
51
+ justifyContent: "center",
52
+ width: 25,
53
+ height: 25,
54
+ backgroundColor: "#fff",
55
+ border: "1px solid #007bff",
56
+ borderRadius: 5,
57
+ color: "#007bff"
58
+ }
59
+ }, /*#__PURE__*/React.createElement(Text, null, "\u270E")), /*#__PURE__*/React.createElement(Pressable, {
60
+ dataSet: {
61
+ class: "delete-search-button"
62
+ },
63
+ onPress: this.onDeletePressed,
64
+ style: {
65
+ alignItems: "center",
66
+ justifyContent: "center",
67
+ marginLeft: 5,
68
+ width: 25,
69
+ height: 25,
70
+ backgroundColor: "#fff",
71
+ border: "1px solid #dc3545",
72
+ borderRadius: 5,
73
+ color: "#dc3545"
74
+ }
75
+ }, /*#__PURE__*/React.createElement(Text, null, "\u2715"))));
76
+ }
77
+ onDeletePressed = async () => {
78
+ if (!confirm("Are you sure?")) {
79
+ return;
80
+ }
81
+ const {
82
+ search
83
+ } = this.props;
84
+ await search.destroy();
85
+ this.props.onDeleted({
86
+ search
87
+ });
88
+ };
89
+ onEditPressed = () => this.props.onEditPressed({
90
+ search: this.props.search
91
+ });
92
+ onSearchClicked = () => this.props.onClick({
93
+ search: this.props.search
94
+ });
95
+ }));
96
+ export default memo(shapeComponent(class ApiMakerTableFiltersLoadSearchModal extends BaseComponent {
97
+ setup() {
98
+ const {
99
+ t
100
+ } = useI18n({
101
+ namespace: "js.api_maker.table.filters.load_search_modal"
102
+ });
103
+ this.useStates({
104
+ editSearch: undefined,
105
+ searches: undefined
106
+ });
107
+ this.setInstance({
108
+ t
109
+ });
110
+ useMemo(() => {
111
+ this.loadSearches();
112
+ }, []);
113
+ }
114
+ loadSearches = async () => {
115
+ const {
116
+ currentUser
117
+ } = this.props;
118
+ const userType = digg(currentUser.modelClassData(), "name");
119
+ const searches = await TableSearch.ransack({
120
+ user_id_eq: currentUser.id(),
121
+ user_type_eq: userType
122
+ }).toArray();
123
+ this.setState({
124
+ searches
125
+ });
126
+ };
127
+ render() {
128
+ const {
129
+ t
130
+ } = this;
131
+ const {
132
+ className,
133
+ currentUser,
134
+ modelClass,
135
+ onEditSearchPressed,
136
+ onRequestClose,
137
+ querySearchName,
138
+ ...restProps
139
+ } = this.props;
140
+ const Modal = apiMakerConfig.getModal();
141
+ return /*#__PURE__*/React.createElement(Modal, _extends({
142
+ className: classNames("api-maker--table--filters--load-search-modal", className),
143
+ onRequestClose: onRequestClose
144
+ }, restProps), /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Text, null, t(".choose_a_search", {
145
+ defaultValue: "Choose a search"
146
+ }))), this.state.searches?.map(search => /*#__PURE__*/React.createElement(SearchLink, {
147
+ key: search.id(),
148
+ onClick: this.onSearchClicked,
149
+ onDeleted: this.onSearchDeleted,
150
+ onEditPressed: onEditSearchPressed,
151
+ search: search
152
+ })));
153
+ }
154
+ onSearchClicked = ({
155
+ search
156
+ }) => {
157
+ const {
158
+ onRequestClose,
159
+ querySearchName
160
+ } = this.props;
161
+ const queryParams = search.queryParams();
162
+ const newParams = {};
163
+ newParams[querySearchName] = queryParams.map(queryParam => JSON.stringify(queryParam));
164
+ Params.changeParams(newParams);
165
+ onRequestClose();
166
+ };
167
+ onSearchDeleted = ({
168
+ search
169
+ }) => {
170
+ this.setState({
171
+ searches: this.state.searches.filter(existingSearch => existingSearch.id() != search.id())
172
+ });
173
+ };
174
+ }));
175
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJQcmVzc2FibGUiLCJWaWV3IiwiYXBpTWFrZXJDb25maWciLCJCYXNlQ29tcG9uZW50IiwiY2xhc3NOYW1lcyIsImRpZ2ciLCJtZW1vIiwic2hhcGVDb21wb25lbnQiLCJtb2RlbHMiLCJQYXJhbXMiLCJUZXh0IiwidXNlSTE4biIsIlRhYmxlU2VhcmNoIiwiU2VhcmNoTGluayIsInJlbmRlciIsInNlYXJjaCIsInByb3BzIiwiY3JlYXRlRWxlbWVudCIsImRhdGFTZXQiLCJjbGFzcyIsInNlYXJjaElkIiwiaWQiLCJzdHlsZSIsImZsZXhEaXJlY3Rpb24iLCJ3aWR0aCIsIm9uUHJlc3MiLCJvblNlYXJjaENsaWNrZWQiLCJqdXN0aWZ5Q29udGVudCIsIm5hbWUiLCJtYXJnaW5MZWZ0Iiwib25FZGl0UHJlc3NlZCIsImFsaWduSXRlbXMiLCJoZWlnaHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJib3JkZXJSYWRpdXMiLCJjb2xvciIsIm9uRGVsZXRlUHJlc3NlZCIsImNvbmZpcm0iLCJkZXN0cm95Iiwib25EZWxldGVkIiwib25DbGljayIsIkFwaU1ha2VyVGFibGVGaWx0ZXJzTG9hZFNlYXJjaE1vZGFsIiwic2V0dXAiLCJ0IiwibmFtZXNwYWNlIiwidXNlU3RhdGVzIiwiZWRpdFNlYXJjaCIsInVuZGVmaW5lZCIsInNlYXJjaGVzIiwic2V0SW5zdGFuY2UiLCJsb2FkU2VhcmNoZXMiLCJjdXJyZW50VXNlciIsInVzZXJUeXBlIiwibW9kZWxDbGFzc0RhdGEiLCJyYW5zYWNrIiwidXNlcl9pZF9lcSIsInVzZXJfdHlwZV9lcSIsInRvQXJyYXkiLCJzZXRTdGF0ZSIsImNsYXNzTmFtZSIsIm1vZGVsQ2xhc3MiLCJvbkVkaXRTZWFyY2hQcmVzc2VkIiwib25SZXF1ZXN0Q2xvc2UiLCJxdWVyeVNlYXJjaE5hbWUiLCJyZXN0UHJvcHMiLCJNb2RhbCIsImdldE1vZGFsIiwiX2V4dGVuZHMiLCJkZWZhdWx0VmFsdWUiLCJzdGF0ZSIsIm1hcCIsImtleSIsIm9uU2VhcmNoRGVsZXRlZCIsInF1ZXJ5UGFyYW1zIiwibmV3UGFyYW1zIiwicXVlcnlQYXJhbSIsIkpTT04iLCJzdHJpbmdpZnkiLCJjaGFuZ2VQYXJhbXMiLCJmaWx0ZXIiLCJleGlzdGluZ1NlYXJjaCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJsZS9maWx0ZXJzL2xvYWQtc2VhcmNoLW1vZGFsLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtQcmVzc2FibGUsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IGFwaU1ha2VyQ29uZmlnIGZyb20gXCJAa2FzcGVybmovYXBpLW1ha2VyL2J1aWxkL2NvbmZpZ1wiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5pbXBvcnQgKiBhcyBtb2RlbHMgZnJvbSBcIm1vZGVsc1wiXG5pbXBvcnQgUGFyYW1zIGZyb20gXCIuLi8uLi9wYXJhbXNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuXCJcblxuY29uc3Qge1RhYmxlU2VhcmNofSA9IG1vZGVsc1xuXG5jb25zdCBTZWFyY2hMaW5rID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBTZWFyY2hMaW5rIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7c2VhcmNofSA9IHRoaXMucHJvcHNcblxuICAgIHJldHVybiAoXG4gICAgICA8VmlldyBkYXRhU2V0PXt7Y2xhc3M6IFwic2VhcmNoLXJvd1wiLCBzZWFyY2hJZDogc2VhcmNoLmlkKCl9fSBzdHlsZT17e2ZsZXhEaXJlY3Rpb246IFwicm93XCIsIHdpZHRoOiBcIjEwMCVcIn19PlxuICAgICAgICA8UHJlc3NhYmxlIGRhdGFTZXQ9e3tjbGFzczogXCJsb2FkLXNlYXJjaC1saW5rXCJ9fSBvblByZXNzPXt0aGlzLm9uU2VhcmNoQ2xpY2tlZH0gc3R5bGU9e3tqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIn19PlxuICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAge3NlYXJjaC5uYW1lKCl9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgPFZpZXcgc3R5bGU9e3tmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBtYXJnaW5MZWZ0OiBcImF1dG9cIn19PlxuICAgICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICAgIGRhdGFTZXQ9e3tjbGFzczogXCJlZGl0LXNlYXJjaC1idXR0b25cIn19XG4gICAgICAgICAgICBvblByZXNzPXt0aGlzLm9uRWRpdFByZXNzZWR9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgd2lkdGg6IDI1LFxuICAgICAgICAgICAgICBoZWlnaHQ6IDI1LFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiLFxuICAgICAgICAgICAgICBib3JkZXI6IFwiMXB4IHNvbGlkICMwMDdiZmZcIixcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA1LFxuICAgICAgICAgICAgICBjb2xvcjogXCIjMDA3YmZmXCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICYjeDI3MEU7XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgZGF0YVNldD17e2NsYXNzOiBcImRlbGV0ZS1zZWFyY2gtYnV0dG9uXCJ9fVxuICAgICAgICAgICAgb25QcmVzcz17dGhpcy5vbkRlbGV0ZVByZXNzZWR9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgbWFyZ2luTGVmdDogNSxcbiAgICAgICAgICAgICAgd2lkdGg6IDI1LFxuICAgICAgICAgICAgICBoZWlnaHQ6IDI1LFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiLFxuICAgICAgICAgICAgICBib3JkZXI6IFwiMXB4IHNvbGlkICNkYzM1NDVcIixcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA1LFxuICAgICAgICAgICAgICBjb2xvcjogXCIjZGMzNTQ1XCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICYjeDI3MTU7XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgIDwvVmlldz5cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvbkRlbGV0ZVByZXNzZWQgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFjb25maXJtKFwiQXJlIHlvdSBzdXJlP1wiKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3Qge3NlYXJjaH0gPSB0aGlzLnByb3BzXG5cbiAgICBhd2FpdCBzZWFyY2guZGVzdHJveSgpXG4gICAgdGhpcy5wcm9wcy5vbkRlbGV0ZWQoe3NlYXJjaH0pXG4gIH1cblxuICBvbkVkaXRQcmVzc2VkID0gKCkgPT4gdGhpcy5wcm9wcy5vbkVkaXRQcmVzc2VkKHtzZWFyY2g6IHRoaXMucHJvcHMuc2VhcmNofSlcbiAgb25TZWFyY2hDbGlja2VkID0gKCkgPT4gdGhpcy5wcm9wcy5vbkNsaWNrKHtzZWFyY2g6IHRoaXMucHJvcHMuc2VhcmNofSlcbn0pKVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyVGFibGVGaWx0ZXJzTG9hZFNlYXJjaE1vZGFsIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIudGFibGUuZmlsdGVycy5sb2FkX3NlYXJjaF9tb2RhbFwifSlcblxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGVkaXRTZWFyY2g6IHVuZGVmaW5lZCxcbiAgICAgIHNlYXJjaGVzOiB1bmRlZmluZWRcbiAgICB9KVxuICAgIHRoaXMuc2V0SW5zdGFuY2Uoe3R9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRTZWFyY2hlcygpXG4gICAgfSwgW10pXG4gIH1cblxuICBsb2FkU2VhcmNoZXMgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qge2N1cnJlbnRVc2VyfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB1c2VyVHlwZSA9IGRpZ2coY3VycmVudFVzZXIubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgY29uc3Qgc2VhcmNoZXMgPSBhd2FpdCBUYWJsZVNlYXJjaFxuICAgICAgLnJhbnNhY2soe3VzZXJfaWRfZXE6IGN1cnJlbnRVc2VyLmlkKCksIHVzZXJfdHlwZV9lcTogdXNlclR5cGV9KVxuICAgICAgLnRvQXJyYXkoKVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7c2VhcmNoZXN9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHt0fSA9IHRoaXNcbiAgICBjb25zdCB7Y2xhc3NOYW1lLCBjdXJyZW50VXNlciwgbW9kZWxDbGFzcywgb25FZGl0U2VhcmNoUHJlc3NlZCwgb25SZXF1ZXN0Q2xvc2UsIHF1ZXJ5U2VhcmNoTmFtZSwgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBNb2RhbCA9IGFwaU1ha2VyQ29uZmlnLmdldE1vZGFsKClcblxuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWwgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwiYXBpLW1ha2VyLS10YWJsZS0tZmlsdGVycy0tbG9hZC1zZWFyY2gtbW9kYWxcIiwgY2xhc3NOYW1lKX0gb25SZXF1ZXN0Q2xvc2U9e29uUmVxdWVzdENsb3NlfSB7Li4ucmVzdFByb3BzfT5cbiAgICAgICAgPFZpZXc+XG4gICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICB7dChcIi5jaG9vc2VfYV9zZWFyY2hcIiwge2RlZmF1bHRWYWx1ZTogXCJDaG9vc2UgYSBzZWFyY2hcIn0pfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9WaWV3PlxuICAgICAgICB7dGhpcy5zdGF0ZS5zZWFyY2hlcz8ubWFwKChzZWFyY2gpID0+XG4gICAgICAgICAgPFNlYXJjaExpbmsga2V5PXtzZWFyY2guaWQoKX0gb25DbGljaz17dGhpcy5vblNlYXJjaENsaWNrZWR9IG9uRGVsZXRlZD17dGhpcy5vblNlYXJjaERlbGV0ZWR9IG9uRWRpdFByZXNzZWQ9e29uRWRpdFNlYXJjaFByZXNzZWR9IHNlYXJjaD17c2VhcmNofSAvPlxuICAgICAgICApfVxuICAgICAgPC9Nb2RhbD5cbiAgICApXG4gIH1cblxuICBvblNlYXJjaENsaWNrZWQgPSAoe3NlYXJjaH0pID0+IHtcbiAgICBjb25zdCB7b25SZXF1ZXN0Q2xvc2UsIHF1ZXJ5U2VhcmNoTmFtZX0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSBzZWFyY2gucXVlcnlQYXJhbXMoKVxuICAgIGNvbnN0IG5ld1BhcmFtcyA9IHt9XG5cbiAgICBuZXdQYXJhbXNbcXVlcnlTZWFyY2hOYW1lXSA9IHF1ZXJ5UGFyYW1zLm1hcCgocXVlcnlQYXJhbSkgPT4gSlNPTi5zdHJpbmdpZnkocXVlcnlQYXJhbSkpXG5cbiAgICBQYXJhbXMuY2hhbmdlUGFyYW1zKG5ld1BhcmFtcylcblxuICAgIG9uUmVxdWVzdENsb3NlKClcbiAgfVxuXG4gIG9uU2VhcmNoRGVsZXRlZCA9ICh7c2VhcmNofSkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgc2VhcmNoZXM6IHRoaXMuc3RhdGUuc2VhcmNoZXMuZmlsdGVyKChleGlzdGluZ1NlYXJjaCkgPT4gZXhpc3RpbmdTZWFyY2guaWQoKSAhPSBzZWFyY2guaWQoKSlcbiAgICB9KVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLEtBQUssSUFBR0MsT0FBTyxRQUFPLE9BQU87QUFDcEMsU0FBUUMsU0FBUyxFQUFFQyxJQUFJLFFBQU8sY0FBYztBQUM1QyxPQUFPQyxjQUFjLE1BQU0sa0NBQWtDO0FBQzdELE9BQU9DLGFBQWEsTUFBTSxzQkFBc0I7QUFDaEQsT0FBT0MsVUFBVSxNQUFNLFlBQVk7QUFDbkMsU0FBUUMsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BFLE9BQU8sS0FBS0MsTUFBTSxNQUFNLFFBQVE7QUFDaEMsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsT0FBT0MsSUFBSSxNQUFNLGtCQUFrQjtBQUNuQyxPQUFPQyxPQUFPLE1BQU0sK0JBQStCO0FBRW5ELE1BQU07RUFBQ0M7QUFBVyxDQUFDLEdBQUdKLE1BQU07QUFFNUIsTUFBTUssVUFBVSxHQUFHUCxJQUFJLENBQUNDLGNBQWMsQ0FBQyxNQUFNTSxVQUFVLFNBQVNWLGFBQWEsQ0FBQztFQUM1RVcsTUFBTUEsQ0FBQSxFQUFHO0lBQ1AsTUFB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
@@ -0,0 +1,37 @@
1
+ import BaseComponent from "../../base-component";
2
+ import PropTypes from "prop-types";
3
+ import PropTypesExact from "prop-types-exact";
4
+ import memo from "set-state-compare/src/memo";
5
+ import { Pressable } from "react-native";
6
+ import React from "react";
7
+ import { shapeComponent } from "set-state-compare/src/shape-component";
8
+ import Text from "../../utils/text";
9
+ export default memo(shapeComponent(class ReflectionElement extends BaseComponent {
10
+ static propTypes = PropTypesExact({
11
+ modelClassName: PropTypes.string.isRequired,
12
+ onClick: PropTypes.func.isRequired,
13
+ reflection: PropTypes.object.isRequired
14
+ });
15
+ render() {
16
+ const {
17
+ modelClassName,
18
+ reflection
19
+ } = this.p;
20
+ const {
21
+ humanName,
22
+ reflectionName
23
+ } = reflection;
24
+ return /*#__PURE__*/React.createElement(Pressable, {
25
+ dataSet: {
26
+ class: "reflection-element",
27
+ modelClass: modelClassName,
28
+ reflectionName
29
+ },
30
+ onPress: this.tt.onReflectionClicked
31
+ }, /*#__PURE__*/React.createElement(Text, null, humanName));
32
+ }
33
+ onReflectionClicked = () => this.p.onClick({
34
+ reflection: this.p.reflection
35
+ });
36
+ }));
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiUHJvcFR5cGVzRXhhY3QiLCJtZW1vIiwiUHJlc3NhYmxlIiwiUmVhY3QiLCJzaGFwZUNvbXBvbmVudCIsIlRleHQiLCJSZWZsZWN0aW9uRWxlbWVudCIsInByb3BUeXBlcyIsIm1vZGVsQ2xhc3NOYW1lIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsIm9uQ2xpY2siLCJmdW5jIiwicmVmbGVjdGlvbiIsIm9iamVjdCIsInJlbmRlciIsInAiLCJodW1hbk5hbWUiLCJyZWZsZWN0aW9uTmFtZSIsImNyZWF0ZUVsZW1lbnQiLCJkYXRhU2V0IiwiY2xhc3MiLCJtb2RlbENsYXNzIiwib25QcmVzcyIsInR0Iiwib25SZWZsZWN0aW9uQ2xpY2tlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJsZS9maWx0ZXJzL3JlZmxlY3Rpb24tZWxlbWVudC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQge1ByZXNzYWJsZX0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi8uLi91dGlscy90ZXh0XCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBSZWZsZWN0aW9uRWxlbWVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gUHJvcFR5cGVzRXhhY3Qoe1xuICAgIG1vZGVsQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICByZWZsZWN0aW9uOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWRcbiAgfSlcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge21vZGVsQ2xhc3NOYW1lLCByZWZsZWN0aW9ufSA9IHRoaXMucFxuICAgIGNvbnN0IHtodW1hbk5hbWUsIHJlZmxlY3Rpb25OYW1lfSA9IHJlZmxlY3Rpb25cblxuICAgIHJldHVybiAoXG4gICAgICA8UHJlc3NhYmxlXG4gICAgICAgIGRhdGFTZXQ9e3tcbiAgICAgICAgICBjbGFzczogXCJyZWZsZWN0aW9uLWVsZW1lbnRcIixcbiAgICAgICAgICBtb2RlbENsYXNzOiBtb2RlbENsYXNzTmFtZSxcbiAgICAgICAgICByZWZsZWN0aW9uTmFtZVxuICAgICAgICB9fVxuICAgICAgICBvblByZXNzPXt0aGlzLnR0Lm9uUmVmbGVjdGlvbkNsaWNrZWR9XG4gICAgICA+XG4gICAgICAgIDxUZXh0PlxuICAgICAgICAgIHtodW1hbk5hbWV9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgIDwvUHJlc3NhYmxlPlxuICAgIClcbiAgfVxuXG4gIG9uUmVmbGVjdGlvbkNsaWNrZWQgPSAoKSA9PiB0aGlzLnAub25DbGljayh7cmVmbGVjdGlvbjogdGhpcy5wLnJlZmxlY3Rpb259KVxufSkpXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGFBQWEsTUFBTSxzQkFBc0I7QUFDaEQsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUM3QyxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLFNBQVFDLFNBQVMsUUFBTyxjQUFjO0FBQ3RDLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLFNBQVFDLGNBQWMsUUFBTyx1Q0FBdUM7QUFDcEUsT0FBT0MsSUFBSSxNQUFNLGtCQUFrQjtBQUVuQyxlQUFlSixJQUFJLENBQUNHLGNBQWMsQ0FBQyxNQUFNRSxpQkFBaUIsU0FBU1IsYUFBYSxDQUFDO0VBQy9FLE9BQU9TLFNBQVMsR0FBR1AsY0FBYyxDQUFDO0lBQ2hDUSxjQUFjLEVBQUVULFNBQVMsQ0FBQ1UsTUFBTSxDQUFDQyxVQUFVO0lBQzNDQyxPQUFPLEVBQUVaLFNBQVMsQ0FBQ2EsSUFBSSxDQUFDRixVQUFVO0lBQ2xDRyxVQUFVLEVBQUVkLFNBQVMsQ0FBQ2UsTUFBTSxDQUFDSjtFQUMvQixDQUFDLENBQUM7RUFFRkssTUFBTUEsQ0FBQSxFQUFHO0lBQ1AsTUFBTTtNQUFDUCxjQUFjO01BQUVLO0lBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQ0csQ0FBQztJQUMzQyxNQUFNO01BQUNDLFNBQVM7TUFBRUM7SUFBYyxDQUFDLEdBQUdMLFVBQVU7SUFFOUMsb0JBQ0VWLEtBQUEsQ0FBQWdCLGFBQUEsQ0FBQ2pCLFNBQVM7TUFDUmtCLE9BQU8sRUFBRTtRQUNQQyxLQUFLLEVBQUUsb0JBQW9CO1FBQzNCQyxVQUFVLEVBQUVkLGNBQWM7UUFDMUJVO01BQ0YsQ0FBRTtNQUNGSyxPQUFPLEVBQUUsSUFBSSxDQUFDQyxFQUFFLENBQUNDO0lBQW9CLGdCQUVyQ3RCLEtBQUEsQ0FBQWdCLGFBQUEsQ0FBQ2QsSUFBSSxRQUNGWSxTQUNHLENBQ0csQ0FBQztFQUVoQjtFQUVBUSxtQkFBbUIsR0FBR0EsQ0FBQSxLQUFNLElBQUksQ0FBQ1QsQ0FBQyxDQUFDTCxPQUFPLENBQUM7SUFBQ0UsVUFBVSxFQUFFLElBQUksQ0FBQ0csQ0FBQyxDQUFDSDtFQUFVLENBQUMsQ0FBQztBQUM3RSxDQUFDLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,88 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import apiMakerConfig from "@kaspernj/api-maker/build/config";
3
+ import BaseComponent from "../../base-component";
4
+ import Checkbox from "../../bootstrap/checkbox";
5
+ import { digg } from "diggerize";
6
+ import FlashMessage from "../../flash-message";
7
+ import { Form } from "../../form";
8
+ import Input from "../../bootstrap/input";
9
+ import modelClassRequire from "../../model-class-require";
10
+ import React from "react";
11
+ import { shapeComponent } from "set-state-compare/src/shape-component";
12
+ import memo from "set-state-compare/src/memo";
13
+ import useI18n from "i18n-on-steroids/src/use-i18n";
14
+ const TableSearch = modelClassRequire("TableSearch");
15
+ export default memo(shapeComponent(class ApiMakerTableFiltersSaveSearchModal extends BaseComponent {
16
+ setup() {
17
+ const {
18
+ t
19
+ } = useI18n({
20
+ namespace: "js.api_maker.table.filters.save_search_modal"
21
+ });
22
+ this.t = t;
23
+ this.useStates({
24
+ form: null
25
+ });
26
+ }
27
+ render() {
28
+ const {
29
+ currentFilters,
30
+ currentUser,
31
+ onRequestClose,
32
+ search,
33
+ ...restProps
34
+ } = this.props;
35
+ const Modal = apiMakerConfig.getModal();
36
+ return /*#__PURE__*/React.createElement(Modal, _extends({
37
+ onRequestClose: onRequestClose
38
+ }, restProps), /*#__PURE__*/React.createElement(Form, {
39
+ onSubmit: this.tt.onSaveSearchSubmit,
40
+ setForm: this.setStates.form
41
+ }, /*#__PURE__*/React.createElement(Input, {
42
+ defaultValue: search.name(),
43
+ id: "table_search_name",
44
+ label: this.t(".search_name", {
45
+ defaultValue: "Search name"
46
+ }),
47
+ name: "table_search[name]"
48
+ }), /*#__PURE__*/React.createElement(Checkbox, {
49
+ defaultChecked: search.public(),
50
+ id: "table_search_public",
51
+ label: this.t(".public", {
52
+ defaultValue: "Public"
53
+ }),
54
+ name: "table_search[public]"
55
+ }), /*#__PURE__*/React.createElement("button", {
56
+ className: "save-search-submit-button"
57
+ }, this.t(".save_search", {
58
+ defaultValue: "Save search"
59
+ }))));
60
+ }
61
+ onSaveSearchSubmit = async () => {
62
+ const formData = this.s.form.asObject();
63
+ const {
64
+ currentFilters,
65
+ currentUser,
66
+ onRequestClose,
67
+ search
68
+ } = this.p;
69
+ const hasUserTypeColumn = Boolean(TableSearch.attributes().find(attribute => attribute.name() == "user_type"));
70
+ if (search.isNewRecord()) {
71
+ formData.table_search.query_params = JSON.stringify(currentFilters());
72
+ }
73
+ if (hasUserTypeColumn) {
74
+ formData.table_search.user_type = digg(currentUser.modelClassData(), "className");
75
+ }
76
+ formData.table_search.user_id = currentUser.id();
77
+ try {
78
+ await search.saveRaw(formData);
79
+ FlashMessage.success(this.t(".", {
80
+ defaultValue: "The search was saved."
81
+ }));
82
+ onRequestClose();
83
+ } catch (error) {
84
+ FlashMessage.errorResponse(error);
85
+ }
86
+ };
87
+ }));
88
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcGlNYWtlckNvbmZpZyIsIkJhc2VDb21wb25lbnQiLCJDaGVja2JveCIsImRpZ2ciLCJGbGFzaE1lc3NhZ2UiLCJGb3JtIiwiSW5wdXQiLCJtb2RlbENsYXNzUmVxdWlyZSIsIlJlYWN0Iiwic2hhcGVDb21wb25lbnQiLCJtZW1vIiwidXNlSTE4biIsIlRhYmxlU2VhcmNoIiwiQXBpTWFrZXJUYWJsZUZpbHRlcnNTYXZlU2VhcmNoTW9kYWwiLCJzZXR1cCIsInQiLCJuYW1lc3BhY2UiLCJ1c2VTdGF0ZXMiLCJmb3JtIiwicmVuZGVyIiwiY3VycmVudEZpbHRlcnMiLCJjdXJyZW50VXNlciIsIm9uUmVxdWVzdENsb3NlIiwic2VhcmNoIiwicmVzdFByb3BzIiwicHJvcHMiLCJNb2RhbCIsImdldE1vZGFsIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwib25TdWJtaXQiLCJ0dCIsIm9uU2F2ZVNlYXJjaFN1Ym1pdCIsInNldEZvcm0iLCJzZXRTdGF0ZXMiLCJkZWZhdWx0VmFsdWUiLCJuYW1lIiwiaWQiLCJsYWJlbCIsImRlZmF1bHRDaGVja2VkIiwicHVibGljIiwiY2xhc3NOYW1lIiwiZm9ybURhdGEiLCJzIiwiYXNPYmplY3QiLCJwIiwiaGFzVXNlclR5cGVDb2x1bW4iLCJCb29sZWFuIiwiYXR0cmlidXRlcyIsImZpbmQiLCJhdHRyaWJ1dGUiLCJpc05ld1JlY29yZCIsInRhYmxlX3NlYXJjaCIsInF1ZXJ5X3BhcmFtcyIsIkpTT04iLCJzdHJpbmdpZnkiLCJ1c2VyX3R5cGUiLCJtb2RlbENsYXNzRGF0YSIsInVzZXJfaWQiLCJzYXZlUmF3Iiwic3VjY2VzcyIsImVycm9yIiwiZXJyb3JSZXNwb25zZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJsZS9maWx0ZXJzL3NhdmUtc2VhcmNoLW1vZGFsLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXBpTWFrZXJDb25maWcgZnJvbSBcIkBrYXNwZXJuai9hcGktbWFrZXIvYnVpbGQvY29uZmlnXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi8uLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgQ2hlY2tib3ggZnJvbSBcIi4uLy4uL2Jvb3RzdHJhcC9jaGVja2JveFwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IEZsYXNoTWVzc2FnZSBmcm9tIFwiLi4vLi4vZmxhc2gtbWVzc2FnZVwiXG5pbXBvcnQge0Zvcm19IGZyb20gXCIuLi8uLi9mb3JtXCJcbmltcG9ydCBJbnB1dCBmcm9tIFwiLi4vLi4vYm9vdHN0cmFwL2lucHV0XCJcbmltcG9ydCBtb2RlbENsYXNzUmVxdWlyZSBmcm9tIFwiLi4vLi4vbW9kZWwtY2xhc3MtcmVxdWlyZVwiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG5cIlxuXG5jb25zdCBUYWJsZVNlYXJjaCA9IG1vZGVsQ2xhc3NSZXF1aXJlKFwiVGFibGVTZWFyY2hcIilcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclRhYmxlRmlsdGVyc1NhdmVTZWFyY2hNb2RhbCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnRhYmxlLmZpbHRlcnMuc2F2ZV9zZWFyY2hfbW9kYWxcIn0pXG5cbiAgICB0aGlzLnQgPSB0XG4gICAgdGhpcy51c2VTdGF0ZXMoe2Zvcm06IG51bGx9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjdXJyZW50RmlsdGVycywgY3VycmVudFVzZXIsIG9uUmVxdWVzdENsb3NlLCBzZWFyY2gsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgTW9kYWwgPSBhcGlNYWtlckNvbmZpZy5nZXRNb2RhbCgpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPE1vZGFsIG9uUmVxdWVzdENsb3NlPXtvblJlcXVlc3RDbG9zZX0gey4uLnJlc3RQcm9wc30+XG4gICAgICAgIDxGb3JtIG9uU3VibWl0PXt0aGlzLnR0Lm9uU2F2ZVNlYXJjaFN1Ym1pdH0gc2V0Rm9ybT17dGhpcy5zZXRTdGF0ZXMuZm9ybX0+XG4gICAgICAgICAgPElucHV0XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3NlYXJjaC5uYW1lKCl9XG4gICAgICAgICAgICBpZD1cInRhYmxlX3NlYXJjaF9uYW1lXCJcbiAgICAgICAgICAgIGxhYmVsPXt0aGlzLnQoXCIuc2VhcmNoX25hbWVcIiwge2RlZmF1bHRWYWx1ZTogXCJTZWFyY2ggbmFtZVwifSl9XG4gICAgICAgICAgICBuYW1lPVwidGFibGVfc2VhcmNoW25hbWVdXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxDaGVja2JveFxuICAgICAgICAgICAgZGVmYXVsdENoZWNrZWQ9e3NlYXJjaC5wdWJsaWMoKX1cbiAgICAgICAgICAgIGlkPVwidGFibGVfc2VhcmNoX3B1YmxpY1wiXG4gICAgICAgICAgICBsYWJlbD17dGhpcy50KFwiLnB1YmxpY1wiLCB7ZGVmYXVsdFZhbHVlOiBcIlB1YmxpY1wifSl9XG4gICAgICAgICAgICBuYW1lPVwidGFibGVfc2VhcmNoW3B1YmxpY11cIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJzYXZlLXNlYXJjaC1zdWJtaXQtYnV0dG9uXCI+XG4gICAgICAgICAgICB7dGhpcy50KFwiLnNhdmVfc2VhcmNoXCIsIHtkZWZhdWx0VmFsdWU6IFwiU2F2ZSBzZWFyY2hcIn0pfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L0Zvcm0+XG4gICAgICA8L01vZGFsPlxuICAgIClcbiAgfVxuXG4gIG9uU2F2ZVNlYXJjaFN1Ym1pdCA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IHRoaXMucy5mb3JtLmFzT2JqZWN0KClcbiAgICBjb25zdCB7Y3VycmVudEZpbHRlcnMsIGN1cnJlbnRVc2VyLCBvblJlcXVlc3RDbG9zZSwgc2VhcmNofSA9IHRoaXMucFxuICAgIGNvbnN0IGhhc1VzZXJUeXBlQ29sdW1uID0gQm9vbGVhbihUYWJsZVNlYXJjaC5hdHRyaWJ1dGVzKCkuZmluZCgoYXR0cmlidXRlKSA9PiBhdHRyaWJ1dGUubmFtZSgpID09IFwidXNlcl90eXBlXCIpKVxuXG4gICAgaWYgKHNlYXJjaC5pc05ld1JlY29yZCgpKSB7XG4gICAgICBmb3JtRGF0YS50YWJsZV9zZWFyY2gucXVlcnlfcGFyYW1zID0gSlNPTi5zdHJpbmdpZnkoY3VycmVudEZpbHRlcnMoKSlcbiAgICB9XG5cbiAgICBpZiAoaGFzVXNlclR5cGVDb2x1bW4pIHtcbiAgICAgIGZvcm1EYXRhLnRhYmxlX3NlYXJjaC51c2VyX3R5cGUgPSBkaWdnKGN1cnJlbnRVc2VyLm1vZGVsQ2xhc3NEYXRhKCksIFwiY2xhc3NOYW1lXCIpXG4gICAgfVxuXG4gICAgZm9ybURhdGEudGFibGVfc2VhcmNoLnVzZXJfaWQgPSBjdXJyZW50VXNlci5pZCgpXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgc2VhcmNoLnNhdmVSYXcoZm9ybURhdGEpXG4gICAgICBGbGFzaE1lc3NhZ2Uuc3VjY2Vzcyh0aGlzLnQoXCIuXCIsIHtkZWZhdWx0VmFsdWU6IFwiVGhlIHNlYXJjaCB3YXMgc2F2ZWQuXCJ9KSlcbiAgICAgIG9uUmVxdWVzdENsb3NlKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgRmxhc2hNZXNzYWdlLmVycm9yUmVzcG9uc2UoZXJyb3IpXG4gICAgfVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLGNBQWMs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
@@ -0,0 +1,42 @@
1
+ import BaseComponent from "../../base-component";
2
+ import PropTypes from "prop-types";
3
+ import memo from "set-state-compare/src/memo";
4
+ import { Pressable } from "react-native";
5
+ import React from "react";
6
+ import { shapeComponent } from "set-state-compare/src/shape-component";
7
+ import Text from "../../utils/text";
8
+ export default memo(shapeComponent(class ScopeElement extends BaseComponent {
9
+ static defaultProps = {
10
+ active: false
11
+ };
12
+ static propTypes = {
13
+ active: PropTypes.bool.isRequired,
14
+ onScopeClicked: PropTypes.func.isRequired,
15
+ scope: PropTypes.string.isRequired
16
+ };
17
+ render() {
18
+ const {
19
+ active,
20
+ scope
21
+ } = this.p;
22
+ const style = {};
23
+ if (active) style.fontWeight = "bold";
24
+ return /*#__PURE__*/React.createElement(Pressable, {
25
+ dataSet: {
26
+ class: "scope-element",
27
+ scopeName: scope
28
+ },
29
+ key: scope,
30
+ onPress: this.tt.onScopeClicked
31
+ }, /*#__PURE__*/React.createElement(Text, {
32
+ style: style
33
+ }, scope));
34
+ }
35
+ onScopeClicked = e => {
36
+ e.preventDefault();
37
+ this.p.onScopeClicked({
38
+ scope: this.p.scope
39
+ });
40
+ };
41
+ }));
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwibWVtbyIsIlByZXNzYWJsZSIsIlJlYWN0Iiwic2hhcGVDb21wb25lbnQiLCJUZXh0IiwiU2NvcGVFbGVtZW50IiwiZGVmYXVsdFByb3BzIiwiYWN0aXZlIiwicHJvcFR5cGVzIiwiYm9vbCIsImlzUmVxdWlyZWQiLCJvblNjb3BlQ2xpY2tlZCIsImZ1bmMiLCJzY29wZSIsInN0cmluZyIsInJlbmRlciIsInAiLCJzdHlsZSIsImZvbnRXZWlnaHQiLCJjcmVhdGVFbGVtZW50IiwiZGF0YVNldCIsImNsYXNzIiwic2NvcGVOYW1lIiwia2V5Iiwib25QcmVzcyIsInR0IiwiZSIsInByZXZlbnREZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RhYmxlL2ZpbHRlcnMvc2NvcGUtZWxlbWVudC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCB7UHJlc3NhYmxlfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uL3V0aWxzL3RleHRcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIFNjb3BlRWxlbWVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGFjdGl2ZTogZmFsc2VcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgYWN0aXZlOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIG9uU2NvcGVDbGlja2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNjb3BlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWRcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7YWN0aXZlLCBzY29wZX0gPSB0aGlzLnBcbiAgICBjb25zdCBzdHlsZSA9IHt9XG5cbiAgICBpZiAoYWN0aXZlKSBzdHlsZS5mb250V2VpZ2h0ID0gXCJib2xkXCJcblxuICAgIHJldHVybiAoXG4gICAgICA8UHJlc3NhYmxlXG4gICAgICAgIGRhdGFTZXQ9e3tjbGFzczogXCJzY29wZS1lbGVtZW50XCIsIHNjb3BlTmFtZTogc2NvcGV9fVxuICAgICAgICBrZXk9e3Njb3BlfVxuICAgICAgICBvblByZXNzPXt0aGlzLnR0Lm9uU2NvcGVDbGlja2VkfVxuICAgICAgPlxuICAgICAgICA8VGV4dCBzdHlsZT17c3R5bGV9PlxuICAgICAgICAgIHtzY29wZX1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9QcmVzc2FibGU+XG4gICAgKVxuICB9XG5cbiAgb25TY29wZUNsaWNrZWQgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuXG4gICAgdGhpcy5wLm9uU2NvcGVDbGlja2VkKHtzY29wZTogdGhpcy5wLnNjb3BlfSlcbiAgfVxufSkpXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGFBQWEsTUFBTSxzQkFBc0I7QUFDaEQsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxTQUFRQyxTQUFTLFFBQU8sY0FBYztBQUN0QyxPQUFPQyxLQUFLLE1BQU0sT0FBTztBQUN6QixTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BFLE9BQU9DLElBQUksTUFBTSxrQkFBa0I7QUFFbkMsZUFBZUosSUFBSSxDQUFDRyxjQUFjLENBQUMsTUFBTUUsWUFBWSxTQUFTUCxhQUFhLENBQUM7RUFDMUUsT0FBT1EsWUFBWSxHQUFHO0lBQ3BCQyxNQUFNLEVBQUU7RUFDVixDQUFDO0VBRUQsT0FBT0MsU0FBUyxHQUFHO0lBQ2pCRCxNQUFNLEVBQUVSLFNBQVMsQ0FBQ1UsSUFBSSxDQUFDQyxVQUFVO0lBQ2pDQyxjQUFjLEVBQUVaLFNBQVMsQ0FBQ2EsSUFBSSxDQUFDRixVQUFVO0lBQ3pDRyxLQUFLLEVBQUVkLFNBQVMsQ0FBQ2UsTUFBTSxDQUFDSjtFQUMxQixDQUFDO0VBRURLLE1BQU1BLENBQUEsRUFBRztJQUNQLE1BQU07TUFBQ1IsTUFBTTtNQUFFTTtJQUFLLENBQUMsR0FBRyxJQUFJLENBQUNHLENBQUM7SUFDOUIsTUFBTUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVoQixJQUFJVixNQUFNLEVBQUVVLEtBQUssQ0FBQ0MsVUFBVSxHQUFHLE1BQU07SUFFckMsb0JBQ0VoQixLQUFBLENBQUFpQixhQUFBLENBQUNsQixTQUFTO01BQ1JtQixPQUFPLEVBQUU7UUFBQ0MsS0FBSyxFQUFFLGVBQWU7UUFBRUMsU0FBUyxFQUFFVDtNQUFLLENBQUU7TUFDcERVLEdBQUcsRUFBRVYsS0FBTTtNQUNYVyxPQUFPLEVBQUUsSUFBSSxDQUFDQyxFQUFFLENBQUNkO0lBQWUsZ0JBRWhDVCxLQUFBLENBQUFpQixhQUFBLENBQUNmLElBQUk7TUFBQ2EsS0FBSyxFQUFFQTtJQUFNLEdBQ2hCSixLQUNHLENBQ0csQ0FBQztFQUVoQjtFQUVBRixjQUFjLEdBQUllLENBQUMsSUFBSztJQUN0QkEsQ0FBQyxDQUFDQyxjQUFjLENBQUMsQ0FBQztJQUVsQixJQUFJLENBQUNYLENBQUMsQ0FBQ0wsY0FBYyxDQUFDO01BQUNFLEtBQUssRUFBRSxJQUFJLENBQUNHLENBQUMsQ0FBQ0g7SUFBSyxDQUFDLENBQUM7RUFDOUMsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119