@kaspernj/api-maker 1.0.2055 → 1.0.2057

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 (399) hide show
  1. package/build/api.js +22 -16
  2. package/build/attribute-not-loaded-error.js +5 -2
  3. package/build/base-component.js +6 -3
  4. package/build/base-error.js +15 -9
  5. package/build/base-model/attribute.js +10 -4
  6. package/build/base-model/column.js +5 -2
  7. package/build/base-model/reflection.js +49 -10
  8. package/build/base-model/scope.js +41 -5
  9. package/build/base-model.js +115 -76
  10. package/build/bootstrap/attribute-row.js +71 -33
  11. package/build/bootstrap/attribute-rows.js +20 -15
  12. package/build/bootstrap/card.js +72 -34
  13. package/build/bootstrap/checkbox.js +35 -30
  14. package/build/bootstrap/checkboxes.js +69 -31
  15. package/build/bootstrap/index.d.ts +1 -0
  16. package/build/bootstrap/index.js +3 -1
  17. package/build/bootstrap/input.js +48 -43
  18. package/build/bootstrap/invalid-feedback.js +17 -11
  19. package/build/bootstrap/paginate.js +73 -35
  20. package/build/bootstrap/radio-buttons.js +33 -28
  21. package/build/bootstrap/select.js +34 -29
  22. package/build/bootstrap/sort-link.js +68 -30
  23. package/build/cable-connection-pool.js +18 -12
  24. package/build/cable-subscription-pool.js +58 -19
  25. package/build/cable-subscription.d.ts +2 -2
  26. package/build/cable-subscription.d.ts.map +1 -1
  27. package/build/cable-subscription.js +12 -6
  28. package/build/cache-key-generator.js +11 -5
  29. package/build/can-can.d.ts +2 -2
  30. package/build/can-can.d.ts.map +1 -1
  31. package/build/can-can.js +56 -17
  32. package/build/channels-consumer.js +10 -5
  33. package/build/collection-loader.js +36 -31
  34. package/build/collection.d.ts.map +1 -1
  35. package/build/collection.js +58 -20
  36. package/build/command-submit-data.d.ts +1 -1
  37. package/build/command-submit-data.d.ts.map +1 -1
  38. package/build/command-submit-data.js +10 -4
  39. package/build/commands-pool.js +39 -33
  40. package/build/compose.js +5 -2
  41. package/build/config.d.ts +3 -3
  42. package/build/config.d.ts.map +1 -1
  43. package/build/config.js +40 -6
  44. package/build/custom-error.js +9 -4
  45. package/build/data-set-to-attributes.js +39 -3
  46. package/build/deserializer.js +57 -18
  47. package/build/destroy-error.js +9 -4
  48. package/build/devise.d.ts +1 -1
  49. package/build/devise.d.ts.map +1 -1
  50. package/build/devise.js +55 -16
  51. package/build/draggable-sort/controller.js +14 -11
  52. package/build/draggable-sort/index.js +69 -31
  53. package/build/draggable-sort/item.js +70 -32
  54. package/build/error-logger.js +14 -8
  55. package/build/error-messages.js +8 -5
  56. package/build/event-connection.js +18 -12
  57. package/build/event-emitter-listener.js +9 -4
  58. package/build/event-model-class.js +17 -11
  59. package/build/events.d.ts +2 -2
  60. package/build/events.d.ts.map +1 -1
  61. package/build/events.js +6 -5
  62. package/build/form.js +69 -27
  63. package/build/history-expo.js +11 -6
  64. package/build/history-react-native.js +14 -9
  65. package/build/history.js +5 -3
  66. package/build/index.js +5 -2
  67. package/build/inputs/attachment.js +29 -24
  68. package/build/inputs/auto-submit.js +42 -6
  69. package/build/inputs/checkbox.js +73 -35
  70. package/build/inputs/checkboxes.js +68 -30
  71. package/build/inputs/id-for-component.js +39 -3
  72. package/build/inputs/input-wrapper.js +12 -7
  73. package/build/inputs/input.js +101 -62
  74. package/build/inputs/money.js +85 -47
  75. package/build/inputs/name-for-component.js +39 -3
  76. package/build/inputs/select.js +32 -26
  77. package/build/instance-of-class-name.js +7 -5
  78. package/build/is-expo.js +8 -6
  79. package/build/key-value-store.js +10 -4
  80. package/build/link.js +21 -16
  81. package/build/logger.js +5 -2
  82. package/build/merge-styles.js +7 -4
  83. package/build/modal.js +15 -10
  84. package/build/model-class-require.js +39 -4
  85. package/build/model-events.js +20 -14
  86. package/build/model-name.js +44 -5
  87. package/build/model-prop-type.js +15 -9
  88. package/build/model-recipes-loader.js +14 -8
  89. package/build/model-recipes-model-loader.d.ts +1 -1
  90. package/build/model-recipes-model-loader.js +57 -18
  91. package/build/models-response-reader.js +46 -7
  92. package/build/models.js +10 -5
  93. package/build/money-formatter.d.ts +2 -2
  94. package/build/money-formatter.d.ts.map +1 -1
  95. package/build/money-formatter.js +19 -13
  96. package/build/not-loaded-error.js +5 -2
  97. package/build/params.js +19 -13
  98. package/build/preloaded.js +44 -5
  99. package/build/resize-observer.js +11 -6
  100. package/build/rest-props-validator.js +4 -2
  101. package/build/result.js +5 -2
  102. package/build/router/route.js +82 -40
  103. package/build/router/switch.js +56 -17
  104. package/build/router.js +59 -21
  105. package/build/routes-native.js +54 -15
  106. package/build/routes.js +49 -13
  107. package/build/run-last.js +5 -2
  108. package/build/serializer.js +8 -5
  109. package/build/services.js +10 -4
  110. package/build/session-status-updater.js +53 -14
  111. package/build/source-maps-loader.js +50 -11
  112. package/build/super-admin/config-reader.d.ts +2 -2
  113. package/build/super-admin/config-reader.js +45 -9
  114. package/build/super-admin/edit-page/edit-attribute-checkbox.js +61 -23
  115. package/build/super-admin/edit-page/edit-attribute-content.js +21 -16
  116. package/build/super-admin/edit-page/edit-attribute-input.js +59 -21
  117. package/build/super-admin/edit-page/edit-attribute.js +65 -27
  118. package/build/super-admin/edit-page.js +72 -34
  119. package/build/super-admin/has-edit-config.js +9 -4
  120. package/build/super-admin/index-page.js +17 -12
  121. package/build/super-admin/index.js +84 -46
  122. package/build/super-admin/layout/header/index.js +63 -25
  123. package/build/super-admin/layout/index.js +78 -40
  124. package/build/super-admin/layout/menu/index.js +47 -42
  125. package/build/super-admin/layout/menu/menu-content.js +60 -22
  126. package/build/super-admin/layout/menu/menu-item.js +23 -18
  127. package/build/super-admin/layout/no-access.js +20 -15
  128. package/build/super-admin/model-class-table.js +64 -26
  129. package/build/super-admin/models.js +38 -3
  130. package/build/super-admin/show-nav.js +61 -23
  131. package/build/super-admin/show-page/belongs-to-attribute-row.js +52 -14
  132. package/build/super-admin/show-page/index.js +63 -25
  133. package/build/super-admin/show-reflection-actions.js +62 -24
  134. package/build/super-admin/show-reflection-link.js +19 -14
  135. package/build/super-admin/show-reflection-page.js +63 -25
  136. package/build/table/column-content.js +54 -15
  137. package/build/table/column-identifier.js +5 -2
  138. package/build/table/column-visible.js +5 -2
  139. package/build/table/components/column.js +14 -9
  140. package/build/table/components/flat-list.js +14 -9
  141. package/build/table/components/header.js +16 -11
  142. package/build/table/components/row.js +16 -11
  143. package/build/table/filters/attribute-element.js +26 -21
  144. package/build/table/filters/filter-form.js +109 -71
  145. package/build/table/filters/filter.js +29 -24
  146. package/build/table/filters/index.js +43 -38
  147. package/build/table/filters/load-search-modal.js +64 -26
  148. package/build/table/filters/reflection-element.js +22 -17
  149. package/build/table/filters/save-search-modal.js +27 -22
  150. package/build/table/filters/scope-element.js +19 -14
  151. package/build/table/header-column-content.js +27 -22
  152. package/build/table/header-column.js +71 -33
  153. package/build/table/header-select.js +29 -24
  154. package/build/table/model-callback-args.js +39 -3
  155. package/build/table/model-column.js +75 -37
  156. package/build/table/model-row.js +79 -41
  157. package/build/table/select-calculator.js +52 -13
  158. package/build/table/settings/column-row.js +57 -19
  159. package/build/table/settings/download-action.js +31 -26
  160. package/build/table/settings/index.js +61 -23
  161. package/build/table/table-settings.js +70 -31
  162. package/build/table/table.js +196 -158
  163. package/build/table/use-sorting.js +12 -6
  164. package/build/table/widths.js +12 -9
  165. package/build/table/worker-plugins-check-all-checkbox.js +64 -26
  166. package/build/table/worker-plugins-checkbox.js +61 -23
  167. package/build/translated-attributes.js +5 -2
  168. package/build/translated-collections.js +14 -8
  169. package/build/updated-attribute.js +21 -15
  170. package/build/url-encode.js +10 -4
  171. package/build/use-breakpoint.js +58 -20
  172. package/build/use-can-can.js +21 -15
  173. package/build/use-collection.js +70 -32
  174. package/build/use-created-event.js +27 -22
  175. package/build/use-current-user-context.js +74 -36
  176. package/build/use-current-user.d.ts +2 -2
  177. package/build/use-current-user.d.ts.map +1 -1
  178. package/build/use-current-user.js +17 -11
  179. package/build/use-destroyed-event.js +18 -13
  180. package/build/use-event-emitter.d.ts +1 -2
  181. package/build/use-event-emitter.d.ts.map +1 -1
  182. package/build/use-event-emitter.js +14 -9
  183. package/build/use-event-listener.js +12 -7
  184. package/build/use-input.js +33 -28
  185. package/build/use-model-event.js +18 -13
  186. package/build/use-model.js +65 -27
  187. package/build/use-resize-observer.js +13 -8
  188. package/build/use-router.js +62 -24
  189. package/build/use-screen-layout.js +7 -5
  190. package/build/use-styles.js +52 -13
  191. package/build/use-updated-event.js +18 -13
  192. package/build/use-validation-errors.js +14 -9
  193. package/build/utils/button.js +33 -28
  194. package/build/utils/card.js +61 -23
  195. package/build/utils/checkbox.js +60 -22
  196. package/build/utils/checkboxes.js +78 -40
  197. package/build/utils/default-style.js +56 -15
  198. package/build/utils/header.js +12 -7
  199. package/build/utils/icon.js +61 -23
  200. package/build/utils/invalid-feedback.js +17 -12
  201. package/build/utils/modal.js +55 -17
  202. package/build/utils/text.js +14 -9
  203. package/build/validation-error.js +45 -6
  204. package/build/validation-errors.js +59 -19
  205. package/build/with-api-maker.js +52 -12
  206. package/build/with-collection.js +50 -12
  207. package/build/with-current-user.js +12 -7
  208. package/build/with-model.js +14 -9
  209. package/build/with-router.js +12 -7
  210. package/package.json +5 -3
  211. package/build/api.js.map +0 -1
  212. package/build/attribute-not-loaded-error.js.map +0 -1
  213. package/build/base-component.js.map +0 -1
  214. package/build/base-error.js.map +0 -1
  215. package/build/base-model/attribute.js.map +0 -1
  216. package/build/base-model/column.js.map +0 -1
  217. package/build/base-model/reflection.js.map +0 -1
  218. package/build/base-model/scope.js.map +0 -1
  219. package/build/base-model.js.map +0 -1
  220. package/build/bootstrap/attribute-row.js.map +0 -1
  221. package/build/bootstrap/attribute-rows.js.map +0 -1
  222. package/build/bootstrap/card.js.map +0 -1
  223. package/build/bootstrap/checkbox.js.map +0 -1
  224. package/build/bootstrap/checkboxes.js.map +0 -1
  225. package/build/bootstrap/index.js.map +0 -1
  226. package/build/bootstrap/input.js.map +0 -1
  227. package/build/bootstrap/invalid-feedback.js.map +0 -1
  228. package/build/bootstrap/paginate.js.map +0 -1
  229. package/build/bootstrap/radio-buttons.js.map +0 -1
  230. package/build/bootstrap/select.js.map +0 -1
  231. package/build/bootstrap/sort-link.js.map +0 -1
  232. package/build/cable-connection-pool.js.map +0 -1
  233. package/build/cable-subscription-pool.js.map +0 -1
  234. package/build/cable-subscription.js.map +0 -1
  235. package/build/cache-key-generator.js.map +0 -1
  236. package/build/can-can.js.map +0 -1
  237. package/build/channels-consumer.js.map +0 -1
  238. package/build/collection-loader.js.map +0 -1
  239. package/build/collection.js.map +0 -1
  240. package/build/command-submit-data.js.map +0 -1
  241. package/build/commands-pool.js.map +0 -1
  242. package/build/compose.js.map +0 -1
  243. package/build/config.js.map +0 -1
  244. package/build/custom-error.js.map +0 -1
  245. package/build/data-set-to-attributes.js.map +0 -1
  246. package/build/deserializer.js.map +0 -1
  247. package/build/destroy-error.js.map +0 -1
  248. package/build/devise.js.map +0 -1
  249. package/build/draggable-sort/controller.js.map +0 -1
  250. package/build/draggable-sort/index.js.map +0 -1
  251. package/build/draggable-sort/item.js.map +0 -1
  252. package/build/error-logger.js.map +0 -1
  253. package/build/error-messages.js.map +0 -1
  254. package/build/event-connection.js.map +0 -1
  255. package/build/event-emitter-listener.js.map +0 -1
  256. package/build/event-model-class.js.map +0 -1
  257. package/build/events.js.map +0 -1
  258. package/build/form.js.map +0 -1
  259. package/build/history-expo.js.map +0 -1
  260. package/build/history-react-native.js.map +0 -1
  261. package/build/history.js.map +0 -1
  262. package/build/index.js.map +0 -1
  263. package/build/inputs/attachment.js.map +0 -1
  264. package/build/inputs/auto-submit.js.map +0 -1
  265. package/build/inputs/checkbox.js.map +0 -1
  266. package/build/inputs/checkboxes.js.map +0 -1
  267. package/build/inputs/id-for-component.js.map +0 -1
  268. package/build/inputs/input-wrapper.js.map +0 -1
  269. package/build/inputs/input.js.map +0 -1
  270. package/build/inputs/money.js.map +0 -1
  271. package/build/inputs/name-for-component.js.map +0 -1
  272. package/build/inputs/select.js.map +0 -1
  273. package/build/instance-of-class-name.js.map +0 -1
  274. package/build/is-expo.js.map +0 -1
  275. package/build/key-value-store.js.map +0 -1
  276. package/build/link.js.map +0 -1
  277. package/build/logger.js.map +0 -1
  278. package/build/merge-styles.js.map +0 -1
  279. package/build/modal.js.map +0 -1
  280. package/build/model-class-require.js.map +0 -1
  281. package/build/model-events.js.map +0 -1
  282. package/build/model-name.js.map +0 -1
  283. package/build/model-prop-type.js.map +0 -1
  284. package/build/model-recipes-loader.js.map +0 -1
  285. package/build/model-recipes-model-loader.js.map +0 -1
  286. package/build/models-response-reader.js.map +0 -1
  287. package/build/models.js.map +0 -1
  288. package/build/money-formatter.js.map +0 -1
  289. package/build/not-loaded-error.js.map +0 -1
  290. package/build/params.js.map +0 -1
  291. package/build/preloaded.js.map +0 -1
  292. package/build/resize-observer.js.map +0 -1
  293. package/build/rest-props-validator.js.map +0 -1
  294. package/build/result.js.map +0 -1
  295. package/build/router/route.js.map +0 -1
  296. package/build/router/switch.js.map +0 -1
  297. package/build/router.js.map +0 -1
  298. package/build/routes-native.js.map +0 -1
  299. package/build/routes.js.map +0 -1
  300. package/build/run-last.js.map +0 -1
  301. package/build/serializer.js.map +0 -1
  302. package/build/services.js.map +0 -1
  303. package/build/session-status-updater.js.map +0 -1
  304. package/build/source-maps-loader.d.ts +0 -37
  305. package/build/source-maps-loader.d.ts.map +0 -1
  306. package/build/source-maps-loader.js.map +0 -1
  307. package/build/super-admin/config-reader.js.map +0 -1
  308. package/build/super-admin/edit-page/edit-attribute-checkbox.js.map +0 -1
  309. package/build/super-admin/edit-page/edit-attribute-content.js.map +0 -1
  310. package/build/super-admin/edit-page/edit-attribute-input.js.map +0 -1
  311. package/build/super-admin/edit-page/edit-attribute.js.map +0 -1
  312. package/build/super-admin/edit-page.js.map +0 -1
  313. package/build/super-admin/has-edit-config.js.map +0 -1
  314. package/build/super-admin/index-page.js.map +0 -1
  315. package/build/super-admin/index.js.map +0 -1
  316. package/build/super-admin/layout/header/index.js.map +0 -1
  317. package/build/super-admin/layout/index.js.map +0 -1
  318. package/build/super-admin/layout/menu/index.js.map +0 -1
  319. package/build/super-admin/layout/menu/menu-content.js.map +0 -1
  320. package/build/super-admin/layout/menu/menu-item.js.map +0 -1
  321. package/build/super-admin/layout/no-access.js.map +0 -1
  322. package/build/super-admin/model-class-table.js.map +0 -1
  323. package/build/super-admin/models.js.map +0 -1
  324. package/build/super-admin/show-nav.js.map +0 -1
  325. package/build/super-admin/show-page/belongs-to-attribute-row.js.map +0 -1
  326. package/build/super-admin/show-page/index.js.map +0 -1
  327. package/build/super-admin/show-reflection-actions.js.map +0 -1
  328. package/build/super-admin/show-reflection-link.js.map +0 -1
  329. package/build/super-admin/show-reflection-page.js.map +0 -1
  330. package/build/table/column-content.js.map +0 -1
  331. package/build/table/column-identifier.js.map +0 -1
  332. package/build/table/column-visible.js.map +0 -1
  333. package/build/table/components/column.js.map +0 -1
  334. package/build/table/components/flat-list.js.map +0 -1
  335. package/build/table/components/header.js.map +0 -1
  336. package/build/table/components/row.js.map +0 -1
  337. package/build/table/filters/attribute-element.js.map +0 -1
  338. package/build/table/filters/filter-form.js.map +0 -1
  339. package/build/table/filters/filter.js.map +0 -1
  340. package/build/table/filters/index.js.map +0 -1
  341. package/build/table/filters/load-search-modal.js.map +0 -1
  342. package/build/table/filters/reflection-element.js.map +0 -1
  343. package/build/table/filters/save-search-modal.js.map +0 -1
  344. package/build/table/filters/scope-element.js.map +0 -1
  345. package/build/table/header-column-content.js.map +0 -1
  346. package/build/table/header-column.js.map +0 -1
  347. package/build/table/header-select.js.map +0 -1
  348. package/build/table/model-callback-args.js.map +0 -1
  349. package/build/table/model-column.js.map +0 -1
  350. package/build/table/model-row.js.map +0 -1
  351. package/build/table/select-calculator.js.map +0 -1
  352. package/build/table/settings/column-row.js.map +0 -1
  353. package/build/table/settings/download-action.js.map +0 -1
  354. package/build/table/settings/index.js.map +0 -1
  355. package/build/table/table-settings.js.map +0 -1
  356. package/build/table/table.js.map +0 -1
  357. package/build/table/use-sorting.js.map +0 -1
  358. package/build/table/widths.js.map +0 -1
  359. package/build/table/worker-plugins-check-all-checkbox.js.map +0 -1
  360. package/build/table/worker-plugins-checkbox.js.map +0 -1
  361. package/build/translated-attributes.js.map +0 -1
  362. package/build/translated-collections.js.map +0 -1
  363. package/build/updated-attribute.js.map +0 -1
  364. package/build/url-encode.js.map +0 -1
  365. package/build/use-breakpoint.js.map +0 -1
  366. package/build/use-can-can.js.map +0 -1
  367. package/build/use-collection.js.map +0 -1
  368. package/build/use-created-event.js.map +0 -1
  369. package/build/use-current-user-context.js.map +0 -1
  370. package/build/use-current-user.js.map +0 -1
  371. package/build/use-destroyed-event.js.map +0 -1
  372. package/build/use-event-emitter.js.map +0 -1
  373. package/build/use-event-listener.js.map +0 -1
  374. package/build/use-input.js.map +0 -1
  375. package/build/use-model-event.js.map +0 -1
  376. package/build/use-model.js.map +0 -1
  377. package/build/use-resize-observer.js.map +0 -1
  378. package/build/use-router.js.map +0 -1
  379. package/build/use-screen-layout.js.map +0 -1
  380. package/build/use-styles.js.map +0 -1
  381. package/build/use-updated-event.js.map +0 -1
  382. package/build/use-validation-errors.js.map +0 -1
  383. package/build/utils/button.js.map +0 -1
  384. package/build/utils/card.js.map +0 -1
  385. package/build/utils/checkbox.js.map +0 -1
  386. package/build/utils/checkboxes.js.map +0 -1
  387. package/build/utils/default-style.js.map +0 -1
  388. package/build/utils/header.js.map +0 -1
  389. package/build/utils/icon.js.map +0 -1
  390. package/build/utils/invalid-feedback.js.map +0 -1
  391. package/build/utils/modal.js.map +0 -1
  392. package/build/utils/text.js.map +0 -1
  393. package/build/validation-error.js.map +0 -1
  394. package/build/validation-errors.js.map +0 -1
  395. package/build/with-api-maker.js.map +0 -1
  396. package/build/with-collection.js.map +0 -1
  397. package/build/with-current-user.js.map +0 -1
  398. package/build/with-model.js.map +0 -1
  399. package/build/with-router.js.map +0 -1
