@kaspernj/api-maker 1.0.453 → 1.0.454

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 (348) hide show
  1. package/build/api.js +1 -1
  2. package/build/attribute-not-loaded-error.js +1 -1
  3. package/build/base-component.js +1 -1
  4. package/build/base-error.js +1 -1
  5. package/build/base-model/attribute.js +1 -1
  6. package/build/base-model/column.js +1 -1
  7. package/build/base-model/reflection.js +1 -1
  8. package/build/base-model/scope.js +1 -1
  9. package/build/base-model.js +1 -1
  10. package/build/bootstrap/attribute-row/index.js +1 -1
  11. package/build/bootstrap/attribute-rows.js +1 -1
  12. package/build/bootstrap/card.js +1 -1
  13. package/build/bootstrap/checkbox.js +1 -1
  14. package/build/bootstrap/checkboxes.js +1 -1
  15. package/build/bootstrap/index.js +1 -1
  16. package/build/bootstrap/input.js +1 -1
  17. package/build/bootstrap/invalid-feedback.js +1 -1
  18. package/build/bootstrap/paginate.js +1 -1
  19. package/build/bootstrap/radio-buttons.js +1 -1
  20. package/build/bootstrap/select.js +1 -1
  21. package/build/bootstrap/sort-link.js +1 -1
  22. package/build/cable-connection-pool.js +1 -1
  23. package/build/cable-subscription-pool.js +1 -1
  24. package/build/cable-subscription.js +1 -1
  25. package/build/cache-key-generator.js +1 -1
  26. package/build/can-can.js +1 -1
  27. package/build/channels-consumer.js +1 -1
  28. package/build/collection-loader.js +1 -1
  29. package/build/collection.js +1 -1
  30. package/build/command-submit-data.js +1 -1
  31. package/build/commands-pool.js +1 -1
  32. package/build/compose.js +1 -1
  33. package/build/config.js +1 -1
  34. package/build/custom-error.js +1 -1
  35. package/build/data-set-to-attributes.js +1 -1
  36. package/build/deserializer.js +1 -1
  37. package/build/destroy-error.js +1 -1
  38. package/build/devise.js +1 -1
  39. package/build/draggable-sort/controller.js +1 -1
  40. package/build/draggable-sort/index.js +1 -1
  41. package/build/draggable-sort/item.js +1 -1
  42. package/build/error-logger.js +1 -1
  43. package/build/error-messages.js +1 -1
  44. package/build/event-connection.js +1 -1
  45. package/build/event-model-class.js +1 -1
  46. package/build/events.js +1 -1
  47. package/build/flash-message.js +1 -1
  48. package/build/form.js +1 -1
  49. package/build/index.js +1 -1
  50. package/build/inputs/attachment.js +1 -1
  51. package/build/inputs/auto-submit.js +1 -1
  52. package/build/inputs/checkbox.js +1 -1
  53. package/build/inputs/checkboxes.js +1 -1
  54. package/build/inputs/id-for-component.js +1 -1
  55. package/build/inputs/input-wrapper.js +1 -1
  56. package/build/inputs/input.js +1 -1
  57. package/build/inputs/money.js +1 -1
  58. package/build/inputs/name-for-component.js +1 -1
  59. package/build/inputs/select.js +1 -1
  60. package/build/instance-of-class-name.js +1 -1
  61. package/build/key-value-store.js +1 -1
  62. package/build/link.js +1 -1
  63. package/build/logger.js +1 -1
  64. package/build/modal.js +1 -1
  65. package/build/model-class-require.js +1 -1
  66. package/build/model-events.js +1 -1
  67. package/build/model-name.js +1 -1
  68. package/build/model-prop-type.js +1 -1
  69. package/build/model-recipes-loader.js +1 -1
  70. package/build/model-recipes-model-loader.js +1 -1
  71. package/build/models-response-reader.js +1 -1
  72. package/build/models.js +1 -1
  73. package/build/money-formatter.js +1 -1
  74. package/build/not-loaded-error.js +1 -1
  75. package/build/params.js +1 -1
  76. package/build/preloaded.js +1 -1
  77. package/build/resize-observer.js +1 -1
  78. package/build/result.js +1 -1
  79. package/build/router/route.js +1 -1
  80. package/build/router/switch.js +1 -1
  81. package/build/router.js +1 -1
  82. package/build/routes-native.js +1 -1
  83. package/build/routes.js +1 -1
  84. package/build/run-last.js +1 -1
  85. package/build/serializer.js +1 -1
  86. package/build/services.js +1 -1
  87. package/build/session-status-updater.js +1 -1
  88. package/build/source-maps-loader.js +11 -9
  89. package/build/super-admin/config-reader.js +1 -1
  90. package/build/super-admin/edit-page/edit-attribute-checkbox.js +1 -1
  91. package/build/super-admin/edit-page/edit-attribute-content.js +1 -1
  92. package/build/super-admin/edit-page/edit-attribute-input.js +1 -1
  93. package/build/super-admin/edit-page/edit-attribute.js +1 -1
  94. package/build/super-admin/edit-page.js +1 -1
  95. package/build/super-admin/has-edit-config.js +1 -1
  96. package/build/super-admin/index-page.js +1 -1
  97. package/build/super-admin/index.js +1 -1
  98. package/build/super-admin/layout/header/index.js +1 -1
  99. package/build/super-admin/layout/index.js +1 -1
  100. package/build/super-admin/layout/menu/index.js +1 -1
  101. package/build/super-admin/layout/menu/menu-content.js +1 -1
  102. package/build/super-admin/layout/menu/menu-item.js +1 -1
  103. package/build/super-admin/layout/no-access.js +1 -1
  104. package/build/super-admin/model-class-table.js +1 -1
  105. package/build/super-admin/models.js +1 -1
  106. package/build/super-admin/show-nav.js +1 -1
  107. package/build/super-admin/show-page/belongs-to-attribute-row.js +1 -1
  108. package/build/super-admin/show-page/index.js +1 -1
  109. package/build/super-admin/show-reflection-actions.js +1 -1
  110. package/build/super-admin/show-reflection-link.js +1 -1
  111. package/build/super-admin/show-reflection-page.js +1 -1
  112. package/build/table/column-content.js +1 -1
  113. package/build/table/column-identifier.js +1 -1
  114. package/build/table/column-visible.js +1 -1
  115. package/build/table/components/column.js +1 -1
  116. package/build/table/components/flat-list.js +1 -1
  117. package/build/table/components/header.js +1 -1
  118. package/build/table/components/row.js +1 -1
  119. package/build/table/filters/attribute-element.js +1 -1
  120. package/build/table/filters/filter-form.js +1 -1
  121. package/build/table/filters/filter.js +1 -1
  122. package/build/table/filters/index.js +1 -1
  123. package/build/table/filters/load-search-modal.js +1 -1
  124. package/build/table/filters/reflection-element.js +1 -1
  125. package/build/table/filters/save-search-modal.js +1 -1
  126. package/build/table/filters/scope-element.js +1 -1
  127. package/build/table/header-column-content.js +1 -1
  128. package/build/table/header-column.js +1 -1
  129. package/build/table/header-select.js +1 -1
  130. package/build/table/model-callback-args.js +1 -1
  131. package/build/table/model-column.js +1 -1
  132. package/build/table/model-row.js +1 -1
  133. package/build/table/select-calculator.js +1 -1
  134. package/build/table/settings/column-row.js +1 -1
  135. package/build/table/settings/download-action.js +1 -1
  136. package/build/table/settings/index.js +1 -1
  137. package/build/table/table-settings.js +1 -1
  138. package/build/table/table.js +1 -1
  139. package/build/table/use-sorting.js +1 -1
  140. package/build/table/widths.js +1 -1
  141. package/build/table/worker-plugins-check-all-checkbox.js +1 -1
  142. package/build/table/worker-plugins-checkbox.js +1 -1
  143. package/build/translated-attributes.js +1 -1
  144. package/build/translated-collections.js +1 -1
  145. package/build/updated-attribute.js +1 -1
  146. package/build/url-encode.js +1 -1
  147. package/build/use-breakpoint.js +1 -1
  148. package/build/use-can-can.js +1 -1
  149. package/build/use-collection.js +1 -1
  150. package/build/use-created-event.js +1 -1
  151. package/build/use-current-user.js +1 -1
  152. package/build/use-destroyed-event.js +1 -1
  153. package/build/use-event-emitter.js +1 -1
  154. package/build/use-event-listener.js +1 -1
  155. package/build/use-input.js +1 -1
  156. package/build/use-model-event.js +1 -1
  157. package/build/use-model.js +1 -1
  158. package/build/use-resize-observer.js +1 -1
  159. package/build/use-router.js +1 -1
  160. package/build/use-screen-layout.js +1 -1
  161. package/build/use-updated-event.js +1 -1
  162. package/build/use-validation-errors.js +1 -1
  163. package/build/utils/card.js +1 -1
  164. package/build/utils/checkbox.js +1 -1
  165. package/build/utils/default-style.js +1 -1
  166. package/build/utils/modal.js +1 -1
  167. package/build/utils/text.js +1 -1
  168. package/build/validation-error.js +1 -1
  169. package/build/validation-errors.js +1 -1
  170. package/build/with-collection.js +1 -1
  171. package/build/with-current-user.js +1 -1
  172. package/build/with-model.js +1 -1
  173. package/build/with-router.js +1 -1
  174. package/package.json +2 -2
  175. package/src/source-maps-loader.js +9 -7
  176. package/build/api.js.map +0 -1
  177. package/build/attribute-not-loaded-error.js.map +0 -1
  178. package/build/base-component.js.map +0 -1
  179. package/build/base-error.js.map +0 -1
  180. package/build/base-model/attribute.js.map +0 -1
  181. package/build/base-model/column.js.map +0 -1
  182. package/build/base-model/reflection.js.map +0 -1
  183. package/build/base-model/scope.js.map +0 -1
  184. package/build/base-model.js.map +0 -1
  185. package/build/bootstrap/attribute-row/index.js.map +0 -1
  186. package/build/bootstrap/attribute-rows.js.map +0 -1
  187. package/build/bootstrap/card.js.map +0 -1
  188. package/build/bootstrap/checkbox.js.map +0 -1
  189. package/build/bootstrap/checkboxes.js.map +0 -1
  190. package/build/bootstrap/index.js.map +0 -1
  191. package/build/bootstrap/input.js.map +0 -1
  192. package/build/bootstrap/invalid-feedback.js.map +0 -1
  193. package/build/bootstrap/paginate.js.map +0 -1
  194. package/build/bootstrap/radio-buttons.js.map +0 -1
  195. package/build/bootstrap/select.js.map +0 -1
  196. package/build/bootstrap/sort-link.js.map +0 -1
  197. package/build/cable-connection-pool.js.map +0 -1
  198. package/build/cable-subscription-pool.js.map +0 -1
  199. package/build/cable-subscription.js.map +0 -1
  200. package/build/cache-key-generator.js.map +0 -1
  201. package/build/can-can.js.map +0 -1
  202. package/build/channels-consumer.js.map +0 -1
  203. package/build/collection-loader.js.map +0 -1
  204. package/build/collection.js.map +0 -1
  205. package/build/command-submit-data.js.map +0 -1
  206. package/build/commands-pool.js.map +0 -1
  207. package/build/compose.js.map +0 -1
  208. package/build/config.js.map +0 -1
  209. package/build/custom-error.js.map +0 -1
  210. package/build/data-set-to-attributes.js.map +0 -1
  211. package/build/deserializer.js.map +0 -1
  212. package/build/destroy-error.js.map +0 -1
  213. package/build/devise.js.map +0 -1
  214. package/build/draggable-sort/controller.js.map +0 -1
  215. package/build/draggable-sort/index.js.map +0 -1
  216. package/build/draggable-sort/item.js.map +0 -1
  217. package/build/error-logger.js.map +0 -1
  218. package/build/error-messages.js.map +0 -1
  219. package/build/event-connection.js.map +0 -1
  220. package/build/event-model-class.js.map +0 -1
  221. package/build/events.js.map +0 -1
  222. package/build/flash-message.js.map +0 -1
  223. package/build/form.js.map +0 -1
  224. package/build/index.js.map +0 -1
  225. package/build/inputs/attachment.js.map +0 -1
  226. package/build/inputs/auto-submit.js.map +0 -1
  227. package/build/inputs/checkbox.js.map +0 -1
  228. package/build/inputs/checkboxes.js.map +0 -1
  229. package/build/inputs/id-for-component.js.map +0 -1
  230. package/build/inputs/input-wrapper.js.map +0 -1
  231. package/build/inputs/input.js.map +0 -1
  232. package/build/inputs/money.js.map +0 -1
  233. package/build/inputs/name-for-component.js.map +0 -1
  234. package/build/inputs/select.js.map +0 -1
  235. package/build/instance-of-class-name.js.map +0 -1
  236. package/build/key-value-store.js.map +0 -1
  237. package/build/link.js.map +0 -1
  238. package/build/logger.js.map +0 -1
  239. package/build/modal.js.map +0 -1
  240. package/build/model-class-require.js.map +0 -1
  241. package/build/model-events.js.map +0 -1
  242. package/build/model-name.js.map +0 -1
  243. package/build/model-prop-type.js.map +0 -1
  244. package/build/model-recipes-loader.js.map +0 -1
  245. package/build/model-recipes-model-loader.js.map +0 -1
  246. package/build/models-response-reader.js.map +0 -1
  247. package/build/models.js.map +0 -1
  248. package/build/money-formatter.js.map +0 -1
  249. package/build/not-loaded-error.js.map +0 -1
  250. package/build/params.js.map +0 -1
  251. package/build/preloaded.js.map +0 -1
  252. package/build/resize-observer.js.map +0 -1
  253. package/build/result.js.map +0 -1
  254. package/build/router/route.js.map +0 -1
  255. package/build/router/switch.js.map +0 -1
  256. package/build/router.js.map +0 -1
  257. package/build/routes-native.js.map +0 -1
  258. package/build/routes.js.map +0 -1
  259. package/build/run-last.js.map +0 -1
  260. package/build/serializer.js.map +0 -1
  261. package/build/services.js.map +0 -1
  262. package/build/session-status-updater.js.map +0 -1
  263. package/build/source-maps-loader.js.map +0 -1
  264. package/build/super-admin/config-reader.js.map +0 -1
  265. package/build/super-admin/edit-page/edit-attribute-checkbox.js.map +0 -1
  266. package/build/super-admin/edit-page/edit-attribute-content.js.map +0 -1
  267. package/build/super-admin/edit-page/edit-attribute-input.js.map +0 -1
  268. package/build/super-admin/edit-page/edit-attribute.js.map +0 -1
  269. package/build/super-admin/edit-page.js.map +0 -1
  270. package/build/super-admin/has-edit-config.js.map +0 -1
  271. package/build/super-admin/index-page.js.map +0 -1
  272. package/build/super-admin/index.js.map +0 -1
  273. package/build/super-admin/layout/header/index.js.map +0 -1
  274. package/build/super-admin/layout/index.js.map +0 -1
  275. package/build/super-admin/layout/menu/index.js.map +0 -1
  276. package/build/super-admin/layout/menu/menu-content.js.map +0 -1
  277. package/build/super-admin/layout/menu/menu-item.js.map +0 -1
  278. package/build/super-admin/layout/no-access.js.map +0 -1
  279. package/build/super-admin/model-class-table.js.map +0 -1
  280. package/build/super-admin/models.js.map +0 -1
  281. package/build/super-admin/show-nav.js.map +0 -1
  282. package/build/super-admin/show-page/belongs-to-attribute-row.js.map +0 -1
  283. package/build/super-admin/show-page/index.js.map +0 -1
  284. package/build/super-admin/show-reflection-actions.js.map +0 -1
  285. package/build/super-admin/show-reflection-link.js.map +0 -1
  286. package/build/super-admin/show-reflection-page.js.map +0 -1
  287. package/build/table/column-content.js.map +0 -1
  288. package/build/table/column-identifier.js.map +0 -1
  289. package/build/table/column-visible.js.map +0 -1
  290. package/build/table/components/column.js.map +0 -1
  291. package/build/table/components/flat-list.js.map +0 -1
  292. package/build/table/components/header.js.map +0 -1
  293. package/build/table/components/row.js.map +0 -1
  294. package/build/table/filters/attribute-element.js.map +0 -1
  295. package/build/table/filters/filter-form.js.map +0 -1
  296. package/build/table/filters/filter.js.map +0 -1
  297. package/build/table/filters/index.js.map +0 -1
  298. package/build/table/filters/load-search-modal.js.map +0 -1
  299. package/build/table/filters/reflection-element.js.map +0 -1
  300. package/build/table/filters/save-search-modal.js.map +0 -1
  301. package/build/table/filters/scope-element.js.map +0 -1
  302. package/build/table/header-column-content.js.map +0 -1
  303. package/build/table/header-column.js.map +0 -1
  304. package/build/table/header-select.js.map +0 -1
  305. package/build/table/model-callback-args.js.map +0 -1
  306. package/build/table/model-column.js.map +0 -1
  307. package/build/table/model-row.js.map +0 -1
  308. package/build/table/select-calculator.js.map +0 -1
  309. package/build/table/settings/column-row.js.map +0 -1
  310. package/build/table/settings/download-action.js.map +0 -1
  311. package/build/table/settings/index.js.map +0 -1
  312. package/build/table/table-settings.js.map +0 -1
  313. package/build/table/table.js.map +0 -1
  314. package/build/table/use-sorting.js.map +0 -1
  315. package/build/table/widths.js.map +0 -1
  316. package/build/table/worker-plugins-check-all-checkbox.js.map +0 -1
  317. package/build/table/worker-plugins-checkbox.js.map +0 -1
  318. package/build/translated-attributes.js.map +0 -1
  319. package/build/translated-collections.js.map +0 -1
  320. package/build/updated-attribute.js.map +0 -1
  321. package/build/url-encode.js.map +0 -1
  322. package/build/use-breakpoint.js.map +0 -1
  323. package/build/use-can-can.js.map +0 -1
  324. package/build/use-collection.js.map +0 -1
  325. package/build/use-created-event.js.map +0 -1
  326. package/build/use-current-user.js.map +0 -1
  327. package/build/use-destroyed-event.js.map +0 -1
  328. package/build/use-event-emitter.js.map +0 -1
  329. package/build/use-event-listener.js.map +0 -1
  330. package/build/use-input.js.map +0 -1
  331. package/build/use-model-event.js.map +0 -1
  332. package/build/use-model.js.map +0 -1
  333. package/build/use-resize-observer.js.map +0 -1
  334. package/build/use-router.js.map +0 -1
  335. package/build/use-screen-layout.js.map +0 -1
  336. package/build/use-updated-event.js.map +0 -1
  337. package/build/use-validation-errors.js.map +0 -1
  338. package/build/utils/card.js.map +0 -1
  339. package/build/utils/checkbox.js.map +0 -1
  340. package/build/utils/default-style.js.map +0 -1
  341. package/build/utils/modal.js.map +0 -1
  342. package/build/utils/text.js.map +0 -1
  343. package/build/validation-error.js.map +0 -1
  344. package/build/validation-errors.js.map +0 -1
  345. package/build/with-collection.js.map +0 -1
  346. package/build/with-current-user.js.map +0 -1
  347. package/build/with-model.js.map +0 -1
  348. package/build/with-router.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-settings.js","names":["columnIdentifier","columnVisible","digg","inflection","Logger","ReadersWriterLock","serialize","objectToFormData","models","v4","uuidv4","logger","name","TableSetting","tableSettingsLocks","ApiMakerTableSettings","constructor","table","setTableSettingsLock","identifier","tableSettingsLock","columns","currentUser","preparedColumns","tableSetting","columnsAsArray","ordered","orderedTableSettingColumns","result","preload","tableSettingColumn","column","find","push","path","map","pathPart","underscore","join","includes","loaded","sort","tableSettingColumn1","tableSettingColumn2","position","loadExistingOrCreateTableSettings","write","loadTableSetting","updateTableSetting","createInitialTableSetting","Error","ransack","identifier_eq","user_id_eq","currentUserIdOrFallback","user_type_eq","currentUserTypeOrFallback","first","id","anonymouseUserId","modelClassData","variableName","localStorage","generatedId","tableSettingData","user_id","user_type","columns_attributes","columnKey","columnData","columnSaveData","tableSettingFormData","table_setting","saveRaw","reloadedTableSetting","attribute_name","attribute","sort_key","sortKey","visible","changedAttributesList","columnsData","columnsKeyCount","changed","length","debug","label","columnChanged","changedAttribute","columnAttributeName","oldAttributeValue","newAttributeValue","columnPathAsString","JSON","stringify","tableSettingColumnPathAsString","attributeName","_destroy"],"sources":["../../src/table/table-settings.js"],"sourcesContent":["import columnIdentifier from \"./column-identifier\"\nimport columnVisible from \"./column-visible\"\nimport {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport Logger from \"../logger\"\nimport {ReadersWriterLock} from \"epic-locks\"\nimport {serialize as objectToFormData} from \"object-to-formdata\"\nimport models from \"../models\"\nimport {v4 as uuidv4} from \"uuid\"\n\nconst logger = new Logger({name: \"ApiMaker / TableSettings\"})\nconst {TableSetting} = models\n\n// Have a lock for each unique table identifier\nconst tableSettingsLocks = {}\n\nexport default class ApiMakerTableSettings {\n constructor({table}) {\n this.table = table\n this.setTableSettingsLock()\n }\n\n setTableSettingsLock() {\n const identifier = this.identifier()\n\n if (!(identifier in tableSettingsLocks)) {\n tableSettingsLocks[identifier] = new ReadersWriterLock()\n }\n\n this.tableSettingsLock = digg(tableSettingsLocks, identifier)\n }\n\n columns = () => digg(this, \"table\", \"columnsAsArray\")()\n currentUser = () => digg(this, \"table\", \"props\", \"currentUser\")\n identifier = () => digg(this, \"table\", \"state\", \"identifier\")\n\n preparedColumns = (tableSetting) => {\n const columns = this.table.columnsAsArray()\n const ordered = this.orderedTableSettingColumns(tableSetting)\n const result = {\n columns: [],\n preload: []\n }\n\n if (!ordered) return\n\n for (const tableSettingColumn of ordered) {\n const column = columns.find((column) => columnIdentifier(column) == tableSettingColumn.identifier())\n\n result.columns.push({column, tableSettingColumn})\n\n // Add needed preloads if column is visible\n if (columnVisible(column, tableSettingColumn)) {\n if (column.path) {\n const preload = column.path.map((pathPart) => inflection.underscore(pathPart)).join(\".\")\n\n if (!result.preload.includes(preload)) result.preload.push(preload)\n }\n }\n }\n\n return result\n }\n\n orderedTableSettingColumns = (tableSetting) => {\n return tableSetting\n .columns()\n .loaded()\n .sort((tableSettingColumn1, tableSettingColumn2) => tableSettingColumn1.position() - tableSettingColumn2.position())\n }\n\n loadExistingOrCreateTableSettings = async () => {\n return await this.tableSettingsLock.write(async () => {\n let tableSetting = await this.loadTableSetting()\n\n if (tableSetting) {\n tableSetting = await this.updateTableSetting(tableSetting)\n } else {\n tableSetting = await this.createInitialTableSetting()\n }\n\n return tableSetting\n })\n }\n\n loadTableSetting = async () => {\n if (!TableSetting) throw new Error(\"TableSetting model isn't globally available\")\n\n const tableSetting = await TableSetting\n .ransack({\n identifier_eq: this.identifier(),\n user_id_eq: this.currentUserIdOrFallback(),\n user_type_eq: this.currentUserTypeOrFallback()\n })\n .preload(\"columns\")\n .first()\n\n return tableSetting\n }\n\n currentUserIdOrFallback() {\n const currentUser = this.currentUser()\n\n if (currentUser) return currentUser.id()\n\n return this.anonymouseUserId()\n }\n\n currentUserTypeOrFallback() {\n const currentUser = this.currentUser()\n\n if (currentUser) return digg(currentUser.modelClassData(), \"name\")\n\n return null\n }\n\n anonymouseUserId() {\n const variableName = `ApiMakerTableAnonymousUserId-${this.identifier()}`\n\n if (!(variableName in localStorage)) {\n const generatedId = uuidv4()\n\n localStorage[variableName] = generatedId\n }\n\n return digg(localStorage, variableName)\n }\n\n createInitialTableSetting = async () => {\n const tableSettingData = {\n identifier: this.identifier(),\n user_id: this.currentUserIdOrFallback(),\n user_type: this.currentUserTypeOrFallback(),\n columns_attributes: {}\n }\n\n const columns = this.columns()\n\n for (const columnKey in columns) {\n const column = digg(columns, columnKey)\n const identifier = columnIdentifier(column)\n const columnData = this.columnSaveData(column, {identifier, position: columnKey})\n\n tableSettingData.columns_attributes[columnKey] = columnData\n }\n\n const tableSetting = new TableSetting()\n const tableSettingFormData = objectToFormData({table_setting: tableSettingData})\n\n await tableSetting.saveRaw(tableSettingFormData)\n\n const reloadedTableSetting = await this.loadTableSetting()\n\n return reloadedTableSetting\n }\n\n columnSaveData(column, {identifier, position}) {\n return {\n attribute_name: column.attribute,\n identifier,\n path: column.path,\n position,\n sort_key: column.sortKey,\n visible: null\n }\n }\n\n updateTableSetting = async (tableSetting) => {\n const changedAttributesList = [\"attributeName\", \"sortKey\"]\n const columns = this.columns()\n const columnsData = {}\n const tableSettingData = {columns_attributes: columnsData}\n let columnsKeyCount = 0\n let changed = false\n\n // Add missing columns\n for (const column of columns) {\n const identifier = columnIdentifier(column)\n const tableSettingColumn = tableSetting.columns().loaded().find((tableSettingColumn) => tableSettingColumn.identifier() == identifier)\n\n if (!tableSettingColumn) {\n const columnKey = ++columnsKeyCount\n\n columnsData[columnKey] = this.columnSaveData(\n column,\n {\n identifier,\n position: tableSetting.columns().loaded().length + columnKey\n }\n )\n\n logger.debug(() => `Changed because of new column: ${column.label}`)\n changed = true\n }\n }\n\n for (const tableSettingColumn of tableSetting.columns().loaded()) {\n const column = columns.find((column) => columnIdentifier(column) == tableSettingColumn.identifier())\n\n if (column) {\n // TODO: Update column if changed\n let columnChanged = false\n\n for (const changedAttribute of changedAttributesList) {\n let columnAttributeName\n\n if (changedAttribute == \"attributeName\") {\n columnAttributeName = \"attribute\"\n } else {\n columnAttributeName = changedAttribute\n }\n\n const oldAttributeValue = tableSettingColumn[changedAttribute]()\n const newAttributeValue = column[columnAttributeName]\n\n if (oldAttributeValue != newAttributeValue) {\n logger.debug(() => `${changedAttribute} changed from ${oldAttributeValue} to ${newAttributeValue} on column: ${column.label}`)\n columnChanged = true\n }\n }\n\n const columnPathAsString = JSON.stringify(column.path)\n const tableSettingColumnPathAsString = tableSettingColumn.path()\n\n if (columnPathAsString != tableSettingColumnPathAsString) {\n logger.debug(() => `Path changed on ${column.label} from ${columnPathAsString} to ${tableSettingColumnPathAsString}`)\n columnChanged = true\n }\n\n if (columnChanged) {\n const columnKey = ++columnsKeyCount\n\n changed = true\n columnsData[columnKey] = {\n attribute_name: column.attributeName,\n id: tableSettingColumn.id(),\n path: column.path,\n sort_key: column.sortKey\n }\n }\n } else {\n // Removed saved columns no longer found\n const columnKey = ++columnsKeyCount\n\n columnsData[columnKey] = {\n id: tableSettingColumn.id(),\n _destroy: true\n }\n changed = true\n\n logger.debug(() => `Column got removed: ${tableSettingColumn.identifier()}`)\n }\n }\n\n if (changed) {\n const tableSettingFormData = objectToFormData({table_setting: tableSettingData})\n\n await tableSetting.saveRaw(tableSettingFormData)\n }\n\n return tableSetting\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"table.js","names":["digg","digs","React","createContext","useContext","useMemo","useRef","Animated","Pressable","View","BaseComponent","Card","classNames","Collection","columnVisible","debounce","DraggableSort","EventEmitter","Filters","FlatList","FontAwesomeIcon","Form","Header","HeaderColumn","HeaderSelect","inflection","memo","modelClassRequire","ModelRow","Paginate","Params","PropTypes","Row","selectCalculator","Select","Settings","shapeComponent","TableSettings","Text","uniqunize","useBreakpoint","useCollection","useI18n","useEventEmitter","useModelEvent","useQueryParams","Widths","paginationOptions","WorkerPluginsCheckAllCheckbox","lazy","TableContext","ListHeaderComponent","setup","useStates","lastUpdate","Date","render","mdUp","tableContextValue","table","collection","events","queryWithoutPagination","t","tt","query","onColumnVisibilityUpdated","createElement","dataSet","class","style","styleForRowHeader","p","workplace","s","currentWorkplace","styleForHeader","width","undefined","marginHorizontal","marginLeft","defaultValue","preparedColumns","Fragment","headersContentFromColumns","type","setState","ApiMakerTable","defaultProps","card","currentUser","destroyEnabled","filterCard","filterSubmitButton","noRecordsAvailableContent","noRecordsFoundContent","preloads","select","styleUI","propTypes","abilities","object","actionsContent","func","appHistory","bool","isRequired","className","string","instanceOf","columns","oneOfType","array","controls","defaultDateFormatName","defaultDateTimeFormatName","defaultParams","destroyMessage","editModelPath","filterContent","filterSubmitLabel","node","groupBy","header","identifier","modelClass","onModelsLoaded","paginateContent","paginationComponent","queryMethod","queryName","selectColumns","styles","viewModelPath","draggableSortEvents","tableSettings","namespace","name","breakpoint","queryParams","setInstance","filterFormRef","collectionKey","modelClassData","props","querySName","columnsAsArray","currentWorkplaceCount","filterForm","columnsToShow","draggedColumn","preload","queryQName","queryPageName","resizing","showFilters","Boolean","showSettings","tableSetting","tableSettingLoaded","tableSettingFullCacheKey","widths","cacheKey","loadCurrentWorkplace","then","loadCurrentWorkplaceCount","id","loadTableSetting","onLinksCreated","onLinksDestroyed","collectionReady","abilitiesToLoad","ifCondition","pagination","state","clone","except","onDragStart","onDragEndAnimation","getColumnsToShow","item","animatedZIndex","setValue","Workplace","result","current","WorkplaceLink","ransack","resource_type_eq","workplace_id_eq","count","filter","column","tableSettingColumn","sort","a","b","position","loadExistingOrCreateTableSettings","mergedPreloads","fullCacheKey","updateSettingsFullCacheKey","concat","models","overallCount","qParams","showNoRecordsAvailableContent","showNoRecordsFoundContent","args","Error","onLayout","onContainerLayout","container","cardOrTable","ownAbilities","push","length","modelClassName","modelName","ability","restProps","headerContent","PaginationComponent","human","flatListStyle","overflowX","border","borderRadius","flatList","Provider","value","_extends","data","extraData","keyExtractor","keyExtrator","renderItem","showsHorizontalScrollIndicator","tableControls","footer","tableFooter","e","nativeEvent","layout","tableWidth","created","amountCreated","prevState","destroyed","amountDestroyed","model","submitFilter","submitFilterDebounce","formRef","onSubmit","onFilterFormSubmit","setForm","setStates","onFilterChanged","onFilterChangedWithDelay","marginTop","onFilterClicked","preventDefault","onPerPageChanged","newPerPageValue","perKey","paramsChange","changeParams","index","columnWidths","key","styleForColumn","columnIndex","even","defaultStyle","justifyContent","padding","overflow","Object","assign","backgroundColor","flexDirection","alignItems","marginRight","borderRight","actualStyle","styleForHeaderText","fontWeight","styleForRow","flex","onPress","size","onRequestClose","onRequestCloseSettings","onSettingsClicked","currentPage","totalCount","perPage","to","Math","min","from","total_count","selected","onChange","options","join","columnProps","textCenter","textAlign","textRight","headerProps","horizontal","dragListkeyExtractor","onItemMoved","onReordered","dragListRenderItemContent","dragListCacheKeyExtractor","animationArgs","itemIndex","x","y","animatedPosition","timing","start","fromItem","fromPosition","toItem","toPosition","TableSettingColumn","constructor","toColumn","find","update","isActive","touchProps","animatedWidth","active","headerClassNameForColumn","commonProps","headerLabelForColumn","label","currentModelClass","path","pathPart","relationships","relationship","relationshipInArray","underscore","attribute","humanAttributeName","serializeForm","changeParamsParams","JSON","stringify"],"sources":["../../src/table/table.jsx"],"sourcesContent":["import {digg, digs} from \"diggerize\"\nimport React, {createContext, useContext, useMemo, useRef} from \"react\"\nimport {Animated, Pressable, View} from \"react-native\"\nimport BaseComponent from \"../base-component\"\nimport Card from \"../bootstrap/card\"\nimport classNames from \"classnames\"\nimport Collection from \"../collection\"\nimport columnVisible from \"./column-visible\"\nimport debounce from \"debounce\"\nimport DraggableSort from \"../draggable-sort/index\"\nimport EventEmitter from \"events\"\nimport Filters from \"./filters\"\nimport FlatList from \"./components/flat-list\"\nimport FontAwesomeIcon from \"react-native-vector-icons/FontAwesome\"\nimport {Form} from \"../form\"\nimport Header from \"./components/header\"\nimport HeaderColumn from \"./header-column\"\nimport HeaderSelect from \"./header-select\"\nimport * as inflection from \"inflection\"\nimport memo from \"set-state-compare/src/memo\"\nimport modelClassRequire from \"../model-class-require\"\nimport ModelRow from \"./model-row\"\nimport Paginate from \"../bootstrap/paginate\"\nimport Params from \"../params\"\nimport PropTypes from \"prop-types\"\nimport Row from \"./components/row\"\nimport selectCalculator from \"./select-calculator\"\nimport Select from \"../inputs/select\"\nimport Settings from \"./settings/index\"\nimport {shapeComponent} from \"set-state-compare/src/shape-component\"\nimport TableSettings from \"./table-settings\"\nimport Text from \"../utils/text\"\nimport uniqunize from \"uniqunize\"\nimport useBreakpoint from \"../use-breakpoint\"\nimport useCollection from \"../use-collection\"\nimport useI18n from \"i18n-on-steroids/src/use-i18n\"\nimport useEventEmitter from \"../use-event-emitter\"\nimport useModelEvent from \"../use-model-event\"\nimport useQueryParams from \"on-location-changed/src/use-query-params\"\nimport Widths from \"./widths\"\n\nconst paginationOptions = [30, 60, 90, [\"All\", \"all\"]]\nconst WorkerPluginsCheckAllCheckbox = React.lazy(() => import(\"./worker-plugins-check-all-checkbox\"))\nconst TableContext = createContext()\n\nconst ListHeaderComponent = memo(shapeComponent(class ListHeaderComponent extends BaseComponent {\n setup() {\n this.useStates({\n lastUpdate: new Date()\n })\n }\n\n render() {\n const {mdUp} = useBreakpoint()\n const tableContextValue = useContext(TableContext)\n const table = tableContextValue.table\n const {collection, events, queryWithoutPagination, t} = table.tt\n const {query} = digs(collection, \"query\")\n\n useEventEmitter(events, \"columnVisibilityUpdated\", this.tt.onColumnVisibilityUpdated)\n\n return (\n <Row dataSet={{class: \"api-maker/table/header-row\"}} style={table.styleForRowHeader()}>\n {table.p.workplace && table.s.currentWorkplace &&\n <Header style={table.styleForHeader({style: {width: mdUp ? 41 : undefined}})}>\n <WorkerPluginsCheckAllCheckbox\n currentWorkplace={table.s.currentWorkplace}\n query={queryWithoutPagination}\n style={{marginHorizontal: \"auto\"}}\n />\n {!mdUp &&\n <Text style={{marginLeft: 3}}>\n {t(\".select_all_found\", {defaultValue: \"Select all found\"})}\n </Text>\n }\n </Header>\n }\n {!mdUp &&\n <Header style={table.styleForHeader({style: {}})}>\n <HeaderSelect preparedColumns={table.s.preparedColumns} query={query} table={table} />\n </Header>\n }\n {mdUp &&\n <>\n {table.headersContentFromColumns()}\n <Header style={table.styleForHeader({style: {}, type: \"actions\"})} />\n </>\n }\n </Row>\n )\n }\n\n onColumnVisibilityUpdated = () => this.setState({lastUpdate: new Date()})\n}))\n\nexport default memo(shapeComponent(class ApiMakerTable extends BaseComponent {\n static defaultProps = {\n card: true,\n currentUser: null,\n destroyEnabled: true,\n filterCard: true,\n filterSubmitButton: true,\n noRecordsAvailableContent: undefined,\n noRecordsFoundContent: undefined,\n preloads: [],\n select: {},\n styleUI: true,\n workplace: false\n }\n\n static propTypes = {\n abilities: PropTypes.object,\n actionsContent: PropTypes.func,\n appHistory: PropTypes.object,\n card: PropTypes.bool.isRequired,\n className: PropTypes.string,\n collection: PropTypes.instanceOf(Collection),\n columns: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n controls: PropTypes.func,\n currentUser: PropTypes.object,\n defaultDateFormatName: PropTypes.string,\n defaultDateTimeFormatName: PropTypes.string,\n defaultParams: PropTypes.object,\n destroyEnabled: PropTypes.bool.isRequired,\n destroyMessage: PropTypes.string,\n editModelPath: PropTypes.func,\n filterCard: PropTypes.bool.isRequired,\n filterContent: PropTypes.func,\n filterSubmitLabel: PropTypes.node,\n groupBy: PropTypes.array,\n header: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n identifier: PropTypes.string,\n modelClass: PropTypes.func.isRequired,\n noRecordsAvailableContent: PropTypes.func,\n noRecordsFoundContent: PropTypes.func,\n onModelsLoaded: PropTypes.func,\n paginateContent: PropTypes.func,\n paginationComponent: PropTypes.func,\n preloads: PropTypes.array.isRequired,\n queryMethod: PropTypes.func,\n queryName: PropTypes.string,\n select: PropTypes.object,\n selectColumns: PropTypes.object,\n styles: PropTypes.object,\n styleUI: PropTypes.bool.isRequired,\n viewModelPath: PropTypes.func,\n workplace: PropTypes.bool.isRequired\n }\n\n draggableSortEvents = new EventEmitter()\n events = new EventEmitter()\n tableSettings = null\n\n setup() {\n const {t} = useI18n({namespace: \"js.api_maker.table\"})\n const {name: breakpoint, mdUp} = useBreakpoint()\n const queryParams = useQueryParams()\n\n this.setInstance({\n breakpoint,\n filterFormRef: useRef(),\n mdUp,\n t\n })\n\n const collectionKey = digg(this.p.modelClass.modelClassData(), \"collectionKey\")\n let queryName = this.props.queryName\n\n if (!queryName) queryName = collectionKey\n\n const querySName = `${queryName}_s`\n\n this.useStates({\n columns: () => this.columnsAsArray(),\n currentWorkplace: undefined,\n currentWorkplaceCount: null,\n filterForm: null,\n columnsToShow: null,\n draggedColumn: null,\n identifier: () => this.props.identifier || `${collectionKey}-default`,\n lastUpdate: () => new Date(),\n preload: undefined,\n preparedColumns: undefined,\n queryName,\n queryQName: () => `${queryName}_q`,\n queryPageName: () => `${queryName}_page`,\n querySName,\n resizing: false,\n showFilters: () => Boolean(queryParams[querySName]),\n showSettings: false,\n tableSetting: undefined,\n tableSettingLoaded: false,\n tableSettingFullCacheKey: undefined,\n width: undefined,\n widths: null\n })\n\n this.tableContextValue = useMemo(\n () => ({\n cacheKey: this.s.tableSettingFullCacheKey,\n lastUpdate: this.s.lastUpdate,\n resizing: this.s.resizing,\n table: this\n }),\n [this.s.lastUpdate, this.s.resizing, this.s.tableSettingFullCacheKey]\n )\n\n useMemo(() => {\n if (this.props.workplace) {\n this.loadCurrentWorkplace().then(() => {\n this.loadCurrentWorkplaceCount()\n })\n }\n }, [this.p.currentUser?.id()])\n\n useMemo(() => {\n if (!this.tt.tableSettings && this.s.width) {\n this.loadTableSetting()\n }\n }, [this.p.currentUser?.id(), this.s.width])\n\n useModelEvent(this.s.currentWorkplace, \"workplace_links_created\", this.tt.onLinksCreated)\n useModelEvent(this.s.currentWorkplace, \"workplace_links_destroyed\", this.tt.onLinksDestroyed)\n\n let collectionReady = true\n let select\n\n if (!this.s.preparedColumns) {\n collectionReady = false\n }\n\n if (collectionReady) {\n select = selectCalculator({table: this})\n }\n\n this.collection = useCollection({\n abilities: this.abilitiesToLoad(),\n defaultParams: this.props.defaultParams,\n collection: this.props.collection,\n groupBy: this.props.groupBy,\n ifCondition: collectionReady,\n modelClass: this.props.modelClass,\n onModelsLoaded: this.props.onModelsLoaded,\n noRecordsAvailableContent: this.props.noRecordsAvailableContent,\n noRecordsFoundContent: this.props.noRecordsFoundContent,\n pagination: true,\n preloads: this.state.preload,\n queryMethod: this.props.queryMethod,\n queryName,\n select,\n selectColumns: this.props.selectColumns\n })\n this.queryWithoutPagination = useMemo(\n () => this.collection?.query?.clone()?.except(\"page\"),\n [this.collection.query]\n )\n\n useEventEmitter(this.tt.draggableSortEvents, \"onDragStart\", this.tt.onDragStart)\n useEventEmitter(this.tt.draggableSortEvents, \"onDragEndAnimation\", this.tt.onDragEndAnimation)\n useEventEmitter(this.tt.events, \"columnVisibilityUpdated\", this.tt.onColumnVisibilityUpdated)\n }\n\n onColumnVisibilityUpdated = () => this.setState({columnsToShow: this.getColumnsToShow(this.s.columns), lastUpdate: new Date()})\n onDragStart = ({item}) => item.animatedZIndex.setValue(9999)\n onDragEndAnimation = ({item}) => item.animatedZIndex.setValue(0)\n\n async loadCurrentWorkplace() {\n const Workplace = modelClassRequire(\"Workplace\")\n const result = await Workplace.current()\n const currentWorkplace = digg(result, \"current\", 0)\n\n this.setState({currentWorkplace})\n }\n\n async loadCurrentWorkplaceCount() {\n const WorkplaceLink = modelClassRequire(\"WorkplaceLink\")\n const currentWorkplaceCount = await WorkplaceLink\n .ransack({\n resource_type_eq: this.p.modelClass.modelClassData().name,\n workplace_id_eq: this.s.currentWorkplace.id()\n })\n .count()\n\n this.setState({currentWorkplaceCount})\n }\n\n getColumnsToShow(columns) {\n return columns\n .filter(({column, tableSettingColumn}) => columnVisible(column, tableSettingColumn))\n .sort((a, b) => a.tableSettingColumn.position() - b.tableSettingColumn.position())\n }\n\n async loadTableSetting() {\n this.tableSettings = new TableSettings({table: this})\n\n const tableSetting = await this.tableSettings.loadExistingOrCreateTableSettings()\n const {columns, preload} = this.tableSettings.preparedColumns(tableSetting)\n const {width} = this.s\n const widths = new Widths({columns, table: this, width})\n const columnsToShow = this.getColumnsToShow(columns)\n\n this.setState({\n columns,\n columnsToShow,\n preparedColumns: columns,\n preload: this.mergedPreloads(preload),\n tableSetting,\n tableSettingLoaded: true,\n tableSettingFullCacheKey: tableSetting.fullCacheKey(),\n widths\n })\n }\n\n updateSettingsFullCacheKey = () => this.setState({tableSettingFullCacheKey: this.state.tableSetting.fullCacheKey()})\n\n columnsAsArray = () => {\n if (typeof this.props.columns == \"function\") {\n return this.props.columns()\n }\n\n return this.props.columns\n }\n\n mergedPreloads(preload) {\n const {preloads} = this.props\n let mergedPreloads = []\n\n if (preloads) mergedPreloads = mergedPreloads.concat(preloads)\n if (preload) mergedPreloads = mergedPreloads.concat(preload)\n\n return uniqunize(mergedPreloads)\n }\n\n render () {\n const {modelClass, noRecordsAvailableContent, noRecordsFoundContent} = this.p\n const {collection, currentUser} = this.props\n const {queryName, querySName, showFilters} = this.s\n const {\n models,\n overallCount,\n qParams,\n query,\n result,\n showNoRecordsAvailableContent,\n showNoRecordsFoundContent\n } = digs(\n this.collection,\n \"models\",\n \"overallCount\",\n \"qParams\",\n \"query\",\n \"result\",\n \"showNoRecordsAvailableContent\",\n \"showNoRecordsFoundContent\"\n )\n\n if (collection && collection.args.modelClass.modelClassData().name != modelClass.modelClassData().name) {\n throw new Error(\n `Model class from collection '${collection.args.modelClass.modelClassData().name}' ` +\n `didn't match model class on table: '${modelClass.modelClassData().name}'`\n )\n }\n\n return (\n <View dataSet={{class: this.className()}} onLayout={this.tt.onContainerLayout} style={this.props.styles?.container}>\n {showNoRecordsAvailableContent &&\n <div className=\"live-table--no-records-available-content\">\n {noRecordsAvailableContent({models, qParams, overallCount})}\n </div>\n }\n {showNoRecordsFoundContent &&\n <div className=\"live-table--no-records-found-content\">\n {noRecordsFoundContent({models, qParams, overallCount})}\n </div>\n }\n {showFilters &&\n <Filters currentUser={currentUser} modelClass={modelClass} queryName={queryName} querySName={querySName} />\n }\n {qParams && query && result && models && !showNoRecordsAvailableContent && !showNoRecordsFoundContent &&\n this.cardOrTable()\n }\n </View>\n )\n }\n\n abilitiesToLoad () {\n const abilitiesToLoad = {}\n const {abilities, modelClass} = this.props\n const ownAbilities = []\n\n if (this.props.destroyEnabled) ownAbilities.push(\"destroy\")\n if (this.props.editModelPath) ownAbilities.push(\"edit\")\n if (this.props.viewModelPath) ownAbilities.push(\"show\")\n\n if (ownAbilities.length > 0) {\n const modelClassName = digg(modelClass.modelClassData(), \"name\")\n\n abilitiesToLoad[modelClassName] = ownAbilities\n }\n\n if (abilities) {\n for (const modelName in abilities) {\n if (!(modelName in abilitiesToLoad)) {\n abilitiesToLoad[modelName] = []\n }\n\n for (const ability of abilities[modelName]) {\n abilitiesToLoad[modelName].push(ability)\n }\n }\n }\n\n return abilitiesToLoad\n }\n\n cardOrTable () {\n const {\n abilities,\n actionsContent,\n appHistory,\n card,\n className,\n collection,\n columns,\n controls,\n currentUser,\n defaultDateFormatName,\n defaultDateTimeFormatName,\n defaultParams,\n destroyEnabled,\n destroyMessage,\n editModelPath,\n filterCard,\n filterContent,\n filterSubmitButton,\n filterSubmitLabel,\n groupBy,\n header,\n identifier,\n modelClass,\n noRecordsAvailableContent,\n noRecordsFoundContent,\n onModelsLoaded,\n paginateContent,\n paginationComponent,\n preloads,\n queryMethod,\n queryName,\n select,\n selectColumns,\n styleUI,\n viewModelPath,\n workplace,\n ...restProps\n } = this.props\n const {models, qParams, query, result} = digs(this.collection, \"models\", \"qParams\", \"query\", \"result\")\n\n let headerContent, PaginationComponent\n\n if (typeof header == \"function\") {\n headerContent = header({models, qParams, query, result})\n } else if (header) {\n headerContent = header\n } else {\n headerContent = modelClass.modelName().human({count: 2})\n }\n\n if (!paginateContent) {\n if (paginationComponent) {\n PaginationComponent = paginationComponent\n } else {\n PaginationComponent = Paginate\n }\n }\n\n const flatListStyle = {\n overflowX: \"auto\"\n }\n\n if (styleUI) {\n flatListStyle.border = \"1px solid #dbdbdb\"\n flatListStyle.borderRadius = 5\n }\n\n const flatList = (\n <TableContext.Provider value={this.tt.tableContextValue}>\n <FlatList\n data={models}\n dataSet={{\n class: classNames(\"api-maker--table\", className),\n cacheKey: this.s.tableSettingFullCacheKey,\n lastUpdate: this.s.lastUpdate\n }}\n extraData={this.s.lastUpdate}\n keyExtractor={this.tt.keyExtrator}\n ListHeaderComponent={ListHeaderComponent}\n renderItem={this.tt.renderItem}\n showsHorizontalScrollIndicator\n style={flatListStyle}\n {...restProps}\n />\n </TableContext.Provider>\n )\n\n return (\n <>\n {filterContent && filterCard &&\n <Card className=\"live-table--filter-card mb-4\">\n {this.filterForm()}\n </Card>\n }\n {filterContent && !filterCard &&\n this.filterForm()\n }\n {card &&\n <Card\n className={classNames(\"live-table--table-card\", \"mb-4\", className)}\n controls={this.tableControls()}\n header={headerContent}\n footer={this.tableFooter()}\n {...restProps}\n >\n {flatList}\n </Card>\n }\n {!card && flatList}\n {result && PaginationComponent &&\n <PaginationComponent result={result} />\n }\n {result && paginateContent &&\n paginateContent({result})\n }\n </>\n )\n }\n\n onContainerLayout = (e) => {\n const {width} = e.nativeEvent.layout\n const {widths} = this.s\n\n this.setState({width})\n if (widths) widths.tableWidth = width\n }\n\n onLinksCreated = ({args}) => {\n const modelClassName = this.p.modelClass.modelClassData().name\n\n if (args.created[modelClassName]) {\n const amountCreated = args.created[modelClassName].length\n\n this.setState((prevState) => ({\n currentWorkplaceCount: prevState.currentWorkplaceCount + amountCreated\n }))\n }\n }\n\n onLinksDestroyed = ({args}) => {\n const modelClassName = this.p.modelClass.modelClassData().name\n\n if (args.destroyed[modelClassName]) {\n const amountDestroyed = args.destroyed[modelClassName].length\n\n this.setState((prevState) => ({\n currentWorkplaceCount: prevState.currentWorkplaceCount - amountDestroyed\n }))\n }\n }\n\n keyExtrator = (model) => `${this.s.tableSettingFullCacheKey}-${model.id()}`\n\n filterForm = () => {\n const {filterFormRef, submitFilter, submitFilterDebounce} = this.tt\n const {filterContent, filterSubmitButton} = this.p\n const {queryQName} = this.s\n const {filterSubmitLabel} = this.props\n const {qParams} = digs(this.collection, \"qParams\")\n\n return (\n <Form className=\"live-table--filter-form\" formRef={filterFormRef} onSubmit={this.tt.onFilterFormSubmit} setForm={this.setStates.filterForm}>\n {\"s\" in qParams &&\n <input name=\"s\" type=\"hidden\" value={qParams.s} />\n }\n {filterContent({\n onFilterChanged: submitFilter,\n onFilterChangedWithDelay: submitFilterDebounce,\n qParams,\n queryQName\n })}\n {filterSubmitButton &&\n <input\n className=\"btn btn-primary live-table--submit-filter-button\"\n type=\"submit\"\n style={{marginTop: \"8px\"}}\n value={filterSubmitLabel || this.t(\".filter\", {defaultValue: \"Filter\"})}\n />\n }\n </Form>\n )\n }\n\n onFilterClicked = (e) => {\n e.preventDefault()\n this.setState({showFilters: !this.state.showFilters})\n }\n\n onPerPageChanged = (e) => {\n const {queryName} = this.s\n const newPerPageValue = digg(e, \"target\", \"value\")\n const perKey = `${queryName}_per`\n const paramsChange = {}\n\n paramsChange[perKey] = newPerPageValue\n\n Params.changeParams(paramsChange)\n }\n\n renderItem = ({index, item: model}) => {\n if (!this.s.tableSettingLoaded) {\n return (\n <View>\n <Text>\n {this.t(\".loading_dot_dot_dot\", {defaultValue: \"Loading...\"})}\n </Text>\n </View>\n )\n }\n\n return (\n <ModelRow\n cacheKey={model.cacheKey()}\n columns={this.s.columnsToShow}\n columnWidths={this.columnWidths()}\n events={this.tt.events}\n index={index}\n key={model.id()}\n model={model}\n table={this}\n tableSettingFullCacheKey={this.s.tableSettingFullCacheKey}\n />\n )\n }\n\n styleForColumn = ({column, columnIndex, even, style, type}) => {\n const {styleUI} = this.p\n const defaultStyle = {\n justifyContent: \"center\",\n padding: 8,\n overflow: \"hidden\"\n }\n\n if (styleUI) {\n Object.assign(defaultStyle, {\n backgroundColor: even ? \"#f5f5f5\" : \"#fff\"\n })\n }\n\n if (type == \"actions\") {\n defaultStyle.flexDirection = \"row\"\n defaultStyle.alignItems = \"center\"\n\n if (this.tt.mdUp) {\n defaultStyle.marginLeft = \"auto\"\n } else {\n defaultStyle.marginRight = \"auto\"\n }\n } else if (this.tt.mdUp && styleUI) {\n defaultStyle.borderRight = \"1px solid #dbdbdb\"\n }\n\n const actualStyle = Object.assign(\n defaultStyle,\n style\n )\n\n return actualStyle\n }\n\n styleForHeader = ({column, columnIndex, style, type}) => {\n const {mdUp} = this.tt\n const defaultStyle = {\n flexDirection: \"row\",\n alignItems: \"center\",\n padding: 8\n }\n\n if (type != \"actions\" && mdUp && this.p.styleUI) {\n defaultStyle.borderRight = \"1px solid #dbdbdb\"\n }\n\n const actualStyle = Object.assign(\n defaultStyle,\n style\n )\n\n return actualStyle\n }\n\n styleForHeaderText() {\n const actualStyle = {fontWeight: \"bold\"}\n\n return actualStyle\n }\n\n styleForRow = ({even} = {}) => {\n const actualStyle = {\n flex: 1,\n alignItems: \"stretch\"\n }\n\n if (even && this.p.styleUI) {\n actualStyle.backgroundColor = \"#f5f5f5\"\n }\n\n return actualStyle\n }\n\n styleForRowHeader = () => {\n const actualStyle = {\n flex: 1,\n alignItems: \"stretch\"\n }\n\n return actualStyle\n }\n\n tableControls() {\n const {controls} = this.props\n const {showSettings} = this.s\n const {models, qParams, query, result} = digs(this.collection, \"models\", \"qParams\", \"query\", \"result\")\n\n return (\n <View style={{flexDirection: \"row\"}}>\n {controls && controls({models, qParams, query, result})}\n <Pressable dataSet={{class: \"filter-button\"}} onPress={this.tt.onFilterClicked}>\n <FontAwesomeIcon name=\"search\" size={20} />\n </Pressable>\n <View style={{position: \"relative\"}}>\n {showSettings &&\n <Settings onRequestClose={this.tt.onRequestCloseSettings} table={this} />\n }\n <Pressable dataSet={{class: \"settings-button\"}} onPress={this.tt.onSettingsClicked}>\n <FontAwesomeIcon name=\"gear\" size={20} />\n </Pressable>\n </View>\n </View>\n )\n }\n\n tableFooter() {\n const {result} = digs(this.collection, \"result\")\n const currentPage = result.currentPage()\n const totalCount = result.totalCount()\n const perPage = result.perPage()\n const to = Math.min(currentPage * perPage, totalCount)\n const defaultValue = \"Showing %{from} to %{to} out of %{total_count} total.\"\n let from = ((currentPage - 1) * perPage) + 1\n\n if (to === 0) from = 0\n\n return (\n <View style={{flexDirection: \"row\", justifyContent: \"space-between\", marginTop: 10}}>\n <View dataSet={{class: \"showing-counts\"}} style={{flexDirection: \"row\"}}>\n <Text>\n {this.t(\".showing_from_to_out_of_total\", {defaultValue, from, to, total_count: totalCount})}\n </Text>\n {this.p.workplace && this.s.currentWorkplaceCount !== null &&\n <Text style={{marginLeft: 3}}>\n {this.t(\".x_selected\", {defaultValue: \"%{selected} selected.\", selected: this.s.currentWorkplaceCount})}\n </Text>\n }\n </View>\n <View>\n <Select\n className=\"per-page-select\"\n defaultValue={perPage}\n onChange={this.tt.onPerPageChanged}\n options={paginationOptions}\n />\n </View>\n </View>\n )\n }\n\n className() {\n const classNames = [\"api-maker--table\"]\n\n if (this.props.className) {\n classNames.push(this.props.className)\n }\n\n return classNames.join(\" \")\n }\n\n columnProps(column) {\n const props = {}\n\n if (column.textCenter) {\n props.style ||= {}\n props.style.textAlign = \"center\"\n }\n\n if (column.textRight) {\n props.style ||= {}\n props.style.textAlign = \"right\"\n }\n\n return props\n }\n\n headerProps(column) {\n const props = {}\n\n if (column.textCenter) {\n props.style ||= {}\n props.style.justifyContent = \"center\"\n }\n\n if (column.textRight) {\n props.style ||= {}\n props.style.justifyContent = \"end\"\n }\n\n return props\n }\n\n columnWidths() {\n const columnWidths = {}\n\n for (const column of this.s.preparedColumns) {\n columnWidths[column.tableSettingColumn.identifier()] = column.width\n }\n\n return columnWidths\n }\n\n headersContentFromColumns = () => {\n return (\n <DraggableSort\n data={this.s.columnsToShow}\n events={this.tt.draggableSortEvents}\n horizontal\n keyExtractor={this.tt.dragListkeyExtractor}\n onItemMoved={this.tt.onItemMoved}\n onReordered={this.tt.onReordered}\n renderItem={this.tt.dragListRenderItemContent}\n />\n )\n }\n\n dragListCacheKeyExtractor = (item) => `${item.tableSettingColumn.identifier()}-${this.s.resizing}`\n dragListkeyExtractor = (item) => item.tableSettingColumn.identifier()\n\n onItemMoved = ({animationArgs, itemIndex, x, y}) => {\n const animatedPosition = digg(this, \"s\", \"columnsToShow\", itemIndex, \"animatedPosition\")\n\n if (animationArgs) {\n Animated.timing(animatedPosition, animationArgs).start()\n } else {\n animatedPosition.setValue({x, y})\n }\n }\n\n onReordered = async ({fromItem, fromPosition, toItem, toPosition}) => {\n if (fromPosition == toPosition) return // Only do requests and queries if changed\n\n const TableSettingColumn = fromItem.tableSettingColumn.constructor\n const toColumn = await TableSettingColumn.find(toItem.tableSettingColumn.id()) // Need to load latest position because ActsAsList might have changed it\n\n await fromItem.tableSettingColumn.update({position: toColumn.position()})\n }\n\n dragListRenderItemContent = ({isActive, item, touchProps}) => {\n const {animatedWidth, animatedZIndex, column, tableSettingColumn} = item\n\n return (\n <HeaderColumn\n active={isActive}\n animatedWidth={animatedWidth}\n animatedZIndex={animatedZIndex}\n column={column}\n key={tableSettingColumn.identifier()}\n resizing={this.s.resizing}\n table={this}\n tableSettingColumn={tableSettingColumn}\n touchProps={touchProps}\n widths={this.s.widths}\n />\n )\n }\n\n headerClassNameForColumn(column) {\n const classNames = []\n\n if (column.commonProps && column.commonProps.className) classNames.push(column.commonProps.className)\n if (column.headerProps && column.headerProps.className) classNames.push(column.headerProps.className)\n\n return classNames\n }\n\n headerLabelForColumn(column) {\n const {modelClass} = this.p\n\n if (\"label\" in column) {\n if (typeof column.label == \"function\") {\n return column.label()\n } else {\n return column.label\n }\n }\n\n let currentModelClass = modelClass\n\n // Calculate current model class through path\n if (column.path) {\n for (const pathPart of column.path) {\n const relationships = digg(currentModelClass.modelClassData(), \"relationships\")\n const relationship = relationships.find((relationshipInArray) => relationshipInArray.name == inflection.underscore(pathPart))\n\n currentModelClass = modelClassRequire(digg(relationship, \"resource_name\"))\n }\n }\n\n if (column.attribute) return currentModelClass.humanAttributeName(column.attribute)\n\n throw new Error(\"No 'label' or 'attribute' was given\")\n }\n\n onFilterFormSubmit = () => this.submitFilter()\n onRequestCloseSettings = () => this.setState({showSettings: false})\n\n onSettingsClicked = (e) => {\n e.preventDefault()\n\n this.setState({showSettings: !this.s.showSettings})\n }\n\n submitFilter = () => {\n const filterForm = digg(this.tt.filterFormRef, \"current\")\n const {appHistory} = this.props\n const qParams = Params.serializeForm(filterForm)\n const {queryQName} = this.s\n const changeParamsParams = {}\n\n changeParamsParams[queryQName] = JSON.stringify(qParams)\n\n Params.changeParams(changeParamsParams, {appHistory})\n }\n\n submitFilterDebounce = debounce(this.tt.submitFilter)\n}))\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-sorting.js","names":["camelize","useQueryParams","calculateQParams","defaultParams","queryParams","searchKey","JSON","parse","useSorting","query","queryArgs","qParams","matchSortParam","s","match","sortAttribute","sortMode","trim"],"sources":["../../src/table/use-sorting.js"],"sourcesContent":["import {camelize} from \"inflection\"\nimport useQueryParams from \"on-location-changed/src/use-query-params\"\n\nconst calculateQParams = (defaultParams, queryParams, searchKey) => {\n if (searchKey in queryParams) {\n return JSON.parse(queryParams[searchKey])\n } else if (defaultParams) {\n return {...defaultParams}\n }\n\n return {}\n}\n\nconst useSorting = ({defaultParams, query}) => {\n const queryParams = useQueryParams()\n const searchKey = query.queryArgs.searchKey || \"q\"\n const qParams = calculateQParams(defaultParams, queryParams, searchKey)\n let matchSortParam\n\n if (typeof qParams.s == \"string\") {\n matchSortParam = qParams.s?.match(/^(.+?)( asc| desc|)$/)\n }\n\n const sortAttribute = matchSortParam ? camelize(matchSortParam[1], true) : null\n const sortMode = matchSortParam ? matchSortParam[2].trim() : null\n\n return {\n qParams,\n searchKey,\n sortAttribute,\n sortMode\n }\n}\n\nexport default useSorting\n"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,YAAY;AACnC,OAAOC,cAAc,MAAM,0CAA0C;AAErE,MAAMC,gBAAgB,GAAGA,CAACC,aAAa,EAAEC,WAAW,EAAEC,SAAS,KAAK;EAClE,IAAIA,SAAS,IAAID,WAAW,EAAE;IAC5B,OAAOE,IAAI,CAACC,KAAK,CAACH,WAAW,CAACC,SAAS,CAAC,CAAC;EAC3C,CAAC,MAAM,IAAIF,aAAa,EAAE;IACxB,OAAO;MAAC,GAAGA;IAAa,CAAC;EAC3B;EAEA,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAMK,UAAU,GAAGA,CAAC;EAACL,aAAa;EAAEM;AAAK,CAAC,KAAK;EAC7C,MAAML,WAAW,GAAGH,cAAc,CAAC,CAAC;EACpC,MAAMI,SAAS,GAAGI,KAAK,CAACC,SAAS,CAACL,SAAS,IAAI,GAAG;EAClD,MAAMM,OAAO,GAAGT,gBAAgB,CAACC,aAAa,EAAEC,WAAW,EAAEC,SAAS,CAAC;EACvE,IAAIO,cAAc;EAElB,IAAI,OAAOD,OAAO,CAACE,CAAC,IAAI,QAAQ,EAAE;IAChCD,cAAc,GAAGD,OAAO,CAACE,CAAC,EAAEC,KAAK,CAAC,sBAAsB,CAAC;EAC3D;EAEA,MAAMC,aAAa,GAAGH,cAAc,GAAGZ,QAAQ,CAACY,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI;EAC/E,MAAMI,QAAQ,GAAGJ,cAAc,GAAGA,cAAc,CAAC,CAAC,CAAC,CAACK,IAAI,CAAC,CAAC,GAAG,IAAI;EAEjE,OAAO;IACLN,OAAO;IACPN,SAAS;IACTU,aAAa;IACbC;EACF,CAAC;AACH,CAAC;AAED,eAAeR,UAAU","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"widths.js","names":["Animated","Easing","digg","TableWidths","constructor","columns","table","width","tableWidth","setWidths","columnsWidths","widthLeft","updateData","columnIndex","column","tableSettingColumn","animatedPosition","Error","ValueXY","animatedZIndex","Value","hasWidth","animatedWidth","columnsWithoutWidth","filter","amountOfColumns","length","p","workplace","newWidth","id","getWidthOfColumn","identifier","find","setWidthOfColumn","setValue"],"sources":["../../src/table/widths.jsx"],"sourcesContent":["import {Animated, Easing} from \"react-native\"\nimport {digg} from \"diggerize\"\n\nexport default class TableWidths {\n constructor({columns, table, width}) {\n this.columns = columns\n this.tableWidth = width\n this.table = table\n this.setWidths()\n }\n\n setWidths() {\n this.columnsWidths = {}\n\n let widthLeft = this.tableWidth\n const updateData = []\n\n // Set widths that are defined\n for (const columnIndex in this.columns) {\n const column = this.columns[columnIndex]\n const tableSettingColumn = column.tableSettingColumn\n\n if (column.animatedPosition) throw new Error(\"Column already had an animated position\")\n\n column.animatedPosition = new Animated.ValueXY()\n column.animatedZIndex = new Animated.Value(0)\n\n if (tableSettingColumn.hasWidth()) {\n if (column.animatedWidth) throw new Error(\"Column already had an animated width\")\n\n column.animatedWidth = new Animated.Value(tableSettingColumn.width())\n column.width = tableSettingColumn.width()\n\n widthLeft -= tableSettingColumn.width()\n }\n }\n\n // Calculate how many columns are shown\n const columnsWithoutWidth = this.columns.filter((column) => !column.tableSettingColumn.hasWidth())\n let amountOfColumns = columnsWithoutWidth.length\n\n amountOfColumns++ // Actions column\n\n if (this.table.p.workplace) amountOfColumns++\n\n // Set widths of columns without\n for (const columnIndex in this.columns) {\n const column = this.columns[columnIndex]\n const tableSettingColumn = column.tableSettingColumn\n\n if (!tableSettingColumn.hasWidth()) {\n let newWidth = widthLeft / amountOfColumns\n\n if (newWidth < 200) newWidth = 200\n\n column.animatedWidth = new Animated.Value(newWidth)\n column.width = newWidth\n\n updateData << {\n id: tableSettingColumn.id(),\n width: newWidth\n }\n }\n }\n\n if (updateData.length > 0) {\n // FIXME: Should update the columns on the backend if anything changed\n }\n }\n\n getWidthOfColumn(identifier) {\n const column = this.columns.find((column) => column.tableSettingColumn.identifier() == identifier)\n\n if (!column) throw new Error(`No such column: ${identifier}`)\n\n return digg(column, \"width\")\n }\n\n setWidthOfColumn({identifier, width}) {\n const column = this.columns.find((column) => column.tableSettingColumn.identifier() == identifier)\n\n if (!column) throw new Error(`No such column: ${identifier}`)\n\n column.width = width\n column.animatedWidth.setValue(width)\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-plugins-check-all-checkbox.js","names":["React","useEffect","useMemo","useRef","BaseComponent","classNames","Collection","memo","PropTypes","propTypesExact","shapeComponent","simpleObjectDifferent","useModelEvent","Checkbox","render","indeterminate","restProps","props","checkboxRef","current","createElement","_extends","ref","type","ApiMakerTableWorkerPluginsCheckAllCheckbox","propTypes","currentWorkplace","object","query","instanceOf","style","setup","useStates","checked","updateAllChecked","tt","onLinksCreated","onLinksDestroyed","componentDidUpdate","prevProps","previousParams","params","currentParams","queryLinksStatusResult","queryLinksStatus","allChecked","all_checked","someChecked","some_checked","setState","className","state","onChange","onCheckedChanged","modelClassName","modelClass","modelClassData","name","e","preventDefault","checkbox","target","addQuery","removeQuery","args","created","destroyed"],"sources":["../../src/table/worker-plugins-check-all-checkbox.jsx"],"sourcesContent":["import React, {useEffect, useMemo, useRef} from \"react\"\nimport BaseComponent from \"../base-component\"\nimport classNames from \"classnames\"\nimport Collection from \"../collection\"\nimport memo from \"set-state-compare/src/memo\"\nimport PropTypes from \"prop-types\"\nimport propTypesExact from \"prop-types-exact\"\nimport {shapeComponent} from \"set-state-compare/src/shape-component\"\nimport {simpleObjectDifferent} from \"set-state-compare/src/diff-utils\"\nimport useModelEvent from \"../use-model-event\"\n\nconst Checkbox = memo(shapeComponent(class Checkbox extends BaseComponent {\n render() {\n const {indeterminate, ...restProps} = this.props\n const checkboxRef = useRef()\n\n useEffect(() => {\n checkboxRef.current.indeterminate = indeterminate\n })\n\n return (\n <input ref={checkboxRef} type=\"checkbox\" {...restProps} />\n )\n }\n}))\n\nexport default memo(shapeComponent(class ApiMakerTableWorkerPluginsCheckAllCheckbox extends BaseComponent {\n static propTypes = propTypesExact({\n currentWorkplace: PropTypes.object,\n query: PropTypes.instanceOf(Collection),\n style: PropTypes.object\n })\n\n setup() {\n this.useStates({\n checked: false,\n indeterminate: false\n })\n\n useMemo(() => {\n this.updateAllChecked()\n }, [])\n\n useModelEvent(this.props.currentWorkplace, \"workplace_links_created\", this.tt.onLinksCreated)\n useModelEvent(this.props.currentWorkplace, \"workplace_links_destroyed\", this.tt.onLinksDestroyed)\n }\n\n componentDidUpdate(prevProps) {\n const previousParams = prevProps.query.params()\n const currentParams = this.props.query.params()\n\n if (simpleObjectDifferent(previousParams, currentParams)) {\n this.updateAllChecked()\n }\n }\n\n async updateAllChecked() {\n const {query, currentWorkplace} = this.props\n const queryLinksStatusResult = await currentWorkplace.queryLinksStatus({query})\n const allChecked = queryLinksStatusResult.all_checked\n const someChecked = queryLinksStatusResult.some_checked\n\n this.setState({\n checked: allChecked,\n indeterminate: someChecked\n })\n }\n\n render() {\n const {className, style} = this.props\n const {checked, indeterminate} = this.state\n\n return (\n <Checkbox\n checked={checked}\n className={classNames(\"api-maker--table--worker-plugins-check-all-checkbox\", className)}\n indeterminate={indeterminate}\n onChange={this.onCheckedChanged}\n style={style}\n />\n )\n }\n\n modelClassName = () => this.props.query.modelClass().modelClassData().name\n\n onCheckedChanged = async (e) => {\n e.preventDefault()\n\n const {currentWorkplace, query} = this.props\n const checkbox = e.target\n\n if (checkbox.checked) {\n await currentWorkplace.addQuery({query})\n this.setState({checked: true, indeterminate: false})\n } else {\n await currentWorkplace.removeQuery({query})\n this.setState({checked: false, indeterminate: false})\n }\n }\n\n onLinksCreated = ({args}) => {\n if (args.created[this.modelClassName()]) {\n this.updateAllChecked()\n }\n }\n\n onLinksDestroyed = ({args}) => {\n if (args.destroyed[this.modelClassName()]) {\n this.updateAllChecked()\n }\n }\n}))\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-plugins-checkbox.js","names":["React","useMemo","BaseComponent","classNames","digg","memo","modelClassRequire","PropTypes","PropTypesExact","shapeComponent","useModelEvent","Workplace","ApiMakerTableWorkerPluginsCheckbox","propTypes","currentWorkplace","object","model","isRequired","style","setup","useStates","checked","linkLoaded","loadCurrentLink","p","tt","onLinksCreated","onLinksDestroyed","props","response","linkFor","model_class","modelClassData","name","model_id","id","link","setState","Boolean","render","className","state","createElement","onChange","onCheckedChanged","type","e","preventDefault","target","createLink","modelClassName","params","models","destroyLinks","args","digs","created","includes","destroyed"],"sources":["../../src/table/worker-plugins-checkbox.jsx"],"sourcesContent":["import React, {useMemo} from \"react\"\nimport BaseComponent from \"../base-component\"\nimport classNames from \"classnames\"\nimport {digg} from \"diggerize\"\nimport memo from \"set-state-compare/src/memo\"\nimport modelClassRequire from \"../model-class-require\"\nimport PropTypes from \"prop-types\"\nimport PropTypesExact from \"prop-types-exact\"\nimport {shapeComponent} from \"set-state-compare/src/shape-component\"\nimport useModelEvent from \"../use-model-event\"\n\nconst Workplace = modelClassRequire(\"Workplace\")\n\nexport default memo(shapeComponent(class ApiMakerTableWorkerPluginsCheckbox extends BaseComponent {\n static propTypes = PropTypesExact({\n currentWorkplace: PropTypes.object,\n model: PropTypes.object.isRequired,\n style: PropTypes.object\n })\n\n setup() {\n this.useStates({\n checked: false,\n linkLoaded: false\n })\n\n useMemo(() => {\n this.loadCurrentLink()\n }, [])\n\n useModelEvent(this.p.currentWorkplace, \"workplace_links_created\", this.tt.onLinksCreated)\n useModelEvent(this.p.currentWorkplace, \"workplace_links_destroyed\", this.tt.onLinksDestroyed)\n }\n\n async loadCurrentLink() {\n const {model} = this.props\n const response = await Workplace.linkFor({model_class: model.modelClassData().name, model_id: model.id()})\n const link = digg(response, \"link\")\n\n this.setState({\n checked: Boolean(link),\n linkLoaded: true\n })\n }\n\n render() {\n const {className, model, style} = this.props\n const {checked, linkLoaded} = this.state\n\n if (!linkLoaded) {\n return null\n }\n\n return (\n <input\n checked={checked}\n className={classNames(\"api-maker--table--worker-plugins-checkbox\", className)}\n data-checked={checked}\n data-model-id={model.id()}\n onChange={this.tt.onCheckedChanged}\n style={style}\n type=\"checkbox\"\n />\n )\n }\n\n onCheckedChanged = (e) => {\n e.preventDefault()\n\n const {model} = this.props\n const checked = e.target.checked\n\n if (checked) {\n Workplace.createLink({model_class: model.modelClassData().name, model_id: model.id()})\n } else {\n const modelClassName = model.modelClassData().name\n const params = {models: {}}\n\n params.models[modelClassName] = [model.id()]\n\n Workplace.destroyLinks(params)\n }\n }\n\n onLinksCreated = ({args}) => {\n const {model} = digs(this.props, \"model\")\n const id = model.id()\n const modelClassName = model.modelClassData().name\n\n if (args.created[modelClassName] && args.created[modelClassName].includes(id)) {\n this.setState({checked: true})\n }\n }\n\n onLinksDestroyed = ({args}) => {\n const {model} = digs(this.props, \"model\")\n const id = model.id()\n const modelClassName = model.modelClassData().name\n\n if (args.destroyed[modelClassName] && args.destroyed[modelClassName].includes(id)) {\n this.setState({checked: false})\n }\n }\n}))\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"translated-attributes.js","names":["apiMakerTranslatedAttributes","attributeNames","availableLocales","translatedAttributes","attribute","locale","push","substring","toUpperCase"],"sources":["../src/translated-attributes.js"],"sourcesContent":["export default function apiMakerTranslatedAttributes(attributeNames, availableLocales) {\n translatedAttributes = []\n\n for (const attribute of attributeNames) {\n for (const locale of availableLocales) {\n translatedAttributes.push(`${attribute}${locale.substring(0, 1).toUpperCase()}${locale.substring(1, 99)}`)\n }\n }\n\n return translatedAttributes\n}\n"],"mappings":"AAAA,eAAe,SAASA,4BAA4BA,CAACC,cAAc,EAAEC,gBAAgB,EAAE;EACrFC,oBAAoB,GAAG,EAAE;EAEzB,KAAK,MAAMC,SAAS,IAAIH,cAAc,EAAE;IACtC,KAAK,MAAMI,MAAM,IAAIH,gBAAgB,EAAE;MACrCC,oBAAoB,CAACG,IAAI,CAAC,GAAGF,SAAS,GAAGC,MAAM,CAACE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGH,MAAM,CAACE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC5G;EACF;EAEA,OAAOJ,oBAAoB;AAC7B","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"translated-collections.js","names":["digg","I18nOnSteroids","translatedCollectionsData","ApiMakerTranslatedCollections","get","modelClass","collectionName","locale","getCurrent","modelClassName","modelClassData","collection"],"sources":["../src/translated-collections.js"],"sourcesContent":["import {digg} from \"diggerize\"\nimport I18nOnSteroids from \"i18n-on-steroids\"\nimport translatedCollectionsData from \"../src/translated-collections-data.js.erb\"\n\nexport default class ApiMakerTranslatedCollections {\n static get (modelClass, collectionName) {\n const locale = I18nOnSteroids.getCurrent().locale\n const modelClassName = digg(modelClass.modelClassData(), \"name\")\n const collection = digg(translatedCollectionsData, modelClassName, collectionName, locale, \"collection_array\")\n\n return collection\n }\n}\n"],"mappings":"AAAA,SAAQA,IAAI,QAAO,WAAW;AAC9B,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,yBAAyB,MAAM,2CAA2C;AAEjF,eAAe,MAAMC,6BAA6B,CAAC;EACjD,OAAOC,GAAGA,CAAEC,UAAU,EAAEC,cAAc,EAAE;IACtC,MAAMC,MAAM,GAAGN,cAAc,CAACO,UAAU,CAAC,CAAC,CAACD,MAAM;IACjD,MAAME,cAAc,GAAGT,IAAI,CAACK,UAAU,CAACK,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC;IAChE,MAAMC,UAAU,GAAGX,IAAI,CAACE,yBAAyB,EAAEO,cAAc,EAAEH,cAAc,EAAEC,MAAM,EAAE,kBAAkB,CAAC;IAE9G,OAAOI,UAAU;EACnB;AACF","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"updated-attribute.js","names":["digg","ModelEvents","PropTypes","propTypesExact","React","ApiMakerUpdatedAttribute","PureComponent","propTypes","attribute","string","model","object","isRequired","onValue","func","constructor","props","state","componentDidMount","setAttribute","connect","componentWillUnmount","connectUpdated","unsubscribe","args","isAttributeLoaded","setState","loadModelWithAttribute","id","primaryKey","modelClass","modelName","modelClassData","select","ransack","first","newValue","apply","Error","value","render","undefined"],"sources":["../src/updated-attribute.jsx"],"sourcesContent":["import {digg} from \"diggerize\"\nimport ModelEvents from \"./model-events\"\nimport PropTypes from \"prop-types\"\nimport propTypesExact from \"prop-types-exact\"\nimport React from \"react\"\n\nexport default class ApiMakerUpdatedAttribute extends React.PureComponent {\n static propTypes = propTypesExact({\n attribute: PropTypes.string,\n model: PropTypes.object.isRequired,\n onValue: PropTypes.func\n })\n\n constructor (props) {\n super(props)\n this.state = {\n model: this.props.model\n }\n }\n\n componentDidMount () {\n this.setAttribute()\n this.connect()\n }\n\n componentWillUnmount () {\n // Apparently 'componentWillUnmount' can be called without 'componentDidMount' was called. Several bug reports on this.\n if (this.connectUpdated) {\n this.connectUpdated.unsubscribe()\n }\n }\n\n connect () {\n this.connectUpdated = ModelEvents.connectUpdated(this.props.model, (args) => {\n if (!this.props.attribute || args.model.isAttributeLoaded(this.props.attribute)) {\n this.setState(\n {model: args.model},\n () => this.setAttribute()\n )\n } else {\n this.loadModelWithAttribute()\n }\n })\n }\n\n // This loads the model from the backend with the primary key and the attribute and calls setAttribute\n async loadModelWithAttribute () {\n const id = this.props.model.primaryKey()\n const modelClass = this.props.model.modelClass()\n const modelName = digg(modelClass.modelClassData(), \"name\")\n const primaryKey = digg(modelClass.modelClassData(), \"primaryKey\")\n\n const args = {}\n args[`${primaryKey}_eq`] = id\n\n const select = {}\n select[modelName] = [primaryKey, this.props.attribute]\n\n const model = await modelClass\n .ransack(args)\n .select(select)\n .first()\n\n this.setState(\n {model},\n () => this.setAttribute()\n )\n }\n\n setAttribute () {\n let newValue\n\n if (this.props.onValue) {\n newValue = this.props.onValue.apply(null, [{model: this.state.model}])\n } else {\n if (!this.state.model[this.props.attribute]) {\n throw new Error(`No such method: ${digg(this.state.model.modelClassData(), \"name\")}#${this.props.attribute}()`)\n }\n\n newValue = this.state.model[this.props.attribute].apply(this.state.model)\n }\n\n this.setState({\n value: newValue\n })\n }\n\n render () {\n if (this.state.value === undefined) return null\n\n return this.state.value\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"url-encode.js","names":["escapeStringRegexp","replaces","regexp","RegExp","Object","keys","map","join","urlEncode","string","String","replaceAll","character"],"sources":["../src/url-encode.js"],"sourcesContent":["import escapeStringRegexp from \"escape-string-regexp\"\n\nconst replaces = {\n \" \": \"+\",\n \"&\": \"%26\",\n \"#\": \"%23\",\n \"+\": \"%2B\",\n \"/\": \"%2F\",\n \"?\": \"%3F\"\n}\n\nconst regexp = new RegExp(`(${Object.keys(replaces).map(escapeStringRegexp).join(\"|\")})`, \"g\")\n\nconst urlEncode = (string) => {\n return String(string).replaceAll(regexp, (character) => replaces[character])\n}\n\nexport default urlEncode\n"],"mappings":"AAAA,OAAOA,kBAAkB,MAAM,sBAAsB;AAErD,MAAMC,QAAQ,GAAG;EACf,GAAG,EAAE,GAAG;EACR,GAAG,EAAE,KAAK;EACV,GAAG,EAAE,KAAK;EACV,GAAG,EAAE,KAAK;EACV,GAAG,EAAE,KAAK;EACV,GAAG,EAAE;AACP,CAAC;AAED,MAAMC,MAAM,GAAG,IAAIC,MAAM,CAAC,IAAIC,MAAM,CAACC,IAAI,CAACJ,QAAQ,CAAC,CAACK,GAAG,CAACN,kBAAkB,CAAC,CAACO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AAE9F,MAAMC,SAAS,GAAIC,MAAM,IAAK;EAC5B,OAAOC,MAAM,CAACD,MAAM,CAAC,CAACE,UAAU,CAACT,MAAM,EAAGU,SAAS,IAAKX,QAAQ,CAACW,SAAS,CAAC,CAAC;AAC9E,CAAC;AAED,eAAeJ,SAAS","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-breakpoint.js","names":["useCallback","useLayoutEffect","apiMakerConfig","Dimensions","useShape","calculateBreakPoint","window","windowWidth","width","result","breakpointData","getBreakPoints","breakpoint","name","Boolean","Error","useBreakpoint","s","onCalled","set","useStates","get","subscription","addEventListener","remove"],"sources":["../src/use-breakpoint.js"],"sourcesContent":["import {useCallback, useLayoutEffect} from \"react\"\nimport apiMakerConfig from \"@kaspernj/api-maker/build/config\"\nimport {Dimensions} from \"react-native\"\nimport useShape from \"set-state-compare/src/use-shape\"\n\nconst calculateBreakPoint = (window) => {\n const windowWidth = window.width\n const result = {}\n\n for (const breakpointData of apiMakerConfig.getBreakPoints()) {\n const breakpoint = breakpointData[0]\n const width = breakpointData[1]\n\n if (!result.name && windowWidth >= width) {\n result.name = breakpoint\n }\n\n result[`${breakpoint}Down`] = !result.name\n result[`${breakpoint}Up`] = Boolean(result.name)\n }\n\n if (result.name) {\n return result\n }\n\n throw new Error(`Couldn't not find breakpoint from window width: ${windowWidth}`)\n}\n\nconst useBreakpoint = () => {\n const s = useShape()\n const onCalled = useCallback(({window}) => {\n const breakpoint = calculateBreakPoint(window)\n\n if (breakpoint.name != s.s.breakpoint.name) {\n s.set({breakpoint})\n }\n }, [])\n\n s.useStates({\n breakpoint: () => calculateBreakPoint(Dimensions.get(\"window\"))\n })\n\n useLayoutEffect(() => {\n const subscription = Dimensions.addEventListener(\"change\", onCalled)\n\n return () => subscription?.remove()\n })\n\n return s.s.breakpoint\n}\n\nexport default useBreakpoint\n"],"mappings":"AAAA,SAAQA,WAAW,EAAEC,eAAe,QAAO,OAAO;AAClD,OAAOC,cAAc,MAAM,kCAAkC;AAC7D,SAAQC,UAAU,QAAO,cAAc;AACvC,OAAOC,QAAQ,MAAM,iCAAiC;AAEtD,MAAMC,mBAAmB,GAAIC,MAAM,IAAK;EACtC,MAAMC,WAAW,GAAGD,MAAM,CAACE,KAAK;EAChC,MAAMC,MAAM,GAAG,CAAC,CAAC;EAEjB,KAAK,MAAMC,cAAc,IAAIR,cAAc,CAACS,cAAc,CAAC,CAAC,EAAE;IAC5D,MAAMC,UAAU,GAAGF,cAAc,CAAC,CAAC,CAAC;IACpC,MAAMF,KAAK,GAAGE,cAAc,CAAC,CAAC,CAAC;IAE/B,IAAI,CAACD,MAAM,CAACI,IAAI,IAAIN,WAAW,IAAIC,KAAK,EAAE;MACxCC,MAAM,CAACI,IAAI,GAAGD,UAAU;IAC1B;IAEAH,MAAM,CAAC,GAAGG,UAAU,MAAM,CAAC,GAAG,CAACH,MAAM,CAACI,IAAI;IAC1CJ,MAAM,CAAC,GAAGG,UAAU,IAAI,CAAC,GAAGE,OAAO,CAACL,MAAM,CAACI,IAAI,CAAC;EAClD;EAEA,IAAIJ,MAAM,CAACI,IAAI,EAAE;IACf,OAAOJ,MAAM;EACf;EAEA,MAAM,IAAIM,KAAK,CAAC,mDAAmDR,WAAW,EAAE,CAAC;AACnF,CAAC;AAED,MAAMS,aAAa,GAAGA,CAAA,KAAM;EAC1B,MAAMC,CAAC,GAAGb,QAAQ,CAAC,CAAC;EACpB,MAAMc,QAAQ,GAAGlB,WAAW,CAAC,CAAC;IAACM;EAAM,CAAC,KAAK;IACzC,MAAMM,UAAU,GAAGP,mBAAmB,CAACC,MAAM,CAAC;IAE9C,IAAIM,UAAU,CAACC,IAAI,IAAII,CAAC,CAACA,CAAC,CAACL,UAAU,CAACC,IAAI,EAAE;MAC1CI,CAAC,CAACE,GAAG,CAAC;QAACP;MAAU,CAAC,CAAC;IACrB;EACF,CAAC,EAAE,EAAE,CAAC;EAENK,CAAC,CAACG,SAAS,CAAC;IACVR,UAAU,EAAEA,CAAA,KAAMP,mBAAmB,CAACF,UAAU,CAACkB,GAAG,CAAC,QAAQ,CAAC;EAChE,CAAC,CAAC;EAEFpB,eAAe,CAAC,MAAM;IACpB,MAAMqB,YAAY,GAAGnB,UAAU,CAACoB,gBAAgB,CAAC,QAAQ,EAAEL,QAAQ,CAAC;IAEpE,OAAO,MAAMI,YAAY,EAAEE,MAAM,CAAC,CAAC;EACrC,CAAC,CAAC;EAEF,OAAOP,CAAC,CAACA,CAAC,CAACL,UAAU;AACvB,CAAC;AAED,eAAeI,aAAa","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-can-can.js","names":["CanCan","useCallback","useMemo","useState","useCurrentUser","useEventEmitter","useShape","useCanCan","abilitiesCallback","dependencies","currentUser","s","useStates","canCan","lastUpdate","Date","id","loadAbilities","current","abilities","p","set","onResetAbilities","silent","loadAbilitiesOnNew","resetAbilities","events"],"sources":["../src/use-can-can.js"],"sourcesContent":["import CanCan from \"./can-can\"\nimport {useCallback, useMemo, useState} from \"react\"\nimport useCurrentUser from \"./use-current-user\"\nimport useEventEmitter from \"./use-event-emitter\"\nimport useShape from \"set-state-compare/src/use-shape\"\n\nconst useCanCan = (abilitiesCallback, dependencies) => {\n const currentUser = useCurrentUser()\n const s = useShape({abilitiesCallback})\n\n s.useStates({\n canCan: null,\n lastUpdate: new Date()\n })\n\n if (!dependencies) {\n dependencies = [currentUser?.id()]\n }\n\n const loadAbilities = useCallback(async () => {\n const canCan = CanCan.current()\n const abilities = s.p.abilitiesCallback()\n\n await canCan.loadAbilities(abilities)\n\n s.set({canCan, lastUpdate: new Date()})\n }, [])\n\n const onResetAbilities = useCallback(async () => {\n s.set({canCan: null}, {silent: true})\n await loadAbilities()\n }, [])\n\n const loadAbilitiesOnNew = useCallback(async () => {\n const canCan = s.s.canCan\n\n s.set({canCan: null}, {silent: true})\n\n if (canCan) {\n await canCan?.resetAbilities()\n } else {\n await loadAbilities()\n }\n }, [])\n\n useMemo(() => {\n loadAbilitiesOnNew()\n }, dependencies)\n\n useEventEmitter(CanCan.current().events, \"onResetAbilities\", onResetAbilities)\n\n return s.s.canCan\n}\n\nexport default useCanCan\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,WAAW;AAC9B,SAAQC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAO,OAAO;AACpD,OAAOC,cAAc,MAAM,oBAAoB;AAC/C,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,QAAQ,MAAM,iCAAiC;AAEtD,MAAMC,SAAS,GAAGA,CAACC,iBAAiB,EAAEC,YAAY,KAAK;EACrD,MAAMC,WAAW,GAAGN,cAAc,CAAC,CAAC;EACpC,MAAMO,CAAC,GAAGL,QAAQ,CAAC;IAACE;EAAiB,CAAC,CAAC;EAEvCG,CAAC,CAACC,SAAS,CAAC;IACVC,MAAM,EAAE,IAAI;IACZC,UAAU,EAAE,IAAIC,IAAI,CAAC;EACvB,CAAC,CAAC;EAEF,IAAI,CAACN,YAAY,EAAE;IACjBA,YAAY,GAAG,CAACC,WAAW,EAAEM,EAAE,CAAC,CAAC,CAAC;EACpC;EAEA,MAAMC,aAAa,GAAGhB,WAAW,CAAC,YAAY;IAC5C,MAAMY,MAAM,GAAGb,MAAM,CAACkB,OAAO,CAAC,CAAC;IAC/B,MAAMC,SAAS,GAAGR,CAAC,CAACS,CAAC,CAACZ,iBAAiB,CAAC,CAAC;IAEzC,MAAMK,MAAM,CAACI,aAAa,CAACE,SAAS,CAAC;IAErCR,CAAC,CAACU,GAAG,CAAC;MAACR,MAAM;MAAEC,UAAU,EAAE,IAAIC,IAAI,CAAC;IAAC,CAAC,CAAC;EACzC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMO,gBAAgB,GAAGrB,WAAW,CAAC,YAAY;IAC/CU,CAAC,CAACU,GAAG,CAAC;MAACR,MAAM,EAAE;IAAI,CAAC,EAAE;MAACU,MAAM,EAAE;IAAI,CAAC,CAAC;IACrC,MAAMN,aAAa,CAAC,CAAC;EACvB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMO,kBAAkB,GAAGvB,WAAW,CAAC,YAAY;IACjD,MAAMY,MAAM,GAAGF,CAAC,CAACA,CAAC,CAACE,MAAM;IAEzBF,CAAC,CAACU,GAAG,CAAC;MAACR,MAAM,EAAE;IAAI,CAAC,EAAE;MAACU,MAAM,EAAE;IAAI,CAAC,CAAC;IAErC,IAAIV,MAAM,EAAE;MACV,MAAMA,MAAM,EAAEY,cAAc,CAAC,CAAC;IAChC,CAAC,MAAM;MACL,MAAMR,aAAa,CAAC,CAAC;IACvB;EACF,CAAC,EAAE,EAAE,CAAC;EAENf,OAAO,CAAC,MAAM;IACZsB,kBAAkB,CAAC,CAAC;EACtB,CAAC,EAAEf,YAAY,CAAC;EAEhBJ,eAAe,CAACL,MAAM,CAACkB,OAAO,CAAC,CAAC,CAACQ,MAAM,EAAE,kBAAkB,EAAEJ,gBAAgB,CAAC;EAE9E,OAAOX,CAAC,CAACA,CAAC,CAACE,MAAM;AACnB,CAAC;AAED,eAAeN,SAAS","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-collection.js","names":["debounce","digg","inflection","ModelEvents","useCallback","useLayoutEffect","useMemo","useCreatedEvent","useShape","useQueryParams","useCollection","props","cacheKeys","abilities","collection","defaultParams","groupBy","ifCondition","limit","modelClass","noRecordsAvailableContent","undefined","noRecordsFoundContent","onModelsLoaded","pagination","preloads","queryMethod","queryName","initialQueryName","ransack","select","selectColumns","restProps","Object","keys","length","Error","join","s","modelClassData","meta","queryParams","hasQParams","queryQName","m","qParams","JSON","parse","useStates","models","overallCount","query","queryPerKey","querySName","queryPageName","result","searchParams","showNoRecordsAvailableContent","showNoRecordsFoundContent","modelIdsCacheString","map","model","cacheKey","loadOverallCount","baseQuery","p","all","count","set","loadQParams","qParamsToSet","assign","rawSearchParam","parsedSearchParam","push","loadModels","clone","page","per","Number","search","searchKey","pageKey","perKey","preload","loadModelsDebounce","onModelDestroyed","args","filter","id","onModelUpdated","updatedModel","foundModel","find","onCreated","concat","connections","connectUpdated","connectDestroyed","connection","unsubscribe","state","modelVariableName","pluralize","camelize","name"],"sources":["../src/use-collection.js"],"sourcesContent":["import debounce from \"debounce\"\nimport {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport ModelEvents from \"./model-events\"\nimport {useCallback, useLayoutEffect, useMemo} from \"react\"\nimport useCreatedEvent from \"./use-created-event\"\nimport useShape from \"set-state-compare/src/use-shape\"\nimport useQueryParams from \"on-location-changed/src/use-query-params\"\n\nconst useCollection = (props, cacheKeys = []) => {\n const {\n abilities,\n collection,\n defaultParams,\n groupBy,\n ifCondition,\n limit,\n modelClass,\n noRecordsAvailableContent = undefined,\n noRecordsFoundContent = undefined,\n onModelsLoaded,\n pagination = false,\n preloads = [],\n queryMethod,\n queryName: initialQueryName,\n ransack,\n select = {},\n selectColumns,\n ...restProps\n } = props\n\n if (Object.keys(restProps).length > 0) {\n throw new Error(`Unknown props given to useCollection: ${Object.keys(restProps).join(\", \")}`)\n }\n\n const s = useShape(props)\n const queryName = initialQueryName || digg(modelClass.modelClassData(), \"collectionKey\")\n\n s.meta.queryParams = useQueryParams()\n\n const hasQParams = useCallback(() => {\n if (s.s.queryQName in s.m.queryParams) return true\n\n return false\n }, [])\n\n const qParams = useCallback(() => {\n if (hasQParams()) return JSON.parse(digg(s.m.queryParams, s.s.queryQName))\n\n return {}\n }, [])\n\n s.useStates({\n models: undefined,\n overallCount: undefined,\n query: undefined,\n queryName,\n queryPerKey: `${queryName}_per`,\n queryQName: `${queryName}_q`,\n querySName: `${queryName}_s`,\n queryPageName: `${queryName}_page`,\n result: undefined,\n searchParams: undefined,\n showNoRecordsAvailableContent: false,\n showNoRecordsFoundContent: false\n })\n s.useStates({\n qParams: () => qParams()\n })\n\n let modelIdsCacheString\n\n if (s.s.models === undefined) {\n modelIdsCacheString = \"models-undefined\"\n } else if (s.s.models.length === 0) {\n modelIdsCacheString = \"no-models\"\n } else {\n modelIdsCacheString = s.s.models.map((model) => model.cacheKey())?.join(\"---\")\n }\n\n const loadOverallCount = useCallback(async () => {\n const baseQuery = s.p.collection || s.p.modelClass.all()\n const overallCount = await baseQuery.count()\n\n s.set({\n overallCount,\n showNoRecordsAvailableContent: showNoRecordsAvailableContent({overallCount}),\n showNoRecordsFoundContent: showNoRecordsFoundContent({overallCount})\n })\n }, [])\n\n const loadQParams = useCallback(() => {\n const qParamsToSet = hasQParams() ? qParams() : Object.assign({}, s.props.defaultParams)\n const searchParams = []\n\n if (s.m.queryParams[s.s.querySName]) {\n for (const rawSearchParam of s.m.queryParams[s.s.querySName]) {\n const parsedSearchParam = JSON.parse(rawSearchParam)\n\n searchParams.push(parsedSearchParam)\n }\n }\n\n s.set({\n qParams: qParamsToSet,\n searchParams\n })\n }, [])\n\n const loadModels = useCallback(async () => {\n let query = s.props.collection?.clone() || s.p.modelClass.ransack()\n\n if (s.props.pagination) {\n const page = s.m.queryParams[s.s.queryPageName] || 1\n let per = s.m.queryParams[s.s.queryPerKey] || 30\n\n if (per == \"all\") {\n per = 999_999_999\n } else {\n per = Number(per)\n }\n\n query.page(page).per(per)\n }\n\n if (s.props.groupBy) query = query.groupBy(...s.p.groupBy)\n\n query = query\n .ransack(s.s.qParams)\n .search(s.s.searchParams)\n .searchKey(s.s.queryQName)\n .pageKey(s.s.queryPageName)\n .perKey(s.s.queryPerKey)\n\n if (s.props.abilities) query.abilities(s.p.abilities)\n if (s.props.limit !== undefined) query.limit(s.p.limit)\n if (s.props.preloads) query.preload(s.p.preloads)\n if (s.props.ransack) query.ransack(s.props.ransack)\n if (s.props.select) query.select(s.p.select)\n if (s.props.selectColumns) query.selectColumns(s.p.selectColumns)\n\n let result\n\n if (s.props.queryMethod) {\n result = await s.p.queryMethod({query})\n } else {\n result = await query.result()\n }\n\n const models = result.models()\n\n if (s.props.onModelsLoaded) {\n s.p.onModelsLoaded({\n models,\n qParams: s.s.qParams,\n query,\n result\n })\n }\n\n s.set({\n models: result.models(),\n query,\n result,\n showNoRecordsAvailableContent: showNoRecordsAvailableContent({models}),\n showNoRecordsFoundContent: showNoRecordsFoundContent({models})\n })\n }, [])\n\n const loadModelsDebounce = useCallback(debounce(loadModels), [])\n const onModelDestroyed = useCallback((args) => {\n s.set({\n models: s.s.models.filter((model) => model.id() != args.model.id())\n })\n }, [])\n\n const onModelUpdated = useCallback((args) => {\n const updatedModel = digg(args, \"model\")\n const foundModel = s.s.models.find((model) => model.id() == updatedModel.id())\n\n if (foundModel) loadModelsDebounce()\n }, [])\n\n const showNoRecordsAvailableContent = useCallback((args) => {\n let models, overallCount\n\n if (args.models !== undefined) {\n models = args.models\n } else if (s.s.models !== undefined) {\n models = s.s.models\n }\n\n if (args.overallCount !== undefined) {\n overallCount = args.overallCount\n } else if (s.s.overallCount !== undefined) {\n overallCount = s.s.overallCount\n }\n\n if (models === undefined || overallCount === undefined || s.p.noRecordsAvailableContent === undefined) return false\n if (models.length === 0 && overallCount === 0 && s.p.noRecordsAvailableContent) return true\n }, [])\n\n const showNoRecordsFoundContent = useCallback((args) => {\n let models, overallCount\n\n if (args.models !== undefined) {\n models = args.models\n } else if (s.s.models !== undefined) {\n models = s.s.models\n }\n\n if (args.overallCount !== undefined) {\n overallCount = args.overallCount\n } else if (s.s.overallCount !== undefined) {\n overallCount = s.s.overallCount\n }\n\n if (models === undefined || s.props.noRecordsFoundContent === undefined) return false\n\n // Dont show noRecordsAvailableContent together with noRecordsAvailableContent\n if (models.length === 0 && overallCount === 0 && s.props.noRecordsAvailableContent) return false\n if (models.length === 0 && s.props.noRecordsFoundContent) return true\n }, [])\n\n const onCreated = useCallback(() => {\n loadModels()\n }, [])\n\n useMemo(\n () => {\n if (!(\"ifCondition\" in s.props) || s.props.ifCondition) {\n loadQParams()\n loadModels()\n }\n },\n [\n s.props.ifCondition,\n s.m.queryParams[s.s.queryQName],\n s.m.queryParams[s.s.queryPageName],\n s.m.queryParams[s.s.queryPerKey],\n s.m.queryParams[s.s.querySName],\n collection\n ].concat(cacheKeys)\n )\n\n useMemo(() => {\n if (s.props.noRecordsAvailableContent) {\n loadOverallCount()\n }\n }, [])\n\n useCreatedEvent(s.p.modelClass, onCreated)\n\n useLayoutEffect(() => {\n const connections = []\n\n if (s.s.models) {\n for(const model of s.s.models) {\n connections.push(ModelEvents.connectUpdated(model, onModelUpdated))\n connections.push(ModelEvents.connectDestroyed(model, onModelDestroyed))\n }\n }\n\n return () => {\n for(const connection of connections) {\n connection.unsubscribe()\n }\n }\n }, [modelIdsCacheString])\n\n const result = Object.assign({}, s.state)\n const modelVariableName = inflection.pluralize(inflection.camelize(modelClass.modelClassData().name, true))\n\n result.modelIdsCacheString = modelIdsCacheString\n result[modelVariableName] = s.s.models\n\n return result\n}\n\nexport default useCollection\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-created-event.js","names":["debounceFunction","ModelEvents","PropTypes","propTypesExact","useCallback","useLayoutEffect","useShape","ApiMakerUseCreatedEvent","modelClass","onCreated","args","active","debounce","s","eventDebounce","meta","debounceInstance","props","p","onCreatedCallback","connectCreated","unsubscribe","propTypes","bool","isRequired","oneOfType","number","func"],"sources":["../src/use-created-event.js"],"sourcesContent":["import debounceFunction from \"debounce\"\nimport ModelEvents from \"./model-events\"\nimport PropTypes from \"prop-types\"\nimport propTypesExact from \"prop-types-exact\"\nimport {useCallback, useLayoutEffect} from \"react\"\nimport useShape from \"set-state-compare/src/use-shape\"\n\nconst ApiMakerUseCreatedEvent = (modelClass, onCreated, args = {}) => {\n const {active = true, debounce} = args\n const s = useShape({active, debounce, modelClass, onCreated})\n\n const eventDebounce = useCallback(() => {\n if (!s.meta.debounceInstance) {\n if (typeof this.props.debounce == \"number\") {\n s.meta.debounceInstance = debounceFunction(s.p.onCreated, s.p.debounce)\n } else {\n s.meta.debounceInstance = debounceFunction(s.p.onCreated)\n }\n }\n\n return s.meta.debounceInstance\n }, [])\n\n const onCreatedCallback = useCallback((...args) => {\n if (!s.p.active) {\n return\n }\n\n if (s.p.debounce) {\n eventDebounce()(...args)\n } else {\n s.p.onCreated(...args)\n }\n }, [])\n\n useLayoutEffect(() => {\n const connectCreated = ModelEvents.connectCreated(s.p.modelClass, (...args) => onCreatedCallback(...args))\n\n return () => {\n connectCreated.unsubscribe()\n }\n }, [])\n}\n\nApiMakerUseCreatedEvent.propTypes = propTypesExact({\n active: PropTypes.bool.isRequired,\n debounce: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.number\n ]),\n modelClass: PropTypes.func.isRequired,\n onCreated: PropTypes.func.isRequired\n})\n\nexport default ApiMakerUseCreatedEvent\n"],"mappings":"AAAA,OAAOA,gBAAgB,MAAM,UAAU;AACvC,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,SAAQC,WAAW,EAAEC,eAAe,QAAO,OAAO;AAClD,OAAOC,QAAQ,MAAM,iCAAiC;AAEtD,MAAMC,uBAAuB,GAAGA,CAACC,UAAU,EAAEC,SAAS,EAAEC,IAAI,GAAG,CAAC,CAAC,KAAK;EACpE,MAAM;IAACC,MAAM,GAAG,IAAI;IAAEC;EAAQ,CAAC,GAAGF,IAAI;EACtC,MAAMG,CAAC,GAAGP,QAAQ,CAAC;IAACK,MAAM;IAAEC,QAAQ;IAAEJ,UAAU;IAAEC;EAAS,CAAC,CAAC;EAE7D,MAAMK,aAAa,GAAGV,WAAW,CAAC,MAAM;IACtC,IAAI,CAACS,CAAC,CAACE,IAAI,CAACC,gBAAgB,EAAE;MAC5B,IAAI,OAAO,IAAI,CAACC,KAAK,CAACL,QAAQ,IAAI,QAAQ,EAAE;QAC1CC,CAAC,CAACE,IAAI,CAACC,gBAAgB,GAAGhB,gBAAgB,CAACa,CAAC,CAACK,CAAC,CAACT,SAAS,EAAEI,CAAC,CAACK,CAAC,CAACN,QAAQ,CAAC;MACzE,CAAC,MAAM;QACLC,CAAC,CAACE,IAAI,CAACC,gBAAgB,GAAGhB,gBAAgB,CAACa,CAAC,CAACK,CAAC,CAACT,SAAS,CAAC;MAC3D;IACF;IAEA,OAAOI,CAAC,CAACE,IAAI,CAACC,gBAAgB;EAChC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,iBAAiB,GAAGf,WAAW,CAAC,CAAC,GAAGM,IAAI,KAAK;IACjD,IAAI,CAACG,CAAC,CAACK,CAAC,CAACP,MAAM,EAAE;MACf;IACF;IAEA,IAAIE,CAAC,CAACK,CAAC,CAACN,QAAQ,EAAE;MAChBE,aAAa,CAAC,CAAC,CAAC,GAAGJ,IAAI,CAAC;IAC1B,CAAC,MAAM;MACLG,CAAC,CAACK,CAAC,CAACT,SAAS,CAAC,GAAGC,IAAI,CAAC;IACxB;EACF,CAAC,EAAE,EAAE,CAAC;EAENL,eAAe,CAAC,MAAM;IACpB,MAAMe,cAAc,GAAGnB,WAAW,CAACmB,cAAc,CAACP,CAAC,CAACK,CAAC,CAACV,UAAU,EAAE,CAAC,GAAGE,IAAI,KAAKS,iBAAiB,CAAC,GAAGT,IAAI,CAAC,CAAC;IAE1G,OAAO,MAAM;MACXU,cAAc,CAACC,WAAW,CAAC,CAAC;IAC9B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAEDd,uBAAuB,CAACe,SAAS,GAAGnB,cAAc,CAAC;EACjDQ,MAAM,EAAET,SAAS,CAACqB,IAAI,CAACC,UAAU;EACjCZ,QAAQ,EAAEV,SAAS,CAACuB,SAAS,CAAC,CAC5BvB,SAAS,CAACqB,IAAI,EACdrB,SAAS,CAACwB,MAAM,CACjB,CAAC;EACFlB,UAAU,EAAEN,SAAS,CAACyB,IAAI,CAACH,UAAU;EACrCf,SAAS,EAAEP,SAAS,CAACyB,IAAI,CAACH;AAC5B,CAAC,CAAC;AAEF,eAAejB,uBAAuB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-current-user.js","names":["useCallback","useMemo","camelize","Devise","digg","Logger","Services","useEventEmitter","useShape","logger","name","useCurrentUser","args","s","scope","scopeName","meta","loadCurrentUserFromRequest","m","debug","result","current","sendRequest","setStates","Error","updateSession","props","onCurrentUserLoaded","setTimeout","defaultCurrentUser","hasCurrentScope","getCurrentScope","id","hasGlobalCurrentScope","useStatesArgument","useStates","updateCurrentUser","setStatesArgument","set","events"],"sources":["../src/use-current-user.js"],"sourcesContent":["import {useCallback, useMemo} from \"react\"\nimport {camelize} from \"inflection\"\nimport Devise from \"./devise\"\nimport {digg} from \"diggerize\"\nimport Logger from \"./logger\"\nimport Services from \"./services\"\nimport useEventEmitter from \"./use-event-emitter\"\nimport useShape from \"set-state-compare/src/use-shape\"\n\nconst logger = new Logger({name: \"ApiMaker / useCurrentUser\"})\n\n// logger.setDebug(true)\n\nconst useCurrentUser = (args) => {\n const s = useShape(args || {})\n const scope = args?.scope || \"user\"\n const scopeName = `current${camelize(scope)}`\n\n s.meta.scope = scope\n s.meta.scopeName = scopeName\n\n const loadCurrentUserFromRequest = useCallback(async () => {\n const {scope, scopeName} = s.m\n\n logger.debug(() => `Loading ${scope} with request`)\n\n const result = await Services.current().sendRequest(\"Devise::Current\", {scope})\n const current = digg(result, \"current\")\n\n if (!(scopeName in s.setStates)) throw new Error(`'${scopeName}' not found in setStates`)\n if (current) Devise.updateSession(current)\n\n s.setStates[scopeName](current)\n\n if (s.props.onCurrentUserLoaded) setTimeout(() => s.props.onCurrentUserLoaded(current), 0)\n }, [])\n\n const defaultCurrentUser = useCallback(() => {\n const {scope, scopeName} = s.m\n let current\n\n if (Devise.current().hasCurrentScope(s.m.scope)) {\n current = Devise.current().getCurrentScope(scope)\n\n logger.debug(() => `Setting ${scope} from current scope: ${current?.id()}`)\n } else if (Devise.current().hasGlobalCurrentScope(scope)) {\n current = Devise[scopeName]()\n\n logger.debug(() => `Setting ${scope} from global current scope: ${current?.id()}`)\n }\n\n if (current && s.props.onCurrentUserLoaded) {\n setTimeout(() => s.props.onCurrentUserLoaded(current), 0)\n }\n\n return current\n }, [])\n\n const useStatesArgument = {}\n\n useStatesArgument[scopeName] = () => defaultCurrentUser()\n\n s.useStates(useStatesArgument)\n\n const updateCurrentUser = useCallback(() => {\n const setStatesArgument = {}\n\n setStatesArgument[s.m.scopeName] = Devise[s.m.scopeName]()\n\n s.set(setStatesArgument)\n }, [])\n\n useMemo(() => {\n if (!Devise.current().hasGlobalCurrentScope(s.m.scope) && !Devise.current().hasCurrentScope(s.m.scope)) {\n logger.debug(() => `Devise hasn't got current scope ${s.m.scope} so loading from request`)\n loadCurrentUserFromRequest()\n }\n }, [])\n\n useEventEmitter(Devise.events(), \"onDeviseSignIn\", updateCurrentUser)\n useEventEmitter(Devise.events(), \"onDeviseSignOut\", updateCurrentUser)\n\n return s.s[scopeName]\n}\n\nexport default useCurrentUser\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-destroyed-event.js","names":["useCallback","useLayoutEffect","useMemo","debounceFunction","ModelEvents","useShape","apiMakerUseDestroyedEvent","model","onDestroyed","props","active","debounce","onConnected","restProps","Object","keys","length","Error","join","s","debounceCallback","p","updateMeta","onDestroyedCallback","args","m","connectDestroyed","onConnectedListener","events","addListener","removeListener","unsubscribe","id"],"sources":["../src/use-destroyed-event.js"],"sourcesContent":["import {useCallback, useLayoutEffect, useMemo} from \"react\"\nimport debounceFunction from \"debounce\"\nimport ModelEvents from \"./model-events\"\nimport useShape from \"set-state-compare/src/use-shape\"\n\nconst apiMakerUseDestroyedEvent = (model, onDestroyed, props) => {\n const {active = true, debounce, onConnected, ...restProps} = props || {}\n\n if (Object.keys(restProps).length > 0) {\n throw new Error(`Unknown props given to useDestroyedEvent: ${Object.keys(restProps).join(\", \")}`)\n }\n\n const s = useShape({active, debounce, model, onDestroyed})\n\n const debounceCallback = useMemo(() => {\n if (typeof debounce == \"number\") {\n return debounceFunction(s.p.onDestroyed, debounce)\n } else {\n return debounceFunction(s.p.onDestroyed)\n }\n }, [debounce])\n\n s.updateMeta({debounceCallback})\n\n const onDestroyedCallback = useCallback((...args) => {\n if (!s.p.active) {\n return\n }\n\n if (s.p.debounce) {\n s.m.debounceCallback(...args)\n } else {\n s.p.onDestroyed(...args)\n }\n }, [])\n\n useLayoutEffect(() => {\n let connectDestroyed, onConnectedListener\n\n if (model) {\n connectDestroyed = ModelEvents.connectDestroyed(model, onDestroyedCallback)\n\n if (onConnected) {\n onConnectedListener = connectDestroyed.events.addListener(\"connected\", onConnected)\n }\n }\n\n return () => {\n if (onConnectedListener) {\n connectDestroyed.events.removeListener(\"connected\", onConnected)\n }\n\n if (connectDestroyed) {\n connectDestroyed.unsubscribe()\n }\n }\n }, [model?.id()])\n}\n\nexport default apiMakerUseDestroyedEvent\n"],"mappings":"AAAA,SAAQA,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAO,OAAO;AAC3D,OAAOC,gBAAgB,MAAM,UAAU;AACvC,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,QAAQ,MAAM,iCAAiC;AAEtD,MAAMC,yBAAyB,GAAGA,CAACC,KAAK,EAAEC,WAAW,EAAEC,KAAK,KAAK;EAC/D,MAAM;IAACC,MAAM,GAAG,IAAI;IAAEC,QAAQ;IAAEC,WAAW;IAAE,GAAGC;EAAS,CAAC,GAAGJ,KAAK,IAAI,CAAC,CAAC;EAExE,IAAIK,MAAM,CAACC,IAAI,CAACF,SAAS,CAAC,CAACG,MAAM,GAAG,CAAC,EAAE;IACrC,MAAM,IAAIC,KAAK,CAAC,6CAA6CH,MAAM,CAACC,IAAI,CAACF,SAAS,CAAC,CAACK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;EACnG;EAEA,MAAMC,CAAC,GAAGd,QAAQ,CAAC;IAACK,MAAM;IAAEC,QAAQ;IAAEJ,KAAK;IAAEC;EAAW,CAAC,CAAC;EAE1D,MAAMY,gBAAgB,GAAGlB,OAAO,CAAC,MAAM;IACrC,IAAI,OAAOS,QAAQ,IAAI,QAAQ,EAAE;MAC/B,OAAOR,gBAAgB,CAACgB,CAAC,CAACE,CAAC,CAACb,WAAW,EAAEG,QAAQ,CAAC;IACpD,CAAC,MAAM;MACL,OAAOR,gBAAgB,CAACgB,CAAC,CAACE,CAAC,CAACb,WAAW,CAAC;IAC1C;EACF,CAAC,EAAE,CAACG,QAAQ,CAAC,CAAC;EAEdQ,CAAC,CAACG,UAAU,CAAC;IAACF;EAAgB,CAAC,CAAC;EAEhC,MAAMG,mBAAmB,GAAGvB,WAAW,CAAC,CAAC,GAAGwB,IAAI,KAAK;IACnD,IAAI,CAACL,CAAC,CAACE,CAAC,CAACX,MAAM,EAAE;MACf;IACF;IAEA,IAAIS,CAAC,CAACE,CAAC,CAACV,QAAQ,EAAE;MAChBQ,CAAC,CAACM,CAAC,CAACL,gBAAgB,CAAC,GAAGI,IAAI,CAAC;IAC/B,CAAC,MAAM;MACLL,CAAC,CAACE,CAAC,CAACb,WAAW,CAAC,GAAGgB,IAAI,CAAC;IAC1B;EACF,CAAC,EAAE,EAAE,CAAC;EAENvB,eAAe,CAAC,MAAM;IACpB,IAAIyB,gBAAgB,EAAEC,mBAAmB;IAEzC,IAAIpB,KAAK,EAAE;MACTmB,gBAAgB,GAAGtB,WAAW,CAACsB,gBAAgB,CAACnB,KAAK,EAAEgB,mBAAmB,CAAC;MAE3E,IAAIX,WAAW,EAAE;QACfe,mBAAmB,GAAGD,gBAAgB,CAACE,MAAM,CAACC,WAAW,CAAC,WAAW,EAAEjB,WAAW,CAAC;MACrF;IACF;IAEA,OAAO,MAAM;MACX,IAAIe,mBAAmB,EAAE;QACvBD,gBAAgB,CAACE,MAAM,CAACE,cAAc,CAAC,WAAW,EAAElB,WAAW,CAAC;MAClE;MAEA,IAAIc,gBAAgB,EAAE;QACpBA,gBAAgB,CAACK,WAAW,CAAC,CAAC;MAChC;IACF,CAAC;EACH,CAAC,EAAE,CAACxB,KAAK,EAAEyB,EAAE,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,eAAe1B,yBAAyB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-event-emitter.js","names":["useLayoutEffect","ApiMakerUseEventEmitter","events","event","onCalled","addListener","removeListener"],"sources":["../src/use-event-emitter.js"],"sourcesContent":["import {useLayoutEffect} from \"react\"\n\nconst ApiMakerUseEventEmitter = (events, event, onCalled) => {\n useLayoutEffect(() => {\n if (events) {\n events.addListener(event, onCalled)\n\n return () => {\n events.removeListener(event, onCalled)\n }\n }\n }, [events, event, onCalled])\n}\n\nexport default ApiMakerUseEventEmitter\n"],"mappings":"AAAA,SAAQA,eAAe,QAAO,OAAO;AAErC,MAAMC,uBAAuB,GAAGA,CAACC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,KAAK;EAC3DJ,eAAe,CAAC,MAAM;IACpB,IAAIE,MAAM,EAAE;MACVA,MAAM,CAACG,WAAW,CAACF,KAAK,EAAEC,QAAQ,CAAC;MAEnC,OAAO,MAAM;QACXF,MAAM,CAACI,cAAc,CAACH,KAAK,EAAEC,QAAQ,CAAC;MACxC,CAAC;IACH;EACF,CAAC,EAAE,CAACF,MAAM,EAAEC,KAAK,EAAEC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED,eAAeH,uBAAuB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-event-listener.js","names":["useCallback","useLayoutEffect","ApiMakerUseEventListener","target","event","onCalled","onCalledCallback","args","apply","addEventListener","removeEventListener"],"sources":["../src/use-event-listener.js"],"sourcesContent":["import {useCallback, useLayoutEffect} from \"react\"\n\nconst ApiMakerUseEventListener = (target, event, onCalled) => {\n const onCalledCallback = useCallback((...args) => {\n onCalled.apply(null, args)\n }, [target, event, onCalled])\n\n useLayoutEffect(() => {\n if (target) {\n target.addEventListener(event, onCalledCallback)\n\n return () => {\n target.removeEventListener(event, onCalledCallback)\n }\n }\n }, [target, event, onCalled])\n}\n\nexport default ApiMakerUseEventListener\n"],"mappings":"AAAA,SAAQA,WAAW,EAAEC,eAAe,QAAO,OAAO;AAElD,MAAMC,wBAAwB,GAAGA,CAACC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,KAAK;EAC5D,MAAMC,gBAAgB,GAAGN,WAAW,CAAC,CAAC,GAAGO,IAAI,KAAK;IAChDF,QAAQ,CAACG,KAAK,CAAC,IAAI,EAAED,IAAI,CAAC;EAC5B,CAAC,EAAE,CAACJ,MAAM,EAAEC,KAAK,EAAEC,QAAQ,CAAC,CAAC;EAE7BJ,eAAe,CAAC,MAAM;IACpB,IAAIE,MAAM,EAAE;MACVA,MAAM,CAACM,gBAAgB,CAACL,KAAK,EAAEE,gBAAgB,CAAC;MAEhD,OAAO,MAAM;QACXH,MAAM,CAACO,mBAAmB,CAACN,KAAK,EAAEE,gBAAgB,CAAC;MACrD,CAAC;IACH;EACF,CAAC,EAAE,CAACH,MAAM,EAAEC,KAAK,EAAEC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED,eAAeH,wBAAwB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-input.js","names":["dig","digg","useCallback","useEffect","useMemo","useRef","idForComponent","nameForComponent","strftime","useShape","useValidationErrors","useInput","props","wrapperOptions","useInputRestProps","useInputRestPropsKeys","Object","keys","length","Error","join","s","backupRef","useStates","form","undefined","setForm","inputRef","current","meta","fakeComponent","isCheckbox","type","isSelect","formatValue","value","Date","isNaN","getTime","inputType","inputDefaultChecked","defaultChecked","attribute","model","inputDefaultValue","defaultValue","modelClassData","m","label","modelClass","humanAttributeName","inputElement","set","getId","getName","getInputProps","givenInputProps","inputProps","assign","id","name","ref","checked","oldInputProps","wrapperOpts","oldWrapperOpts","restProps","inputNameWithoutId","replace","validationErrors","validationError","inputName","errors"],"sources":["../src/use-input.js"],"sourcesContent":["import {dig, digg} from \"diggerize\"\nimport {useCallback, useEffect, useMemo, useRef} from \"react\"\nimport idForComponent from \"./inputs/id-for-component\"\nimport nameForComponent from \"./inputs/name-for-component\"\nimport strftime from \"strftime\"\nimport useShape from \"set-state-compare/src/use-shape\"\nimport useValidationErrors from \"./use-validation-errors\"\n\nconst useInput = ({props, wrapperOptions, ...useInputRestProps}) => {\n const useInputRestPropsKeys = Object.keys(useInputRestProps)\n\n if (useInputRestPropsKeys.length > 0) {\n throw new Error(`Unknown props given to useInput: ${useInputRestPropsKeys.join(\", \")}`)\n }\n\n const s = useShape(props)\n const backupRef = useRef()\n\n s.useStates({\n form: undefined\n })\n\n useEffect(() => {\n setForm()\n }, [s.props.inputRef?.current])\n\n s.meta.fakeComponent = {props}\n s.meta.isCheckbox = props.type == \"checkbox\" || wrapperOptions?.type == \"checkbox\"\n s.meta.isSelect = wrapperOptions?.type == \"select\"\n\n const formatValue = useCallback((value) => {\n const {formatValue} = s.props\n\n if (formatValue) {\n return formatValue(value)\n } else if (value instanceof Date && !isNaN(value.getTime())) {\n // We need to use a certain format for datetime-local\n if (inputType() == \"datetime-local\") {\n return strftime(\"%Y-%m-%dT%H:%M:%S\", value)\n } else if (inputType() == \"date\") {\n return strftime(\"%Y-%m-%d\", value)\n }\n }\n\n return value\n }, [])\n\n const inputDefaultChecked = useCallback(() => {\n if (\"defaultChecked\" in s.props) {\n return s.props.defaultChecked\n } else if (s.props.attribute && s.props.model) {\n if (!s.props.model[s.props.attribute])\n throw new Error(`No such attribute: ${s.props.attribute}`)\n\n return s.props.model[s.props.attribute]()\n }\n }, [])\n\n const inputDefaultValue = useCallback(() => {\n if (\"defaultValue\" in s.props) {\n return formatValue(s.props.defaultValue)\n } else if (s.props.model && s.props.attribute) {\n if (!s.props.model[s.props.attribute]) {\n throw new Error(`No such attribute defined on resource: ${digg(s.props.model.modelClassData(), \"name\")}#${s.props.attribute}`)\n }\n\n return formatValue(s.props.model[s.props.attribute]())\n }\n }, [])\n\n const inputRef = useCallback(() => s.props.inputRef || backupRef)\n\n const inputType = useCallback(() => {\n if (\"type\" in s.props) {\n return s.props.type\n } else if (s.m.isCheckbox) {\n return \"checkbox\"\n } else {\n return \"text\"\n }\n }, [])\n\n const label = useCallback(() => {\n if (\"label\" in s.props) {\n return s.props.label\n } else if (s.props.attribute && s.props.model) {\n return s.props.model.modelClass().humanAttributeName(s.props.attribute)\n }\n }, [])\n\n const setForm = useCallback(() => {\n const inputElement = inputRef().current\n\n let form\n\n if (inputElement) form = dig(inputElement, \"form\")\n if (form && form != s.s.form) s.set({form})\n }, [])\n\n const getId = useCallback(() => idForComponent(s.m.fakeComponent), [])\n const getName = useCallback(() => nameForComponent(s.m.fakeComponent), [])\n\n const getInputProps = useCallback(() => {\n const givenInputProps = s.props.inputProps || {}\n const inputProps = Object.assign(\n {\n id: getId(),\n name: getName(),\n ref: inputRef()\n },\n givenInputProps\n )\n\n if (s.m.isCheckbox) {\n if (\"checked\" in s.props) {\n inputProps.checked = s.props.checked\n }\n\n if (\"defaultChecked\" in s.props || (s.props.attribute && s.props.model)) {\n inputProps.defaultChecked = inputDefaultChecked()\n }\n } else if (\"value\" in s.props) {\n inputProps.value = s.props.value\n } else if (!(\"value\" in s.props)) {\n inputProps.defaultValue = inputDefaultValue()\n }\n\n return inputProps\n }, [])\n\n const {inputProps: oldInputProps, wrapperOpts: oldWrapperOpts, ...restProps} = props\n const type = inputType()\n\n s.meta.inputProps = getInputProps()\n s.meta.inputNameWithoutId = useMemo(() => s.m.inputProps.name?.replace(/\\[(.+)_id\\]$/, \"[$1]\"), [s.m.inputProps.name])\n\n if (!s.m.inputProps.ref) throw new Error(\"No input ref?\")\n if (!s.m.isSelect) s.m.inputProps.type = type\n\n const {validationErrors} = useValidationErrors((validationError) =>\n validationError.inputName == s.m.inputProps.name || validationError.inputName == s.m.inputNameWithoutId\n )\n\n const wrapperOpts = {\n errors: validationErrors,\n form: s.s.form,\n label: label()\n }\n\n return {\n inputProps: s.m.inputProps,\n wrapperOpts,\n restProps\n }\n}\n\nexport default useInput\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-model-event.js","names":["useCallback","useLayoutEffect","useMemo","debounceFunction","ModelEvents","useShape","apiMakerUseModelEvent","model","event","onCallback","props","active","debounce","onConnected","restProps","Object","keys","length","Error","join","s","debounceCallback","p","updateMeta","onCallbackCallback","args","m","connectEvent","onConnectedListener","connect","events","addListener","removeListener","unsubscribe","id"],"sources":["../src/use-model-event.js"],"sourcesContent":["import {useCallback, useLayoutEffect, useMemo} from \"react\"\nimport debounceFunction from \"debounce\"\nimport ModelEvents from \"./model-events\"\nimport useShape from \"set-state-compare/src/use-shape\"\n\nconst apiMakerUseModelEvent = (model, event, onCallback, props) => {\n const {active = true, debounce, onConnected, ...restProps} = props || {}\n\n if (Object.keys(restProps).length > 0) {\n throw new Error(`Unknown props given to apiMakerUseModelEvent: ${Object.keys(restProps).join(\", \")}`)\n }\n\n const s = useShape({active, debounce, model, onCallback})\n\n const debounceCallback = useMemo(() => {\n if (typeof debounce == \"number\") {\n return debounceFunction(s.p.onCallback, debounce)\n } else {\n return debounceFunction(s.p.onCallback)\n }\n }, [debounce])\n\n s.updateMeta({debounceCallback})\n\n const onCallbackCallback = useCallback((...args) => {\n if (!s.p.active) {\n return\n }\n\n if (s.p.debounce) {\n s.m.debounceCallback(...args)\n } else {\n s.p.onCallback(...args)\n }\n }, [])\n\n useLayoutEffect(() => {\n let connectEvent, onConnectedListener\n\n if (model) {\n connectEvent = ModelEvents.connect(model, event, onCallbackCallback)\n\n if (onConnected) {\n onConnectedListener = connectEvent.events.addListener(\"connected\", onConnected)\n }\n }\n\n return () => {\n if (onConnectedListener) {\n connectEvent.events.removeListener(\"connected\", onConnected)\n }\n\n if (connectEvent) {\n connectEvent.unsubscribe()\n }\n }\n }, [model?.id()])\n}\n\nexport default apiMakerUseModelEvent\n"],"mappings":"AAAA,SAAQA,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAO,OAAO;AAC3D,OAAOC,gBAAgB,MAAM,UAAU;AACvC,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,QAAQ,MAAM,iCAAiC;AAEtD,MAAMC,qBAAqB,GAAGA,CAACC,KAAK,EAAEC,KAAK,EAAEC,UAAU,EAAEC,KAAK,KAAK;EACjE,MAAM;IAACC,MAAM,GAAG,IAAI;IAAEC,QAAQ;IAAEC,WAAW;IAAE,GAAGC;EAAS,CAAC,GAAGJ,KAAK,IAAI,CAAC,CAAC;EAExE,IAAIK,MAAM,CAACC,IAAI,CAACF,SAAS,CAAC,CAACG,MAAM,GAAG,CAAC,EAAE;IACrC,MAAM,IAAIC,KAAK,CAAC,iDAAiDH,MAAM,CAACC,IAAI,CAACF,SAAS,CAAC,CAACK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;EACvG;EAEA,MAAMC,CAAC,GAAGf,QAAQ,CAAC;IAACM,MAAM;IAAEC,QAAQ;IAAEL,KAAK;IAAEE;EAAU,CAAC,CAAC;EAEzD,MAAMY,gBAAgB,GAAGnB,OAAO,CAAC,MAAM;IACrC,IAAI,OAAOU,QAAQ,IAAI,QAAQ,EAAE;MAC/B,OAAOT,gBAAgB,CAACiB,CAAC,CAACE,CAAC,CAACb,UAAU,EAAEG,QAAQ,CAAC;IACnD,CAAC,MAAM;MACL,OAAOT,gBAAgB,CAACiB,CAAC,CAACE,CAAC,CAACb,UAAU,CAAC;IACzC;EACF,CAAC,EAAE,CAACG,QAAQ,CAAC,CAAC;EAEdQ,CAAC,CAACG,UAAU,CAAC;IAACF;EAAgB,CAAC,CAAC;EAEhC,MAAMG,kBAAkB,GAAGxB,WAAW,CAAC,CAAC,GAAGyB,IAAI,KAAK;IAClD,IAAI,CAACL,CAAC,CAACE,CAAC,CAACX,MAAM,EAAE;MACf;IACF;IAEA,IAAIS,CAAC,CAACE,CAAC,CAACV,QAAQ,EAAE;MAChBQ,CAAC,CAACM,CAAC,CAACL,gBAAgB,CAAC,GAAGI,IAAI,CAAC;IAC/B,CAAC,MAAM;MACLL,CAAC,CAACE,CAAC,CAACb,UAAU,CAAC,GAAGgB,IAAI,CAAC;IACzB;EACF,CAAC,EAAE,EAAE,CAAC;EAENxB,eAAe,CAAC,MAAM;IACpB,IAAI0B,YAAY,EAAEC,mBAAmB;IAErC,IAAIrB,KAAK,EAAE;MACToB,YAAY,GAAGvB,WAAW,CAACyB,OAAO,CAACtB,KAAK,EAAEC,KAAK,EAAEgB,kBAAkB,CAAC;MAEpE,IAAIX,WAAW,EAAE;QACfe,mBAAmB,GAAGD,YAAY,CAACG,MAAM,CAACC,WAAW,CAAC,WAAW,EAAElB,WAAW,CAAC;MACjF;IACF;IAEA,OAAO,MAAM;MACX,IAAIe,mBAAmB,EAAE;QACvBD,YAAY,CAACG,MAAM,CAACE,cAAc,CAAC,WAAW,EAAEnB,WAAW,CAAC;MAC9D;MAEA,IAAIc,YAAY,EAAE;QAChBA,YAAY,CAACM,WAAW,CAAC,CAAC;MAC5B;IACF,CAAC;EACH,CAAC,EAAE,CAAC1B,KAAK,EAAE2B,EAAE,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,eAAe5B,qBAAqB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-model.js","names":["useCallback","useLayoutEffect","useMemo","Devise","inflection","ModelEvents","useQueryParams","useShape","useModel","modelClassArg","argsArg","queryParams","args","modelClass","s","useStates","model","undefined","notFound","props","active","meta","callback","paramsVariableName","modelName","paramKey","modelId","loadByQueryParam","query","match","Error","params","id","modelVariableName","camelize","modelClassData","name","cacheArgs","loadExistingModel","m","ransack","id_eq","clone","Object","keys","join","abilities","p","preload","select","first","set","loadNewModel","ModelClass","modelDataFromParams","defaults","newIfNoId","modelData","assign","newAttributes","isNewRecord","data","a","loadModel","optional","onDestroyed","forwardArgs","onSignedIn","onSignedOut","push","updateMeta","reloadModelCallback","events","addListener","removeListener","connectUpdated","eventUpdated","unsubscribe","connectDestroyed","result"],"sources":["../src/use-model.js"],"sourcesContent":["import {useCallback, useLayoutEffect, useMemo} from \"react\"\nimport Devise from \"./devise\"\nimport * as inflection from \"inflection\"\nimport ModelEvents from \"./model-events\"\nimport useQueryParams from \"on-location-changed/src/use-query-params\"\nimport useShape from \"set-state-compare/src/use-shape\"\n\nconst useModel = (modelClassArg, argsArg = {}) => {\n const queryParams = useQueryParams()\n let args, modelClass\n\n if (typeof argsArg == \"function\") {\n args = argsArg({modelClass})\n } else {\n args = argsArg\n }\n\n const s = useShape(args)\n\n s.useStates({\n model: undefined,\n notFound: undefined\n })\n\n if (\"active\" in s.props && !s.props.active) {\n s.meta.active = false\n } else {\n s.meta.active = true\n }\n\n if (typeof modelClassArg == \"object\") {\n modelClass = modelClassArg.callback({queryParams})\n } else {\n modelClass = modelClassArg\n }\n\n const paramsVariableName = `${modelClass.modelName().paramKey()}_id`\n let modelId\n\n if (args.loadByQueryParam) {\n modelId = args.loadByQueryParam({queryParams})\n } else if (!args.query) {\n if (!args.match) throw new Error(\"Both 'loadByQueryParam' and 'match' wasn't given\")\n\n modelId = args.match.params[paramsVariableName] || args.match.params.id\n }\n\n const modelVariableName = inflection.camelize(modelClass.modelClassData().name, true)\n const cacheArgs = [modelId]\n\n const loadExistingModel = useCallback(async () => {\n let query\n\n if (s.m.modelId) {\n query = modelClass.ransack({id_eq: s.m.modelId})\n } else if (s.m.args.query) {\n query = s.m.args.query.clone()\n } else {\n throw new Error(`No model ID was given: ${s.m.modelId} by '${paramsVariableName}' in query params: ${Object.keys(s.props.match.params).join(\", \")}`)\n }\n\n if (s.props.abilities) query.abilities(s.p.abilities)\n if (s.props.preload) query.preload(s.p.preload)\n if (s.props.select) query.select(s.p.select)\n\n const model = await query.first()\n\n s.set({model, notFound: !model})\n }, [])\n\n const loadNewModel = useCallback(async () => {\n const ModelClass = modelClass\n const paramKey = ModelClass.modelName().paramKey()\n const modelDataFromParams = s.m.queryParams[paramKey] || {}\n\n let defaults = {}\n\n if (s.props.newIfNoId?.defaults) {\n defaults = await s.props.newIfNoId.defaults()\n }\n\n const modelData = Object.assign(defaults, s.props.newAttributes, modelDataFromParams)\n const model = new ModelClass({\n isNewRecord: true,\n data: {a: modelData}\n })\n\n s.set({model})\n }, [])\n\n const loadModel = useCallback(async () => {\n if (!s.m.active) {\n // Not active - don't do anything\n } else if (s.props.newIfNoId && !s.m.modelId) {\n return await loadNewModel()\n } else if (!s.props.optional || s.m.modelId | s.m.args.query) {\n return await loadExistingModel()\n }\n }, [])\n\n const onDestroyed = useCallback(({model}) => {\n const forwardArgs = {model}\n\n forwardArgs[s.m.modelVariableName] = model\n\n s.p.onDestroyed(forwardArgs)\n }, [])\n\n const onSignedIn = useCallback(() => {\n loadModel()\n }, [])\n\n const onSignedOut = useCallback(() => {\n loadModel()\n }, [])\n\n if (args.cacheArgs) {\n cacheArgs.push(...args.cacheArgs)\n }\n\n s.updateMeta({args, modelId, modelVariableName, queryParams})\n\n useMemo(\n () => { loadModel() },\n cacheArgs\n )\n\n useLayoutEffect(() => {\n let reloadModelCallback\n\n if (args.events) {\n reloadModelCallback = args.events.addListener(\"reloadModel\", loadModel)\n }\n\n return () => {\n if (reloadModelCallback) {\n args.events.removeListener(\"reloadModel\", loadModel)\n }\n }\n }, [args.events])\n\n useLayoutEffect(() => {\n let connectUpdated\n\n if (s.s.model && args.eventUpdated) {\n connectUpdated = ModelEvents.connectUpdated(s.s.model, loadModel)\n }\n\n return () => {\n connectUpdated?.unsubscribe()\n }\n }, [args.eventUpdated, s.s.model?.id()])\n\n useLayoutEffect(() => {\n Devise.events().addListener(\"onDeviseSignIn\", onSignedIn)\n Devise.events().addListener(\"onDeviseSignOut\", onSignedOut)\n\n return () => {\n Devise.events().removeListener(\"onDeviseSignIn\", onSignedIn)\n Devise.events().removeListener(\"onDeviseSignOut\", onSignedOut)\n }\n })\n\n useLayoutEffect(() => {\n let connectDestroyed\n\n if (s.s.model && args.onDestroyed) {\n connectDestroyed = ModelEvents.connectDestroyed(s.s.model, onDestroyed)\n }\n\n return () => {\n connectDestroyed?.unsubscribe()\n }\n }, [args.onDestroyed, s.s.model?.id()])\n\n const result = {\n model: s.s.model,\n modelId,\n notFound: s.s.notFound\n }\n\n result[modelVariableName] = s.s.model\n result[`${modelVariableName}Id`] = modelId\n result[`${modelVariableName}NotFound`] = s.s.notFound\n\n return result\n}\n\nexport default useModel\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-resize-observer.js","names":["useCallback","useLayoutEffect","useMemo","useShape","useResizeObserver","element","callback","s","onResize","args","p","observer","ResizeObserver","observe","disconnect"],"sources":["../src/use-resize-observer.js"],"sourcesContent":["import {useCallback, useLayoutEffect, useMemo} from \"react\"\nimport useShape from \"set-state-compare/src/use-shape\"\n\nconst useResizeObserver = (element, callback) => {\n const s = useShape({callback})\n const onResize = useCallback((...args) => {\n s.p.callback(...args)\n }, [])\n const observer = useMemo(() => new ResizeObserver(onResize), [])\n\n useLayoutEffect(() => {\n if (element) {\n observer.observe(element)\n }\n\n return () => {\n if (element) {\n observer.disconnect()\n }\n }\n }, [element])\n}\n\nexport default useResizeObserver\n"],"mappings":"AAAA,SAAQA,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAO,OAAO;AAC3D,OAAOC,QAAQ,MAAM,iCAAiC;AAEtD,MAAMC,iBAAiB,GAAGA,CAACC,OAAO,EAAEC,QAAQ,KAAK;EAC/C,MAAMC,CAAC,GAAGJ,QAAQ,CAAC;IAACG;EAAQ,CAAC,CAAC;EAC9B,MAAME,QAAQ,GAAGR,WAAW,CAAC,CAAC,GAAGS,IAAI,KAAK;IACxCF,CAAC,CAACG,CAAC,CAACJ,QAAQ,CAAC,GAAGG,IAAI,CAAC;EACvB,CAAC,EAAE,EAAE,CAAC;EACN,MAAME,QAAQ,GAAGT,OAAO,CAAC,MAAM,IAAIU,cAAc,CAACJ,QAAQ,CAAC,EAAE,EAAE,CAAC;EAEhEP,eAAe,CAAC,MAAM;IACpB,IAAII,OAAO,EAAE;MACXM,QAAQ,CAACE,OAAO,CAACR,OAAO,CAAC;IAC3B;IAEA,OAAO,MAAM;MACX,IAAIA,OAAO,EAAE;QACXM,QAAQ,CAACG,UAAU,CAAC,CAAC;MACvB;IACF,CAAC;EACH,CAAC,EAAE,CAACT,OAAO,CAAC,CAAC;AACf,CAAC;AAED,eAAeD,iBAAiB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-router.js","names":["config","escapeStringRegexp","inflection","PropTypes","useCallback","useMemo","useShape","useRouter","props","s","findRouteParams","routeDefinition","result","parts","path","split","part","match","push","getPath","p","window","location","pathname","replace","getRouteDefinitions","routeDefinitions","getRoutes","routes","parseRouteDefinitions","Locales","require","default","regex","parsedRouteDefinitions","locale","availableLocales","routePathName","camelize","name","params","Error","Object","keys","routePath","groups","pathRegexString","variableName","pathRegex","RegExp","updateMeta","findMatchingRoute","parsedRouteDefinition","m","matched","groupKey","groupName","Number","matchingRoute","propTypes","string","object"],"sources":["../src/use-router.jsx"],"sourcesContent":["import config from \"./config\"\nimport escapeStringRegexp from \"escape-string-regexp\"\nimport * as inflection from \"inflection\"\nimport PropTypes from \"prop-types\"\nimport {useCallback, useMemo} from \"react\"\nimport useShape from \"set-state-compare/src/use-shape\"\n\nconst useRouter = (props) => {\n const s = useShape(props)\n\n const findRouteParams = useCallback((routeDefinition) => {\n const result = []\n const parts = routeDefinition.path.split(\"/\")\n\n for (const part of parts) {\n if (part.match(/^:([a-z_]+)$/))\n result.push(part)\n }\n\n return result\n }, [])\n\n const getPath = useCallback(() => {\n let path = s.p.path || window.location.pathname\n\n path = path.replace(/[/]+$/, \"\")\n\n return path\n }, [])\n\n const getRouteDefinitions = useCallback(() => s.p.routeDefinitions || config.getRouteDefinitions(), [])\n const getRoutes = useCallback(() => s.p.routes || config.getRoutes(), [])\n\n const parseRouteDefinitions = useCallback(() => {\n const Locales = require(\"shared/locales\").default\n const routeDefinitions = getRouteDefinitions()\n const routes = getRoutes()\n const regex = /:([A-z\\d_]+)/\n const parsedRouteDefinitions = []\n\n for (const locale of Locales.availableLocales()) {\n for (const routeDefinition of routeDefinitions.routes) {\n const routePathName = `${inflection.camelize(routeDefinition.name, true)}Path`\n const params = findRouteParams(routeDefinition)\n\n params.push({locale})\n\n if (!(routePathName in routes))\n throw new Error(`${routePathName} not found in routes: ${Object.keys(routes, \", \")}`)\n\n const routePath = routes[routePathName](...params).replace(/[/]+$/, \"\")\n const groups = []\n let pathRegexString = \"^\"\n\n pathRegexString += escapeStringRegexp(routePath)\n\n while (true) {\n const match = pathRegexString.match(regex)\n\n if (!match) break\n\n const variableName = match[1]\n\n groups.push(variableName)\n\n pathRegexString = pathRegexString.replace(match[0], \"([^/]+)\")\n }\n\n pathRegexString += \"$\"\n\n const pathRegex = new RegExp(pathRegexString)\n\n parsedRouteDefinitions.push({groups, pathRegex, routeDefinition})\n }\n }\n\n return parsedRouteDefinitions\n }, [])\n\n const parsedRouteDefinitions = useMemo(() => parseRouteDefinitions(), [])\n\n s.updateMeta({parsedRouteDefinitions})\n\n const findMatchingRoute = useCallback(() => {\n const path = getPath()\n\n for (const parsedRouteDefinition of s.m.parsedRouteDefinitions) {\n const match = path.match(parsedRouteDefinition.pathRegex)\n let matched, params\n\n if (match) {\n matched = true\n params = {}\n\n for (const groupKey in parsedRouteDefinition.groups) {\n const groupName = parsedRouteDefinition.groups[groupKey]\n\n params[groupName] = match[Number(groupKey) + 1]\n }\n }\n\n if (path == \"\" && parsedRouteDefinition.routeDefinition.path == \"/\") matched = true\n if (matched) {\n return {params, parsedRouteDefinition}\n }\n }\n }, [])\n\n const matchingRoute = findMatchingRoute()\n const params = matchingRoute?.params || {}\n const match = {\n matchingRoute,\n params\n }\n\n return {match}\n}\n\nuseRouter.propTypes = {\n path: PropTypes.string,\n routeDefinitions: PropTypes.object,\n routes: PropTypes.object\n}\n\nexport default useRouter\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-screen-layout.js","names":["Platform","useWindowDimensions","getWindowLayout","width","console","error","useScreenLayout","OS","shared","useMemo","window","innerWidth","screenLayout","setScreenLayout","useState","onResize","useCallback","newWindowLayout","screenlayout","useEventListener","windowDimensions"],"sources":["../src/use-screen-layout.js"],"sourcesContent":["import {Platform, useWindowDimensions} from \"react-native\"\n\nconst getWindowLayout = (width) => {\n if (width <= 575) {\n return \"xs\"\n } else if (width <= 767) {\n return \"sm\"\n } else if (width <= 991) {\n return \"md\"\n } else if (width <= 1199) {\n return \"lg\"\n } else if (width <= 1399) {\n return \"xl\"\n } else if (width >= 1400) {\n return \"xxl\"\n } else {\n console.error(`Couldn't determine window layout from width: ${width}`)\n }\n}\n\nconst useScreenLayout = () => {\n if (Platform.OS == \"web\") {\n const shared = useMemo(() => ({}))\n\n shared.width = window.innerWidth\n\n const [screenLayout, setScreenLayout] = useState(() => getWindowLayout(shared.width))\n\n const onResize = useCallback(() => {\n const newWindowLayout = getWindowLayout(window.innerWidth)\n\n if (shared.screenlayout != newWindowLayout) {\n setScreenLayout(newWindowLayout)\n }\n }, [])\n\n useEventListener(window, \"resize\", onResize)\n\n shared.screenLayout = screenLayout\n\n return shared.screenLayout\n } else {\n const windowDimensions = useWindowDimensions()\n\n return getWindowLayout(windowDimensions.width)\n }\n}\n\nexport default useScreenLayout\n"],"mappings":"AAAA,SAAQA,QAAQ,EAAEC,mBAAmB,QAAO,cAAc;AAE1D,MAAMC,eAAe,GAAIC,KAAK,IAAK;EACjC,IAAIA,KAAK,IAAI,GAAG,EAAE;IAChB,OAAO,IAAI;EACb,CAAC,MAAM,IAAIA,KAAK,IAAI,GAAG,EAAE;IACvB,OAAO,IAAI;EACb,CAAC,MAAM,IAAIA,KAAK,IAAI,GAAG,EAAE;IACvB,OAAO,IAAI;EACb,CAAC,MAAM,IAAIA,KAAK,IAAI,IAAI,EAAE;IACxB,OAAO,IAAI;EACb,CAAC,MAAM,IAAIA,KAAK,IAAI,IAAI,EAAE;IACxB,OAAO,IAAI;EACb,CAAC,MAAM,IAAIA,KAAK,IAAI,IAAI,EAAE;IACxB,OAAO,KAAK;EACd,CAAC,MAAM;IACLC,OAAO,CAACC,KAAK,CAAC,gDAAgDF,KAAK,EAAE,CAAC;EACxE;AACF,CAAC;AAED,MAAMG,eAAe,GAAGA,CAAA,KAAM;EAC5B,IAAIN,QAAQ,CAACO,EAAE,IAAI,KAAK,EAAE;IACxB,MAAMC,MAAM,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAElCD,MAAM,CAACL,KAAK,GAAGO,MAAM,CAACC,UAAU;IAEhC,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,QAAQ,CAAC,MAAMZ,eAAe,CAACM,MAAM,CAACL,KAAK,CAAC,CAAC;IAErF,MAAMY,QAAQ,GAAGC,WAAW,CAAC,MAAM;MACjC,MAAMC,eAAe,GAAGf,eAAe,CAACQ,MAAM,CAACC,UAAU,CAAC;MAE1D,IAAIH,MAAM,CAACU,YAAY,IAAID,eAAe,EAAE;QAC1CJ,eAAe,CAACI,eAAe,CAAC;MAClC;IACF,CAAC,EAAE,EAAE,CAAC;IAENE,gBAAgB,CAACT,MAAM,EAAE,QAAQ,EAAEK,QAAQ,CAAC;IAE5CP,MAAM,CAACI,YAAY,GAAGA,YAAY;IAElC,OAAOJ,MAAM,CAACI,YAAY;EAC5B,CAAC,MAAM;IACL,MAAMQ,gBAAgB,GAAGnB,mBAAmB,CAAC,CAAC;IAE9C,OAAOC,eAAe,CAACkB,gBAAgB,CAACjB,KAAK,CAAC;EAChD;AACF,CAAC;AAED,eAAeG,eAAe","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-updated-event.js","names":["useCallback","useLayoutEffect","useMemo","debounceFunction","ModelEvents","useShape","apiMakerUseUpdatedEvent","model","onUpdated","props","active","debounce","onConnected","restProps","Object","keys","length","Error","join","s","debounceCallback","p","updateMeta","onUpdatedCallback","args","m","connectUpdated","onConnectedListener","events","addListener","removeListener","unsubscribe","id"],"sources":["../src/use-updated-event.js"],"sourcesContent":["import {useCallback, useLayoutEffect, useMemo} from \"react\"\nimport debounceFunction from \"debounce\"\nimport ModelEvents from \"./model-events\"\nimport useShape from \"set-state-compare/src/use-shape\"\n\nconst apiMakerUseUpdatedEvent = (model, onUpdated, props = {}) => {\n const {active = true, debounce, onConnected, ...restProps} = props\n\n if (Object.keys(restProps).length > 0) {\n throw new Error(`Unknown props given to useUpdatedEvent: ${Object.keys(restProps).join(\", \")}`)\n }\n\n const s = useShape({active, debounce, model, onUpdated})\n\n const debounceCallback = useMemo(() => {\n if (typeof debounce == \"number\") {\n return debounceFunction(s.p.onUpdated, debounce)\n } else {\n return debounceFunction(s.p.onUpdated)\n }\n }, [debounce])\n\n s.updateMeta({debounceCallback})\n\n const onUpdatedCallback = useCallback((...args) => {\n if (!s.p.active) {\n return\n }\n\n if (s.p.debounce) {\n s.m.debounceCallback(...args)\n } else {\n s.p.onUpdated(...args)\n }\n }, [])\n\n useLayoutEffect(() => {\n let connectUpdated, onConnectedListener\n\n if (model) {\n connectUpdated = ModelEvents.connectUpdated(model, onUpdatedCallback)\n\n if (onConnected) {\n onConnectedListener = connectUpdated.events.addListener(\"connected\", onConnected)\n }\n }\n\n return () => {\n if (onConnectedListener) {\n connectUpdated.events.removeListener(\"connected\", onConnected)\n }\n\n if (connectUpdated) {\n connectUpdated.unsubscribe()\n }\n }\n }, [model?.id()])\n}\n\nexport default apiMakerUseUpdatedEvent\n"],"mappings":"AAAA,SAAQA,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAO,OAAO;AAC3D,OAAOC,gBAAgB,MAAM,UAAU;AACvC,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,QAAQ,MAAM,iCAAiC;AAEtD,MAAMC,uBAAuB,GAAGA,CAACC,KAAK,EAAEC,SAAS,EAAEC,KAAK,GAAG,CAAC,CAAC,KAAK;EAChE,MAAM;IAACC,MAAM,GAAG,IAAI;IAAEC,QAAQ;IAAEC,WAAW;IAAE,GAAGC;EAAS,CAAC,GAAGJ,KAAK;EAElE,IAAIK,MAAM,CAACC,IAAI,CAACF,SAAS,CAAC,CAACG,MAAM,GAAG,CAAC,EAAE;IACrC,MAAM,IAAIC,KAAK,CAAC,2CAA2CH,MAAM,CAACC,IAAI,CAACF,SAAS,CAAC,CAACK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;EACjG;EAEA,MAAMC,CAAC,GAAGd,QAAQ,CAAC;IAACK,MAAM;IAAEC,QAAQ;IAAEJ,KAAK;IAAEC;EAAS,CAAC,CAAC;EAExD,MAAMY,gBAAgB,GAAGlB,OAAO,CAAC,MAAM;IACrC,IAAI,OAAOS,QAAQ,IAAI,QAAQ,EAAE;MAC/B,OAAOR,gBAAgB,CAACgB,CAAC,CAACE,CAAC,CAACb,SAAS,EAAEG,QAAQ,CAAC;IAClD,CAAC,MAAM;MACL,OAAOR,gBAAgB,CAACgB,CAAC,CAACE,CAAC,CAACb,SAAS,CAAC;IACxC;EACF,CAAC,EAAE,CAACG,QAAQ,CAAC,CAAC;EAEdQ,CAAC,CAACG,UAAU,CAAC;IAACF;EAAgB,CAAC,CAAC;EAEhC,MAAMG,iBAAiB,GAAGvB,WAAW,CAAC,CAAC,GAAGwB,IAAI,KAAK;IACjD,IAAI,CAACL,CAAC,CAACE,CAAC,CAACX,MAAM,EAAE;MACf;IACF;IAEA,IAAIS,CAAC,CAACE,CAAC,CAACV,QAAQ,EAAE;MAChBQ,CAAC,CAACM,CAAC,CAACL,gBAAgB,CAAC,GAAGI,IAAI,CAAC;IAC/B,CAAC,MAAM;MACLL,CAAC,CAACE,CAAC,CAACb,SAAS,CAAC,GAAGgB,IAAI,CAAC;IACxB;EACF,CAAC,EAAE,EAAE,CAAC;EAENvB,eAAe,CAAC,MAAM;IACpB,IAAIyB,cAAc,EAAEC,mBAAmB;IAEvC,IAAIpB,KAAK,EAAE;MACTmB,cAAc,GAAGtB,WAAW,CAACsB,cAAc,CAACnB,KAAK,EAAEgB,iBAAiB,CAAC;MAErE,IAAIX,WAAW,EAAE;QACfe,mBAAmB,GAAGD,cAAc,CAACE,MAAM,CAACC,WAAW,CAAC,WAAW,EAAEjB,WAAW,CAAC;MACnF;IACF;IAEA,OAAO,MAAM;MACX,IAAIe,mBAAmB,EAAE;QACvBD,cAAc,CAACE,MAAM,CAACE,cAAc,CAAC,WAAW,EAAElB,WAAW,CAAC;MAChE;MAEA,IAAIc,cAAc,EAAE;QAClBA,cAAc,CAACK,WAAW,CAAC,CAAC;MAC9B;IACF,CAAC;EACH,CAAC,EAAE,CAACxB,KAAK,EAAEyB,EAAE,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,eAAe1B,uBAAuB","ignoreList":[]}