codex 1.5.4__py3-none-any.whl → 1.5.6__py3-none-any.whl

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.

Potentially problematic release.


This version of codex might be problematic. Click here for more details.

Files changed (336) hide show
  1. codex/librarian/importer/query_fks.py +56 -49
  2. codex/librarian/search/update.py +8 -27
  3. codex/settings/settings.py +10 -5
  4. codex/static_root/assets/{VCheckbox-ttw6_0q4.1ea7e82279a8.js → VCheckbox-DY1Y0qsq.5973caad55d6.js} +1 -1
  5. codex/static_root/assets/VCheckbox-DY1Y0qsq.5973caad55d6.js.br +0 -0
  6. codex/static_root/assets/VCheckbox-DY1Y0qsq.5973caad55d6.js.gz +0 -0
  7. codex/static_root/assets/{VCheckbox-ttw6_0q4.js → VCheckbox-DY1Y0qsq.js} +1 -1
  8. codex/static_root/assets/VCheckbox-DY1Y0qsq.js.br +0 -0
  9. codex/static_root/assets/VCheckbox-DY1Y0qsq.js.gz +0 -0
  10. codex/static_root/assets/{VCheckboxBtn-Bp35_RPC.2e7cbdc1bbe6.js → VCheckboxBtn-DoFCs6Y9.88abdf571754.js} +1 -1
  11. codex/static_root/assets/VCheckboxBtn-DoFCs6Y9.88abdf571754.js.br +0 -0
  12. codex/static_root/assets/VCheckboxBtn-DoFCs6Y9.88abdf571754.js.gz +0 -0
  13. codex/static_root/assets/{VCheckboxBtn-Bp35_RPC.js → VCheckboxBtn-DoFCs6Y9.js} +1 -1
  14. codex/static_root/assets/VCheckboxBtn-DoFCs6Y9.js.br +0 -0
  15. codex/static_root/assets/VCheckboxBtn-DoFCs6Y9.js.gz +0 -0
  16. codex/static_root/assets/{VCombobox-BdgQw7Qf.7cd7b8be4c01.js → VCombobox-C005saY4.2ee5c283b1af.js} +1 -1
  17. codex/static_root/assets/VCombobox-C005saY4.2ee5c283b1af.js.br +0 -0
  18. codex/static_root/assets/VCombobox-C005saY4.2ee5c283b1af.js.gz +0 -0
  19. codex/static_root/assets/{VCombobox-BdgQw7Qf.js → VCombobox-C005saY4.js} +1 -1
  20. codex/static_root/assets/VCombobox-C005saY4.js.br +0 -0
  21. codex/static_root/assets/VCombobox-C005saY4.js.gz +0 -0
  22. codex/static_root/assets/{VDataTableVirtual-ZvTtvsAK.b62ea3cf1547.js → VDataTableVirtual-Crv_Nkla.07f4fc817ffb.js} +1 -1
  23. codex/static_root/assets/VDataTableVirtual-Crv_Nkla.07f4fc817ffb.js.br +0 -0
  24. codex/static_root/assets/VDataTableVirtual-Crv_Nkla.07f4fc817ffb.js.gz +0 -0
  25. codex/static_root/assets/{VDataTableVirtual-ZvTtvsAK.js → VDataTableVirtual-Crv_Nkla.js} +1 -1
  26. codex/static_root/assets/VDataTableVirtual-Crv_Nkla.js.br +0 -0
  27. codex/static_root/assets/VDataTableVirtual-Crv_Nkla.js.gz +0 -0
  28. codex/static_root/assets/{VExpansionPanel-B9_sAbP7.b7fddb409254.js → VExpansionPanel-DLEh10A9.0934876f09cd.js} +1 -1
  29. codex/static_root/assets/VExpansionPanel-DLEh10A9.0934876f09cd.js.br +0 -0
  30. codex/static_root/assets/VExpansionPanel-DLEh10A9.0934876f09cd.js.gz +0 -0
  31. codex/static_root/assets/{VExpansionPanel-B9_sAbP7.js → VExpansionPanel-DLEh10A9.js} +1 -1
  32. codex/static_root/assets/VExpansionPanel-DLEh10A9.js.br +0 -0
  33. codex/static_root/assets/VExpansionPanel-DLEh10A9.js.gz +0 -0
  34. codex/static_root/assets/{VMain-BcJKdsRe.afbd9f0dd4f6.js → VMain-kAL6AAJw.679a45a634cd.js} +1 -1
  35. codex/static_root/assets/VMain-kAL6AAJw.679a45a634cd.js.br +0 -0
  36. codex/static_root/assets/VMain-kAL6AAJw.679a45a634cd.js.gz +0 -0
  37. codex/static_root/assets/{VMain-BcJKdsRe.js → VMain-kAL6AAJw.js} +1 -1
  38. codex/static_root/assets/VMain-kAL6AAJw.js.br +0 -0
  39. codex/static_root/assets/VMain-kAL6AAJw.js.gz +0 -0
  40. codex/static_root/assets/{VRadioGroup-LzINtWiV.8ee7ffab33b8.js → VRadioGroup-Dxdhr9bL.140138bee214.js} +1 -1
  41. codex/static_root/assets/VRadioGroup-Dxdhr9bL.140138bee214.js.br +5 -0
  42. codex/static_root/assets/VRadioGroup-Dxdhr9bL.140138bee214.js.gz +0 -0
  43. codex/static_root/assets/{VRadioGroup-LzINtWiV.js → VRadioGroup-Dxdhr9bL.js} +1 -1
  44. codex/static_root/assets/VRadioGroup-Dxdhr9bL.js.br +5 -0
  45. codex/static_root/assets/VRadioGroup-Dxdhr9bL.js.gz +0 -0
  46. codex/static_root/assets/{VSelect-Besri79c.js → VSelect-CZ9zKx45.02b646b81ba7.js} +1 -1
  47. codex/static_root/assets/VSelect-CZ9zKx45.02b646b81ba7.js.br +0 -0
  48. codex/static_root/assets/VSelect-CZ9zKx45.02b646b81ba7.js.gz +0 -0
  49. codex/static_root/assets/{VSelect-Besri79c.70e02b19d80e.js → VSelect-CZ9zKx45.js} +1 -1
  50. codex/static_root/assets/VSelect-CZ9zKx45.js.br +0 -0
  51. codex/static_root/assets/VSelect-CZ9zKx45.js.gz +0 -0
  52. codex/static_root/assets/{VSelectionControl-DcxpMWYl.6f305fe7c032.js → VSelectionControl-DmGWAnkU.0b1a0ca19c10.js} +1 -1
  53. codex/static_root/assets/VSelectionControl-DmGWAnkU.0b1a0ca19c10.js.br +0 -0
  54. codex/static_root/assets/VSelectionControl-DmGWAnkU.0b1a0ca19c10.js.gz +0 -0
  55. codex/static_root/assets/{VSelectionControl-DcxpMWYl.js → VSelectionControl-DmGWAnkU.js} +1 -1
  56. codex/static_root/assets/VSelectionControl-DmGWAnkU.js.br +0 -0
  57. codex/static_root/assets/VSelectionControl-DmGWAnkU.js.gz +0 -0
  58. codex/static_root/assets/{VSlideGroup-FjUTaP5Y.1056596d9350.js → VSlideGroup-Lzhz1ElM.13cda1a2d31f.js} +1 -1
  59. codex/static_root/assets/VSlideGroup-Lzhz1ElM.13cda1a2d31f.js.br +0 -0
  60. codex/static_root/assets/VSlideGroup-Lzhz1ElM.13cda1a2d31f.js.gz +0 -0
  61. codex/static_root/assets/{VSlideGroup-FjUTaP5Y.js → VSlideGroup-Lzhz1ElM.js} +1 -1
  62. codex/static_root/assets/VSlideGroup-Lzhz1ElM.js.br +0 -0
  63. codex/static_root/assets/VSlideGroup-Lzhz1ElM.js.gz +0 -0
  64. codex/static_root/assets/{VTable-_xkMh7Up.b12a3d30012a.js → VTable-Cs7OqRnv.6c1c551e1d50.js} +1 -1
  65. codex/static_root/assets/VTable-Cs7OqRnv.6c1c551e1d50.js.br +0 -0
  66. codex/static_root/assets/VTable-Cs7OqRnv.6c1c551e1d50.js.gz +0 -0
  67. codex/static_root/assets/{VTable-_xkMh7Up.js → VTable-Cs7OqRnv.js} +1 -1
  68. codex/static_root/assets/VTable-Cs7OqRnv.js.br +0 -0
  69. codex/static_root/assets/VTable-Cs7OqRnv.js.gz +0 -0
  70. codex/static_root/assets/{VToolbar-H46j-Kgh.js → VToolbar-B45qQyqr.5bad042a0a32.js} +2 -2
  71. codex/static_root/assets/VToolbar-B45qQyqr.5bad042a0a32.js.br +0 -0
  72. codex/static_root/assets/VToolbar-B45qQyqr.5bad042a0a32.js.gz +0 -0
  73. codex/static_root/assets/{VToolbar-H46j-Kgh.3a7df123d4f9.js → VToolbar-B45qQyqr.js} +2 -2
  74. codex/static_root/assets/VToolbar-B45qQyqr.js.br +0 -0
  75. codex/static_root/assets/VToolbar-B45qQyqr.js.gz +0 -0
  76. codex/static_root/assets/{VWindowItem-y26XPVzz.43a47f7b2c6b.js → VWindowItem-CPdSif3f.c8c60df1a06e.js} +1 -1
  77. codex/static_root/assets/VWindowItem-CPdSif3f.c8c60df1a06e.js.br +0 -0
  78. codex/static_root/assets/VWindowItem-CPdSif3f.c8c60df1a06e.js.gz +0 -0
  79. codex/static_root/assets/{VWindowItem-y26XPVzz.js → VWindowItem-CPdSif3f.js} +1 -1
  80. codex/static_root/assets/VWindowItem-CPdSif3f.js.br +0 -0
  81. codex/static_root/assets/VWindowItem-CPdSif3f.js.gz +0 -0
  82. codex/static_root/assets/{admin-DEHPwJ89.b8ac6095012a.js → admin-CuJft8Kj.7896b0403a73.js} +1 -1
  83. codex/static_root/assets/admin-CuJft8Kj.7896b0403a73.js.br +0 -0
  84. codex/static_root/assets/admin-CuJft8Kj.7896b0403a73.js.gz +0 -0
  85. codex/static_root/assets/{admin-DEHPwJ89.js → admin-CuJft8Kj.js} +1 -1
  86. codex/static_root/assets/admin-CuJft8Kj.js.br +0 -0
  87. codex/static_root/assets/admin-CuJft8Kj.js.gz +0 -0
  88. codex/static_root/assets/{admin-drawer-panel-BAMygpGL.81f38ddb56f9.js → admin-drawer-panel-Bw6sRseo.9b53ff3b9d60.js} +1 -1
  89. codex/static_root/assets/admin-drawer-panel-Bw6sRseo.9b53ff3b9d60.js.br +0 -0
  90. codex/static_root/assets/{admin-drawer-panel-BAMygpGL.81f38ddb56f9.js.gz → admin-drawer-panel-Bw6sRseo.9b53ff3b9d60.js.gz} +0 -0
  91. codex/static_root/assets/{admin-drawer-panel-BAMygpGL.js → admin-drawer-panel-Bw6sRseo.js} +1 -1
  92. codex/static_root/assets/admin-drawer-panel-Bw6sRseo.js.br +0 -0
  93. codex/static_root/assets/{admin-drawer-panel-BAMygpGL.js.gz → admin-drawer-panel-Bw6sRseo.js.gz} +0 -0
  94. codex/static_root/assets/{browser-D9gQuM8Q.js → browser-9_vS5P8d.52c168ccc66e.js} +1 -1
  95. codex/static_root/assets/browser-9_vS5P8d.52c168ccc66e.js.br +0 -0
  96. codex/static_root/assets/browser-9_vS5P8d.52c168ccc66e.js.gz +0 -0
  97. codex/static_root/assets/{browser-D9gQuM8Q.5b74e4abd0be.js → browser-9_vS5P8d.js} +1 -1
  98. codex/static_root/assets/browser-9_vS5P8d.js.br +0 -0
  99. codex/static_root/assets/browser-9_vS5P8d.js.gz +0 -0
  100. codex/static_root/assets/{change-password-dialog-CF2nKw7P.125a50b342eb.js → change-password-dialog-Baa-qXXZ.2dd5799b9e0f.js} +1 -1
  101. codex/static_root/assets/change-password-dialog-Baa-qXXZ.2dd5799b9e0f.js.br +0 -0
  102. codex/static_root/assets/change-password-dialog-Baa-qXXZ.2dd5799b9e0f.js.gz +0 -0
  103. codex/static_root/assets/{change-password-dialog-CF2nKw7P.js → change-password-dialog-Baa-qXXZ.js} +1 -1
  104. codex/static_root/assets/change-password-dialog-Baa-qXXZ.js.br +0 -0
  105. codex/static_root/assets/change-password-dialog-Baa-qXXZ.js.gz +0 -0
  106. codex/static_root/assets/{confirm-dialog-QuQQIjP8.cdc7a81752e0.js → confirm-dialog-GFYaCGnF.74926361ce10.js} +1 -1
  107. codex/static_root/assets/confirm-dialog-GFYaCGnF.74926361ce10.js.br +0 -0
  108. codex/static_root/assets/confirm-dialog-GFYaCGnF.74926361ce10.js.gz +0 -0
  109. codex/static_root/assets/{confirm-dialog-QuQQIjP8.js → confirm-dialog-GFYaCGnF.js} +1 -1
  110. codex/static_root/assets/confirm-dialog-GFYaCGnF.js.br +0 -0
  111. codex/static_root/assets/confirm-dialog-GFYaCGnF.js.gz +0 -0
  112. codex/static_root/assets/{confirm-footer-Dn2lMm3W.js → confirm-footer-BZ5z6tl1.3251a6549976.js} +1 -1
  113. codex/static_root/assets/confirm-footer-BZ5z6tl1.3251a6549976.js.br +0 -0
  114. codex/static_root/assets/confirm-footer-BZ5z6tl1.3251a6549976.js.gz +0 -0
  115. codex/static_root/assets/{confirm-footer-Dn2lMm3W.835aef2fb570.js → confirm-footer-BZ5z6tl1.js} +1 -1
  116. codex/static_root/assets/confirm-footer-BZ5z6tl1.js.br +0 -0
  117. codex/static_root/assets/confirm-footer-BZ5z6tl1.js.gz +0 -0
  118. codex/static_root/assets/{datetime-column-B-CY7WzA.a631764a2cc8.js → datetime-column-B1V0cYaU.0c46b8a368b1.js} +1 -1
  119. codex/static_root/assets/datetime-column-B1V0cYaU.0c46b8a368b1.js.br +0 -0
  120. codex/static_root/assets/datetime-column-B1V0cYaU.0c46b8a368b1.js.gz +0 -0
  121. codex/static_root/assets/{datetime-column-B-CY7WzA.js → datetime-column-B1V0cYaU.js} +1 -1
  122. codex/static_root/assets/datetime-column-B1V0cYaU.js.br +0 -0
  123. codex/static_root/assets/datetime-column-B1V0cYaU.js.gz +0 -0
  124. codex/static_root/assets/{filter-BVxPwa6D.959413f1bd2b.js → filter-D8l3lzk8.042233ea3486.js} +1 -1
  125. codex/static_root/assets/filter-D8l3lzk8.042233ea3486.js.br +0 -0
  126. codex/static_root/assets/filter-D8l3lzk8.042233ea3486.js.gz +0 -0
  127. codex/static_root/assets/{filter-BVxPwa6D.js → filter-D8l3lzk8.js} +1 -1
  128. codex/static_root/assets/filter-D8l3lzk8.js.br +0 -0
  129. codex/static_root/assets/filter-D8l3lzk8.js.gz +0 -0
  130. codex/static_root/assets/{flag-tab-C0HVn22U.2326fae5cbf7.js → flag-tab-BDPywFPd.63518f50890d.js} +1 -1
  131. codex/static_root/assets/flag-tab-BDPywFPd.63518f50890d.js.br +0 -0
  132. codex/static_root/assets/flag-tab-BDPywFPd.63518f50890d.js.gz +0 -0
  133. codex/static_root/assets/{flag-tab-C0HVn22U.js → flag-tab-BDPywFPd.js} +1 -1
  134. codex/static_root/assets/flag-tab-BDPywFPd.js.br +0 -0
  135. codex/static_root/assets/flag-tab-BDPywFPd.js.gz +0 -0
  136. codex/static_root/assets/{group-tab-BlICJO3Q.9e9032f9f67f.js → group-tab-KqXSGW5M.01cbb8a1405f.js} +1 -1
  137. codex/static_root/assets/group-tab-KqXSGW5M.01cbb8a1405f.js.br +0 -0
  138. codex/static_root/assets/group-tab-KqXSGW5M.01cbb8a1405f.js.gz +0 -0
  139. codex/static_root/assets/{group-tab-BlICJO3Q.js → group-tab-KqXSGW5M.js} +1 -1
  140. codex/static_root/assets/group-tab-KqXSGW5M.js.br +0 -0
  141. codex/static_root/assets/group-tab-KqXSGW5M.js.gz +0 -0
  142. codex/static_root/assets/{http-error-Be3cZPit.2d57cdb17fed.js → http-error-5WhCKib6.b2f36af25a6f.js} +1 -1
  143. codex/static_root/assets/http-error-5WhCKib6.b2f36af25a6f.js.br +4 -0
  144. codex/static_root/assets/http-error-5WhCKib6.b2f36af25a6f.js.gz +0 -0
  145. codex/static_root/assets/{http-error-Be3cZPit.js → http-error-5WhCKib6.js} +1 -1
  146. codex/static_root/assets/http-error-5WhCKib6.js.br +4 -0
  147. codex/static_root/assets/http-error-5WhCKib6.js.gz +0 -0
  148. codex/static_root/assets/{library-tab-MJT0zrXp.769e06a80444.js → library-tab-BqoBlTet.89bd37b52a52.js} +1 -1
  149. codex/static_root/assets/library-tab-BqoBlTet.89bd37b52a52.js.br +0 -0
  150. codex/static_root/assets/library-tab-BqoBlTet.89bd37b52a52.js.gz +0 -0
  151. codex/static_root/assets/{library-tab-MJT0zrXp.js → library-tab-BqoBlTet.js} +1 -1
  152. codex/static_root/assets/library-tab-BqoBlTet.js.br +0 -0
  153. codex/static_root/assets/library-tab-BqoBlTet.js.gz +0 -0
  154. codex/static_root/assets/{main-Bgnbd-Ed.js → main-D3DHt-EP.d53d3204d5c3.js} +6 -6
  155. codex/static_root/assets/main-D3DHt-EP.d53d3204d5c3.js.br +0 -0
  156. codex/static_root/assets/main-D3DHt-EP.d53d3204d5c3.js.gz +0 -0
  157. codex/static_root/assets/{main-Bgnbd-Ed.5bbbe22860ba.js → main-D3DHt-EP.js} +6 -6
  158. codex/static_root/assets/main-D3DHt-EP.js.br +0 -0
  159. codex/static_root/assets/main-D3DHt-EP.js.gz +0 -0
  160. codex/static_root/assets/{metadata-dialog-DtV61Pw5.9a11d5a06e03.js → metadata-dialog-CJcprkxf.3042328b6353.js} +1 -1
  161. codex/static_root/assets/metadata-dialog-CJcprkxf.3042328b6353.js.br +0 -0
  162. codex/static_root/assets/metadata-dialog-CJcprkxf.3042328b6353.js.gz +0 -0
  163. codex/static_root/assets/{metadata-dialog-DtV61Pw5.js → metadata-dialog-CJcprkxf.js} +1 -1
  164. codex/static_root/assets/metadata-dialog-CJcprkxf.js.br +0 -0
  165. codex/static_root/assets/metadata-dialog-CJcprkxf.js.gz +0 -0
  166. codex/static_root/assets/{pdf-doc-DuP9ULnS.9ff15acd5eae.js → pdf-doc-CAMtvE6R.995dfc33e383.js} +3 -3
  167. codex/static_root/assets/pdf-doc-CAMtvE6R.995dfc33e383.js.br +0 -0
  168. codex/static_root/assets/pdf-doc-CAMtvE6R.995dfc33e383.js.gz +0 -0
  169. codex/static_root/assets/{pdf-doc-DuP9ULnS.js → pdf-doc-CAMtvE6R.js} +3 -3
  170. codex/static_root/assets/pdf-doc-CAMtvE6R.js.br +0 -0
  171. codex/static_root/assets/pdf-doc-CAMtvE6R.js.gz +0 -0
  172. codex/static_root/assets/{reader-CVGGg4wf.0829006dc124.js → reader-zEw6Fz0p.c832c228c37b.js} +2 -2
  173. codex/static_root/assets/reader-zEw6Fz0p.c832c228c37b.js.br +0 -0
  174. codex/static_root/assets/reader-zEw6Fz0p.c832c228c37b.js.gz +0 -0
  175. codex/static_root/assets/{reader-CVGGg4wf.js → reader-zEw6Fz0p.js} +2 -2
  176. codex/static_root/assets/reader-zEw6Fz0p.js.br +0 -0
  177. codex/static_root/assets/reader-zEw6Fz0p.js.gz +0 -0
  178. codex/static_root/assets/{stats-tab-sFnCfXbF.3e5593abec1f.js → stats-tab-qkgb7Upv.8768847dc063.js} +1 -1
  179. codex/static_root/assets/stats-tab-qkgb7Upv.8768847dc063.js.br +0 -0
  180. codex/static_root/assets/stats-tab-qkgb7Upv.8768847dc063.js.gz +0 -0
  181. codex/static_root/assets/{stats-tab-sFnCfXbF.js → stats-tab-qkgb7Upv.js} +1 -1
  182. codex/static_root/assets/stats-tab-qkgb7Upv.js.br +0 -0
  183. codex/static_root/assets/stats-tab-qkgb7Upv.js.gz +0 -0
  184. codex/static_root/assets/{task-tab-Bl8L5IRe.4b97affd95dc.js → task-tab-BN1YRCAx.6fcf833588f3.js} +1 -1
  185. codex/static_root/assets/task-tab-BN1YRCAx.6fcf833588f3.js.br +0 -0
  186. codex/static_root/assets/task-tab-BN1YRCAx.6fcf833588f3.js.gz +0 -0
  187. codex/static_root/assets/{task-tab-Bl8L5IRe.js → task-tab-BN1YRCAx.js} +1 -1
  188. codex/static_root/assets/task-tab-BN1YRCAx.js.br +0 -0
  189. codex/static_root/assets/task-tab-BN1YRCAx.js.gz +0 -0
  190. codex/static_root/assets/{user-tab-CqD-l9Jl.557c62d75ddb.js → user-tab-CUFrpTg3.7e1cbcbed523.js} +1 -1
  191. codex/static_root/assets/user-tab-CUFrpTg3.7e1cbcbed523.js.br +0 -0
  192. codex/static_root/assets/user-tab-CUFrpTg3.7e1cbcbed523.js.gz +0 -0
  193. codex/static_root/assets/{user-tab-CqD-l9Jl.js → user-tab-CUFrpTg3.js} +1 -1
  194. codex/static_root/assets/user-tab-CUFrpTg3.js.br +0 -0
  195. codex/static_root/assets/user-tab-CUFrpTg3.js.gz +0 -0
  196. codex/static_root/manifest.2e1bd449ab2a.json +607 -0
  197. codex/static_root/manifest.2e1bd449ab2a.json.br +0 -0
  198. codex/static_root/manifest.2e1bd449ab2a.json.gz +0 -0
  199. codex/static_root/manifest.json +240 -206
  200. codex/static_root/manifest.json.br +0 -0
  201. codex/static_root/manifest.json.gz +0 -0
  202. codex/static_root/staticfiles.json +1 -1
  203. {codex-1.5.4.dist-info → codex-1.5.6.dist-info}/METADATA +3 -3
  204. {codex-1.5.4.dist-info → codex-1.5.6.dist-info}/RECORD +207 -207
  205. codex/static_root/assets/VCheckbox-ttw6_0q4.1ea7e82279a8.js.br +0 -0
  206. codex/static_root/assets/VCheckbox-ttw6_0q4.1ea7e82279a8.js.gz +0 -0
  207. codex/static_root/assets/VCheckbox-ttw6_0q4.js.br +0 -0
  208. codex/static_root/assets/VCheckbox-ttw6_0q4.js.gz +0 -0
  209. codex/static_root/assets/VCheckboxBtn-Bp35_RPC.2e7cbdc1bbe6.js.br +0 -0
  210. codex/static_root/assets/VCheckboxBtn-Bp35_RPC.2e7cbdc1bbe6.js.gz +0 -0
  211. codex/static_root/assets/VCheckboxBtn-Bp35_RPC.js.br +0 -0
  212. codex/static_root/assets/VCheckboxBtn-Bp35_RPC.js.gz +0 -0
  213. codex/static_root/assets/VCombobox-BdgQw7Qf.7cd7b8be4c01.js.br +0 -0
  214. codex/static_root/assets/VCombobox-BdgQw7Qf.7cd7b8be4c01.js.gz +0 -0
  215. codex/static_root/assets/VCombobox-BdgQw7Qf.js.br +0 -0
  216. codex/static_root/assets/VCombobox-BdgQw7Qf.js.gz +0 -0
  217. codex/static_root/assets/VDataTableVirtual-ZvTtvsAK.b62ea3cf1547.js.br +0 -0
  218. codex/static_root/assets/VDataTableVirtual-ZvTtvsAK.b62ea3cf1547.js.gz +0 -0
  219. codex/static_root/assets/VDataTableVirtual-ZvTtvsAK.js.br +0 -0
  220. codex/static_root/assets/VDataTableVirtual-ZvTtvsAK.js.gz +0 -0
  221. codex/static_root/assets/VExpansionPanel-B9_sAbP7.b7fddb409254.js.br +0 -0
  222. codex/static_root/assets/VExpansionPanel-B9_sAbP7.b7fddb409254.js.gz +0 -0
  223. codex/static_root/assets/VExpansionPanel-B9_sAbP7.js.br +0 -0
  224. codex/static_root/assets/VExpansionPanel-B9_sAbP7.js.gz +0 -0
  225. codex/static_root/assets/VMain-BcJKdsRe.afbd9f0dd4f6.js.br +0 -0
  226. codex/static_root/assets/VMain-BcJKdsRe.afbd9f0dd4f6.js.gz +0 -0
  227. codex/static_root/assets/VMain-BcJKdsRe.js.br +0 -0
  228. codex/static_root/assets/VMain-BcJKdsRe.js.gz +0 -0
  229. codex/static_root/assets/VRadioGroup-LzINtWiV.8ee7ffab33b8.js.br +0 -0
  230. codex/static_root/assets/VRadioGroup-LzINtWiV.8ee7ffab33b8.js.gz +0 -0
  231. codex/static_root/assets/VRadioGroup-LzINtWiV.js.br +0 -0
  232. codex/static_root/assets/VRadioGroup-LzINtWiV.js.gz +0 -0
  233. codex/static_root/assets/VSelect-Besri79c.70e02b19d80e.js.br +0 -0
  234. codex/static_root/assets/VSelect-Besri79c.70e02b19d80e.js.gz +0 -0
  235. codex/static_root/assets/VSelect-Besri79c.js.br +0 -0
  236. codex/static_root/assets/VSelect-Besri79c.js.gz +0 -0
  237. codex/static_root/assets/VSelectionControl-DcxpMWYl.6f305fe7c032.js.br +0 -0
  238. codex/static_root/assets/VSelectionControl-DcxpMWYl.6f305fe7c032.js.gz +0 -0
  239. codex/static_root/assets/VSelectionControl-DcxpMWYl.js.br +0 -0
  240. codex/static_root/assets/VSelectionControl-DcxpMWYl.js.gz +0 -0
  241. codex/static_root/assets/VSlideGroup-FjUTaP5Y.1056596d9350.js.br +0 -0
  242. codex/static_root/assets/VSlideGroup-FjUTaP5Y.1056596d9350.js.gz +0 -0
  243. codex/static_root/assets/VSlideGroup-FjUTaP5Y.js.br +0 -0
  244. codex/static_root/assets/VSlideGroup-FjUTaP5Y.js.gz +0 -0
  245. codex/static_root/assets/VTable-_xkMh7Up.b12a3d30012a.js.br +0 -0
  246. codex/static_root/assets/VTable-_xkMh7Up.b12a3d30012a.js.gz +0 -0
  247. codex/static_root/assets/VTable-_xkMh7Up.js.br +0 -0
  248. codex/static_root/assets/VTable-_xkMh7Up.js.gz +0 -0
  249. codex/static_root/assets/VToolbar-H46j-Kgh.3a7df123d4f9.js.br +0 -0
  250. codex/static_root/assets/VToolbar-H46j-Kgh.3a7df123d4f9.js.gz +0 -0
  251. codex/static_root/assets/VToolbar-H46j-Kgh.js.br +0 -0
  252. codex/static_root/assets/VToolbar-H46j-Kgh.js.gz +0 -0
  253. codex/static_root/assets/VWindowItem-y26XPVzz.43a47f7b2c6b.js.br +0 -0
  254. codex/static_root/assets/VWindowItem-y26XPVzz.43a47f7b2c6b.js.gz +0 -0
  255. codex/static_root/assets/VWindowItem-y26XPVzz.js.br +0 -0
  256. codex/static_root/assets/VWindowItem-y26XPVzz.js.gz +0 -0
  257. codex/static_root/assets/admin-DEHPwJ89.b8ac6095012a.js.br +0 -0
  258. codex/static_root/assets/admin-DEHPwJ89.b8ac6095012a.js.gz +0 -0
  259. codex/static_root/assets/admin-DEHPwJ89.js.br +0 -0
  260. codex/static_root/assets/admin-DEHPwJ89.js.gz +0 -0
  261. codex/static_root/assets/admin-drawer-panel-BAMygpGL.81f38ddb56f9.js.br +0 -0
  262. codex/static_root/assets/admin-drawer-panel-BAMygpGL.js.br +0 -0
  263. codex/static_root/assets/browser-D9gQuM8Q.5b74e4abd0be.js.br +0 -0
  264. codex/static_root/assets/browser-D9gQuM8Q.5b74e4abd0be.js.gz +0 -0
  265. codex/static_root/assets/browser-D9gQuM8Q.js.br +0 -0
  266. codex/static_root/assets/browser-D9gQuM8Q.js.gz +0 -0
  267. codex/static_root/assets/change-password-dialog-CF2nKw7P.125a50b342eb.js.br +0 -0
  268. codex/static_root/assets/change-password-dialog-CF2nKw7P.125a50b342eb.js.gz +0 -0
  269. codex/static_root/assets/change-password-dialog-CF2nKw7P.js.br +0 -0
  270. codex/static_root/assets/change-password-dialog-CF2nKw7P.js.gz +0 -0
  271. codex/static_root/assets/confirm-dialog-QuQQIjP8.cdc7a81752e0.js.br +0 -0
  272. codex/static_root/assets/confirm-dialog-QuQQIjP8.cdc7a81752e0.js.gz +0 -0
  273. codex/static_root/assets/confirm-dialog-QuQQIjP8.js.br +0 -0
  274. codex/static_root/assets/confirm-dialog-QuQQIjP8.js.gz +0 -0
  275. codex/static_root/assets/confirm-footer-Dn2lMm3W.835aef2fb570.js.br +0 -0
  276. codex/static_root/assets/confirm-footer-Dn2lMm3W.835aef2fb570.js.gz +0 -0
  277. codex/static_root/assets/confirm-footer-Dn2lMm3W.js.br +0 -0
  278. codex/static_root/assets/confirm-footer-Dn2lMm3W.js.gz +0 -0
  279. codex/static_root/assets/datetime-column-B-CY7WzA.a631764a2cc8.js.br +0 -0
  280. codex/static_root/assets/datetime-column-B-CY7WzA.a631764a2cc8.js.gz +0 -0
  281. codex/static_root/assets/datetime-column-B-CY7WzA.js.br +0 -0
  282. codex/static_root/assets/datetime-column-B-CY7WzA.js.gz +0 -0
  283. codex/static_root/assets/filter-BVxPwa6D.959413f1bd2b.js.br +0 -0
  284. codex/static_root/assets/filter-BVxPwa6D.959413f1bd2b.js.gz +0 -0
  285. codex/static_root/assets/filter-BVxPwa6D.js.br +0 -0
  286. codex/static_root/assets/filter-BVxPwa6D.js.gz +0 -0
  287. codex/static_root/assets/flag-tab-C0HVn22U.2326fae5cbf7.js.br +0 -0
  288. codex/static_root/assets/flag-tab-C0HVn22U.2326fae5cbf7.js.gz +0 -0
  289. codex/static_root/assets/flag-tab-C0HVn22U.js.br +0 -0
  290. codex/static_root/assets/flag-tab-C0HVn22U.js.gz +0 -0
  291. codex/static_root/assets/group-tab-BlICJO3Q.9e9032f9f67f.js.br +0 -0
  292. codex/static_root/assets/group-tab-BlICJO3Q.9e9032f9f67f.js.gz +0 -0
  293. codex/static_root/assets/group-tab-BlICJO3Q.js.br +0 -0
  294. codex/static_root/assets/group-tab-BlICJO3Q.js.gz +0 -0
  295. codex/static_root/assets/http-error-Be3cZPit.2d57cdb17fed.js.br +0 -0
  296. codex/static_root/assets/http-error-Be3cZPit.2d57cdb17fed.js.gz +0 -0
  297. codex/static_root/assets/http-error-Be3cZPit.js.br +0 -0
  298. codex/static_root/assets/http-error-Be3cZPit.js.gz +0 -0
  299. codex/static_root/assets/library-tab-MJT0zrXp.769e06a80444.js.br +0 -0
  300. codex/static_root/assets/library-tab-MJT0zrXp.769e06a80444.js.gz +0 -0
  301. codex/static_root/assets/library-tab-MJT0zrXp.js.br +0 -0
  302. codex/static_root/assets/library-tab-MJT0zrXp.js.gz +0 -0
  303. codex/static_root/assets/main-Bgnbd-Ed.5bbbe22860ba.js.br +0 -0
  304. codex/static_root/assets/main-Bgnbd-Ed.5bbbe22860ba.js.gz +0 -0
  305. codex/static_root/assets/main-Bgnbd-Ed.js.br +0 -0
  306. codex/static_root/assets/main-Bgnbd-Ed.js.gz +0 -0
  307. codex/static_root/assets/metadata-dialog-DtV61Pw5.9a11d5a06e03.js.br +0 -0
  308. codex/static_root/assets/metadata-dialog-DtV61Pw5.9a11d5a06e03.js.gz +0 -0
  309. codex/static_root/assets/metadata-dialog-DtV61Pw5.js.br +0 -0
  310. codex/static_root/assets/metadata-dialog-DtV61Pw5.js.gz +0 -0
  311. codex/static_root/assets/pdf-doc-DuP9ULnS.9ff15acd5eae.js.br +0 -0
  312. codex/static_root/assets/pdf-doc-DuP9ULnS.9ff15acd5eae.js.gz +0 -0
  313. codex/static_root/assets/pdf-doc-DuP9ULnS.js.br +0 -0
  314. codex/static_root/assets/pdf-doc-DuP9ULnS.js.gz +0 -0
  315. codex/static_root/assets/reader-CVGGg4wf.0829006dc124.js.br +0 -0
  316. codex/static_root/assets/reader-CVGGg4wf.0829006dc124.js.gz +0 -0
  317. codex/static_root/assets/reader-CVGGg4wf.js.br +0 -0
  318. codex/static_root/assets/reader-CVGGg4wf.js.gz +0 -0
  319. codex/static_root/assets/stats-tab-sFnCfXbF.3e5593abec1f.js.br +0 -0
  320. codex/static_root/assets/stats-tab-sFnCfXbF.3e5593abec1f.js.gz +0 -0
  321. codex/static_root/assets/stats-tab-sFnCfXbF.js.br +0 -0
  322. codex/static_root/assets/stats-tab-sFnCfXbF.js.gz +0 -0
  323. codex/static_root/assets/task-tab-Bl8L5IRe.4b97affd95dc.js.br +0 -0
  324. codex/static_root/assets/task-tab-Bl8L5IRe.4b97affd95dc.js.gz +0 -0
  325. codex/static_root/assets/task-tab-Bl8L5IRe.js.br +0 -0
  326. codex/static_root/assets/task-tab-Bl8L5IRe.js.gz +0 -0
  327. codex/static_root/assets/user-tab-CqD-l9Jl.557c62d75ddb.js.br +0 -0
  328. codex/static_root/assets/user-tab-CqD-l9Jl.557c62d75ddb.js.gz +0 -0
  329. codex/static_root/assets/user-tab-CqD-l9Jl.js.br +0 -0
  330. codex/static_root/assets/user-tab-CqD-l9Jl.js.gz +0 -0
  331. codex/static_root/manifest.4a8540baa310.json +0 -573
  332. codex/static_root/manifest.4a8540baa310.json.br +0 -0
  333. codex/static_root/manifest.4a8540baa310.json.gz +0 -0
  334. {codex-1.5.4.dist-info → codex-1.5.6.dist-info}/LICENSE +0 -0
  335. {codex-1.5.4.dist-info → codex-1.5.6.dist-info}/WHEEL +0 -0
  336. {codex-1.5.4.dist-info → codex-1.5.6.dist-info}/entry_points.txt +0 -0