@@ -1,25 +1,63 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { useRef } from "react";
3
- import BaseComponent from "../../base-component.js";
4
- import columnIdentifier from "../column-identifier.js";
5
- import ColumnRow from "./column-row";
6
- import DownloadAction from "./download-action";
7
- import memo from "set-state-compare/build/memo.js";
8
- import Modal from "../../modal";
9
- import PropTypes from "prop-types";
10
- import propTypesExact from "prop-types-exact";
11
- import { shapeComponent } from "set-state-compare/build/shape-component.js";
12
- import { View } from "react-native";
13
- import Text from "../../utils/text";
14
- import useI18n from "i18n-on-steroids/src/use-i18n.mjs";
15
- export default memo(shapeComponent(class ApiMakerTableSettings extends BaseComponent {
16
- static propTypes = propTypesExact({
17
- onRequestClose: PropTypes.func.isRequired,
18
- table: PropTypes.object.isRequired
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const jsx_runtime_1 = require("react/jsx-runtime");
40
+ const react_1 = __importStar(require("react"));
41
+ const base_component_js_1 = __importDefault(require("../../base-component.js"));
42
+ const column_identifier_js_1 = __importDefault(require("../column-identifier.js"));
43
+ const column_row_1 = __importDefault(require("./column-row"));
44
+ const download_action_1 = __importDefault(require("./download-action"));
45
+ const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
46
+ const modal_1 = __importDefault(require("../../modal"));
47
+ const prop_types_1 = __importDefault(require("prop-types"));
48
+ const prop_types_exact_1 = __importDefault(require("prop-types-exact"));
49
+ const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
50
+ const react_native_1 = require("react-native");
51
+ const text_1 = __importDefault(require("../../utils/text"));
52
+ const use_i18n_mjs_1 = __importDefault(require("i18n-on-steroids/src/use-i18n.mjs"));
53
+ exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class ApiMakerTableSettings extends base_component_js_1.default {
54
+ static propTypes = (0, prop_types_exact_1.default)({
55
+ onRequestClose: prop_types_1.default.func.isRequired,
56
+ table: prop_types_1.default.object.isRequired
19
57
  });
20
58
  setup() {
21
- const { l, t } = useI18n({ namespace: "js.api_maker.table.settings" });
22
- this.rootRef = useRef();
59
+ const { l, t } = (0, use_i18n_mjs_1.default)({ namespace: "js.api_maker.table.settings" });
60
+ this.rootRef = (0, react_1.useRef)();
23
61
  this.l = l;
24
62
  this.t = t;
25
63
  }
@@ -28,13 +66,13 @@ export default memo(shapeComponent(class ApiMakerTableSettings extends BaseCompo
28
66
  const { l, t } = this.tt;
29
67
  const { table } = this.p;
30
68
  const { preparedColumns } = table.s;
31
- return (_jsx(Modal, { onBackdropPress: this.p.onRequestClose, onRequestClose: this.p.onRequestClose, style: this.rootModalStyle ||= { backgroundColor: "#000" }, transparent: true, children: _jsxs(View, { dataSet: this.rootViewDataSet ||= { class: "api-maker--table--settings" }, style: this.rootViewStyle ||= {
69
+ return ((0, jsx_runtime_1.jsx)(modal_1.default, { onBackdropPress: this.p.onRequestClose, onRequestClose: this.p.onRequestClose, style: this.rootModalStyle ||= { backgroundColor: "#000" }, transparent: true, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { dataSet: this.rootViewDataSet ||= { class: "api-maker--table--settings" }, style: this.rootViewStyle ||= {
32
70
  width: "100%",
33
71
  maxWidth: 800,
34
72
  padding: 20,
35
73
  backgroundColor: "#fff",
36
74
  border: "1px solid black"
37
- }, children: [_jsx(View, { style: this.settingsHeaderViewStyle ||= { marginBottom: 5 }, children: _jsx(Text, { style: this.settingsHeaderTextSTyle ||= { fontSize: 16, fontWeight: "bold" }, children: t(".settings", { defaultValue: "Settings" }) }) }), _jsx(DownloadAction, { l: l, table: table }), _jsx(View, { style: this.columnsHeaderViewStyle ||= { marginBottom: 5 }, children: _jsx(Text, { style: this.columnsHeaderTextStyle ||= { fontSize: 16, fontWeight: "bold" }, children: t(".columns", { defaultValue: "Columns" }) }) }), preparedColumns?.map(({ column, tableSettingColumn }) => _jsx(ColumnRow, { column: column, table: table, tableSettingColumn: tableSettingColumn }, columnIdentifier(column)))] }) }));
75
+ }, children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { style: this.settingsHeaderViewStyle ||= { marginBottom: 5 }, children: (0, jsx_runtime_1.jsx)(text_1.default, { style: this.settingsHeaderTextSTyle ||= { fontSize: 16, fontWeight: "bold" }, children: t(".settings", { defaultValue: "Settings" }) }) }), (0, jsx_runtime_1.jsx)(download_action_1.default, { l: l, table: table }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: this.columnsHeaderViewStyle ||= { marginBottom: 5 }, children: (0, jsx_runtime_1.jsx)(text_1.default, { style: this.columnsHeaderTextStyle ||= { fontSize: 16, fontWeight: "bold" }, children: t(".columns", { defaultValue: "Columns" }) }) }), preparedColumns?.map(({ column, tableSettingColumn }) => (0, jsx_runtime_1.jsx)(column_row_1.default, { column: column, table: table, tableSettingColumn: tableSettingColumn }, (0, column_identifier_js_1.default)(column)))] }) }));
38
76
  }
39
77
  }));
40
- //# sourceMappingURL=index.js.map
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL3NldHRpbmdzL2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBbUM7QUFDbkMsZ0ZBQW1EO0FBQ25ELG1GQUFzRDtBQUN0RCw4REFBb0M7QUFDcEMsd0VBQThDO0FBQzlDLDhFQUFrRDtBQUNsRCx3REFBK0I7QUFDL0IsNERBQWtDO0FBQ2xDLHdFQUE2QztBQUM3QyxtRkFBeUU7QUFDekUsK0NBQWlDO0FBQ2pDLDREQUFtQztBQUNuQyxxRkFBdUQ7QUFFdkQsa0JBQWUsSUFBQSxpQkFBSSxFQUFDLElBQUEsbUNBQWMsRUFBQyxNQUFNLHFCQUFzQixTQUFRLDJCQUFhO0lBQ2xGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBQSwwQkFBYyxFQUFDO1FBQ2hDLGNBQWMsRUFBRSxvQkFBUyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQ3pDLEtBQUssRUFBRSxvQkFBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0tBQ25DLENBQUMsQ0FBQTtJQUVGLEtBQUs7UUFDSCxNQUFNLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBQyxHQUFHLElBQUEsc0JBQU8sRUFBQyxFQUFDLFNBQVMsRUFBRSw2QkFBNkIsRUFBQyxDQUFDLENBQUE7UUFFbEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFBLGNBQU0sR0FBRSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ1YsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDWixDQUFDO0lBRUQsWUFBWSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUE7SUFFaEQsTUFBTTtRQUNKLE1BQU0sRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQTtRQUN0QixNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUN0QixNQUFNLEVBQUMsZUFBZSxFQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUVqQyxPQUFPLENBQ0wsdUJBQUMsZUFBSyxJQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLEtBQUssRUFBQyxlQUFlLEVBQUUsTUFBTSxFQUFDLEVBQUUsV0FBVyxrQkFDekosd0JBQUMsbUJBQUksSUFDSCxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsS0FBSyxFQUFDLEtBQUssRUFBRSw0QkFBNEIsRUFBQyxFQUN2RSxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsS0FBSztvQkFDNUIsS0FBSyxFQUFFLE1BQU07b0JBQ2IsUUFBUSxFQUFFLEdBQUc7b0JBQ2IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsZUFBZSxFQUFFLE1BQU07b0JBQ3ZCLE1BQU0sRUFBRSxpQkFBaUI7aUJBQzFCLGFBRUQsdUJBQUMsbUJBQUksSUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixLQUFLLEVBQUMsWUFBWSxFQUFFLENBQUMsRUFBQyxZQUM3RCx1QkFBQyxjQUFJLElBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyx1QkFBdUIsS0FBSyxFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxZQUM3RSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxDQUFDLEdBQ3RDLEdBQ0YsRUFDUCx1QkFBQyx5QkFBYyxJQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssR0FBSSxFQUN0Qyx1QkFBQyxtQkFBSSxJQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsc0JBQXNCLEtBQUssRUFBQyxZQUFZLEVBQUUsQ0FBQyxFQUFDLFlBQzVELHVCQUFDLGNBQUksSUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixLQUFLLEVBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFDLFlBQzVFLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFDLENBQUMsR0FDcEMsR0FDRixFQUNOLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBQyxFQUFFLEVBQUUsQ0FDckQsdUJBQUMsb0JBQVMsSUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFpQyxLQUFLLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixJQUE5RSxJQUFBLDhCQUFnQixFQUFDLE1BQU0sQ0FBQyxDQUEwRCxDQUNuSCxJQUNJLEdBQ0QsQ0FDVCxDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50LmpzXCJcbmltcG9ydCBjb2x1bW5JZGVudGlmaWVyIGZyb20gXCIuLi9jb2x1bW4taWRlbnRpZmllci5qc1wiXG5pbXBvcnQgQ29sdW1uUm93IGZyb20gXCIuL2NvbHVtbi1yb3dcIlxuaW1wb3J0IERvd25sb2FkQWN0aW9uIGZyb20gXCIuL2Rvd25sb2FkLWFjdGlvblwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uLy4uL21vZGFsXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHtWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi8uLi91dGlscy90ZXh0XCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL3NyYy91c2UtaTE4bi5tanNcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyVGFibGVTZXR0aW5ncyBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIG9uUmVxdWVzdENsb3NlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHRhYmxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWRcbiAgfSlcblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7bCwgdH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnRhYmxlLnNldHRpbmdzXCJ9KVxuXG4gICAgdGhpcy5yb290UmVmID0gdXNlUmVmKClcbiAgICB0aGlzLmwgPSBsXG4gICAgdGhpcy50ID0gdFxuICB9XG5cbiAgdGFibGVTZXR0aW5nID0gKCkgPT4gdGhpcy5wLnRhYmxlLnMudGFibGVTZXR0aW5nXG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtsLCB0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7dGFibGV9ID0gdGhpcy5wXG4gICAgY29uc3Qge3ByZXBhcmVkQ29sdW1uc30gPSB0YWJsZS5zXG5cbiAgICByZXR1cm4gKFxuICAgICAgPE1vZGFsIG9uQmFja2Ryb3BQcmVzcz17dGhpcy5wLm9uUmVxdWVzdENsb3NlfSBvblJlcXVlc3RDbG9zZT17dGhpcy5wLm9uUmVxdWVzdENsb3NlfSBzdHlsZT17dGhpcy5yb290TW9kYWxTdHlsZSB8fD0ge2JhY2tncm91bmRDb2xvcjogXCIjMDAwXCJ9fSB0cmFuc3BhcmVudD5cbiAgICAgICAgPFZpZXdcbiAgICAgICAgICBkYXRhU2V0PXt0aGlzLnJvb3RWaWV3RGF0YVNldCB8fD0ge2NsYXNzOiBcImFwaS1tYWtlci0tdGFibGUtLXNldHRpbmdzXCJ9fVxuICAgICAgICAgIHN0eWxlPXt0aGlzLnJvb3RWaWV3U3R5bGUgfHw9IHtcbiAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICAgIG1heFdpZHRoOiA4MDAsXG4gICAgICAgICAgICBwYWRkaW5nOiAyMCxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjZmZmXCIsXG4gICAgICAgICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIGJsYWNrXCJcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPFZpZXcgc3R5bGU9e3RoaXMuc2V0dGluZ3NIZWFkZXJWaWV3U3R5bGUgfHw9IHttYXJnaW5Cb3R0b206IDV9fT5cbiAgICAgICAgICAgIDxUZXh0IHN0eWxlPXt0aGlzLnNldHRpbmdzSGVhZGVyVGV4dFNUeWxlIHx8PSB7Zm9udFNpemU6IDE2LCBmb250V2VpZ2h0OiBcImJvbGRcIn19PlxuICAgICAgICAgICAgICB7dChcIi5zZXR0aW5nc1wiLCB7ZGVmYXVsdFZhbHVlOiBcIlNldHRpbmdzXCJ9KX1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgPERvd25sb2FkQWN0aW9uIGw9e2x9IHRhYmxlPXt0YWJsZX0gLz5cbiAgICAgICAgICA8VmlldyBzdHlsZT17dGhpcy5jb2x1bW5zSGVhZGVyVmlld1N0eWxlIHx8PSB7bWFyZ2luQm90dG9tOiA1fX0+XG4gICAgICAgICAgICA8VGV4dCBzdHlsZT17dGhpcy5jb2x1bW5zSGVhZGVyVGV4dFN0eWxlIHx8PSB7Zm9udFNpemU6IDE2LCBmb250V2VpZ2h0OiBcImJvbGRcIn19PlxuICAgICAgICAgICAgICB7dChcIi5jb2x1bW5zXCIsIHtkZWZhdWx0VmFsdWU6IFwiQ29sdW1uc1wifSl9XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIHtwcmVwYXJlZENvbHVtbnM/Lm1hcCgoe2NvbHVtbiwgdGFibGVTZXR0aW5nQ29sdW1ufSkgPT5cbiAgICAgICAgICAgIDxDb2x1bW5Sb3cgY29sdW1uPXtjb2x1bW59IGtleT17Y29sdW1uSWRlbnRpZmllcihjb2x1bW4pfSB0YWJsZT17dGFibGV9IHRhYmxlU2V0dGluZ0NvbHVtbj17dGFibGVTZXR0aW5nQ29sdW1ufSAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvVmlldz5cbiAgICAgIDwvTW9kYWw+XG4gICAgKVxuICB9XG59KSlcbiJdfQ==
@@ -1,16 +1,54 @@
1
- import columnIdentifier from "./column-identifier.js";
2
- import columnVisible from "./column-visible.js";
3
- import { digg } from "diggerize";
4
- import * as inflection from "inflection";
5
- import Logger from "../logger.js";
6
- import { ReadersWriterLock } from "epic-locks";
7
- import { serialize as objectToFormData } from "object-to-formdata";
8
- import { TableSetting } from "models.js";
9
- import { v4 as uuidv4 } from "uuid";
10
- const logger = new Logger({ name: "ApiMaker / TableSettings" });
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const column_identifier_js_1 = __importDefault(require("./column-identifier.js"));
40
+ const column_visible_js_1 = __importDefault(require("./column-visible.js"));
41
+ const diggerize_1 = require("diggerize");
42
+ const inflection = __importStar(require("inflection"));
43
+ const logger_js_1 = __importDefault(require("../logger.js"));
44
+ const epic_locks_1 = require("epic-locks");
45
+ const object_to_formdata_1 = require("object-to-formdata");
46
+ const models_js_1 = require("models.js");
47
+ const uuid_1 = require("uuid");
48
+ const logger = new logger_js_1.default({ name: "ApiMaker / TableSettings" });
11
49
  // Have a lock for each unique table identifier