@@ -35,6 +35,7 @@ from codex.models import (
35
35
  Volume,
36
36
  )
37
37
  from codex.models.named import Identifier
38
+ from codex.settings.settings import FILTER_BATCH_SIZE
38
39
  from codex.status import Status
39
40
  from codex.threads import QueuedThread
40
41
 
@@ -50,10 +51,6 @@ _CLASS_QUERY_FIELDS_MAP = {
50
51
  Identifier: ("identifier_type__name", "nss", "url"),
51
52
  }
52
53
  _DEFAULT_QUERY_FIELDS = ("name",)
53
- # sqlite parser breaks with more than 1000 variables in a query and django only
54
- # fixes this in the bulk_create & bulk_update functions. So for complicated
55
- # queries I gotta batch them myself. Filter arg count is a proxy, but it works.
56
- _SQLITE_FILTER_ARG_MAX = 990
57
54
 
58
55
  LOG = get_logger(__name__)
59
56
 
@@ -77,21 +74,21 @@ class QueryForeignKeysMixin(QueuedThread):
77
74
  def _query_existing_mds(fk_cls, fk_filter):
78
75
  """Query existing metatata tables."""
79
76
  fields = _CLASS_QUERY_FIELDS_MAP.get(fk_cls, _DEFAULT_QUERY_FIELDS)
80
- if not fields:
81
- fields = ("name",)
82
77
  flat = len(fields) == 1 and fk_cls != Publisher
83
-
84
- return frozenset(
78
+ # print(fk_filter)
79
+ qs = (
85
80
  fk_cls.objects.filter(fk_filter)
86
81
  .order_by("pk")
87
82
  .values_list(*fields, flat=flat)
88
83
  )
84
+ return frozenset(qs)
89
85
 
90
- def _query_create_metadata(
86
+ def _query_create_metadata( # noqa: PLR0913
91
87
  self,
92
88
  fk_cls,
93
89
  create_mds,
94
90
  q_obj: Q,
91
+ q_and_chunk_prefix,
95
92
  status,
96
93
  ):
97
94
  """Get create metadata by comparing proposed meatada to existing rows."""
@@ -101,9 +98,12 @@ class QueryForeignKeysMixin(QueuedThread):
101
98
  offset = 0
102
99
  num_qs = len(q_obj.children)
103
100
  while offset < num_qs:
104
- # Do this in batches so as not to exceed the 1k line sqlite limit
105
- children_chunk = q_obj.children[offset : offset + _SQLITE_FILTER_ARG_MAX]
101
+ # Do this in batches so as not to exceed the sqlite 1k expression tree depth limit
102
+ # django.db.utils.OperationalError: Expression tree is too large (maximum depth 1000)
103
+ children_chunk = q_obj.children[offset : offset + FILTER_BATCH_SIZE]
106
104
  filter_chunk = Q(*children_chunk, _connector=Q.OR)
105
+ if q_and_chunk_prefix:
106
+ filter_chunk = q_and_chunk_prefix & filter_chunk
107
107
 
108
108
  existing_mds = self._query_existing_mds(fk_cls, filter_chunk)
109
109
  create_mds.difference_update(existing_mds)
@@ -111,7 +111,7 @@ class QueryForeignKeysMixin(QueuedThread):
111
111
  status.complete += len(filter_chunk)
112
112
  self.status_controller.update(status)
113
113
 
114
- offset += _SQLITE_FILTER_ARG_MAX
114
+ offset += FILTER_BATCH_SIZE
115
115
 
116
116
  if status:
117
117
  status.subtitle = ""
@@ -154,7 +154,7 @@ class QueryForeignKeysMixin(QueuedThread):
154
154
 
155
155
  candidate_groups = set(groups.keys())
156
156
  count = self._query_create_metadata(
157
- group_cls, candidate_groups, all_filters, status
157
+ group_cls, candidate_groups, all_filters, None, status
158
158
  )
159
159
  create_group_set.update(candidate_groups)
160
160
  return count
@@ -223,9 +223,7 @@ class QueryForeignKeysMixin(QueuedThread):
223
223
  num_qs = len(group_filter.children)
224
224
  while offset < num_qs:
225
225
  # Do this in batches so as not to exceed the 1k line sqlite limit
226
- children_chunk = group_filter.children[
227
- offset : offset + _SQLITE_FILTER_ARG_MAX
228
- ]
226
+ children_chunk = group_filter.children[offset : offset + FILTER_BATCH_SIZE]
229
227
  filter_chunk = Q(*children_chunk, _connector=Q.OR)
230
228
 
231
229
  existing = group_cls.objects.filter(filter_chunk).values_list(
@@ -235,7 +233,7 @@ class QueryForeignKeysMixin(QueuedThread):
235
233
  exist_tree = tuple(exist_tuple[:-1])
236
234
  exist_dict[exist_tree] = exist_tuple[-1]
237
235
 
238
- offset += _SQLITE_FILTER_ARG_MAX
236
+ offset += FILTER_BATCH_SIZE
239
237
  return exist_dict
240
238
 
241
239
  @staticmethod
@@ -319,11 +317,10 @@ class QueryForeignKeysMixin(QueuedThread):
319
317
  #########
320
318
  @staticmethod
321
319
  def _query_missing_identifiers_model_obj(
322
- rels, item, all_filters, possible_create_objs
320
+ key_rel, value_rel_map, item, possible_create_objs
323
321
  ):
324
322
  """Update all_filters and possible_create_objs for identifiers."""
325
323
  # identifiers is unique at this time for having more than one value as a dict.
326
- key_rel, value_rel_map = rels
327
324
  key, values = item
328
325
  values_list = []
329
326
  for val in values:
@@ -339,38 +336,45 @@ class QueryForeignKeysMixin(QueuedThread):
339
336
  value_filter |= value_sub_filter
340
337
 
341
338
  if not value_filter:
342
- return all_filters
339
+ return value_filter, None
343
340
 
344
- obj_filter = Q(**{key_rel: key}) & value_filter
345
- all_filters = all_filters | obj_filter
341
+ obj_filter = Q(**{key_rel: key})
346
342
 
347
343
  for value in values:
348
344
  possible_create_objs.add((key, value))
349
- return all_filters
345
+ return value_filter, obj_filter
350
346
 
351
347
  @staticmethod
352
- def _query_missing_dict_model_obj(rels, item, all_filters, possible_create_objs):
348
+ def _query_missing_dict_model_obj(key_rel, value_rel, item, possible_create_objs):
353
349
  """Update all_filters and possible_create_objs for this obj."""
354
- key_rel, value_rel = rels
355
350
  key, values = item
356
351
 
357
352
  filter_isnull = None in values
358
353
  filter_values = values - {None}
359
354
 
355
+ if not filter_values and not filter_isnull:
356
+ return Q(), None
357
+
360
358
  value_filter = (
361
359
  Q(**{f"{value_rel}__in": filter_values}) if filter_values else Q()
362
360
  )
363
361
  if filter_isnull:
364
362
  value_filter = value_filter | Q(**{f"{value_rel}__isnull": True})
365
- if not value_filter:
366
- return all_filters
367
363
 
368
- obj_filter = Q(**{key_rel: key}) & value_filter
369
- all_filters = all_filters | obj_filter
364
+ obj_filter = Q(**{key_rel: key})
370
365
 
371
366
  for value in values:
372
367
  possible_create_objs.add((key, value))
373
- return all_filters
368
+ return value_filter, obj_filter
369
+
370
+ @staticmethod
371
+ def _add_value_filter_map(value_filter, filter_and_prefix, query_filter_map):
372
+ """Add a filter_and_prefix and the value filter to the map."""
373
+ if not value_filter:
374
+ return
375
+ if filter_and_prefix not in query_filter_map:
376
+ query_filter_map[filter_and_prefix] = Q()
377
+ query_filter_map[filter_and_prefix] |= value_filter
374
378
 
375
379
  def _query_missing_dict_model(self, field_name, fks, create_objs, status):
376
380
  """Find missing dict type m2m models with a supplied filter method."""
@@ -380,28 +384,31 @@ class QueryForeignKeysMixin(QueuedThread):
380
384
  return count
381
385
 
382
386
  possible_create_objs = set()
383
- all_filters = Q()
387
+ query_filter_map = {}
384
388
  # create the filter
385
- if field_name == "identifiers":
386
- model, key_rel, value_rel = IDENTIFIERS_MODEL_REL_MAP[field_name]
387
- rels = (key_rel, value_rel)
388
389
 
389
- for item in possible_objs.items():
390
- all_filters = self._query_missing_identifiers_model_obj(
391
- rels, item, all_filters, possible_create_objs
392
- )
390
+ if field_name == "identifiers":
391
+ rel_map = IDENTIFIERS_MODEL_REL_MAP
392
+ query_missing_method = self._query_missing_identifiers_model_obj
393
393
  else:
394
- model, key_rel, value_rel = DICT_MODEL_REL_MAP[field_name]
395
- rels = (key_rel, value_rel)
396
- for item in possible_objs.items():
397
- all_filters = self._query_missing_dict_model_obj(
398
- rels, item, all_filters, possible_create_objs
399
- )
394
+ rel_map = DICT_MODEL_REL_MAP
395
+ query_missing_method = self._query_missing_dict_model_obj
396
+
397
+ model, key_rel, value_rel = rel_map[field_name]
398
+
399
+ for item in possible_objs.items():
400
+ value_filter, filter_and_prefix = query_missing_method(
401
+ key_rel, value_rel, item, possible_create_objs
402
+ )
403
+ self._add_value_filter_map(
404
+ value_filter, filter_and_prefix, query_filter_map
405
+ )
400
406
 
401
407
  # get the obj metadata
402
- count = self._query_create_metadata(
403
- model, possible_create_objs, all_filters, status
404
- )
408
+ for filter_and_prefix, value_filter in query_filter_map.items():
409
+ count += self._query_create_metadata(
410
+ model, possible_create_objs, value_filter, filter_and_prefix, status
411
+ )
405
412
 
406
413
  create_objs.update(possible_create_objs)
407
414
  count = len(create_objs)
@@ -438,7 +445,7 @@ class QueryForeignKeysMixin(QueuedThread):
438
445
  status.subtitle = vnp
439
446
  while start < num_proposed_names:
440
447
  # Do this in batches so as not to exceed the 1k line sqlite limit
441
- end = start + _SQLITE_FILTER_ARG_MAX
448
+ end = start + FILTER_BATCH_SIZE
442
449
  batch_proposed_names = proposed_names[start:end]
443
450
  filter_args = {f"{fk_field}__in": batch_proposed_names}
444
451
  fk_filter = Q(**filter_args)
@@ -449,7 +456,7 @@ class QueryForeignKeysMixin(QueuedThread):
449
456
  status.complete = status.complete or 0
450
457
  status.complete += num_in_batch
451
458
  self.status_controller.update(status)
452
- start += _SQLITE_FILTER_ARG_MAX
459
+ start += FILTER_BATCH_SIZE
453
460
 
454
461
  if status:
455
462
  status.subtitle = ""
@@ -9,12 +9,9 @@ from zoneinfo import ZoneInfo
9
9
 
10
10
  from django.core.exceptions import ObjectDoesNotExist
11
11
  from django.db import DatabaseError
12
- from django.db.models import Q
13
12
  from humanize import naturaldelta
14
- from whoosh.query import Every
15
13
 
16
14
  from codex._vendor.haystack.exceptions import SearchFieldError
17
- from codex._vendor.haystack.indexes import DJANGO_ID
18
15
  from codex.librarian.search.remove import RemoveMixin
19
16
  from codex.librarian.search.status import SearchIndexStatusTypes
20
17
  from codex.librarian.search.tasks import SearchIndexRemoveStaleTask
@@ -54,6 +51,7 @@ class UpdateMixin(RemoveMixin):
54
51
  )
55
52
  _MAX_RETRIES = 8
56
53
  _CPU_MULTIPLIER = CPU_MULTIPLIER
54
+ _UPDATE_SORT_BY = ("-updated_at",)
57
55
 
58
56
  def _init_statuses(self, rebuild):
59
57
  """Initialize all statuses order before starting."""
@@ -65,32 +63,15 @@ class UpdateMixin(RemoveMixin):
65
63
  statii += [Status(SearchIndexStatusTypes.SEARCH_INDEX_REMOVE)]
66
64
  self.status_controller.start_many(statii)
67
65
 
68
- def _get_queryset_from_search_results(self, results, qs, suffix):
69
- """Use python to find the lowest date and any missing rows."""
70
- all_index_pks = []
71
- index_latest_updated_at = self._MIN_UTC_DATE
72
- for result in results:
73
- all_index_pks.append(result.get(DJANGO_ID))
74
- result_updated_at = result.get("updated_at")
75
- if result_updated_at and result_updated_at > index_latest_updated_at:
76
- index_latest_updated_at = result_updated_at
77
- if index_latest_updated_at > self._MIN_UTC_DATE:
78
- qs = qs.filter(
79
- Q(updated_at__gt=index_latest_updated_at) | ~Q(pk__in=all_index_pks)
80
- )
81
- suffix = f"since {index_latest_updated_at}"
82
-
83
- return qs, suffix
84
-
85
66
  def _get_queryset_from_search_index(self, backend, qs, suffix):
86
67
  """Get the date of the last updated item in the search index."""
87
- with backend.index.refresh().searcher() as searcher:
88
- # XXX IDK why but sorting by 'updated_at' removes the latest and most valuable result
89
- # So I have to do it in my own method.
90
- # Because of this I've turned of sortable in the schema.
91
- results = searcher.search(Every(), reverse=True, scored=False)
92
- if results.scored_length():
93
- qs, suffix = self._get_queryset_from_search_results(results, qs, suffix)
68
+ search_results = backend.search("*", sort_by=self._UPDATE_SORT_BY)
69
+ results = search_results.get("results")
70
+ if results:
71
+ most_recent_result = results[0]
72
+ most_recent_updated_at = most_recent_result.updated_at
73
+ qs = qs.filter(updated_at__gt=most_recent_updated_at)
74
+ suffix = f"since {most_recent_updated_at}"
94
75
 
95
76
  return qs, suffix
96
77
 
@@ -293,11 +293,11 @@ HAYSTACK_CONNECTIONS = {
293
293
  }
294
294
  HAYSTACK_LOGGING = False
295
295
  # Search indexing memory controls
296
- MMAP_RATIO = int(environ.get("MMAP_RATIO", 240))
297
- WRITER_MEMORY_PERCENT = float(environ.get("WRITER_MEMORY_PERCENT", 0.6))
298
- CPU_MULTIPLIER = float(environ.get("CPU_MULTIPLIER", 1.25))
299
- CHUNK_PER_GB = int(environ.get("CHUNK_PER_GB", 250))
300
- MAX_CHUNK_SIZE = int(environ.get("MAX_CHUNK_SIZE", 1000))
296
+ MMAP_RATIO = int(environ.get("CODEX_MMAP_RATIO", 240))
297
+ WRITER_MEMORY_PERCENT = float(environ.get("CODEX_WRITER_MEMORY_PERCENT", 0.6))
298
+ CPU_MULTIPLIER = float(environ.get("CODEX_CPU_MULTIPLIER", 1.25))
299
+ CHUNK_PER_GB = int(environ.get("CODEX_CHUNK_PER_GB", 250))
300
+ MAX_CHUNK_SIZE = int(environ.get("CODEX_MAX_CHUNK_SIZE", 1000))
301
301
 
302
302
  CHANNEL_LAYERS = {
303
303
  "default": {"BACKEND": "channels.layers.InMemoryChannelLayer"},
@@ -312,3 +312,8 @@ if DEBUG:
312
312
  "dev_server_host": environ.get("VITE_HOST", socket.gethostname()),
313
313
  }
314
314
  }
315
+
316
+ # sqlite parser breaks with more than 1000 variables in a query and django only
317
+ # fixes this in the bulk_create & bulk_update functions. So for complicated
318
+ # queries I gotta batch them myself. Filter arg count is a proxy, but it works.
319
+ FILTER_BATCH_SIZE = int(environ.get("CODEX_FILTER_BATCH_SIZE", 990))
@@ -1 +1 @@
1
- import{m as A,V as t}from"./VCheckboxBtn-Bp35_RPC.js";import{a as F,u as I,V as l}from"./VSelectionControl-DcxpMWYl.js";import{x as B,ah as U,G as R,ar as D,C as G,h as K,K as L,c5 as M,L as u,am as r}from"./admin-drawer-panel-BAMygpGL.js";const N=B({...F(),...U(A(),["inline"])},"VCheckbox"),w=R()({name:"VCheckbox",inheritAttrs:!1,props:N(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=D(e,"modelValue"),{isFocused:n,focus:i,blur:m}=I(e),V=G(),p=K(()=>e.id||`checkbox-${V}`);return L(()=>{const[b,f]=M(d),v=l.filterProps(e),h=t.filterProps(e);return u(l,r({class:["v-checkbox",e.class]},b,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:p.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:k,messagesId:x,isDisabled:P,isReadonly:C,isValid:y}=o;return u(t,r(h,{id:k.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},f,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:i,onBlur:m}),a)}})}),{}}});export{w as V};
1
+ import{m as A,V as t}from"./VCheckboxBtn-DoFCs6Y9.js";import{a as F,u as I,V as l}from"./VSelectionControl-DmGWAnkU.js";import{x as B,ah as U,G as R,ar as D,C as G,h as K,K as L,c5 as M,L as u,am as r}from"./admin-drawer-panel-Bw6sRseo.js";const N=B({...F(),...U(A(),["inline"])},"VCheckbox"),w=R()({name:"VCheckbox",inheritAttrs:!1,props:N(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=D(e,"modelValue"),{isFocused:n,focus:i,blur:m}=I(e),V=G(),p=K(()=>e.id||`checkbox-${V}`);return L(()=>{const[b,f]=M(d),v=l.filterProps(e),h=t.filterProps(e);return u(l,r({class:["v-checkbox",e.class]},b,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:p.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:k,messagesId:x,isDisabled:P,isReadonly:C,isValid:y}=o;return u(t,r(h,{id:k.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},f,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:i,onBlur:m}),a)}})}),{}}});export{w as V};
@@ -1 +1 @@
1
- import{m as A,V as t}from"./VCheckboxBtn-Bp35_RPC.js";import{a as F,u as I,V as l}from"./VSelectionControl-DcxpMWYl.js";import{x as B,ah as U,G as R,ar as D,C as G,h as K,K as L,c5 as M,L as u,am as r}from"./admin-drawer-panel-BAMygpGL.js";const N=B({...F(),...U(A(),["inline"])},"VCheckbox"),w=R()({name:"VCheckbox",inheritAttrs:!1,props:N(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=D(e,"modelValue"),{isFocused:n,focus:i,blur:m}=I(e),V=G(),p=K(()=>e.id||`checkbox-${V}`);return L(()=>{const[b,f]=M(d),v=l.filterProps(e),h=t.filterProps(e);return u(l,r({class:["v-checkbox",e.class]},b,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:p.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:k,messagesId:x,isDisabled:P,isReadonly:C,isValid:y}=o;return u(t,r(h,{id:k.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},f,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:i,onBlur:m}),a)}})}),{}}});export{w as V};
1
+ import{m as A,V as t}from"./VCheckboxBtn-DoFCs6Y9.js";import{a as F,u as I,V as l}from"./VSelectionControl-DmGWAnkU.js";import{x as B,ah as U,G as R,ar as D,C as G,h as K,K as L,c5 as M,L as u,am as r}from"./admin-drawer-panel-Bw6sRseo.js";const N=B({...F(),...U(A(),["inline"])},"VCheckbox"),w=R()({name:"VCheckbox",inheritAttrs:!1,props:N(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=D(e,"modelValue"),{isFocused:n,focus:i,blur:m}=I(e),V=G(),p=K(()=>e.id||`checkbox-${V}`);return L(()=>{const[b,f]=M(d),v=l.filterProps(e),h=t.filterProps(e);return u(l,r({class:["v-checkbox",e.class]},b,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:p.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:k,messagesId:x,isDisabled:P,isReadonly:C,isValid:y}=o;return u(t,r(h,{id:k.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},f,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:i,onBlur:m}),a)}})}),{}}});export{w as V};
@@ -1 +1 @@
1
- import{c as f,d as o}from"./VSelectionControl-DcxpMWYl.js";import{x as V,co as h,G as v,ar as c,h as l,K as x,ah as I,L as k,am as b}from"./admin-drawer-panel-BAMygpGL.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:h,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(a){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return x(()=>{const a=I(o.filterProps(e),["modelValue"]);return k(o,b(a,{modelValue:n.value,"onUpdate:modelValue":[d=>n.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
1
+ import{c as f,d as o}from"./VSelectionControl-DmGWAnkU.js";import{x as V,co as h,G as v,ar as c,h as l,K as x,ah as I,L as k,am as b}from"./admin-drawer-panel-Bw6sRseo.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:h,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(a){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return x(()=>{const a=I(o.filterProps(e),["modelValue"]);return k(o,b(a,{modelValue:n.value,"onUpdate:modelValue":[d=>n.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
@@ -1 +1 @@
1
- import{c as f,d as o}from"./VSelectionControl-DcxpMWYl.js";import{x as V,co as h,G as v,ar as c,h as l,K as x,ah as I,L as k,am as b}from"./admin-drawer-panel-BAMygpGL.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:h,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(a){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return x(()=>{const a=I(o.filterProps(e),["modelValue"]);return k(o,b(a,{modelValue:n.value,"onUpdate:modelValue":[d=>n.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
1
+ import{c as f,d as o}from"./VSelectionControl-DmGWAnkU.js";import{x as V,co as h,G as v,ar as c,h as l,K as x,ah as I,L as k,am as b}from"./admin-drawer-panel-Bw6sRseo.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:h,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(a){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return x(()=>{const a=I(o.filterProps(e),["modelValue"]);return k(o,b(a,{modelValue:n.value,"onUpdate:modelValue":[d=>n.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
@@ -1 +1 @@
1
- import{m as Ce,u as ke,a as pe,b as we,c as Se}from"./VSelect-Besri79c.js";import{c as Fe,a as X}from"./VSlideGroup-FjUTaP5Y.js";import{x as Ie,ah as Pe,bb as De,G as Ae,bE as Re,r as O,s as P,ar as Y,h as m,cs as _e,aj as Te,ct as D,a as A,n as Z,V as Me,K as Ee,L as s,al as K,am as I,aO as Le,ag as ee,cu as Ne,ad as le,cv as Oe,c6 as Ke,aa as Be,cw as Ue,cx as je,cy as ze}from"./admin-drawer-panel-BAMygpGL.js";import{m as He,u as $e}from"./filter-BVxPwa6D.js";import{g as qe}from"./VSelectionControl-DcxpMWYl.js";import{f as Ge}from"./confirm-footer-Dn2lMm3W.js";import{V as We}from"./VCheckboxBtn-Bp35_RPC.js";function Je(e,b,R){if(b==null)return e;if(Array.isArray(b))throw new Error("Multiple matches is not implemented");return typeof b=="number"&&~b?s(K,null,[s("span",{class:"v-combobox__unmask"},[e.substr(0,b)]),s("span",{class:"v-combobox__mask"},[e.substr(b,R)]),s("span",{class:"v-combobox__unmask"},[e.substr(b+R)])]):e}const Qe=Ie({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...He({filterKeys:["title"]}),...Ce({hideNoData:!0,returnObject:!0}),...Pe(Fe({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...De({transition:!1})},"VCombobox"),ul=Ae()({name:"VCombobox",props:Qe(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,b){var W;let{emit:R,slots:n}=b;const{t:B}=Re(),y=O(),h=P(!1),V=P(!0),_=P(!1),$=O(),q=O(),U=Y(e,"menu"),c=m({get:()=>U.value,set:l=>{var t;U.value&&!l&&((t=$.value)!=null&&t.ΨopenChildren)||(U.value=l)}}),r=P(-1);let j=!1;const ae=m(()=>{var l;return(l=y.value)==null?void 0:l.color}),G=m(()=>c.value?e.closeText:e.openText),{items:te,transformIn:ue,transformOut:ne}=_e(e),{textColorClasses:oe,textColorStyles:ie}=Te(ae),u=Y(e,"modelValue",[],l=>ue(ze(l)),l=>{const t=ne(l);return e.multiple?t:t[0]??null}),F=qe(),T=m(()=>!!(e.chips||n.chip)),C=m(()=>T.value||!!n.selection),k=P(!e.multiple&&!C.value?((W=u.value[0])==null?void 0:W.title)??"":""),v=m({get:()=>k.value,set:l=>{var t;if(k.value=l??"",!e.multiple&&!C.value&&(u.value=[D(e,l)]),l&&e.multiple&&((t=e.delimiters)!=null&&t.length)){const i=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));i.length>1&&(i.forEach(a=>{a=a.trim(),a&&f(D(e,a))}),k.value="")}l||(r.value=-1),V.value=!l}}),se=m(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:v.value.length);A(k,l=>{j?Z(()=>j=!1):h.value&&!c.value&&(c.value=!0),R("update:search",l)}),A(u,l=>{var t;!e.multiple&&!C.value&&(k.value=((t=l[0])==null?void 0:t.title)??"")});const{filteredItems:M,getMatches:re}=$e(e,te,()=>V.value?"":v.value),g=m(()=>e.hideSelected?M.value.filter(l=>!u.value.some(t=>t.value===l.value)):M.value),ce=m(()=>u.value.map(l=>l.value)),E=m(()=>{var t;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&v.value===((t=g.value[0])==null?void 0:t.title))&&g.value.length>0&&!V.value&&!_.value}),z=m(()=>e.hideNoData&&!g.value.length||e.readonly||(F==null?void 0:F.isReadonly.value)),H=O(),{onListScroll:ve,onListKeydown:de}=ke(H,y);function fe(l){j=!0,e.openOnClear&&(c.value=!0)}function me(){z.value||(c.value=!0)}function be(l){z.value||(h.value&&(l.preventDefault(),l.stopPropagation()),c.value=!c.value)}function he(l){var a;if(je(l)||e.readonly||F!=null&&F.isReadonly.value)return;const t=y.value.selectionStart,i=u.value.length;if((r.value>-1||["Enter","ArrowDown","ArrowUp"].includes(l.key))&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(c.value=!0),["Escape"].includes(l.key)&&(c.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(E.value&&["Enter","Tab"].includes(l.key)&&f(M.value[0]),V.value=!0),l.key==="ArrowDown"&&E.value&&((a=H.value)==null||a.focus("next")),l.key==="Enter"&&v.value&&(f(D(e,v.value)),C.value&&(k.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&C.value&&u.value.length>0)return f(u.value[0],!1);if(r.value<0){l.key==="Backspace"&&!v.value&&(r.value=i-1);return}const o=r.value;f(u.value[r.value],!1),r.value=o>=i-1?i-2:o}if(e.multiple){if(l.key==="ArrowLeft"){if(r.value<0&&t>0)return;const o=r.value>-1?r.value-1:i-1;u.value[o]?r.value=o:(r.value=-1,y.value.setSelectionRange(v.value.length,v.value.length))}if(l.key==="ArrowRight"){if(r.value<0)return;const o=r.value+1;u.value[o]?r.value=o:(r.value=-1,y.value.setSelectionRange(0,0))}}}function ge(){var l;h.value&&(V.value=!0,(l=y.value)==null||l.focus())}function f(l){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(o=>e.valueComparator(o.value,l.value)),a=t??!~i;if(~i){const o=a?[...u.value,l]:[...u.value];o.splice(i,1),u.value=o}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(v.value="")}else{const i=t!==!1;u.value=i?[l]:[],k.value=i&&!C.value?l.title:"",Z(()=>{c.value=!1,V.value=!0})}}function xe(l){h.value=!0,setTimeout(()=>{_.value=!0})}function ye(l){_.value=!1}function Ve(l){(l==null||l===""&&!e.multiple)&&(u.value=[])}return A(h,(l,t)=>{if(!(l||l===t)){if(r.value=-1,c.value=!1,E.value&&!_.value&&!u.value.some(i=>{let{value:a}=i;return a===g.value[0].value})){f(g.value[0]);return}if(v.value){if(e.multiple){f(D(e,v.value));return}if(!C.value)return;u.value.some(i=>{let{title:a}=i;return a===v.value})?k.value="":f(D(e,v.value))}}}),A(c,()=>{if(!e.hideSelected&&c.value&&u.value.length){const l=g.value.findIndex(t=>u.value.some(i=>e.valueComparator(i.value,t.value)));Me&&window.requestAnimationFrame(()=>{var t;l>=0&&((t=q.value)==null||t.scrollToIndex(l))})}}),A(()=>e.items,(l,t)=>{c.value||h.value&&!t.length&&l.length&&(c.value=!0)}),Ee(()=>{const l=!!(!e.hideNoData||g.value.length||n["prepend-item"]||n["append-item"]||n["no-data"]),t=u.value.length>0,i=X.filterProps(e);return s(X,I({ref:y},i,{modelValue:v.value,"onUpdate:modelValue":[a=>v.value=a,Ve],focused:h.value,"onUpdate:focused":a=>h.value=a,validationValue:u.externalValue,counterValue:se.value,dirty:t,class:["v-combobox",{"v-combobox--active-menu":c.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!C.value,"v-combobox--selecting-index":r.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:e.readonly,placeholder:t?void 0:e.placeholder,"onClick:clear":fe,"onMousedown:control":me,onKeydown:he}),{...n,default:()=>s(K,null,[s(pe,I({ref:$,modelValue:c.value,"onUpdate:modelValue":a=>c.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:z.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterLeave:ge},e.menuProps),{default:()=>[l&&s(Le,I({ref:H,selected:ce.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:xe,onFocusout:ye,onScrollPassive:ve,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},e.listProps),{default:()=>{var a,o,x;return[(a=n["prepend-item"])==null?void 0:a.call(n),!g.value.length&&!e.hideNoData&&(((o=n["no-data"])==null?void 0:o.call(n))??s(ee,{title:B(e.noDataText)},null)),s(we,{ref:q,renderless:!0,items:g.value},{default:p=>{var Q;let{item:d,index:w,itemRef:S}=p;const J=I(d.props,{ref:S,key:w,active:E.value&&w===0?!0:void 0,onClick:()=>f(d,null)});return((Q=n.item)==null?void 0:Q.call(n,{item:d,index:w,props:J}))??s(ee,I(J,{role:"option"}),{prepend:L=>{let{isSelected:N}=L;return s(K,null,[e.multiple&&!e.hideSelected?s(We,{key:d.value,modelValue:N,ripple:!1,tabindex:"-1"},null):void 0,d.props.prependAvatar&&s(Ne,{image:d.props.prependAvatar},null),d.props.prependIcon&&s(le,{icon:d.props.prependIcon},null)])},title:()=>{var L,N;return V.value?d.title:Je(d.title,(L=re(d))==null?void 0:L.title,((N=v.value)==null?void 0:N.length)??0)}})}}),(x=n["append-item"])==null?void 0:x.call(n)]}})]}),u.value.map((a,o)=>{function x(S){S.stopPropagation(),S.preventDefault(),f(a,!1)}const p={"onClick:close":x,onMousedown(S){S.preventDefault(),S.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},d=T.value?!!n.chip:!!n.selection,w=d?Oe(T.value?n.chip({item:a,index:o,props:p}):n.selection({item:a,index:o})):void 0;if(!(d&&!w))return s("div",{key:a.value,class:["v-combobox__selection",o===r.value&&["v-combobox__selection--selected",oe.value]],style:o===r.value?ie.value:{}},[T.value?n.chip?s(Ke,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[w]}):s(Se,I({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},p),null):w??s("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&o<u.value.length-1&&s("span",{class:"v-combobox__selection-comma"},[Be(",")])])])})]),"append-inner":function(){var p;for(var a=arguments.length,o=new Array(a),x=0;x<a;x++)o[x]=arguments[x];return s(K,null,[(p=n["append-inner"])==null?void 0:p.call(n,...o),(!e.hideNoData||e.items.length)&&e.menuIcon?s(le,{class:"v-combobox__menu-icon",icon:e.menuIcon,onMousedown:be,onClick:Ue,"aria-label":B(G.value),title:B(G.value)},null):void 0])}})}),Ge({isFocused:h,isPristine:V,menu:c,search:v,selectionIndex:r,filteredItems:M,select:f},y)}});export{ul as V};
1
+ import{m as Ce,u as ke,a as pe,b as we,c as Se}from"./VSelect-CZ9zKx45.js";import{c as Fe,a as X}from"./VSlideGroup-Lzhz1ElM.js";import{x as Ie,ah as Pe,bb as De,G as Ae,bE as Re,r as O,s as P,ar as Y,h as m,cs as _e,aj as Te,ct as D,a as A,n as Z,V as Me,K as Ee,L as s,al as K,am as I,aO as Le,ag as ee,cu as Ne,ad as le,cv as Oe,c6 as Ke,aa as Be,cw as Ue,cx as je,cy as ze}from"./admin-drawer-panel-Bw6sRseo.js";import{m as He,u as $e}from"./filter-D8l3lzk8.js";import{g as qe}from"./VSelectionControl-DmGWAnkU.js";import{f as Ge}from"./confirm-footer-BZ5z6tl1.js";import{V as We}from"./VCheckboxBtn-DoFCs6Y9.js";function Je(e,b,R){if(b==null)return e;if(Array.isArray(b))throw new Error("Multiple matches is not implemented");return typeof b=="number"&&~b?s(K,null,[s("span",{class:"v-combobox__unmask"},[e.substr(0,b)]),s("span",{class:"v-combobox__mask"},[e.substr(b,R)]),s("span",{class:"v-combobox__unmask"},[e.substr(b+R)])]):e}const Qe=Ie({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...He({filterKeys:["title"]}),...Ce({hideNoData:!0,returnObject:!0}),...Pe(Fe({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...De({transition:!1})},"VCombobox"),ul=Ae()({name:"VCombobox",props:Qe(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,b){var W;let{emit:R,slots:n}=b;const{t:B}=Re(),y=O(),h=P(!1),V=P(!0),_=P(!1),$=O(),q=O(),U=Y(e,"menu"),c=m({get:()=>U.value,set:l=>{var t;U.value&&!l&&((t=$.value)!=null&&t.ΨopenChildren)||(U.value=l)}}),r=P(-1);let j=!1;const ae=m(()=>{var l;return(l=y.value)==null?void 0:l.color}),G=m(()=>c.value?e.closeText:e.openText),{items:te,transformIn:ue,transformOut:ne}=_e(e),{textColorClasses:oe,textColorStyles:ie}=Te(ae),u=Y(e,"modelValue",[],l=>ue(ze(l)),l=>{const t=ne(l);return e.multiple?t:t[0]??null}),F=qe(),T=m(()=>!!(e.chips||n.chip)),C=m(()=>T.value||!!n.selection),k=P(!e.multiple&&!C.value?((W=u.value[0])==null?void 0:W.title)??"":""),v=m({get:()=>k.value,set:l=>{var t;if(k.value=l??"",!e.multiple&&!C.value&&(u.value=[D(e,l)]),l&&e.multiple&&((t=e.delimiters)!=null&&t.length)){const i=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));i.length>1&&(i.forEach(a=>{a=a.trim(),a&&f(D(e,a))}),k.value="")}l||(r.value=-1),V.value=!l}}),se=m(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:v.value.length);A(k,l=>{j?Z(()=>j=!1):h.value&&!c.value&&(c.value=!0),R("update:search",l)}),A(u,l=>{var t;!e.multiple&&!C.value&&(k.value=((t=l[0])==null?void 0:t.title)??"")});const{filteredItems:M,getMatches:re}=$e(e,te,()=>V.value?"":v.value),g=m(()=>e.hideSelected?M.value.filter(l=>!u.value.some(t=>t.value===l.value)):M.value),ce=m(()=>u.value.map(l=>l.value)),E=m(()=>{var t;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&v.value===((t=g.value[0])==null?void 0:t.title))&&g.value.length>0&&!V.value&&!_.value}),z=m(()=>e.hideNoData&&!g.value.length||e.readonly||(F==null?void 0:F.isReadonly.value)),H=O(),{onListScroll:ve,onListKeydown:de}=ke(H,y);function fe(l){j=!0,e.openOnClear&&(c.value=!0)}function me(){z.value||(c.value=!0)}function be(l){z.value||(h.value&&(l.preventDefault(),l.stopPropagation()),c.value=!c.value)}function he(l){var a;if(je(l)||e.readonly||F!=null&&F.isReadonly.value)return;const t=y.value.selectionStart,i=u.value.length;if((r.value>-1||["Enter","ArrowDown","ArrowUp"].includes(l.key))&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(c.value=!0),["Escape"].includes(l.key)&&(c.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(E.value&&["Enter","Tab"].includes(l.key)&&f(M.value[0]),V.value=!0),l.key==="ArrowDown"&&E.value&&((a=H.value)==null||a.focus("next")),l.key==="Enter"&&v.value&&(f(D(e,v.value)),C.value&&(k.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&C.value&&u.value.length>0)return f(u.value[0],!1);if(r.value<0){l.key==="Backspace"&&!v.value&&(r.value=i-1);return}const o=r.value;f(u.value[r.value],!1),r.value=o>=i-1?i-2:o}if(e.multiple){if(l.key==="ArrowLeft"){if(r.value<0&&t>0)return;const o=r.value>-1?r.value-1:i-1;u.value[o]?r.value=o:(r.value=-1,y.value.setSelectionRange(v.value.length,v.value.length))}if(l.key==="ArrowRight"){if(r.value<0)return;const o=r.value+1;u.value[o]?r.value=o:(r.value=-1,y.value.setSelectionRange(0,0))}}}function ge(){var l;h.value&&(V.value=!0,(l=y.value)==null||l.focus())}function f(l){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(o=>e.valueComparator(o.value,l.value)),a=t??!~i;if(~i){const o=a?[...u.value,l]:[...u.value];o.splice(i,1),u.value=o}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(v.value="")}else{const i=t!==!1;u.value=i?[l]:[],k.value=i&&!C.value?l.title:"",Z(()=>{c.value=!1,V.value=!0})}}function xe(l){h.value=!0,setTimeout(()=>{_.value=!0})}function ye(l){_.value=!1}function Ve(l){(l==null||l===""&&!e.multiple)&&(u.value=[])}return A(h,(l,t)=>{if(!(l||l===t)){if(r.value=-1,c.value=!1,E.value&&!_.value&&!u.value.some(i=>{let{value:a}=i;return a===g.value[0].value})){f(g.value[0]);return}if(v.value){if(e.multiple){f(D(e,v.value));return}if(!C.value)return;u.value.some(i=>{let{title:a}=i;return a===v.value})?k.value="":f(D(e,v.value))}}}),A(c,()=>{if(!e.hideSelected&&c.value&&u.value.length){const l=g.value.findIndex(t=>u.value.some(i=>e.valueComparator(i.value,t.value)));Me&&window.requestAnimationFrame(()=>{var t;l>=0&&((t=q.value)==null||t.scrollToIndex(l))})}}),A(()=>e.items,(l,t)=>{c.value||h.value&&!t.length&&l.length&&(c.value=!0)}),Ee(()=>{const l=!!(!e.hideNoData||g.value.length||n["prepend-item"]||n["append-item"]||n["no-data"]),t=u.value.length>0,i=X.filterProps(e);return s(X,I({ref:y},i,{modelValue:v.value,"onUpdate:modelValue":[a=>v.value=a,Ve],focused:h.value,"onUpdate:focused":a=>h.value=a,validationValue:u.externalValue,counterValue:se.value,dirty:t,class:["v-combobox",{"v-combobox--active-menu":c.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!C.value,"v-combobox--selecting-index":r.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:e.readonly,placeholder:t?void 0:e.placeholder,"onClick:clear":fe,"onMousedown:control":me,onKeydown:he}),{...n,default:()=>s(K,null,[s(pe,I({ref:$,modelValue:c.value,"onUpdate:modelValue":a=>c.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:z.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterLeave:ge},e.menuProps),{default:()=>[l&&s(Le,I({ref:H,selected:ce.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:xe,onFocusout:ye,onScrollPassive:ve,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},e.listProps),{default:()=>{var a,o,x;return[(a=n["prepend-item"])==null?void 0:a.call(n),!g.value.length&&!e.hideNoData&&(((o=n["no-data"])==null?void 0:o.call(n))??s(ee,{title:B(e.noDataText)},null)),s(we,{ref:q,renderless:!0,items:g.value},{default:p=>{var Q;let{item:d,index:w,itemRef:S}=p;const J=I(d.props,{ref:S,key:w,active:E.value&&w===0?!0:void 0,onClick:()=>f(d,null)});return((Q=n.item)==null?void 0:Q.call(n,{item:d,index:w,props:J}))??s(ee,I(J,{role:"option"}),{prepend:L=>{let{isSelected:N}=L;return s(K,null,[e.multiple&&!e.hideSelected?s(We,{key:d.value,modelValue:N,ripple:!1,tabindex:"-1"},null):void 0,d.props.prependAvatar&&s(Ne,{image:d.props.prependAvatar},null),d.props.prependIcon&&s(le,{icon:d.props.prependIcon},null)])},title:()=>{var L,N;return V.value?d.title:Je(d.title,(L=re(d))==null?void 0:L.title,((N=v.value)==null?void 0:N.length)??0)}})}}),(x=n["append-item"])==null?void 0:x.call(n)]}})]}),u.value.map((a,o)=>{function x(S){S.stopPropagation(),S.preventDefault(),f(a,!1)}const p={"onClick:close":x,onMousedown(S){S.preventDefault(),S.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},d=T.value?!!n.chip:!!n.selection,w=d?Oe(T.value?n.chip({item:a,index:o,props:p}):n.selection({item:a,index:o})):void 0;if(!(d&&!w))return s("div",{key:a.value,class:["v-combobox__selection",o===r.value&&["v-combobox__selection--selected",oe.value]],style:o===r.value?ie.value:{}},[T.value?n.chip?s(Ke,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[w]}):s(Se,I({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},p),null):w??s("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&o<u.value.length-1&&s("span",{class:"v-combobox__selection-comma"},[Be(",")])])])})]),"append-inner":function(){var p;for(var a=arguments.length,o=new Array(a),x=0;x<a;x++)o[x]=arguments[x];return s(K,null,[(p=n["append-inner"])==null?void 0:p.call(n,...o),(!e.hideNoData||e.items.length)&&e.menuIcon?s(le,{class:"v-combobox__menu-icon",icon:e.menuIcon,onMousedown:be,onClick:Ue,"aria-label":B(G.value),title:B(G.value)},null):void 0])}})}),Ge({isFocused:h,isPristine:V,menu:c,search:v,selectionIndex:r,filteredItems:M,select:f},y)}});export{ul as V};
@@ -1 +1 @@
1
- import{m as Ce,u as ke,a as pe,b as we,c as Se}from"./VSelect-Besri79c.js";import{c as Fe,a as X}from"./VSlideGroup-FjUTaP5Y.js";import{x as Ie,ah as Pe,bb as De,G as Ae,bE as Re,r as O,s as P,ar as Y,h as m,cs as _e,aj as Te,ct as D,a as A,n as Z,V as Me,K as Ee,L as s,al as K,am as I,aO as Le,ag as ee,cu as Ne,ad as le,cv as Oe,c6 as Ke,aa as Be,cw as Ue,cx as je,cy as ze}from"./admin-drawer-panel-BAMygpGL.js";import{m as He,u as $e}from"./filter-BVxPwa6D.js";import{g as qe}from"./VSelectionControl-DcxpMWYl.js";import{f as Ge}from"./confirm-footer-Dn2lMm3W.js";import{V as We}from"./VCheckboxBtn-Bp35_RPC.js";function Je(e,b,R){if(b==null)return e;if(Array.isArray(b))throw new Error("Multiple matches is not implemented");return typeof b=="number"&&~b?s(K,null,[s("span",{class:"v-combobox__unmask"},[e.substr(0,b)]),s("span",{class:"v-combobox__mask"},[e.substr(b,R)]),s("span",{class:"v-combobox__unmask"},[e.substr(b+R)])]):e}const Qe=Ie({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...He({filterKeys:["title"]}),...Ce({hideNoData:!0,returnObject:!0}),...Pe(Fe({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...De({transition:!1})},"VCombobox"),ul=Ae()({name:"VCombobox",props:Qe(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,b){var W;let{emit:R,slots:n}=b;const{t:B}=Re(),y=O(),h=P(!1),V=P(!0),_=P(!1),$=O(),q=O(),U=Y(e,"menu"),c=m({get:()=>U.value,set:l=>{var t;U.value&&!l&&((t=$.value)!=null&&t.ΨopenChildren)||(U.value=l)}}),r=P(-1);let j=!1;const ae=m(()=>{var l;return(l=y.value)==null?void 0:l.color}),G=m(()=>c.value?e.closeText:e.openText),{items:te,transformIn:ue,transformOut:ne}=_e(e),{textColorClasses:oe,textColorStyles:ie}=Te(ae),u=Y(e,"modelValue",[],l=>ue(ze(l)),l=>{const t=ne(l);return e.multiple?t:t[0]??null}),F=qe(),T=m(()=>!!(e.chips||n.chip)),C=m(()=>T.value||!!n.selection),k=P(!e.multiple&&!C.value?((W=u.value[0])==null?void 0:W.title)??"":""),v=m({get:()=>k.value,set:l=>{var t;if(k.value=l??"",!e.multiple&&!C.value&&(u.value=[D(e,l)]),l&&e.multiple&&((t=e.delimiters)!=null&&t.length)){const i=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));i.length>1&&(i.forEach(a=>{a=a.trim(),a&&f(D(e,a))}),k.value="")}l||(r.value=-1),V.value=!l}}),se=m(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:v.value.length);A(k,l=>{j?Z(()=>j=!1):h.value&&!c.value&&(c.value=!0),R("update:search",l)}),A(u,l=>{var t;!e.multiple&&!C.value&&(k.value=((t=l[0])==null?void 0:t.title)??"")});const{filteredItems:M,getMatches:re}=$e(e,te,()=>V.value?"":v.value),g=m(()=>e.hideSelected?M.value.filter(l=>!u.value.some(t=>t.value===l.value)):M.value),ce=m(()=>u.value.map(l=>l.value)),E=m(()=>{var t;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&v.value===((t=g.value[0])==null?void 0:t.title))&&g.value.length>0&&!V.value&&!_.value}),z=m(()=>e.hideNoData&&!g.value.length||e.readonly||(F==null?void 0:F.isReadonly.value)),H=O(),{onListScroll:ve,onListKeydown:de}=ke(H,y);function fe(l){j=!0,e.openOnClear&&(c.value=!0)}function me(){z.value||(c.value=!0)}function be(l){z.value||(h.value&&(l.preventDefault(),l.stopPropagation()),c.value=!c.value)}function he(l){var a;if(je(l)||e.readonly||F!=null&&F.isReadonly.value)return;const t=y.value.selectionStart,i=u.value.length;if((r.value>-1||["Enter","ArrowDown","ArrowUp"].includes(l.key))&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(c.value=!0),["Escape"].includes(l.key)&&(c.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(E.value&&["Enter","Tab"].includes(l.key)&&f(M.value[0]),V.value=!0),l.key==="ArrowDown"&&E.value&&((a=H.value)==null||a.focus("next")),l.key==="Enter"&&v.value&&(f(D(e,v.value)),C.value&&(k.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&C.value&&u.value.length>0)return f(u.value[0],!1);if(r.value<0){l.key==="Backspace"&&!v.value&&(r.value=i-1);return}const o=r.value;f(u.value[r.value],!1),r.value=o>=i-1?i-2:o}if(e.multiple){if(l.key==="ArrowLeft"){if(r.value<0&&t>0)return;const o=r.value>-1?r.value-1:i-1;u.value[o]?r.value=o:(r.value=-1,y.value.setSelectionRange(v.value.length,v.value.length))}if(l.key==="ArrowRight"){if(r.value<0)return;const o=r.value+1;u.value[o]?r.value=o:(r.value=-1,y.value.setSelectionRange(0,0))}}}function ge(){var l;h.value&&(V.value=!0,(l=y.value)==null||l.focus())}function f(l){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(o=>e.valueComparator(o.value,l.value)),a=t??!~i;if(~i){const o=a?[...u.value,l]:[...u.value];o.splice(i,1),u.value=o}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(v.value="")}else{const i=t!==!1;u.value=i?[l]:[],k.value=i&&!C.value?l.title:"",Z(()=>{c.value=!1,V.value=!0})}}function xe(l){h.value=!0,setTimeout(()=>{_.value=!0})}function ye(l){_.value=!1}function Ve(l){(l==null||l===""&&!e.multiple)&&(u.value=[])}return A(h,(l,t)=>{if(!(l||l===t)){if(r.value=-1,c.value=!1,E.value&&!_.value&&!u.value.some(i=>{let{value:a}=i;return a===g.value[0].value})){f(g.value[0]);return}if(v.value){if(e.multiple){f(D(e,v.value));return}if(!C.value)return;u.value.some(i=>{let{title:a}=i;return a===v.value})?k.value="":f(D(e,v.value))}}}),A(c,()=>{if(!e.hideSelected&&c.value&&u.value.length){const l=g.value.findIndex(t=>u.value.some(i=>e.valueComparator(i.value,t.value)));Me&&window.requestAnimationFrame(()=>{var t;l>=0&&((t=q.value)==null||t.scrollToIndex(l))})}}),A(()=>e.items,(l,t)=>{c.value||h.value&&!t.length&&l.length&&(c.value=!0)}),Ee(()=>{const l=!!(!e.hideNoData||g.value.length||n["prepend-item"]||n["append-item"]||n["no-data"]),t=u.value.length>0,i=X.filterProps(e);return s(X,I({ref:y},i,{modelValue:v.value,"onUpdate:modelValue":[a=>v.value=a,Ve],focused:h.value,"onUpdate:focused":a=>h.value=a,validationValue:u.externalValue,counterValue:se.value,dirty:t,class:["v-combobox",{"v-combobox--active-menu":c.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!C.value,"v-combobox--selecting-index":r.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:e.readonly,placeholder:t?void 0:e.placeholder,"onClick:clear":fe,"onMousedown:control":me,onKeydown:he}),{...n,default:()=>s(K,null,[s(pe,I({ref:$,modelValue:c.value,"onUpdate:modelValue":a=>c.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:z.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterLeave:ge},e.menuProps),{default:()=>[l&&s(Le,I({ref:H,selected:ce.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:xe,onFocusout:ye,onScrollPassive:ve,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},e.listProps),{default:()=>{var a,o,x;return[(a=n["prepend-item"])==null?void 0:a.call(n),!g.value.length&&!e.hideNoData&&(((o=n["no-data"])==null?void 0:o.call(n))??s(ee,{title:B(e.noDataText)},null)),s(we,{ref:q,renderless:!0,items:g.value},{default:p=>{var Q;let{item:d,index:w,itemRef:S}=p;const J=I(d.props,{ref:S,key:w,active:E.value&&w===0?!0:void 0,onClick:()=>f(d,null)});return((Q=n.item)==null?void 0:Q.call(n,{item:d,index:w,props:J}))??s(ee,I(J,{role:"option"}),{prepend:L=>{let{isSelected:N}=L;return s(K,null,[e.multiple&&!e.hideSelected?s(We,{key:d.value,modelValue:N,ripple:!1,tabindex:"-1"},null):void 0,d.props.prependAvatar&&s(Ne,{image:d.props.prependAvatar},null),d.props.prependIcon&&s(le,{icon:d.props.prependIcon},null)])},title:()=>{var L,N;return V.value?d.title:Je(d.title,(L=re(d))==null?void 0:L.title,((N=v.value)==null?void 0:N.length)??0)}})}}),(x=n["append-item"])==null?void 0:x.call(n)]}})]}),u.value.map((a,o)=>{function x(S){S.stopPropagation(),S.preventDefault(),f(a,!1)}const p={"onClick:close":x,onMousedown(S){S.preventDefault(),S.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},d=T.value?!!n.chip:!!n.selection,w=d?Oe(T.value?n.chip({item:a,index:o,props:p}):n.selection({item:a,index:o})):void 0;if(!(d&&!w))return s("div",{key:a.value,class:["v-combobox__selection",o===r.value&&["v-combobox__selection--selected",oe.value]],style:o===r.value?ie.value:{}},[T.value?n.chip?s(Ke,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[w]}):s(Se,I({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},p),null):w??s("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&o<u.value.length-1&&s("span",{class:"v-combobox__selection-comma"},[Be(",")])])])})]),"append-inner":function(){var p;for(var a=arguments.length,o=new Array(a),x=0;x<a;x++)o[x]=arguments[x];return s(K,null,[(p=n["append-inner"])==null?void 0:p.call(n,...o),(!e.hideNoData||e.items.length)&&e.menuIcon?s(le,{class:"v-combobox__menu-icon",icon:e.menuIcon,onMousedown:be,onClick:Ue,"aria-label":B(G.value),title:B(G.value)},null):void 0])}})}),Ge({isFocused:h,isPristine:V,menu:c,search:v,selectionIndex:r,filteredItems:M,select:f},y)}});export{ul as V};
1
+ import{m as Ce,u as ke,a as pe,b as we,c as Se}from"./VSelect-CZ9zKx45.js";import{c as Fe,a as X}from"./VSlideGroup-Lzhz1ElM.js";import{x as Ie,ah as Pe,bb as De,G as Ae,bE as Re,r as O,s as P,ar as Y,h as m,cs as _e,aj as Te,ct as D,a as A,n as Z,V as Me,K as Ee,L as s,al as K,am as I,aO as Le,ag as ee,cu as Ne,ad as le,cv as Oe,c6 as Ke,aa as Be,cw as Ue,cx as je,cy as ze}from"./admin-drawer-panel-Bw6sRseo.js";import{m as He,u as $e}from"./filter-D8l3lzk8.js";import{g as qe}from"./VSelectionControl-DmGWAnkU.js";import{f as Ge}from"./confirm-footer-BZ5z6tl1.js";import{V as We}from"./VCheckboxBtn-DoFCs6Y9.js";function Je(e,b,R){if(b==null)return e;if(Array.isArray(b))throw new Error("Multiple matches is not implemented");return typeof b=="number"&&~b?s(K,null,[s("span",{class:"v-combobox__unmask"},[e.substr(0,b)]),s("span",{class:"v-combobox__mask"},[e.substr(b,R)]),s("span",{class:"v-combobox__unmask"},[e.substr(b+R)])]):e}const Qe=Ie({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...He({filterKeys:["title"]}),...Ce({hideNoData:!0,returnObject:!0}),...Pe(Fe({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...De({transition:!1})},"VCombobox"),ul=Ae()({name:"VCombobox",props:Qe(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,b){var W;let{emit:R,slots:n}=b;const{t:B}=Re(),y=O(),h=P(!1),V=P(!0),_=P(!1),$=O(),q=O(),U=Y(e,"menu"),c=m({get:()=>U.value,set:l=>{var t;U.value&&!l&&((t=$.value)!=null&&t.ΨopenChildren)||(U.value=l)}}),r=P(-1);let j=!1;const ae=m(()=>{var l;return(l=y.value)==null?void 0:l.color}),G=m(()=>c.value?e.closeText:e.openText),{items:te,transformIn:ue,transformOut:ne}=_e(e),{textColorClasses:oe,textColorStyles:ie}=Te(ae),u=Y(e,"modelValue",[],l=>ue(ze(l)),l=>{const t=ne(l);return e.multiple?t:t[0]??null}),F=qe(),T=m(()=>!!(e.chips||n.chip)),C=m(()=>T.value||!!n.selection),k=P(!e.multiple&&!C.value?((W=u.value[0])==null?void 0:W.title)??"":""),v=m({get:()=>k.value,set:l=>{var t;if(k.value=l??"",!e.multiple&&!C.value&&(u.value=[D(e,l)]),l&&e.multiple&&((t=e.delimiters)!=null&&t.length)){const i=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));i.length>1&&(i.forEach(a=>{a=a.trim(),a&&f(D(e,a))}),k.value="")}l||(r.value=-1),V.value=!l}}),se=m(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:v.value.length);A(k,l=>{j?Z(()=>j=!1):h.value&&!c.value&&(c.value=!0),R("update:search",l)}),A(u,l=>{var t;!e.multiple&&!C.value&&(k.value=((t=l[0])==null?void 0:t.title)??"")});const{filteredItems:M,getMatches:re}=$e(e,te,()=>V.value?"":v.value),g=m(()=>e.hideSelected?M.value.filter(l=>!u.value.some(t=>t.value===l.value)):M.value),ce=m(()=>u.value.map(l=>l.value)),E=m(()=>{var t;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&v.value===((t=g.value[0])==null?void 0:t.title))&&g.value.length>0&&!V.value&&!_.value}),z=m(()=>e.hideNoData&&!g.value.length||e.readonly||(F==null?void 0:F.isReadonly.value)),H=O(),{onListScroll:ve,onListKeydown:de}=ke(H,y);function fe(l){j=!0,e.openOnClear&&(c.value=!0)}function me(){z.value||(c.value=!0)}function be(l){z.value||(h.value&&(l.preventDefault(),l.stopPropagation()),c.value=!c.value)}function he(l){var a;if(je(l)||e.readonly||F!=null&&F.isReadonly.value)return;const t=y.value.selectionStart,i=u.value.length;if((r.value>-1||["Enter","ArrowDown","ArrowUp"].includes(l.key))&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(c.value=!0),["Escape"].includes(l.key)&&(c.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(E.value&&["Enter","Tab"].includes(l.key)&&f(M.value[0]),V.value=!0),l.key==="ArrowDown"&&E.value&&((a=H.value)==null||a.focus("next")),l.key==="Enter"&&v.value&&(f(D(e,v.value)),C.value&&(k.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&C.value&&u.value.length>0)return f(u.value[0],!1);if(r.value<0){l.key==="Backspace"&&!v.value&&(r.value=i-1);return}const o=r.value;f(u.value[r.value],!1),r.value=o>=i-1?i-2:o}if(e.multiple){if(l.key==="ArrowLeft"){if(r.value<0&&t>0)return;const o=r.value>-1?r.value-1:i-1;u.value[o]?r.value=o:(r.value=-1,y.value.setSelectionRange(v.value.length,v.value.length))}if(l.key==="ArrowRight"){if(r.value<0)return;const o=r.value+1;u.value[o]?r.value=o:(r.value=-1,y.value.setSelectionRange(0,0))}}}function ge(){var l;h.value&&(V.value=!0,(l=y.value)==null||l.focus())}function f(l){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(o=>e.valueComparator(o.value,l.value)),a=t??!~i;if(~i){const o=a?[...u.value,l]:[...u.value];o.splice(i,1),u.value=o}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(v.value="")}else{const i=t!==!1;u.value=i?[l]:[],k.value=i&&!C.value?l.title:"",Z(()=>{c.value=!1,V.value=!0})}}function xe(l){h.value=!0,setTimeout(()=>{_.value=!0})}function ye(l){_.value=!1}function Ve(l){(l==null||l===""&&!e.multiple)&&(u.value=[])}return A(h,(l,t)=>{if(!(l||l===t)){if(r.value=-1,c.value=!1,E.value&&!_.value&&!u.value.some(i=>{let{value:a}=i;return a===g.value[0].value})){f(g.value[0]);return}if(v.value){if(e.multiple){f(D(e,v.value));return}if(!C.value)return;u.value.some(i=>{let{title:a}=i;return a===v.value})?k.value="":f(D(e,v.value))}}}),A(c,()=>{if(!e.hideSelected&&c.value&&u.value.length){const l=g.value.findIndex(t=>u.value.some(i=>e.valueComparator(i.value,t.value)));Me&&window.requestAnimationFrame(()=>{var t;l>=0&&((t=q.value)==null||t.scrollToIndex(l))})}}),A(()=>e.items,(l,t)=>{c.value||h.value&&!t.length&&l.length&&(c.value=!0)}),Ee(()=>{const l=!!(!e.hideNoData||g.value.length||n["prepend-item"]||n["append-item"]||n["no-data"]),t=u.value.length>0,i=X.filterProps(e);return s(X,I({ref:y},i,{modelValue:v.value,"onUpdate:modelValue":[a=>v.value=a,Ve],focused:h.value,"onUpdate:focused":a=>h.value=a,validationValue:u.externalValue,counterValue:se.value,dirty:t,class:["v-combobox",{"v-combobox--active-menu":c.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!C.value,"v-combobox--selecting-index":r.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:e.readonly,placeholder:t?void 0:e.placeholder,"onClick:clear":fe,"onMousedown:control":me,onKeydown:he}),{...n,default:()=>s(K,null,[s(pe,I({ref:$,modelValue:c.value,"onUpdate:modelValue":a=>c.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:z.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterLeave:ge},e.menuProps),{default:()=>[l&&s(Le,I({ref:H,selected:ce.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:xe,onFocusout:ye,onScrollPassive:ve,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},e.listProps),{default:()=>{var a,o,x;return[(a=n["prepend-item"])==null?void 0:a.call(n),!g.value.length&&!e.hideNoData&&(((o=n["no-data"])==null?void 0:o.call(n))??s(ee,{title:B(e.noDataText)},null)),s(we,{ref:q,renderless:!0,items:g.value},{default:p=>{var Q;let{item:d,index:w,itemRef:S}=p;const J=I(d.props,{ref:S,key:w,active:E.value&&w===0?!0:void 0,onClick:()=>f(d,null)});return((Q=n.item)==null?void 0:Q.call(n,{item:d,index:w,props:J}))??s(ee,I(J,{role:"option"}),{prepend:L=>{let{isSelected:N}=L;return s(K,null,[e.multiple&&!e.hideSelected?s(We,{key:d.value,modelValue:N,ripple:!1,tabindex:"-1"},null):void 0,d.props.prependAvatar&&s(Ne,{image:d.props.prependAvatar},null),d.props.prependIcon&&s(le,{icon:d.props.prependIcon},null)])},title:()=>{var L,N;return V.value?d.title:Je(d.title,(L=re(d))==null?void 0:L.title,((N=v.value)==null?void 0:N.length)??0)}})}}),(x=n["append-item"])==null?void 0:x.call(n)]}})]}),u.value.map((a,o)=>{function x(S){S.stopPropagation(),S.preventDefault(),f(a,!1)}const p={"onClick:close":x,onMousedown(S){S.preventDefault(),S.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},d=T.value?!!n.chip:!!n.selection,w=d?Oe(T.value?n.chip({item:a,index:o,props:p}):n.selection({item:a,index:o})):void 0;if(!(d&&!w))return s("div",{key:a.value,class:["v-combobox__selection",o===r.value&&["v-combobox__selection--selected",oe.value]],style:o===r.value?ie.value:{}},[T.value?n.chip?s(Ke,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[w]}):s(Se,I({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},p),null):w??s("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&o<u.value.length-1&&s("span",{class:"v-combobox__selection-comma"},[Be(",")])])])})]),"append-inner":function(){var p;for(var a=arguments.length,o=new Array(a),x=0;x<a;x++)o[x]=arguments[x];return s(K,null,[(p=n["append-inner"])==null?void 0:p.call(n,...o),(!e.hideNoData||e.items.length)&&e.menuIcon?s(le,{class:"v-combobox__menu-icon",icon:e.menuIcon,onMousedown:be,onClick:Ue,"aria-label":B(G.value),title:B(G.value)},null):void 0])}})}),Ge({isFocused:h,isPristine:V,menu:c,search:v,selectionIndex:r,filteredItems:M,select:f},y)}});export{ul as V};