12
50
  const tableSettingsLocks = {};
13
- export default class ApiMakerTableSettings {
51
+ class ApiMakerTableSettings {
14
52
  constructor({ table }) {
15
53
  this.table = table;
16
54
  this.setTableSettingsLock();
@@ -18,13 +56,13 @@ export default class ApiMakerTableSettings {
18
56
  setTableSettingsLock() {
19
57
  const identifier = this.identifier();
20
58
  if (!(identifier in tableSettingsLocks)) {
21
- tableSettingsLocks[identifier] = new ReadersWriterLock();
59
+ tableSettingsLocks[identifier] = new epic_locks_1.ReadersWriterLock();
22
60
  }
23
- this.tableSettingsLock = digg(tableSettingsLocks, identifier);
61
+ this.tableSettingsLock = (0, diggerize_1.digg)(tableSettingsLocks, identifier);
24
62
  }
25
- columns = () => digg(this, "table", "columnsAsArray")();
26
- currentUser = () => digg(this, "table", "props", "currentUser");
27
- identifier = () => digg(this, "table", "state", "identifier");
63
+ columns = () => (0, diggerize_1.digg)(this, "table", "columnsAsArray")();
64
+ currentUser = () => (0, diggerize_1.digg)(this, "table", "props", "currentUser");
65
+ identifier = () => (0, diggerize_1.digg)(this, "table", "state", "identifier");
28
66
  preparedColumns = (tableSetting) => {
29
67
  const columns = this.table.columnsAsArray();
30
68
  const ordered = this.orderedTableSettingColumns(tableSetting);
@@ -35,10 +73,10 @@ export default class ApiMakerTableSettings {
35
73
  if (!ordered)
36
74
  return;
37
75
  for (const tableSettingColumn of ordered) {
38
- const column = columns.find((column) => columnIdentifier(column) == tableSettingColumn.identifier());
76
+ const column = columns.find((column) => (0, column_identifier_js_1.default)(column) == tableSettingColumn.identifier());
39
77
  result.columns.push({ column, tableSettingColumn });
40
78
  // Add needed preloads if column is visible
41
- if (columnVisible(column, tableSettingColumn)) {
79
+ if ((0, column_visible_js_1.default)(column, tableSettingColumn)) {
42
80
  if (column.path) {
43
81
  const preload = column.path.map((pathPart) => inflection.underscore(pathPart)).join(".");
44
82
  if (!result.preload.includes(preload))
@@ -67,9 +105,9 @@ export default class ApiMakerTableSettings {
67
105
  });
68
106
  };
69
107
  loadTableSetting = async () => {
70
- if (!TableSetting)
108
+ if (!models_js_1.TableSetting)
71
109
  throw new Error("TableSetting model isn't globally available");
72
- const tableSetting = await TableSetting
110
+ const tableSetting = await models_js_1.TableSetting
73
111
  .ransack({
74
112
  identifier_eq: this.identifier(),
75
113
  user_id_eq: this.currentUserIdOrFallback(),
@@ -88,16 +126,16 @@ export default class ApiMakerTableSettings {
88
126
  currentUserTypeOrFallback() {
89
127
  const currentUser = this.currentUser();
90
128
  if (currentUser)
91
- return digg(currentUser.modelClassData(), "name");
129
+ return (0, diggerize_1.digg)(currentUser.modelClassData(), "name");
92
130
  return null;
93
131
  }
94
132
  anonymouseUserId() {
95
133
  const variableName = `ApiMakerTableAnonymousUserId-${this.identifier()}`;
96
134
  if (!(variableName in localStorage)) {
97
- const generatedId = uuidv4();
135
+ const generatedId = (0, uuid_1.v4)();
98
136
  localStorage[variableName] = generatedId;
99
137
  }
100
- return digg(localStorage, variableName);
138
+ return (0, diggerize_1.digg)(localStorage, variableName);
101
139
  }
102
140
  createInitialTableSetting = async () => {
103
141
  const tableSettingData = {
@@ -108,13 +146,13 @@ export default class ApiMakerTableSettings {
108
146
  };
109
147
  const columns = this.columns();
110
148
  for (const columnKey in columns) {
111
- const column = digg(columns, columnKey);
112
- const identifier = columnIdentifier(column);
149
+ const column = (0, diggerize_1.digg)(columns, columnKey);
150
+ const identifier = (0, column_identifier_js_1.default)(column);
113
151
  const columnData = this.columnSaveData(column, { identifier, position: columnKey });
114
152
  tableSettingData.columns_attributes[columnKey] = columnData;
115
153
  }
116
- const tableSetting = new TableSetting();
117
- const tableSettingFormData = objectToFormData({ table_setting: tableSettingData });
154
+ const tableSetting = new models_js_1.TableSetting();
155
+ const tableSettingFormData = (0, object_to_formdata_1.serialize)({ table_setting: tableSettingData });
118
156
  await tableSetting.saveRaw(tableSettingFormData);
119
157
  const reloadedTableSetting = await this.loadTableSetting();
120
158
  return reloadedTableSetting;
@@ -138,7 +176,7 @@ export default class ApiMakerTableSettings {
138
176
  let changed = false;
139
177
  // Add missing columns
140
178
  for (const column of columns) {
141
- const identifier = columnIdentifier(column);
179
+ const identifier = (0, column_identifier_js_1.default)(column);
142
180
  const tableSettingColumn = tableSetting.columns().loaded().find((tableSettingColumn) => tableSettingColumn.identifier() == identifier);
143
181
  if (!tableSettingColumn) {
144
182
  const columnKey = ++columnsKeyCount;
@@ -151,7 +189,7 @@ export default class ApiMakerTableSettings {
151
189
  }
152
190
  }
153
191
  for (const tableSettingColumn of tableSetting.columns().loaded()) {
154
- const column = columns.find((column) => columnIdentifier(column) == tableSettingColumn.identifier());
192
+ const column = columns.find((column) => (0, column_identifier_js_1.default)(column) == tableSettingColumn.identifier());
155
193
  if (column) {
156
194
  // TODO: Update column if changed
157
195
  let columnChanged = false;
@@ -199,10 +237,11 @@ export default class ApiMakerTableSettings {
199
237
  }
200
238
  }
201
239
  if (changed) {
202
- const tableSettingFormData = objectToFormData({ table_setting: tableSettingData });
240
+ const tableSettingFormData = (0, object_to_formdata_1.serialize)({ table_setting: tableSettingData });
203
241
  await tableSetting.saveRaw(tableSettingFormData);
204
242
  }
205
243
  return tableSetting;
206
244
  };
207
245
  }
208
- //# sourceMappingURL=table-settings.js.map
246
+ exports.default = ApiMakerTableSettings;
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL3RhYmxlLXNldHRpbmdzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0ZBQXFEO0FBQ3JELDRFQUErQztBQUMvQyx5Q0FBOEI7QUFDOUIsdURBQXdDO0FBQ3hDLDZEQUFpQztBQUNqQywyQ0FBNEM7QUFDNUMsMkRBQWdFO0FBQ2hFLHlDQUFzQztBQUN0QywrQkFBaUM7QUFFakMsTUFBTSxNQUFNLEdBQUcsSUFBSSxtQkFBTSxDQUFDLEVBQUMsSUFBSSxFQUFFLDBCQUEwQixFQUFDLENBQUMsQ0FBQTtBQUU3RCwrQ0FBK0M7QUFDL0MsTUFBTSxrQkFBa0IsR0FBRyxFQUFFLENBQUE7QUFFN0IsTUFBcUIscUJBQXFCO0lBQ3hDLFlBQVksRUFBQyxLQUFLLEVBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDbEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUE7SUFDN0IsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFFcEMsSUFBSSxDQUFDLENBQUMsVUFBVSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztZQUN4QyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLDhCQUFpQixFQUFFLENBQUE7UUFDMUQsQ0FBQztRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFBLGdCQUFJLEVBQUMsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVELE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFBLGdCQUFJLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUE7SUFDdkQsV0FBVyxHQUFHLEdBQUcsRUFBRSxDQUFDLElB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Z0JBQWdCLEVBQUMsQ0FBQyxDQUFBO1lBRWhGLE1BQU0sWUFBWSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBQ2xELENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQTtJQUNyQixDQUFDLENBQUE7Q0FDRjtBQXRQRCx3Q0FzUEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29sdW1uSWRlbnRpZmllciBmcm9tIFwiLi9jb2x1bW4taWRlbnRpZmllci5qc1wiXG5pbXBvcnQgY29sdW1uVmlzaWJsZSBmcm9tIFwiLi9jb2x1bW4tdmlzaWJsZS5qc1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgTG9nZ2VyIGZyb20gXCIuLi9sb2dnZXIuanNcIlxuaW1wb3J0IHtSZWFkZXJzV3JpdGVyTG9ja30gZnJvbSBcImVwaWMtbG9ja3NcIlxuaW1wb3J0IHtzZXJpYWxpemUgYXMgb2JqZWN0VG9Gb3JtRGF0YX0gZnJvbSBcIm9iamVjdC10by1mb3JtZGF0YVwiXG5pbXBvcnQge1RhYmxlU2V0dGluZ30gZnJvbSBcIm1vZGVscy5qc1wiXG5pbXBvcnQge3Y0IGFzIHV1aWR2NH0gZnJvbSBcInV1aWRcIlxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKHtuYW1lOiBcIkFwaU1ha2VyIC8gVGFibGVTZXR0aW5nc1wifSlcblxuLy8gSGF2ZSBhIGxvY2sgZm9yIGVhY2ggdW5pcXVlIHRhYmxlIGlkZW50aWZpZXJcbmNvbnN0IHRhYmxlU2V0dGluZ3NMb2NrcyA9IHt9XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyVGFibGVTZXR0aW5ncyB7XG4gIGNvbnN0cnVjdG9yKHt0YWJsZX0pIHtcbiAgICB0aGlzLnRhYmxlID0gdGFibGVcbiAgICB0aGlzLnNldFRhYmxlU2V0dGluZ3NMb2NrKClcbiAgfVxuXG4gIHNldFRhYmxlU2V0dGluZ3NMb2NrKCkge1xuICAgIGNvbnN0IGlkZW50aWZpZXIgPSB0aGlzLmlkZW50aWZpZXIoKVxuXG4gICAgaWYgKCEoaWRlbnRpZmllciBpbiB0YWJsZVNldHRpbmdzTG9ja3MpKSB7XG4gICAgICB0YWJsZVNldHRpbmdzTG9ja3NbaWRlbnRpZmllcl0gPSBuZXcgUmVhZGVyc1dyaXRlckxvY2soKVxuICAgIH1cblxuICAgIHRoaXMudGFibGVTZXR0aW5nc0xvY2sgPSBkaWdnKHRhYmxlU2V0dGluZ3NMb2NrcywgaWRlbnRpZmllcilcbiAgfVxuXG4gIGNvbHVtbnMgPSAoKSA9PiBkaWdnKHRoaXMsIFwidGFibGVcIiwgXCJjb2x1bW5zQXNBcnJheVwiKSgpXG4gIGN1cnJlbnRVc2VyID0gKCkgPT4gZGlnZyh0aGlzLCBcInRhYmxlXCIsIFwicHJvcHNcIiwgXCJjdXJyZW50VXNlclwiKVxuICBpZGVudGlmaWVyID0gKCkgPT4gZGlnZyh0aGlzLCBcInRhYmxlXCIsIFwic3RhdGVcIiwgXCJpZGVudGlmaWVyXCIpXG5cbiAgcHJlcGFyZWRDb2x1bW5zID0gKHRhYmxlU2V0dGluZykgPT4ge1xuICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLnRhYmxlLmNvbHVtbnNBc0FycmF5KClcbiAgICBjb25zdCBvcmRlcmVkID0gdGhpcy5vcmRlcmVkVGFibGVTZXR0aW5nQ29sdW1ucyh0YWJsZVNldHRpbmcpXG4gICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgY29sdW1uczogW10sXG4gICAgICBwcmVsb2FkOiBbXVxuICAgIH1cblxuICAgIGlmICghb3JkZXJlZCkgcmV0dXJuXG5cbiAgICBmb3IgKGNvbnN0IHRhYmxlU2V0dGluZ0NvbHVtbiBvZiBvcmRlcmVkKSB7XG4gICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zLmZpbmQoKGNvbHVtbikgPT4gY29sdW1uSWRlbnRpZmllcihjb2x1bW4pID09IHRhYmxlU2V0dGluZ0NvbHVtbi5pZGVudGlmaWVyKCkpXG5cbiAgICAgIHJlc3VsdC5jb2x1bW5zLnB1c2goe2NvbHVtbiwgdGFibGVTZXR0aW5nQ29sdW1ufSlcblxuICAgICAgLy8gQWRkIG5lZWRlZCBwcmVsb2FkcyBpZiBjb2x1bW4gaXMgdmlzaWJsZVxuICAgICAgaWYgKGNvbHVtblZpc2libGUoY29sdW1uLCB0YWJsZVNldHRpbmdDb2x1bW4pKSB7XG4gICAgICAgIGlmIChjb2x1bW4ucGF0aCkge1xuICAgICAgICAgIGNvbnN0IHByZWxvYWQgPSBjb2x1bW4ucGF0aC5tYXAoKHBhdGhQYXJ0KSA9PiBpbmZsZWN0aW9uLnVuZGVyc2NvcmUocGF0aFBhcnQpKS5qb2luKFwiLlwiKVxuXG4gICAgICAgICAgaWYgKCFyZXN1bHQucHJlbG9hZC5pbmNsdWRlcyhwcmVsb2FkKSkgcmVzdWx0LnByZWxvYWQucHVzaChwcmVsb2FkKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgb3JkZXJlZFRhYmxlU2V0dGluZ0NvbHVtbnMgPSAodGFibGVTZXR0aW5nKSA9PiB7XG4gICAgcmV0dXJuIHRhYmxlU2V0dGluZ1xuICAgICAgLmNvbHVtbnMoKVxuICAgICAgLmxvYWRlZCgpXG4gICAgICAuc29ydCgodGFibGVTZXR0aW5nQ29sdW1uMSwgdGFibGVTZXR0aW5nQ29sdW1uMikgPT4gdGFibGVTZXR0aW5nQ29sdW1uMS5wb3NpdGlvbigpIC0gdGFibGVTZXR0aW5nQ29sdW1uMi5wb3NpdGlvbigpKVxuICB9XG5cbiAgbG9hZEV4aXN0aW5nT3JDcmVhdGVUYWJsZVNldHRpbmdzID0gYXN5bmMgKCkgPT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnRhYmxlU2V0dGluZ3NMb2NrLndyaXRlKGFzeW5jICgpID0+IHtcbiAgICAgIGxldCB0YWJsZVNldHRpbmcgPSBhd2FpdCB0aGlzLmxvYWRUYWJsZVNldHRpbmcoKVxuXG4gICAgICBpZiAodGFibGVTZXR0aW5nKSB7XG4gICAgICAgIHRhYmxlU2V0dGluZyA9IGF3YWl0IHRoaXMudXBkYXRlVGFibGVTZXR0aW5nKHRhYmxlU2V0dGluZylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRhYmxlU2V0dGluZyA9IGF3YWl0IHRoaXMuY3JlYXRlSW5pdGlhbFRhYmxlU2V0dGluZygpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0YWJsZVNldHRpbmdcbiAgICB9KVxuICB9XG5cbiAgbG9hZFRhYmxlU2V0dGluZyA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAoIVRhYmxlU2V0dGluZykgdGhyb3cgbmV3IEVycm9yKFwiVGFibGVTZXR0aW5nIG1vZGVsIGlzbid0IGdsb2JhbGx5IGF2YWlsYWJsZVwiKVxuXG4gICAgY29uc3QgdGFibGVTZXR0aW5nID0gYXdhaXQgVGFibGVTZXR0aW5nXG4gICAgICAucmFuc2Fjayh7XG4gICAgICAgIGlkZW50aWZpZXJfZXE6IHRoaXMuaWRlbnRpZmllcigpLFxuICAgICAgICB1c2VyX2lkX2VxOiB0aGlzLmN1cnJlbnRVc2VySWRPckZhbGxiYWNrKCksXG4gICAgICAgIHVzZXJfdHlwZV9lcTogdGhpcy5jdXJyZW50VXNlclR5cGVPckZhbGxiYWNrKClcbiAgICAgIH0pXG4gICAgICAucHJlbG9hZChcImNvbHVtbnNcIilcbiAgICAgIC5maXJzdCgpXG5cbiAgICByZXR1cm4gdGFibGVTZXR0aW5nXG4gIH1cblxuICBjdXJyZW50VXNlcklkT3JGYWxsYmFjaygpIHtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuY3VycmVudFVzZXIoKVxuXG4gICAgaWYgKGN1cnJlbnRVc2VyKSByZXR1cm4gY3VycmVudFVzZXIuaWQoKVxuXG4gICAgcmV0dXJuIHRoaXMuYW5vbnltb3VzZVVzZXJJZCgpXG4gIH1cblxuICBjdXJyZW50VXNlclR5cGVPckZhbGxiYWNrKCkge1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5jdXJyZW50VXNlcigpXG5cbiAgICBpZiAoY3VycmVudFVzZXIpIHJldHVybiBkaWdnKGN1cnJlbnRVc2VyLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuXG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGFub255bW91c2VVc2VySWQoKSB7XG4gICAgY29uc3QgdmFyaWFibGVOYW1lID0gYEFwaU1ha2VyVGFibGVBbm9ueW1vdXNVc2VySWQtJHt0aGlzLmlkZW50aWZpZXIoKX1gXG5cbiAgICBpZiAoISh2YXJpYWJsZU5hbWUgaW4gbG9jYWxTdG9yYWdlKSkge1xuICAgICAgY29uc3QgZ2VuZXJhdGVkSWQgPSB1dWlkdjQoKVxuXG4gICAgICBsb2NhbFN0b3JhZ2VbdmFyaWFibGVOYW1lXSA9IGdlbmVyYXRlZElkXG4gICAgfVxuXG4gICAgcmV0dXJuIGRpZ2cobG9jYWxTdG9yYWdlLCB2YXJpYWJsZU5hbWUpXG4gIH1cblxuICBjcmVhdGVJbml0aWFsVGFibGVTZXR0aW5nID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHRhYmxlU2V0dGluZ0RhdGEgPSB7XG4gICAgICBpZGVudGlmaWVyOiB0aGlzLmlkZW50aWZpZXIoKSxcbiAgICAgIHVzZXJfaWQ6IHRoaXMuY3VycmVudFVzZXJJZE9yRmFsbGJhY2soKSxcbiAgICAgIHVzZXJfdHlwZTogdGhpcy5jdXJyZW50VXNlclR5cGVPckZhbGxiYWNrKCksXG4gICAgICBjb2x1bW5zX2F0dHJpYnV0ZXM6IHt9XG4gICAgfVxuXG4gICAgY29uc3QgY29sdW1ucyA9IHRoaXMuY29sdW1ucygpXG5cbiAgICBmb3IgKGNvbnN0IGNvbHVtbktleSBpbiBjb2x1bW5zKSB7XG4gICAgICBjb25zdCBjb2x1bW4gPSBkaWdnKGNvbHVtbnMsIGNvbHVtbktleSlcbiAgICAgIGNvbnN0IGlkZW50aWZpZXIgPSBjb2x1bW5JZGVudGlmaWVyKGNvbHVtbilcbiAgICAgIGNvbnN0IGNvbHVtbkRhdGEgPSB0aGlzLmNvbHVtblNhdmVEYXRhKGNvbHVtbiwge2lkZW50aWZpZXIsIHBvc2l0aW9uOiBjb2x1bW5LZXl9KVxuXG4gICAgICB0YWJsZVNldHRpbmdEYXRhLmNvbHVtbnNfYXR0cmlidXRlc1tjb2x1bW5LZXldID0gY29sdW1uRGF0YVxuICAgIH1cblxuICAgIGNvbnN0IHRhYmxlU2V0dGluZyA9IG5ldyBUYWJsZVNldHRpbmcoKVxuICAgIGNvbnN0IHRhYmxlU2V0dGluZ0Zvcm1EYXRhID0gb2JqZWN0VG9Gb3JtRGF0YSh7dGFibGVfc2V0dGluZzogdGFibGVTZXR0aW5nRGF0YX0pXG5cbiAgICBhd2FpdCB0YWJsZVNldHRpbmcuc2F2ZVJhdyh0YWJsZVNldHRpbmdGb3JtRGF0YSlcblxuICAgIGNvbnN0IHJlbG9hZGVkVGFibGVTZXR0aW5nID0gYXdhaXQgdGhpcy5sb2FkVGFibGVTZXR0aW5nKClcblxuICAgIHJldHVybiByZWxvYWRlZFRhYmxlU2V0dGluZ1xuICB9XG5cbiAgY29sdW1uU2F2ZURhdGEoY29sdW1uLCB7aWRlbnRpZmllciwgcG9zaXRpb259KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGF0dHJpYnV0ZV9uYW1lOiBjb2x1bW4uYXR0cmlidXRlLFxuICAgICAgaWRlbnRpZmllcixcbiAgICAgIHBhdGg6IGNvbHVtbi5wYXRoLFxuICAgICAgcG9zaXRpb24sXG4gICAgICBzb3J0X2tleTogY29sdW1uLnNvcnRLZXksXG4gICAgICB2aXNpYmxlOiBudWxsXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlVGFibGVTZXR0aW5nID0gYXN5bmMgKHRhYmxlU2V0dGluZykgPT4ge1xuICAgIGNvbnN0IGNoYW5nZWRBdHRyaWJ1dGVzTGlzdCA9IFtcImF0dHJpYnV0ZU5hbWVcIiwgXCJzb3J0S2V5XCJdXG4gICAgY29uc3QgY29sdW1ucyA9IHRoaXMuY29sdW1ucygpXG4gICAgY29uc3QgY29sdW1uc0RhdGEgPSB7fVxuICAgIGNvbnN0IHRhYmxlU2V0dGluZ0RhdGEgPSB7Y29sdW1uc19hdHRyaWJ1dGVzOiBjb2x1bW5zRGF0YX1cbiAgICBsZXQgY29sdW1uc0tleUNvdW50ID0gMFxuICAgIGxldCBjaGFuZ2VkID0gZmFsc2VcblxuICAgIC8vIEFkZCBtaXNzaW5nIGNvbHVtbnNcbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBjb2x1bW5zKSB7XG4gICAgICBjb25zdCBpZGVudGlmaWVyID0gY29sdW1uSWRlbnRpZmllcihjb2x1bW4pXG4gICAgICBjb25zdCB0YWJsZVNldHRpbmdDb2x1bW4gPSB0YWJsZVNldHRpbmcuY29sdW1ucygpLmxvYWRlZCgpLmZpbmQoKHRhYmxlU2V0dGluZ0NvbHVtbikgPT4gdGFibGVTZXR0aW5nQ29sdW1uLmlkZW50aWZpZXIoKSA9PSBpZGVudGlmaWVyKVxuXG4gICAgICBpZiAoIXRhYmxlU2V0dGluZ0NvbHVtbikge1xuICAgICAgICBjb25zdCBjb2x1bW5LZXkgPSArK2NvbHVtbnNLZXlDb3VudFxuXG4gICAgICAgIGNvbHVtbnNEYXRhW2NvbHVtbktleV0gPSB0aGlzLmNvbHVtblNhdmVEYXRhKFxuICAgICAgICAgIGNvbHVtbixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZGVudGlmaWVyLFxuICAgICAgICAgICAgcG9zaXRpb246IHRhYmxlU2V0dGluZy5jb2x1bW5zKCkubG9hZGVkKCkubGVuZ3RoICsgY29sdW1uS2V5XG4gICAgICAgICAgfVxuICAgICAgICApXG5cbiAgICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBDaGFuZ2VkIGJlY2F1c2Ugb2YgbmV3IGNvbHVtbjogJHtjb2x1bW4ubGFiZWx9YClcbiAgICAgICAgY2hhbmdlZCA9IHRydWVcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHRhYmxlU2V0dGluZ0NvbHVtbiBvZiB0YWJsZVNldHRpbmcuY29sdW1ucygpLmxvYWRlZCgpKSB7XG4gICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zLmZpbmQoKGNvbHVtbikgPT4gY29sdW1uSWRlbnRpZmllcihjb2x1bW4pID09IHRhYmxlU2V0dGluZ0NvbHVtbi5pZGVudGlmaWVyKCkpXG5cbiAgICAgIGlmIChjb2x1bW4pIHtcbiAgICAgICAgLy8gVE9ETzogVXBkYXRlIGNvbHVtbiBpZiBjaGFuZ2VkXG4gICAgICAgIGxldCBjb2x1bW5DaGFuZ2VkID0gZmFsc2VcblxuICAgICAgICBmb3IgKGNvbnN0IGNoYW5nZWRBdHRyaWJ1dGUgb2YgY2hhbmdlZEF0dHJpYnV0ZXNMaXN0KSB7XG4gICAgICAgICAgbGV0IGNvbHVtbkF0dHJpYnV0ZU5hbWVcblxuICAgICAgICAgIGlmIChjaGFuZ2VkQXR0cmlidXRlID09IFwiYXR0cmlidXRlTmFtZVwiKSB7XG4gICAgICAgICAgICBjb2x1bW5BdHRyaWJ1dGVOYW1lID0gXCJhdHRyaWJ1dGVcIlxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb2x1bW5BdHRyaWJ1dGVOYW1lID0gY2hhbmdlZEF0dHJpYnV0ZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IG9sZEF0dHJpYnV0ZVZhbHVlID0gdGFibGVTZXR0aW5nQ29sdW1uW2NoYW5nZWRBdHRyaWJ1dGVdKClcbiAgICAgICAgICBjb25zdCBuZXdBdHRyaWJ1dGVWYWx1ZSA9IGNvbHVtbltjb2x1bW5BdHRyaWJ1dGVOYW1lXVxuXG4gICAgICAgICAgaWYgKG9sZEF0dHJpYnV0ZVZhbHVlICE9IG5ld0F0dHJpYnV0ZVZhbHVlKSB7XG4gICAgICAgICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYCR7Y2hhbmdlZEF0dHJpYnV0ZX0gY2hhbmdlZCBmcm9tICR7b2xkQXR0cmlidXRlVmFsdWV9IHRvICR7bmV3QXR0cmlidXRlVmFsdWV9IG9uIGNvbHVtbjogJHtjb2x1bW4ubGFiZWx9YClcbiAgICAgICAgICAgIGNvbHVtbkNoYW5nZWQgPSB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29sdW1uUGF0aEFzU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoY29sdW1uLnBhdGgpXG4gICAgICAgIGNvbnN0IHRhYmxlU2V0dGluZ0NvbHVtblBhdGhBc1N0cmluZyA9IHRhYmxlU2V0dGluZ0NvbHVtbi5wYXRoKClcblxuICAgICAgICBpZiAoY29sdW1uUGF0aEFzU3RyaW5nICE9IHRhYmxlU2V0dGluZ0NvbHVtblBhdGhBc1N0cmluZykge1xuICAgICAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgUGF0aCBjaGFuZ2VkIG9uICR7Y29sdW1uLmxhYmVsfSBmcm9tICR7Y29sdW1uUGF0aEFzU3RyaW5nfSB0byAke3RhYmxlU2V0dGluZ0NvbHVtblBhdGhBc1N0cmluZ31gKVxuICAgICAgICAgIGNvbHVtbkNoYW5nZWQgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sdW1uQ2hhbmdlZCkge1xuICAgICAgICAgIGNvbnN0IGNvbHVtbktleSA9ICsrY29sdW1uc0tleUNvdW50XG5cbiAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZVxuICAgICAgICAgIGNvbHVtbnNEYXRhW2NvbHVtbktleV0gPSB7XG4gICAgICAgICAgICBhdHRyaWJ1dGVfbmFtZTogY29sdW1uLmF0dHJpYnV0ZU5hbWUsXG4gICAgICAgICAgICBpZDogdGFibGVTZXR0aW5nQ29sdW1uLmlkKCksXG4gICAgICAgICAgICBwYXRoOiBjb2x1bW4ucGF0aCxcbiAgICAgICAgICAgIHNvcnRfa2V5OiBjb2x1bW4uc29ydEtleVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlZCBzYXZlZCBjb2x1bW5zIG5vIGxvbmdlciBmb3VuZFxuICAgICAgICBjb25zdCBjb2x1bW5LZXkgPSArK2NvbHVtbnNLZXlDb3VudFxuXG4gICAgICAgIGNvbHVtbnNEYXRhW2NvbHVtbktleV0gPSB7XG4gICAgICAgICAgaWQ6IHRhYmxlU2V0dGluZ0NvbHVtbi5pZCgpLFxuICAgICAgICAgIF9kZXN0cm95OiB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgY2hhbmdlZCA9IHRydWVcblxuICAgICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYENvbHVtbiBnb3QgcmVtb3ZlZDogJHt0YWJsZVNldHRpbmdDb2x1bW4uaWRlbnRpZmllcigpfWApXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIGNvbnN0IHRhYmxlU2V0dGluZ0Zvcm1EYXRhID0gb2JqZWN0VG9Gb3JtRGF0YSh7dGFibGVfc2V0dGluZzogdGFibGVTZXR0aW5nRGF0YX0pXG5cbiAgICAgIGF3YWl0IHRhYmxlU2V0dGluZy5zYXZlUmF3KHRhYmxlU2V0dGluZ0Zvcm1EYXRhKVxuICAgIH1cblxuICAgIHJldHVybiB0YWJsZVNldHRpbmdcbiAgfVxufVxuIl19