codex 1.8.0a10__py3-none-any.whl → 1.8.0a11__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 (408) hide show
  1. codex/librarian/scribe/importer/search/sync_m2m.py +9 -7
  2. codex/librarian/scribe/importer/search/update.py +50 -48
  3. codex/static_root/assets/{VCheckbox-B4PqoIra.e945a68b34c9.js → VCheckbox-D_h39FdY.439618b78cc6.js} +1 -1
  4. codex/static_root/assets/VCheckbox-D_h39FdY.439618b78cc6.js.br +0 -0
  5. codex/static_root/assets/VCheckbox-D_h39FdY.439618b78cc6.js.gz +0 -0
  6. codex/static_root/assets/{VCheckbox-B4PqoIra.js → VCheckbox-D_h39FdY.js} +1 -1
  7. codex/static_root/assets/VCheckbox-D_h39FdY.js.br +0 -0
  8. codex/static_root/assets/VCheckbox-D_h39FdY.js.gz +0 -0
  9. codex/static_root/assets/{VCheckboxBtn-CFTaQWbK.40dc97b2ff5e.js → VCheckboxBtn-hQFWOE4O.0875beec218c.js} +1 -1
  10. codex/static_root/assets/VCheckboxBtn-hQFWOE4O.0875beec218c.js.br +0 -0
  11. codex/static_root/assets/VCheckboxBtn-hQFWOE4O.0875beec218c.js.gz +0 -0
  12. codex/static_root/assets/{VCheckboxBtn-CFTaQWbK.js → VCheckboxBtn-hQFWOE4O.js} +1 -1
  13. codex/static_root/assets/VCheckboxBtn-hQFWOE4O.js.br +0 -0
  14. codex/static_root/assets/VCheckboxBtn-hQFWOE4O.js.gz +0 -0
  15. codex/static_root/assets/{VCombobox-wVZMeYMo.21b9118da9ef.js → VCombobox-DITKk_uL.e562a5ffe03b.js} +1 -1
  16. codex/static_root/assets/VCombobox-DITKk_uL.e562a5ffe03b.js.br +0 -0
  17. codex/static_root/assets/VCombobox-DITKk_uL.e562a5ffe03b.js.gz +0 -0
  18. codex/static_root/assets/{VCombobox-wVZMeYMo.js → VCombobox-DITKk_uL.js} +1 -1
  19. codex/static_root/assets/VCombobox-DITKk_uL.js.br +0 -0
  20. codex/static_root/assets/VCombobox-DITKk_uL.js.gz +0 -0
  21. codex/static_root/assets/{VDialog-BSgZ0BZI.25437849523d.js → VDialog-CZAYIso7.f22879341d85.js} +1 -1
  22. codex/static_root/assets/VDialog-CZAYIso7.f22879341d85.js.br +0 -0
  23. codex/static_root/assets/VDialog-CZAYIso7.f22879341d85.js.gz +0 -0
  24. codex/static_root/assets/{VDialog-BSgZ0BZI.js → VDialog-CZAYIso7.js} +1 -1
  25. codex/static_root/assets/VDialog-CZAYIso7.js.br +0 -0
  26. codex/static_root/assets/VDialog-CZAYIso7.js.gz +0 -0
  27. codex/static_root/assets/{VDivider-Bw29Ue4O.dcdc6427cf43.js → VDivider-BMwZp9hw.1bd2dab33a71.js} +1 -1
  28. codex/static_root/assets/VDivider-BMwZp9hw.1bd2dab33a71.js.br +0 -0
  29. codex/static_root/assets/VDivider-BMwZp9hw.1bd2dab33a71.js.gz +0 -0
  30. codex/static_root/assets/{VDivider-Bw29Ue4O.js → VDivider-BMwZp9hw.js} +1 -1
  31. codex/static_root/assets/VDivider-BMwZp9hw.js.br +0 -0
  32. codex/static_root/assets/VDivider-BMwZp9hw.js.gz +0 -0
  33. codex/static_root/assets/{VExpansionPanels-B-rMs1N2.c33757b02b44.js → VExpansionPanels-CnPsvPSa.20faf280db1a.js} +1 -1
  34. codex/static_root/assets/VExpansionPanels-CnPsvPSa.20faf280db1a.js.br +0 -0
  35. codex/static_root/assets/VExpansionPanels-CnPsvPSa.20faf280db1a.js.gz +0 -0
  36. codex/static_root/assets/{VExpansionPanels-B-rMs1N2.js → VExpansionPanels-CnPsvPSa.js} +1 -1
  37. codex/static_root/assets/VExpansionPanels-CnPsvPSa.js.br +0 -0
  38. codex/static_root/assets/VExpansionPanels-CnPsvPSa.js.gz +0 -0
  39. codex/static_root/assets/{VForm-C8AdZW-Z.0a1104e8f5f1.js → VForm-Band9AFV.923f73e2706c.js} +1 -1
  40. codex/static_root/assets/VForm-Band9AFV.923f73e2706c.js.br +0 -0
  41. codex/static_root/assets/VForm-Band9AFV.923f73e2706c.js.gz +0 -0
  42. codex/static_root/assets/{VForm-C8AdZW-Z.js → VForm-Band9AFV.js} +1 -1
  43. codex/static_root/assets/VForm-Band9AFV.js.br +0 -0
  44. codex/static_root/assets/VForm-Band9AFV.js.gz +0 -0
  45. codex/static_root/assets/{VRadioGroup-CH3bhv2K.f1ba82ea913c.js → VRadioGroup-BLN3AOw8.f3b334c7d5de.js} +1 -1
  46. codex/static_root/assets/VRadioGroup-BLN3AOw8.f3b334c7d5de.js.br +0 -0
  47. codex/static_root/assets/VRadioGroup-BLN3AOw8.f3b334c7d5de.js.gz +0 -0
  48. codex/static_root/assets/{VRadioGroup-CH3bhv2K.js → VRadioGroup-BLN3AOw8.js} +1 -1
  49. codex/static_root/assets/VRadioGroup-BLN3AOw8.js.br +0 -0
  50. codex/static_root/assets/VRadioGroup-BLN3AOw8.js.gz +0 -0
  51. codex/static_root/assets/{VSelect-B4pZF5N5.js → VSelect-CvrBcphO.5c9f69344889.js} +1 -1
  52. codex/static_root/assets/VSelect-CvrBcphO.5c9f69344889.js.br +0 -0
  53. codex/static_root/assets/VSelect-CvrBcphO.5c9f69344889.js.gz +0 -0
  54. codex/static_root/assets/{VSelect-B4pZF5N5.28cb69b70fba.js → VSelect-CvrBcphO.js} +1 -1
  55. codex/static_root/assets/VSelect-CvrBcphO.js.br +0 -0
  56. codex/static_root/assets/VSelect-CvrBcphO.js.gz +0 -0
  57. codex/static_root/assets/{VSelectionControl-Cxd4vXuU.2913809193ca.js → VSelectionControl-DBeGpnds.9645d40fbfd9.js} +1 -1
  58. codex/static_root/assets/VSelectionControl-DBeGpnds.9645d40fbfd9.js.br +0 -0
  59. codex/static_root/assets/VSelectionControl-DBeGpnds.9645d40fbfd9.js.gz +0 -0
  60. codex/static_root/assets/{VSelectionControl-Cxd4vXuU.js → VSelectionControl-DBeGpnds.js} +1 -1
  61. codex/static_root/assets/VSelectionControl-DBeGpnds.js.br +0 -0
  62. codex/static_root/assets/VSelectionControl-DBeGpnds.js.gz +0 -0
  63. codex/static_root/assets/{VTable-CGMElk3T.6e82f037d13b.js → VTable-Bbre7_xT.4bb404c1747c.js} +1 -1
  64. codex/static_root/assets/VTable-Bbre7_xT.4bb404c1747c.js.br +0 -0
  65. codex/static_root/assets/VTable-Bbre7_xT.4bb404c1747c.js.gz +0 -0
  66. codex/static_root/assets/{VTable-CGMElk3T.js → VTable-Bbre7_xT.js} +1 -1
  67. codex/static_root/assets/VTable-Bbre7_xT.js.br +0 -0
  68. codex/static_root/assets/VTable-Bbre7_xT.js.gz +0 -0
  69. codex/static_root/assets/{VWindowItem-Irv_pjC1.06c9f50c66bd.js → VWindowItem-tNtz_wLc.adaa9d25feaf.js} +1 -1
  70. codex/static_root/assets/VWindowItem-tNtz_wLc.adaa9d25feaf.js.br +0 -0
  71. codex/static_root/assets/VWindowItem-tNtz_wLc.adaa9d25feaf.js.gz +0 -0
  72. codex/static_root/assets/{VWindowItem-Irv_pjC1.js → VWindowItem-tNtz_wLc.js} +1 -1
  73. codex/static_root/assets/VWindowItem-tNtz_wLc.js.br +0 -0
  74. codex/static_root/assets/VWindowItem-tNtz_wLc.js.gz +0 -0
  75. codex/static_root/assets/{admin-bj-I2_ft.efaf203a8a9a.js → admin-Bl2_aeVh.ebc43ddd22cf.js} +1 -1
  76. codex/static_root/assets/admin-Bl2_aeVh.ebc43ddd22cf.js.br +0 -0
  77. codex/static_root/assets/admin-Bl2_aeVh.ebc43ddd22cf.js.gz +0 -0
  78. codex/static_root/assets/{admin-bj-I2_ft.js → admin-Bl2_aeVh.js} +1 -1
  79. codex/static_root/assets/admin-Bl2_aeVh.js.br +0 -0
  80. codex/static_root/assets/admin-Bl2_aeVh.js.gz +0 -0
  81. codex/static_root/assets/{admin-XNjB-f-A.cf1ab995e7c6.js → admin-DUUai12N.205118dae3cc.js} +1 -1
  82. codex/static_root/assets/admin-DUUai12N.205118dae3cc.js.br +0 -0
  83. codex/static_root/assets/admin-DUUai12N.205118dae3cc.js.gz +0 -0
  84. codex/static_root/assets/{admin-XNjB-f-A.js → admin-DUUai12N.js} +1 -1
  85. codex/static_root/assets/admin-DUUai12N.js.br +0 -0
  86. codex/static_root/assets/admin-DUUai12N.js.gz +0 -0
  87. codex/static_root/assets/{admin-menu-jEUO-jve.9d75737e5a25.js → admin-menu-Chmx6BiH.1c3b74e5c9c3.js} +1 -1
  88. codex/static_root/assets/admin-menu-Chmx6BiH.1c3b74e5c9c3.js.br +0 -0
  89. codex/static_root/assets/admin-menu-Chmx6BiH.1c3b74e5c9c3.js.gz +0 -0
  90. codex/static_root/assets/{admin-menu-jEUO-jve.js → admin-menu-Chmx6BiH.js} +1 -1
  91. codex/static_root/assets/admin-menu-Chmx6BiH.js.br +0 -0
  92. codex/static_root/assets/admin-menu-Chmx6BiH.js.gz +0 -0
  93. codex/static_root/assets/{admin-settings-button-progress-4VJ2w5OE.c38d5a4dce7b.js → admin-settings-button-progress-DtBdIbhl.a46d4b0fb942.js} +1 -1
  94. codex/static_root/assets/admin-settings-button-progress-DtBdIbhl.a46d4b0fb942.js.br +0 -0
  95. codex/static_root/assets/admin-settings-button-progress-DtBdIbhl.a46d4b0fb942.js.gz +0 -0
  96. codex/static_root/assets/{admin-settings-button-progress-4VJ2w5OE.js → admin-settings-button-progress-DtBdIbhl.js} +1 -1
  97. codex/static_root/assets/admin-settings-button-progress-DtBdIbhl.js.br +0 -0
  98. codex/static_root/assets/admin-settings-button-progress-DtBdIbhl.js.gz +0 -0
  99. codex/static_root/assets/{browser-C-BlNsxP.f81ad6dbbbbd.js → browser-CyPJamse.219766f22d89.js} +1 -1
  100. codex/static_root/assets/browser-CyPJamse.219766f22d89.js.br +0 -0
  101. codex/static_root/assets/browser-CyPJamse.219766f22d89.js.gz +0 -0
  102. codex/static_root/assets/{browser-C-BlNsxP.js → browser-CyPJamse.js} +1 -1
  103. codex/static_root/assets/browser-CyPJamse.js.br +0 -0
  104. codex/static_root/assets/browser-CyPJamse.js.gz +0 -0
  105. codex/static_root/assets/{change-password-dialog-Dj3XbuU8.17c9ea08d06e.js → change-password-dialog-BZ6DaJhl.d3de7b069b50.js} +1 -1
  106. codex/static_root/assets/change-password-dialog-BZ6DaJhl.d3de7b069b50.js.br +0 -0
  107. codex/static_root/assets/change-password-dialog-BZ6DaJhl.d3de7b069b50.js.gz +0 -0
  108. codex/static_root/assets/{change-password-dialog-Dj3XbuU8.js → change-password-dialog-BZ6DaJhl.js} +1 -1
  109. codex/static_root/assets/change-password-dialog-BZ6DaJhl.js.br +0 -0
  110. codex/static_root/assets/change-password-dialog-BZ6DaJhl.js.gz +0 -0
  111. codex/static_root/assets/{confirm-dialog-CTDnDBZ6.2e20ad32505b.js → confirm-dialog-BSvD-86j.aaab15574025.js} +1 -1
  112. codex/static_root/assets/confirm-dialog-BSvD-86j.aaab15574025.js.br +0 -0
  113. codex/static_root/assets/confirm-dialog-BSvD-86j.aaab15574025.js.gz +0 -0
  114. codex/static_root/assets/{confirm-dialog-CTDnDBZ6.js → confirm-dialog-BSvD-86j.js} +1 -1
  115. codex/static_root/assets/confirm-dialog-BSvD-86j.js.br +0 -0
  116. codex/static_root/assets/confirm-dialog-BSvD-86j.js.gz +0 -0
  117. codex/static_root/assets/{datetime-column-BQgsbdOJ.73d7db11e377.js → datetime-column-TuTzz3iM.ccf47a3e9175.js} +1 -1
  118. codex/static_root/assets/datetime-column-TuTzz3iM.ccf47a3e9175.js.br +0 -0
  119. codex/static_root/assets/datetime-column-TuTzz3iM.ccf47a3e9175.js.gz +0 -0
  120. codex/static_root/assets/{datetime-column-BQgsbdOJ.js → datetime-column-TuTzz3iM.js} +1 -1
  121. codex/static_root/assets/datetime-column-TuTzz3iM.js.br +0 -0
  122. codex/static_root/assets/datetime-column-TuTzz3iM.js.gz +0 -0
  123. codex/static_root/assets/{filter-CDDr_38H.1eddcad8e12b.js → filter-Dkbb4vcJ.8aebd1a48496.js} +1 -1
  124. codex/static_root/assets/filter-Dkbb4vcJ.8aebd1a48496.js.br +0 -0
  125. codex/static_root/assets/filter-Dkbb4vcJ.8aebd1a48496.js.gz +0 -0
  126. codex/static_root/assets/{filter-CDDr_38H.js → filter-Dkbb4vcJ.js} +1 -1
  127. codex/static_root/assets/filter-Dkbb4vcJ.js.br +0 -0
  128. codex/static_root/assets/filter-Dkbb4vcJ.js.gz +0 -0
  129. codex/static_root/assets/{flag-tab-CU3jhd_v.c72c9c420b45.js → flag-tab-DVDdFHQq.1461798583fc.js} +1 -1
  130. codex/static_root/assets/flag-tab-DVDdFHQq.1461798583fc.js.br +0 -0
  131. codex/static_root/assets/flag-tab-DVDdFHQq.1461798583fc.js.gz +0 -0
  132. codex/static_root/assets/{flag-tab-CU3jhd_v.js → flag-tab-DVDdFHQq.js} +1 -1
  133. codex/static_root/assets/flag-tab-DVDdFHQq.js.br +0 -0
  134. codex/static_root/assets/flag-tab-DVDdFHQq.js.gz +0 -0
  135. codex/static_root/assets/{forwardRefs-B8RvndnX.js → forwardRefs-DXUdcSpo.5662309eacff.js} +1 -1
  136. codex/static_root/assets/forwardRefs-DXUdcSpo.5662309eacff.js.br +0 -0
  137. codex/static_root/assets/forwardRefs-DXUdcSpo.5662309eacff.js.gz +0 -0
  138. codex/static_root/assets/{forwardRefs-B8RvndnX.984dc3ddc339.js → forwardRefs-DXUdcSpo.js} +1 -1
  139. codex/static_root/assets/forwardRefs-DXUdcSpo.js.br +0 -0
  140. codex/static_root/assets/forwardRefs-DXUdcSpo.js.gz +0 -0
  141. codex/static_root/assets/{group-tab-BgE8owSQ.75d3e268e255.js → group-tab-BamTkw5c.2647646aae1a.js} +1 -1
  142. codex/static_root/assets/group-tab-BamTkw5c.2647646aae1a.js.br +0 -0
  143. codex/static_root/assets/group-tab-BamTkw5c.2647646aae1a.js.gz +0 -0
  144. codex/static_root/assets/{group-tab-BgE8owSQ.js → group-tab-BamTkw5c.js} +1 -1
  145. codex/static_root/assets/group-tab-BamTkw5c.js.br +0 -0
  146. codex/static_root/assets/group-tab-BamTkw5c.js.gz +0 -0
  147. codex/static_root/assets/{http-error-DHFtZUft.788eeef7d1c8.js → http-error-DCmE7S65.8d75842ef9df.js} +1 -1
  148. codex/static_root/assets/http-error-DCmE7S65.8d75842ef9df.js.br +0 -0
  149. codex/static_root/assets/http-error-DCmE7S65.8d75842ef9df.js.gz +0 -0
  150. codex/static_root/assets/{http-error-DHFtZUft.js → http-error-DCmE7S65.js} +1 -1
  151. codex/static_root/assets/http-error-DCmE7S65.js.br +0 -0
  152. codex/static_root/assets/http-error-DCmE7S65.js.gz +0 -0
  153. codex/static_root/assets/{index-Da2i75ei.eb31dfb138c8.js → index-DbWJoRGc.49c7e538e220.js} +1 -1
  154. codex/static_root/assets/index-DbWJoRGc.49c7e538e220.js.br +0 -0
  155. codex/static_root/assets/index-DbWJoRGc.49c7e538e220.js.gz +0 -0
  156. codex/static_root/assets/{index-Da2i75ei.js → index-DbWJoRGc.js} +1 -1
  157. codex/static_root/assets/index-DbWJoRGc.js.br +0 -0
  158. codex/static_root/assets/index-DbWJoRGc.js.gz +0 -0
  159. codex/static_root/assets/{library-tab-BDpA0iVH.js → library-tab-8hn_4j-l.c702bcbc7c47.js} +1 -1
  160. codex/static_root/assets/library-tab-8hn_4j-l.c702bcbc7c47.js.br +0 -0
  161. codex/static_root/assets/library-tab-8hn_4j-l.c702bcbc7c47.js.gz +0 -0
  162. codex/static_root/assets/{library-tab-BDpA0iVH.00a176b0120d.js → library-tab-8hn_4j-l.js} +1 -1
  163. codex/static_root/assets/library-tab-8hn_4j-l.js.br +0 -0
  164. codex/static_root/assets/library-tab-8hn_4j-l.js.gz +0 -0
  165. codex/static_root/assets/{main-Co2IERXA.f661cbd30f32.js → main-wRpVzEMc.2ad4a5aff641.js} +3 -3
  166. codex/static_root/assets/main-wRpVzEMc.2ad4a5aff641.js.br +0 -0
  167. codex/static_root/assets/main-wRpVzEMc.2ad4a5aff641.js.gz +0 -0
  168. codex/static_root/assets/{main-Co2IERXA.js → main-wRpVzEMc.js} +3 -3
  169. codex/static_root/assets/main-wRpVzEMc.js.br +0 -0
  170. codex/static_root/assets/main-wRpVzEMc.js.gz +0 -0
  171. codex/static_root/assets/pager-full-pdf-Pr1XocMD.db37bb47d706.js +1 -0
  172. codex/static_root/assets/pager-full-pdf-Pr1XocMD.db37bb47d706.js.br +0 -0
  173. codex/static_root/assets/pager-full-pdf-Pr1XocMD.db37bb47d706.js.gz +0 -0
  174. codex/static_root/assets/pager-full-pdf-Pr1XocMD.js +1 -0
  175. codex/static_root/assets/pager-full-pdf-Pr1XocMD.js.br +0 -0
  176. codex/static_root/assets/pager-full-pdf-Pr1XocMD.js.gz +0 -0
  177. codex/static_root/assets/{pagination-toolbar-klxDDn6n.161a4c1a1fd2.js → pagination-toolbar-CU8IKg5n.7723f97f984e.js} +1 -1
  178. codex/static_root/assets/pagination-toolbar-CU8IKg5n.7723f97f984e.js.br +0 -0
  179. codex/static_root/assets/pagination-toolbar-CU8IKg5n.7723f97f984e.js.gz +0 -0
  180. codex/static_root/assets/{pagination-toolbar-klxDDn6n.js → pagination-toolbar-CU8IKg5n.js} +1 -1
  181. codex/static_root/assets/pagination-toolbar-CU8IKg5n.js.br +0 -0
  182. codex/static_root/assets/pagination-toolbar-CU8IKg5n.js.gz +0 -0
  183. codex/static_root/assets/{pdf-doc-DAr30X4m.f6ccfafbee2b.js → pdf-doc-DflvyTus.3e24cc6876bd.js} +1 -1
  184. codex/static_root/assets/pdf-doc-DflvyTus.3e24cc6876bd.js.br +0 -0
  185. codex/static_root/assets/pdf-doc-DflvyTus.3e24cc6876bd.js.gz +0 -0
  186. codex/static_root/assets/{pdf-doc-DAr30X4m.js → pdf-doc-DflvyTus.js} +1 -1
  187. codex/static_root/assets/pdf-doc-DflvyTus.js.br +0 -0
  188. codex/static_root/assets/pdf-doc-DflvyTus.js.gz +0 -0
  189. codex/static_root/assets/{reader-RTMdK1tk.497d2ae4ce5f.js → reader-LGBvYBXA.56b11ca8cd50.js} +2 -2
  190. codex/static_root/assets/reader-LGBvYBXA.56b11ca8cd50.js.br +0 -0
  191. codex/static_root/assets/reader-LGBvYBXA.56b11ca8cd50.js.gz +0 -0
  192. codex/static_root/assets/{reader-RTMdK1tk.js → reader-LGBvYBXA.js} +2 -2
  193. codex/static_root/assets/reader-LGBvYBXA.js.br +0 -0
  194. codex/static_root/assets/reader-LGBvYBXA.js.gz +0 -0
  195. codex/static_root/assets/{relation-chips-MrBUv8LE.3905ce4512b7.js → relation-chips-Bs0IuHA5.80c2bb2adcde.js} +1 -1
  196. codex/static_root/assets/relation-chips-Bs0IuHA5.80c2bb2adcde.js.br +0 -0
  197. codex/static_root/assets/relation-chips-Bs0IuHA5.80c2bb2adcde.js.gz +0 -0
  198. codex/static_root/assets/{relation-chips-MrBUv8LE.js → relation-chips-Bs0IuHA5.js} +1 -1
  199. codex/static_root/assets/relation-chips-Bs0IuHA5.js.br +0 -0
  200. codex/static_root/assets/relation-chips-Bs0IuHA5.js.gz +0 -0
  201. codex/static_root/assets/{settings-drawer-BmfIO8yN.8fbb95927573.js → settings-drawer-CKU5qI2v.adee20e0e848.js} +2 -2
  202. codex/static_root/assets/settings-drawer-CKU5qI2v.adee20e0e848.js.br +0 -0
  203. codex/static_root/assets/settings-drawer-CKU5qI2v.adee20e0e848.js.gz +0 -0
  204. codex/static_root/assets/{settings-drawer-BmfIO8yN.js → settings-drawer-CKU5qI2v.js} +2 -2
  205. codex/static_root/assets/settings-drawer-CKU5qI2v.js.br +0 -0
  206. codex/static_root/assets/settings-drawer-CKU5qI2v.js.gz +0 -0
  207. codex/static_root/assets/{ssrBoot-CpHvQ_lR.4a530165baa2.js → ssrBoot-BSgvTWbi.6b8fb61881f3.js} +1 -1
  208. codex/static_root/assets/ssrBoot-BSgvTWbi.6b8fb61881f3.js.br +0 -0
  209. codex/static_root/assets/ssrBoot-BSgvTWbi.6b8fb61881f3.js.gz +0 -0
  210. codex/static_root/assets/{ssrBoot-CpHvQ_lR.js → ssrBoot-BSgvTWbi.js} +1 -1
  211. codex/static_root/assets/ssrBoot-BSgvTWbi.js.br +0 -0
  212. codex/static_root/assets/ssrBoot-BSgvTWbi.js.gz +0 -0
  213. codex/static_root/assets/{stats-tab-DhgZJhi0.d94c64c7fe44.js → stats-tab-124Z-f2_.fe7738f481e8.js} +1 -1
  214. codex/static_root/assets/stats-tab-124Z-f2_.fe7738f481e8.js.br +0 -0
  215. codex/static_root/assets/stats-tab-124Z-f2_.fe7738f481e8.js.gz +0 -0
  216. codex/static_root/assets/{stats-tab-DhgZJhi0.js → stats-tab-124Z-f2_.js} +1 -1
  217. codex/static_root/assets/stats-tab-124Z-f2_.js.br +0 -0
  218. codex/static_root/assets/stats-tab-124Z-f2_.js.gz +0 -0
  219. codex/static_root/assets/{task-tab-Dk-VPKv-.1c3a1c17f24c.js → task-tab-CTIRu3PI.bb8b20f348d1.js} +1 -1
  220. codex/static_root/assets/task-tab-CTIRu3PI.bb8b20f348d1.js.br +0 -0
  221. codex/static_root/assets/task-tab-CTIRu3PI.bb8b20f348d1.js.gz +0 -0
  222. codex/static_root/assets/{task-tab-Dk-VPKv-.js → task-tab-CTIRu3PI.js} +1 -1
  223. codex/static_root/assets/task-tab-CTIRu3PI.js.br +0 -0
  224. codex/static_root/assets/task-tab-CTIRu3PI.js.gz +0 -0
  225. codex/static_root/assets/{unauthorized-tnyoCOZ_.5b0beb14dd3b.js → unauthorized-CaZ-DUT8.285cb11c824a.js} +1 -1
  226. codex/static_root/assets/unauthorized-CaZ-DUT8.285cb11c824a.js.br +0 -0
  227. codex/static_root/assets/unauthorized-CaZ-DUT8.285cb11c824a.js.gz +0 -0
  228. codex/static_root/assets/{unauthorized-tnyoCOZ_.js → unauthorized-CaZ-DUT8.js} +1 -1
  229. codex/static_root/assets/unauthorized-CaZ-DUT8.js.br +0 -0
  230. codex/static_root/assets/unauthorized-CaZ-DUT8.js.gz +0 -0
  231. codex/static_root/assets/{user-tab-Drkjzwrl.7d43bb10328a.js → user-tab-Cb5Rh4Us.5151e111c3b1.js} +1 -1
  232. codex/static_root/assets/user-tab-Cb5Rh4Us.5151e111c3b1.js.br +0 -0
  233. codex/static_root/assets/user-tab-Cb5Rh4Us.5151e111c3b1.js.gz +0 -0
  234. codex/static_root/assets/{user-tab-Drkjzwrl.js → user-tab-Cb5Rh4Us.js} +1 -1
  235. codex/static_root/assets/user-tab-Cb5Rh4Us.js.br +0 -0
  236. codex/static_root/assets/user-tab-Cb5Rh4Us.js.gz +0 -0
  237. codex/static_root/{manifest.e860f1e10a2d.json → manifest.45265ea7f343.json} +291 -291
  238. codex/static_root/manifest.45265ea7f343.json.br +0 -0
  239. codex/static_root/manifest.45265ea7f343.json.gz +0 -0
  240. codex/static_root/manifest.json +291 -291
  241. codex/static_root/manifest.json.br +0 -0
  242. codex/static_root/manifest.json.gz +0 -0
  243. codex/static_root/staticfiles.json +1 -1
  244. {codex-1.8.0a10.dist-info → codex-1.8.0a11.dist-info}/METADATA +1 -1
  245. {codex-1.8.0a10.dist-info → codex-1.8.0a11.dist-info}/RECORD +248 -248
  246. codex/static_root/assets/VCheckbox-B4PqoIra.e945a68b34c9.js.br +0 -0
  247. codex/static_root/assets/VCheckbox-B4PqoIra.e945a68b34c9.js.gz +0 -0
  248. codex/static_root/assets/VCheckbox-B4PqoIra.js.br +0 -0
  249. codex/static_root/assets/VCheckbox-B4PqoIra.js.gz +0 -0
  250. codex/static_root/assets/VCheckboxBtn-CFTaQWbK.40dc97b2ff5e.js.br +0 -0
  251. codex/static_root/assets/VCheckboxBtn-CFTaQWbK.40dc97b2ff5e.js.gz +0 -0
  252. codex/static_root/assets/VCheckboxBtn-CFTaQWbK.js.br +0 -0
  253. codex/static_root/assets/VCheckboxBtn-CFTaQWbK.js.gz +0 -0
  254. codex/static_root/assets/VCombobox-wVZMeYMo.21b9118da9ef.js.br +0 -0
  255. codex/static_root/assets/VCombobox-wVZMeYMo.21b9118da9ef.js.gz +0 -0
  256. codex/static_root/assets/VCombobox-wVZMeYMo.js.br +0 -0
  257. codex/static_root/assets/VCombobox-wVZMeYMo.js.gz +0 -0
  258. codex/static_root/assets/VDialog-BSgZ0BZI.25437849523d.js.br +0 -0
  259. codex/static_root/assets/VDialog-BSgZ0BZI.25437849523d.js.gz +0 -0
  260. codex/static_root/assets/VDialog-BSgZ0BZI.js.br +0 -0
  261. codex/static_root/assets/VDialog-BSgZ0BZI.js.gz +0 -0
  262. codex/static_root/assets/VDivider-Bw29Ue4O.dcdc6427cf43.js.br +0 -0
  263. codex/static_root/assets/VDivider-Bw29Ue4O.dcdc6427cf43.js.gz +0 -0
  264. codex/static_root/assets/VDivider-Bw29Ue4O.js.br +0 -0
  265. codex/static_root/assets/VDivider-Bw29Ue4O.js.gz +0 -0
  266. codex/static_root/assets/VExpansionPanels-B-rMs1N2.c33757b02b44.js.br +0 -0
  267. codex/static_root/assets/VExpansionPanels-B-rMs1N2.c33757b02b44.js.gz +0 -0
  268. codex/static_root/assets/VExpansionPanels-B-rMs1N2.js.br +0 -0
  269. codex/static_root/assets/VExpansionPanels-B-rMs1N2.js.gz +0 -0
  270. codex/static_root/assets/VForm-C8AdZW-Z.0a1104e8f5f1.js.br +0 -0
  271. codex/static_root/assets/VForm-C8AdZW-Z.0a1104e8f5f1.js.gz +0 -0
  272. codex/static_root/assets/VForm-C8AdZW-Z.js.br +0 -0
  273. codex/static_root/assets/VForm-C8AdZW-Z.js.gz +0 -0
  274. codex/static_root/assets/VRadioGroup-CH3bhv2K.f1ba82ea913c.js.br +0 -0
  275. codex/static_root/assets/VRadioGroup-CH3bhv2K.f1ba82ea913c.js.gz +0 -0
  276. codex/static_root/assets/VRadioGroup-CH3bhv2K.js.br +0 -0
  277. codex/static_root/assets/VRadioGroup-CH3bhv2K.js.gz +0 -0
  278. codex/static_root/assets/VSelect-B4pZF5N5.28cb69b70fba.js.br +0 -0
  279. codex/static_root/assets/VSelect-B4pZF5N5.28cb69b70fba.js.gz +0 -0
  280. codex/static_root/assets/VSelect-B4pZF5N5.js.br +0 -0
  281. codex/static_root/assets/VSelect-B4pZF5N5.js.gz +0 -0
  282. codex/static_root/assets/VSelectionControl-Cxd4vXuU.2913809193ca.js.br +0 -0
  283. codex/static_root/assets/VSelectionControl-Cxd4vXuU.2913809193ca.js.gz +0 -0
  284. codex/static_root/assets/VSelectionControl-Cxd4vXuU.js.br +0 -0
  285. codex/static_root/assets/VSelectionControl-Cxd4vXuU.js.gz +0 -0
  286. codex/static_root/assets/VTable-CGMElk3T.6e82f037d13b.js.br +0 -0
  287. codex/static_root/assets/VTable-CGMElk3T.6e82f037d13b.js.gz +0 -0
  288. codex/static_root/assets/VTable-CGMElk3T.js.br +0 -0
  289. codex/static_root/assets/VTable-CGMElk3T.js.gz +0 -0
  290. codex/static_root/assets/VWindowItem-Irv_pjC1.06c9f50c66bd.js.br +0 -0
  291. codex/static_root/assets/VWindowItem-Irv_pjC1.06c9f50c66bd.js.gz +0 -0
  292. codex/static_root/assets/VWindowItem-Irv_pjC1.js.br +0 -0
  293. codex/static_root/assets/VWindowItem-Irv_pjC1.js.gz +0 -0
  294. codex/static_root/assets/admin-XNjB-f-A.cf1ab995e7c6.js.br +0 -0
  295. codex/static_root/assets/admin-XNjB-f-A.cf1ab995e7c6.js.gz +0 -0
  296. codex/static_root/assets/admin-XNjB-f-A.js.br +0 -0
  297. codex/static_root/assets/admin-XNjB-f-A.js.gz +0 -0
  298. codex/static_root/assets/admin-bj-I2_ft.efaf203a8a9a.js.br +0 -0
  299. codex/static_root/assets/admin-bj-I2_ft.efaf203a8a9a.js.gz +0 -0
  300. codex/static_root/assets/admin-bj-I2_ft.js.br +0 -0
  301. codex/static_root/assets/admin-bj-I2_ft.js.gz +0 -0
  302. codex/static_root/assets/admin-menu-jEUO-jve.9d75737e5a25.js.br +0 -0
  303. codex/static_root/assets/admin-menu-jEUO-jve.9d75737e5a25.js.gz +0 -0
  304. codex/static_root/assets/admin-menu-jEUO-jve.js.br +0 -0
  305. codex/static_root/assets/admin-menu-jEUO-jve.js.gz +0 -0
  306. codex/static_root/assets/admin-settings-button-progress-4VJ2w5OE.c38d5a4dce7b.js.br +0 -4
  307. codex/static_root/assets/admin-settings-button-progress-4VJ2w5OE.c38d5a4dce7b.js.gz +0 -0
  308. codex/static_root/assets/admin-settings-button-progress-4VJ2w5OE.js.br +0 -4
  309. codex/static_root/assets/admin-settings-button-progress-4VJ2w5OE.js.gz +0 -0
  310. codex/static_root/assets/browser-C-BlNsxP.f81ad6dbbbbd.js.br +0 -0
  311. codex/static_root/assets/browser-C-BlNsxP.f81ad6dbbbbd.js.gz +0 -0
  312. codex/static_root/assets/browser-C-BlNsxP.js.br +0 -0
  313. codex/static_root/assets/browser-C-BlNsxP.js.gz +0 -0
  314. codex/static_root/assets/change-password-dialog-Dj3XbuU8.17c9ea08d06e.js.br +0 -0
  315. codex/static_root/assets/change-password-dialog-Dj3XbuU8.17c9ea08d06e.js.gz +0 -0
  316. codex/static_root/assets/change-password-dialog-Dj3XbuU8.js.br +0 -0
  317. codex/static_root/assets/change-password-dialog-Dj3XbuU8.js.gz +0 -0
  318. codex/static_root/assets/confirm-dialog-CTDnDBZ6.2e20ad32505b.js.br +0 -0
  319. codex/static_root/assets/confirm-dialog-CTDnDBZ6.2e20ad32505b.js.gz +0 -0
  320. codex/static_root/assets/confirm-dialog-CTDnDBZ6.js.br +0 -0
  321. codex/static_root/assets/confirm-dialog-CTDnDBZ6.js.gz +0 -0
  322. codex/static_root/assets/datetime-column-BQgsbdOJ.73d7db11e377.js.br +0 -0
  323. codex/static_root/assets/datetime-column-BQgsbdOJ.73d7db11e377.js.gz +0 -0
  324. codex/static_root/assets/datetime-column-BQgsbdOJ.js.br +0 -0
  325. codex/static_root/assets/datetime-column-BQgsbdOJ.js.gz +0 -0
  326. codex/static_root/assets/filter-CDDr_38H.1eddcad8e12b.js.br +0 -0
  327. codex/static_root/assets/filter-CDDr_38H.1eddcad8e12b.js.gz +0 -0
  328. codex/static_root/assets/filter-CDDr_38H.js.br +0 -0
  329. codex/static_root/assets/filter-CDDr_38H.js.gz +0 -0
  330. codex/static_root/assets/flag-tab-CU3jhd_v.c72c9c420b45.js.br +0 -0
  331. codex/static_root/assets/flag-tab-CU3jhd_v.c72c9c420b45.js.gz +0 -0
  332. codex/static_root/assets/flag-tab-CU3jhd_v.js.br +0 -0
  333. codex/static_root/assets/flag-tab-CU3jhd_v.js.gz +0 -0
  334. codex/static_root/assets/forwardRefs-B8RvndnX.984dc3ddc339.js.br +0 -0
  335. codex/static_root/assets/forwardRefs-B8RvndnX.984dc3ddc339.js.gz +0 -0
  336. codex/static_root/assets/forwardRefs-B8RvndnX.js.br +0 -0
  337. codex/static_root/assets/forwardRefs-B8RvndnX.js.gz +0 -0
  338. codex/static_root/assets/group-tab-BgE8owSQ.75d3e268e255.js.br +0 -0
  339. codex/static_root/assets/group-tab-BgE8owSQ.75d3e268e255.js.gz +0 -0
  340. codex/static_root/assets/group-tab-BgE8owSQ.js.br +0 -0
  341. codex/static_root/assets/group-tab-BgE8owSQ.js.gz +0 -0
  342. codex/static_root/assets/http-error-DHFtZUft.788eeef7d1c8.js.br +0 -0
  343. codex/static_root/assets/http-error-DHFtZUft.788eeef7d1c8.js.gz +0 -0
  344. codex/static_root/assets/http-error-DHFtZUft.js.br +0 -0
  345. codex/static_root/assets/http-error-DHFtZUft.js.gz +0 -0
  346. codex/static_root/assets/index-Da2i75ei.eb31dfb138c8.js.br +0 -0
  347. codex/static_root/assets/index-Da2i75ei.eb31dfb138c8.js.gz +0 -0
  348. codex/static_root/assets/index-Da2i75ei.js.br +0 -0
  349. codex/static_root/assets/index-Da2i75ei.js.gz +0 -0
  350. codex/static_root/assets/library-tab-BDpA0iVH.00a176b0120d.js.br +0 -0
  351. codex/static_root/assets/library-tab-BDpA0iVH.00a176b0120d.js.gz +0 -0
  352. codex/static_root/assets/library-tab-BDpA0iVH.js.br +0 -0
  353. codex/static_root/assets/library-tab-BDpA0iVH.js.gz +0 -0
  354. codex/static_root/assets/main-Co2IERXA.f661cbd30f32.js.br +0 -0
  355. codex/static_root/assets/main-Co2IERXA.f661cbd30f32.js.gz +0 -0
  356. codex/static_root/assets/main-Co2IERXA.js.br +0 -0
  357. codex/static_root/assets/main-Co2IERXA.js.gz +0 -0
  358. codex/static_root/assets/pager-full-pdf-BWRR53mF.a9b7bb20dfb7.js +0 -1
  359. codex/static_root/assets/pager-full-pdf-BWRR53mF.a9b7bb20dfb7.js.br +0 -0
  360. codex/static_root/assets/pager-full-pdf-BWRR53mF.a9b7bb20dfb7.js.gz +0 -0
  361. codex/static_root/assets/pager-full-pdf-BWRR53mF.js +0 -1
  362. codex/static_root/assets/pager-full-pdf-BWRR53mF.js.br +0 -0
  363. codex/static_root/assets/pager-full-pdf-BWRR53mF.js.gz +0 -0
  364. codex/static_root/assets/pagination-toolbar-klxDDn6n.161a4c1a1fd2.js.br +0 -0
  365. codex/static_root/assets/pagination-toolbar-klxDDn6n.161a4c1a1fd2.js.gz +0 -0
  366. codex/static_root/assets/pagination-toolbar-klxDDn6n.js.br +0 -0
  367. codex/static_root/assets/pagination-toolbar-klxDDn6n.js.gz +0 -0
  368. codex/static_root/assets/pdf-doc-DAr30X4m.f6ccfafbee2b.js.br +0 -0
  369. codex/static_root/assets/pdf-doc-DAr30X4m.f6ccfafbee2b.js.gz +0 -0
  370. codex/static_root/assets/pdf-doc-DAr30X4m.js.br +0 -0
  371. codex/static_root/assets/pdf-doc-DAr30X4m.js.gz +0 -0
  372. codex/static_root/assets/reader-RTMdK1tk.497d2ae4ce5f.js.br +0 -0
  373. codex/static_root/assets/reader-RTMdK1tk.497d2ae4ce5f.js.gz +0 -0
  374. codex/static_root/assets/reader-RTMdK1tk.js.br +0 -0
  375. codex/static_root/assets/reader-RTMdK1tk.js.gz +0 -0
  376. codex/static_root/assets/relation-chips-MrBUv8LE.3905ce4512b7.js.br +0 -0
  377. codex/static_root/assets/relation-chips-MrBUv8LE.3905ce4512b7.js.gz +0 -0
  378. codex/static_root/assets/relation-chips-MrBUv8LE.js.br +0 -0
  379. codex/static_root/assets/relation-chips-MrBUv8LE.js.gz +0 -0
  380. codex/static_root/assets/settings-drawer-BmfIO8yN.8fbb95927573.js.br +0 -0
  381. codex/static_root/assets/settings-drawer-BmfIO8yN.8fbb95927573.js.gz +0 -0
  382. codex/static_root/assets/settings-drawer-BmfIO8yN.js.br +0 -0
  383. codex/static_root/assets/settings-drawer-BmfIO8yN.js.gz +0 -0
  384. codex/static_root/assets/ssrBoot-CpHvQ_lR.4a530165baa2.js.br +0 -0
  385. codex/static_root/assets/ssrBoot-CpHvQ_lR.4a530165baa2.js.gz +0 -0
  386. codex/static_root/assets/ssrBoot-CpHvQ_lR.js.br +0 -0
  387. codex/static_root/assets/ssrBoot-CpHvQ_lR.js.gz +0 -0
  388. codex/static_root/assets/stats-tab-DhgZJhi0.d94c64c7fe44.js.br +0 -0
  389. codex/static_root/assets/stats-tab-DhgZJhi0.d94c64c7fe44.js.gz +0 -0
  390. codex/static_root/assets/stats-tab-DhgZJhi0.js.br +0 -0
  391. codex/static_root/assets/stats-tab-DhgZJhi0.js.gz +0 -0
  392. codex/static_root/assets/task-tab-Dk-VPKv-.1c3a1c17f24c.js.br +0 -0
  393. codex/static_root/assets/task-tab-Dk-VPKv-.1c3a1c17f24c.js.gz +0 -0
  394. codex/static_root/assets/task-tab-Dk-VPKv-.js.br +0 -0
  395. codex/static_root/assets/task-tab-Dk-VPKv-.js.gz +0 -0
  396. codex/static_root/assets/unauthorized-tnyoCOZ_.5b0beb14dd3b.js.br +0 -0
  397. codex/static_root/assets/unauthorized-tnyoCOZ_.5b0beb14dd3b.js.gz +0 -0
  398. codex/static_root/assets/unauthorized-tnyoCOZ_.js.br +0 -0
  399. codex/static_root/assets/unauthorized-tnyoCOZ_.js.gz +0 -0
  400. codex/static_root/assets/user-tab-Drkjzwrl.7d43bb10328a.js.br +0 -0
  401. codex/static_root/assets/user-tab-Drkjzwrl.7d43bb10328a.js.gz +0 -0
  402. codex/static_root/assets/user-tab-Drkjzwrl.js.br +0 -0
  403. codex/static_root/assets/user-tab-Drkjzwrl.js.gz +0 -0
  404. codex/static_root/manifest.e860f1e10a2d.json.br +0 -0
  405. codex/static_root/manifest.e860f1e10a2d.json.gz +0 -0
  406. {codex-1.8.0a10.dist-info → codex-1.8.0a11.dist-info}/WHEEL +0 -0
  407. {codex-1.8.0a10.dist-info → codex-1.8.0a11.dist-info}/entry_points.txt +0 -0
  408. {codex-1.8.0a10.dist-info → codex-1.8.0a11.dist-info}/licenses/LICENSE +0 -0
@@ -43,7 +43,7 @@ class SearchIndexSyncManyToManyImporter(FinishImporter):
43
43
  fts_value = self._get_fts_m2m_concat(field_name)
44
44
  model_pks = self.metadata[FTS_UPDATED_M2MS].pop(field_name)
45
45
  self.log.debug(
46
- "Preparing {len(model_pks)} search entries for {field_name} updates."
46
+ f"Preparing {len(model_pks)} search entries for {field_name} updates."
47
47
  )
48
48
  comicftss = (
49
49
  ComicFTS.objects.filter(**{rel: model_pks})
@@ -59,23 +59,25 @@ class SearchIndexSyncManyToManyImporter(FinishImporter):
59
59
  def sync_fts_for_m2m_updates(self, already_updated_comicfts_pks: tuple[int, ...]):
60
60
  """Update fts entries for foreign keys."""
61
61
  count = 0
62
- field_names = tuple(self.metadata[FTS_UPDATED_M2MS].keys())
62
+ update_field_names = tuple(self.metadata[FTS_UPDATED_M2MS].keys())
63
63
 
64
- update_fields = field_names # tuple(sorted(model.__name__.lower() + "s" for model in models))
65
64
  update_objs = []
66
- for field_name in field_names:
65
+ for field_name in update_field_names:
67
66
  if self.abort_event.is_set():
68
67
  return
69
68
  self._sync_fts_for_m2m_updates_model(
70
- field_name, already_updated_comicfts_pks, update_fields, update_objs
69
+ field_name,
70
+ already_updated_comicfts_pks,
71
+ update_field_names,
72
+ update_objs,
71
73
  )
72
74
  count += len(update_objs)
73
- tags = ", ".join(update_fields)
75
+ tags = ", ".join(update_field_names)
74
76
  self.log.debug(
75
77
  f"Updating {count} search index entries for comics linked to updated tags: {tags}"
76
78
  )
77
79
  if count:
78
- ComicFTS.objects.bulk_update(update_objs, update_fields)
80
+ ComicFTS.objects.bulk_update(update_objs, update_field_names)
79
81
  level = "INFO" if count else "DEBUG"
80
82
  self.log.log(
81
83
  level,
@@ -122,27 +122,6 @@ class SearchIndexCreateUpdateImporter(SearchIndexSyncManyToManyImporter):
122
122
  status.increment_complete()
123
123
  self.status_controller.update(status)
124
124
 
125
- def _update_search_index_create_or_update(
126
- self,
127
- obj_list: list[ComicFTS],
128
- status,
129
- *,
130
- create: bool,
131
- ):
132
- if not obj_list or self.abort_event.is_set():
133
- return
134
- verb = "create" if create else "update"
135
- verbing = (verb[:-1] + "ing").capitalize()
136
- num_comic_fts = len(obj_list)
137
-
138
- batch_position = f"({status.complete}/{status.total})"
139
- self.log.debug(f"{verbing} {num_comic_fts} {batch_position} search entries...")
140
- if create:
141
- ComicFTS.objects.bulk_create(obj_list)
142
- else:
143
- ComicFTS.objects.bulk_update(obj_list, COMICFTS_UPDATE_FIELDS)
144
- obj_list.clear()
145
-
146
125
  def _update_search_index_operate_get_status(
147
126
  self, total_entries: int, *, create: bool
148
127
  ) -> ImporterFTSStatus:
@@ -150,26 +129,27 @@ class SearchIndexCreateUpdateImporter(SearchIndexSyncManyToManyImporter):
150
129
  return status_class(total=total_entries)
151
130
 
152
131
  def _update_search_index_operate_create(
153
- self, obj_list: list, status: ImporterFTSStatus
154
- ):
132
+ self, status: ImporterFTSStatus
133
+ ) -> tuple[tuple[ComicFTS, ...], tuple[int, ...]]:
155
134
  entries = self.metadata.pop(FTS_CREATE, {})
156
- pks = tuple(entries.keys())
135
+ pks = tuple(sorted(entries.keys()))
136
+ obj_list = []
157
137
  for pk in pks:
158
138
  if self.abort_event.is_set():
159
- return ()
160
-
139
+ return tuple(obj_list), ()
161
140
  entry = entries.pop(pk)
162
141
  self._create_comicfts_entry(pk, entry, obj_list, status)
163
- return pks
142
+ return tuple(obj_list), pks
164
143
 
165
144
  def _update_search_index_operate_update(
166
- self, obj_list: list, status: ImporterFTSStatus
167
- ):
168
- if pks := tuple(self.metadata.get(FTS_UPDATE, {}).keys()):
145
+ self, status: ImporterFTSStatus
146
+ ) -> tuple[tuple[ComicFTS, ...], tuple[int, ...]]:
147
+ obj_list = []
148
+ if pks := tuple(sorted(self.metadata.get(FTS_UPDATE, {}).keys())):
169
149
  comicftss = ComicFTS.objects.filter(comic_id__in=pks)
170
150
  for comicfts in comicftss:
171
151
  if self.abort_event.is_set():
172
- return ()
152
+ return tuple(obj_list), ()
173
153
  self._update_comicfts_entry(comicfts, obj_list, status)
174
154
  if self.metadata[FTS_UPDATE]:
175
155
  # If updates not popped, turn them into creates.
@@ -177,57 +157,79 @@ class SearchIndexCreateUpdateImporter(SearchIndexSyncManyToManyImporter):
177
157
  self.metadata[FTS_CREATE] = {}
178
158
  self.metadata[FTS_CREATE].update(self.metadata[FTS_UPDATE])
179
159
  self.metadata.pop(FTS_UPDATE)
180
- return pks
160
+ return tuple(obj_list), ()
181
161
 
182
- def _update_search_index_operate(self, *, create: bool) -> tuple[int, ...]:
162
+ def _update_search_index_create_or_update(
163
+ self,
164
+ obj_list: tuple[ComicFTS, ...],
165
+ status,
166
+ *,
167
+ create: bool,
168
+ ) -> int:
169
+ if not obj_list or self.abort_event.is_set():
170
+ return 0
171
+ verb = "create" if create else "update"
172
+ verbing = (verb[:-1] + "ing").capitalize()
173
+ num_comic_fts = len(obj_list)
174
+
175
+ batch_position = f"({status.complete}/{status.total})"
176
+ self.log.debug(f"{verbing} {num_comic_fts} {batch_position} search entries...")
177
+ if create:
178
+ ComicFTS.objects.bulk_create(obj_list)
179
+ else:
180
+ ComicFTS.objects.bulk_update(obj_list, COMICFTS_UPDATE_FIELDS)
181
+ return len(obj_list)
182
+
183
+ def _update_search_index_operate(self, *, create: bool) -> int:
183
184
  key = FTS_CREATE if create else FTS_UPDATE
184
185
  total_entries = len(self.metadata.get(key, {}))
185
186
  status = self._update_search_index_operate_get_status(
186
187
  total_entries, create=create
187
188
  )
188
- updated_pks = ()
189
+ count = 0
189
190
  try:
190
191
  verb = "create" if create else "update"
191
192
  if not total_entries:
192
193
  self.log.debug(f"No search entries to {verb}.")
193
- return updated_pks
194
+ return count
194
195
  self.status_controller.start(status)
195
196
  verbing = "creating" if create else "updating"
196
197
  self.log.debug(
197
198
  f"Preparing {total_entries} comics for search index {verbing}..."
198
199
  )
199
200
 
200
- obj_list = []
201
201
  if create:
202
- updated_pks = self._update_search_index_operate_create(obj_list, status)
202
+ obj_list, created_comic_pks = self._update_search_index_operate_create(
203
+ status
204
+ )
203
205
  else:
204
- updated_pks = self._update_search_index_operate_update(obj_list, status)
206
+ obj_list, created_comic_pks = self._update_search_index_operate_update(
207
+ status
208
+ )
205
209
  self.log.debug(
206
210
  f"Prepared {len(obj_list)} comics for search index {verbing}..."
207
211
  )
208
212
  if self.abort_event.is_set():
209
- return updated_pks
213
+ return count
210
214
 
211
- self._update_search_index_create_or_update(
215
+ count = self._update_search_index_create_or_update(
212
216
  obj_list,
213
217
  status,
214
218
  create=create,
215
219
  )
220
+ self.sync_fts_for_m2m_updates(created_comic_pks)
216
221
 
217
222
  finally:
218
223
  self.status_controller.finish(status)
219
- return updated_pks
224
+ return count
220
225
 
221
- def _update_search_index_update(self):
226
+ def _update_search_index_update(self) -> int:
222
227
  """Update out of date search entries."""
223
- self._update_search_index_operate(create=False)
228
+ return self._update_search_index_operate(create=False)
224
229
 
225
- def _update_search_index_create(self):
230
+ def _update_search_index_create(self) -> int:
226
231
  """Create missing search entries."""
227
- pks = self._update_search_index_operate(create=True)
228
- if self.abort_event.is_set():
229
- return
230
- self.sync_fts_for_m2m_updates(pks)
232
+ return self._update_search_index_operate(create=True)
231
233
 
232
234
  def _update_search_index(self, cleaned_count: int):
233
235
  """Update or Rebuild the search index."""
@@ -1 +1 @@
1
- import{m as I,V as r}from"./VCheckboxBtn-CFTaQWbK.js";import{u as A,m as F,g as u}from"./VSelectionControl-Cxd4vXuU.js";import{f as R}from"./forwardRefs-B8RvndnX.js";import{g as B,p as U,e as w,r as D,u as M,o as N,bt as $,bu as j,a as l,m as d}from"./main-Co2IERXA.js";const q=U({...F(),...N(I(),["inline"])},"VCheckbox"),J=B()({name:"VCheckbox",inheritAttrs:!1,props:q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:n,slots:a}=c;const s=w(e,"modelValue"),{isFocused:i,focus:m,blur:f}=A(e),t=D(),V=$();return M(()=>{const[p,b]=j(n),k=u.filterProps(e),v=r.filterProps(e);return l(u,d({ref:t,class:["v-checkbox",e.class]},p,k,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:e.id||`checkbox-${V}`,focused:i.value,style:e.style}),{...a,default:o=>{let{id:x,messagesId:h,isDisabled:P,isReadonly:C,isValid:y}=o;return l(r,d(v,{id:x.value,"aria-describedby":h.value,disabled:P.value,readonly:C.value},b,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:m,onBlur:f}),a)}})}),R({},t)}});export{J as V};
1
+ import{m as I,V as r}from"./VCheckboxBtn-hQFWOE4O.js";import{u as A,m as F,g as u}from"./VSelectionControl-DBeGpnds.js";import{f as R}from"./forwardRefs-DXUdcSpo.js";import{g as B,p as U,e as w,r as D,u as M,o as N,bt as $,bu as j,a as l,m as d}from"./main-wRpVzEMc.js";const q=U({...F(),...N(I(),["inline"])},"VCheckbox"),J=B()({name:"VCheckbox",inheritAttrs:!1,props:q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:n,slots:a}=c;const s=w(e,"modelValue"),{isFocused:i,focus:m,blur:f}=A(e),t=D(),V=$();return M(()=>{const[p,b]=j(n),k=u.filterProps(e),v=r.filterProps(e);return l(u,d({ref:t,class:["v-checkbox",e.class]},p,k,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:e.id||`checkbox-${V}`,focused:i.value,style:e.style}),{...a,default:o=>{let{id:x,messagesId:h,isDisabled:P,isReadonly:C,isValid:y}=o;return l(r,d(v,{id:x.value,"aria-describedby":h.value,disabled:P.value,readonly:C.value},b,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:m,onBlur:f}),a)}})}),R({},t)}});export{J as V};
@@ -1 +1 @@
1
- import{m as I,V as r}from"./VCheckboxBtn-CFTaQWbK.js";import{u as A,m as F,g as u}from"./VSelectionControl-Cxd4vXuU.js";import{f as R}from"./forwardRefs-B8RvndnX.js";import{g as B,p as U,e as w,r as D,u as M,o as N,bt as $,bu as j,a as l,m as d}from"./main-Co2IERXA.js";const q=U({...F(),...N(I(),["inline"])},"VCheckbox"),J=B()({name:"VCheckbox",inheritAttrs:!1,props:q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:n,slots:a}=c;const s=w(e,"modelValue"),{isFocused:i,focus:m,blur:f}=A(e),t=D(),V=$();return M(()=>{const[p,b]=j(n),k=u.filterProps(e),v=r.filterProps(e);return l(u,d({ref:t,class:["v-checkbox",e.class]},p,k,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:e.id||`checkbox-${V}`,focused:i.value,style:e.style}),{...a,default:o=>{let{id:x,messagesId:h,isDisabled:P,isReadonly:C,isValid:y}=o;return l(r,d(v,{id:x.value,"aria-describedby":h.value,disabled:P.value,readonly:C.value},b,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:m,onBlur:f}),a)}})}),R({},t)}});export{J as V};
1
+ import{m as I,V as r}from"./VCheckboxBtn-hQFWOE4O.js";import{u as A,m as F,g as u}from"./VSelectionControl-DBeGpnds.js";import{f as R}from"./forwardRefs-DXUdcSpo.js";import{g as B,p as U,e as w,r as D,u as M,o as N,bt as $,bu as j,a as l,m as d}from"./main-wRpVzEMc.js";const q=U({...F(),...N(I(),["inline"])},"VCheckbox"),J=B()({name:"VCheckbox",inheritAttrs:!1,props:q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:n,slots:a}=c;const s=w(e,"modelValue"),{isFocused:i,focus:m,blur:f}=A(e),t=D(),V=$();return M(()=>{const[p,b]=j(n),k=u.filterProps(e),v=r.filterProps(e);return l(u,d({ref:t,class:["v-checkbox",e.class]},p,k,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:e.id||`checkbox-${V}`,focused:i.value,style:e.style}),{...a,default:o=>{let{id:x,messagesId:h,isDisabled:P,isReadonly:C,isValid:y}=o;return l(r,d(v,{id:x.value,"aria-describedby":h.value,disabled:P.value,readonly:C.value},b,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:m,onBlur:f}),a)}})}),R({},t)}});export{J as V};
@@ -1 +1 @@
1
- import{l as f,k as a}from"./VSelectionControl-Cxd4vXuU.js";import{p as V,K as k,g as v,e as c,t as l,u as I,o as x,a as h,m as b}from"./main-Co2IERXA.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:k,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(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=x(a.filterProps(e),["modelValue"]);return h(a,b(o,{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{l as f,k as a}from"./VSelectionControl-DBeGpnds.js";import{p as V,K as k,g as v,e as c,t as l,u as I,o as x,a as h,m as b}from"./main-wRpVzEMc.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:k,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(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=x(a.filterProps(e),["modelValue"]);return h(a,b(o,{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{l as f,k as a}from"./VSelectionControl-Cxd4vXuU.js";import{p as V,K as k,g as v,e as c,t as l,u as I,o as x,a as h,m as b}from"./main-Co2IERXA.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:k,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(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=x(a.filterProps(e),["modelValue"]);return h(a,b(o,{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{l as f,k as a}from"./VSelectionControl-DBeGpnds.js";import{p as V,K as k,g as v,e as c,t as l,u as I,o as x,a as h,m as b}from"./main-wRpVzEMc.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:k,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(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=x(a.filterProps(e),["modelValue"]);return h(a,b(o,{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{u as xe,t as I,e as Ve,m as pe,a as ke,V as Ce,b as we,f as Se,d as Ie}from"./VSelect-B4pZF5N5.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-Cxd4vXuU.js";import{u as Pe,f as Re,p as Ae,k as W,l as Ee}from"./forwardRefs-B8RvndnX.js";import{u as Te,m as Me,h as _e}from"./filter-CDDr_38H.js";import{g as Ne,p as Be,aB as Le,r as _,aT as F,e as G,bD as Ke,c as y,aW as z,t as Oe,aU as D,bE as J,u as Ue,a as d,m as k,o as ze,bF as $e,bG as Q,bs as qe,b as C,bH as He,F as $,bI as je,n as We,d as Ge,y as Je}from"./main-Co2IERXA.js";import{a as X,g as Qe}from"./VDialog-BSgZ0BZI.js";import{a as Xe}from"./VDivider-Bw29Ue4O.js";import{V as Ye}from"./VCheckboxBtn-CFTaQWbK.js";const Ze=Be({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...ze(De({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ae({transition:!1})},"VCombobox"),sl=Ne()({name:"VCombobox",props:Ze(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,Y){let{emit:Z,slots:r}=Y;const{t:N}=Le(),m=_(),b=F(!1),x=F(!0),B=F(!1),q=_(),P=_(),o=F(-1);let L=!1;const{items:ee,transformIn:le,transformOut:ae}=xe(e),{textColorClasses:te,textColorStyles:ue}=Pe(()=>m.value?.color),u=G(e,"modelValue",[],l=>le(Ke(l)),l=>{const n=ae(l);return e.multiple?n:n[0]??null}),R=Fe(e),A=y(()=>!!(e.chips||r.chip)),g=y(()=>A.value||!!r.selection),V=F(!e.multiple&&!g.value?u.value[0]?.title??"":""),c=y({get:()=>V.value,set:l=>{if(V.value=l??"",!e.multiple&&!g.value&&(u.value=[I(e,l)],z(()=>P.value?.scrollToIndex(0))),l&&e.multiple&&e.delimiters?.length){const n=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));n.length>1&&(n.forEach(i=>{i=i.trim(),i&&h(I(e,i))}),V.value="")}l||(o.value=-1),x.value=!l}}),ne=y(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:c.value.length),{filteredItems:E,getMatches:oe}=Te(e,ee,()=>x.value?"":c.value),p=y(()=>e.hideSelected?E.value.filter(l=>!u.value.some(n=>n.value===l.value)):E.value),T=y(()=>e.hideNoData&&!p.value.length||R.isReadonly.value||R.isDisabled.value),K=G(e,"menu"),s=y({get:()=>K.value,set:l=>{K.value&&!l&&q.value?.ΨopenChildren.size||l&&T.value||(K.value=l)}}),H=Oe(()=>s.value?e.closeText:e.openText);D(V,l=>{L?z(()=>L=!1):b.value&&!s.value&&(s.value=!0),Z("update:search",l)}),D(u,l=>{!e.multiple&&!g.value&&(V.value=l[0]?.title??"")});const ie=y(()=>u.value.map(l=>l.value)),O=y(()=>(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&c.value===p.value[0]?.title)&&p.value.length>0&&!x.value&&!B.value),U=_(),se=Ve(U,m);function re(l){L=!0,e.openOnClear&&(s.value=!0)}function ce(){T.value||(s.value=!0)}function ve(l){T.value||(b.value&&(l.preventDefault(),l.stopPropagation()),s.value=!s.value)}function de(l){(Q(l)||l.key==="Backspace")&&m.value?.focus()}function fe(l){if($e(l)||R.isReadonly.value)return;const n=m.value?.selectionStart,i=u.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(s.value=!0),["Escape"].includes(l.key)&&(s.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(O.value&&["Enter","Tab"].includes(l.key)&&!u.value.some(a=>{let{value:t}=a;return t===p.value[0].value})&&h(E.value[0]),x.value=!0),l.key==="ArrowDown"&&O.value&&U.value?.focus("next"),l.key==="Enter"&&c.value&&(h(I(e,c.value)),g.value&&(V.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&g.value&&u.value.length>0&&!c.value)return h(u.value[0],!1);if(~o.value){l.preventDefault();const a=o.value;h(u.value[o.value],!1),o.value=a>=i-1?i-2:a}else l.key==="Backspace"&&!c.value&&(o.value=i-1);return}if(e.multiple)if(l.key==="ArrowLeft"){if(o.value<0&&n&&n>0)return;const a=o.value>-1?o.value-1:i-1;u.value[a]?o.value=a:(o.value=-1,m.value?.setSelectionRange(c.value.length,c.value.length))}else if(l.key==="ArrowRight"){if(o.value<0)return;const a=o.value+1;u.value[a]?o.value=a:(o.value=-1,m.value?.setSelectionRange(0,0))}else~o.value&&Q(l)&&(o.value=-1)}function me(){e.eager&&P.value?.calculateVisibleItems()}function he(){b.value&&(x.value=!0,m.value?.focus())}function h(l){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(t=>(e.valueComparator||J)(t.value,l.value)),a=n??!~i;if(~i){const t=a?[...u.value,l]:[...u.value];t.splice(i,1),u.value=t}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(c.value="")}else{const i=n!==!1;u.value=i?[l]:[],V.value=i&&!g.value?l.title:"",z(()=>{s.value=!1,x.value=!0})}}function be(l){b.value=!0,setTimeout(()=>{B.value=!0})}function ge(l){B.value=!1}function ye(l){(l==null||l===""&&!e.multiple&&!g.value)&&(u.value=[])}return D(b,(l,n)=>{if(!(l||l===n)&&(o.value=-1,s.value=!1,c.value)){if(e.multiple){h(I(e,c.value));return}if(!g.value)return;u.value.some(i=>{let{title:a}=i;return a===c.value})?V.value="":h(I(e,c.value))}}),D(s,()=>{if(!e.hideSelected&&s.value&&u.value.length){const l=p.value.findIndex(n=>u.value.some(i=>(e.valueComparator||J)(i.value,n.value)));qe&&window.requestAnimationFrame(()=>{l>=0&&P.value?.scrollToIndex(l)})}}),D(()=>e.items,(l,n)=>{s.value||b.value&&!n.length&&l.length&&(s.value=!0)}),Ue(()=>{const l=!!(!e.hideNoData||p.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),n=u.value.length>0,i=j.filterProps(e);return d(j,k({ref:m},i,{modelValue:c.value,"onUpdate:modelValue":[a=>c.value=a,ye],focused:b.value,"onUpdate:focused":a=>b.value=a,validationValue:u.externalValue,counterValue:ne.value,dirty:n,class:["v-combobox",{"v-combobox--active-menu":s.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!g.value,"v-combobox--selecting-index":o.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:R.isReadonly.value,placeholder:n?void 0:e.placeholder,"onClick:clear":re,"onMousedown:control":ce,onKeydown:fe}),{...r,default:()=>C($,null,[d(ke,k({ref:q,modelValue:s.value,"onUpdate:modelValue":a=>s.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:T.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:me,onAfterLeave:he},e.menuProps),{default:()=>[l&&d(Ce,k({ref:U,filterable:!0,selected:ie.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:be,onFocusout:ge,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},se,e.listProps),{default:()=>[r["prepend-item"]?.(),!p.value.length&&!e.hideNoData&&(r["no-data"]?.()??d(X,{key:"no-data",title:N(e.noDataText)},null)),d(we,{ref:P,renderless:!0,items:p.value,itemKey:"value"},{default:a=>{let{item:t,index:v,itemRef:M}=a;const w=k(t.props,{ref:M,key:t.value,active:O.value&&v===0?!0:void 0,onClick:()=>h(t,null)});return t.type==="divider"?r.divider?.({props:t.raw,index:v})??d(Xe,k(t.props,{key:`divider-${v}`}),null):t.type==="subheader"?r.subheader?.({props:t.raw,index:v})??d(Se,k(t.props,{key:`subheader-${v}`}),null):r.item?.({item:t,index:v,props:w})??d(X,k(w,{role:"option"}),{prepend:S=>{let{isSelected:f}=S;return C($,null,[e.multiple&&!e.hideSelected?d(Ye,{key:t.value,modelValue:f,ripple:!1,tabindex:"-1"},null):void 0,t.props.prependAvatar&&d(Qe,{image:t.props.prependAvatar},null),t.props.prependIcon&&d(W,{icon:t.props.prependIcon},null)])},title:()=>x.value?t.title:_e("v-combobox",t.title,oe(t)?.title)})}}),r["append-item"]?.()]})]}),u.value.map((a,t)=>{function v(f){f.stopPropagation(),f.preventDefault(),h(a,!1)}const M={"onClick:close":v,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),v(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},w=A.value?!!r.chip:!!r.selection,S=w?je(A.value?r.chip({item:a,index:t,props:M}):r.selection({item:a,index:t})):void 0;if(!(w&&!S))return C("div",{key:a.value,class:Ge(["v-combobox__selection",t===o.value&&["v-combobox__selection--selected",te.value]]),style:We(t===o.value?ue.value:{})},[A.value?r.chip?d(Ee,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):d(Ie,k({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},M),null):S??C("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&t<u.value.length-1&&C("span",{class:"v-combobox__selection-comma"},[Je(",")])])])})]),"append-inner":function(){for(var a=arguments.length,t=new Array(a),v=0;v<a;v++)t[v]=arguments[v];return C($,null,[r["append-inner"]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?d(W,{class:"v-combobox__menu-icon",color:m.value?.fieldIconColor,icon:e.menuIcon,onMousedown:ve,onClick:He,"aria-label":N(H.value),title:N(H.value),tabindex:"-1"},null):void 0])}})}),Re({isFocused:b,isPristine:x,menu:s,search:c,selectionIndex:o,filteredItems:E,select:h},m)}});export{sl as V};
1
+ import{u as xe,t as I,e as Ve,m as pe,a as ke,V as Ce,b as we,f as Se,d as Ie}from"./VSelect-CvrBcphO.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-DBeGpnds.js";import{u as Pe,f as Re,p as Ae,k as W,l as Ee}from"./forwardRefs-DXUdcSpo.js";import{u as Te,m as Me,h as _e}from"./filter-Dkbb4vcJ.js";import{g as Ne,p as Be,aB as Le,r as _,aT as F,e as G,bD as Ke,c as y,aW as z,t as Oe,aU as D,bE as J,u as Ue,a as d,m as k,o as ze,bF as $e,bG as Q,bs as qe,b as C,bH as He,F as $,bI as je,n as We,d as Ge,y as Je}from"./main-wRpVzEMc.js";import{a as X,g as Qe}from"./VDialog-CZAYIso7.js";import{a as Xe}from"./VDivider-BMwZp9hw.js";import{V as Ye}from"./VCheckboxBtn-hQFWOE4O.js";const Ze=Be({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...ze(De({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ae({transition:!1})},"VCombobox"),sl=Ne()({name:"VCombobox",props:Ze(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,Y){let{emit:Z,slots:r}=Y;const{t:N}=Le(),m=_(),b=F(!1),x=F(!0),B=F(!1),q=_(),P=_(),o=F(-1);let L=!1;const{items:ee,transformIn:le,transformOut:ae}=xe(e),{textColorClasses:te,textColorStyles:ue}=Pe(()=>m.value?.color),u=G(e,"modelValue",[],l=>le(Ke(l)),l=>{const n=ae(l);return e.multiple?n:n[0]??null}),R=Fe(e),A=y(()=>!!(e.chips||r.chip)),g=y(()=>A.value||!!r.selection),V=F(!e.multiple&&!g.value?u.value[0]?.title??"":""),c=y({get:()=>V.value,set:l=>{if(V.value=l??"",!e.multiple&&!g.value&&(u.value=[I(e,l)],z(()=>P.value?.scrollToIndex(0))),l&&e.multiple&&e.delimiters?.length){const n=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));n.length>1&&(n.forEach(i=>{i=i.trim(),i&&h(I(e,i))}),V.value="")}l||(o.value=-1),x.value=!l}}),ne=y(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:c.value.length),{filteredItems:E,getMatches:oe}=Te(e,ee,()=>x.value?"":c.value),p=y(()=>e.hideSelected?E.value.filter(l=>!u.value.some(n=>n.value===l.value)):E.value),T=y(()=>e.hideNoData&&!p.value.length||R.isReadonly.value||R.isDisabled.value),K=G(e,"menu"),s=y({get:()=>K.value,set:l=>{K.value&&!l&&q.value?.ΨopenChildren.size||l&&T.value||(K.value=l)}}),H=Oe(()=>s.value?e.closeText:e.openText);D(V,l=>{L?z(()=>L=!1):b.value&&!s.value&&(s.value=!0),Z("update:search",l)}),D(u,l=>{!e.multiple&&!g.value&&(V.value=l[0]?.title??"")});const ie=y(()=>u.value.map(l=>l.value)),O=y(()=>(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&c.value===p.value[0]?.title)&&p.value.length>0&&!x.value&&!B.value),U=_(),se=Ve(U,m);function re(l){L=!0,e.openOnClear&&(s.value=!0)}function ce(){T.value||(s.value=!0)}function ve(l){T.value||(b.value&&(l.preventDefault(),l.stopPropagation()),s.value=!s.value)}function de(l){(Q(l)||l.key==="Backspace")&&m.value?.focus()}function fe(l){if($e(l)||R.isReadonly.value)return;const n=m.value?.selectionStart,i=u.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(s.value=!0),["Escape"].includes(l.key)&&(s.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(O.value&&["Enter","Tab"].includes(l.key)&&!u.value.some(a=>{let{value:t}=a;return t===p.value[0].value})&&h(E.value[0]),x.value=!0),l.key==="ArrowDown"&&O.value&&U.value?.focus("next"),l.key==="Enter"&&c.value&&(h(I(e,c.value)),g.value&&(V.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&g.value&&u.value.length>0&&!c.value)return h(u.value[0],!1);if(~o.value){l.preventDefault();const a=o.value;h(u.value[o.value],!1),o.value=a>=i-1?i-2:a}else l.key==="Backspace"&&!c.value&&(o.value=i-1);return}if(e.multiple)if(l.key==="ArrowLeft"){if(o.value<0&&n&&n>0)return;const a=o.value>-1?o.value-1:i-1;u.value[a]?o.value=a:(o.value=-1,m.value?.setSelectionRange(c.value.length,c.value.length))}else if(l.key==="ArrowRight"){if(o.value<0)return;const a=o.value+1;u.value[a]?o.value=a:(o.value=-1,m.value?.setSelectionRange(0,0))}else~o.value&&Q(l)&&(o.value=-1)}function me(){e.eager&&P.value?.calculateVisibleItems()}function he(){b.value&&(x.value=!0,m.value?.focus())}function h(l){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(t=>(e.valueComparator||J)(t.value,l.value)),a=n??!~i;if(~i){const t=a?[...u.value,l]:[...u.value];t.splice(i,1),u.value=t}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(c.value="")}else{const i=n!==!1;u.value=i?[l]:[],V.value=i&&!g.value?l.title:"",z(()=>{s.value=!1,x.value=!0})}}function be(l){b.value=!0,setTimeout(()=>{B.value=!0})}function ge(l){B.value=!1}function ye(l){(l==null||l===""&&!e.multiple&&!g.value)&&(u.value=[])}return D(b,(l,n)=>{if(!(l||l===n)&&(o.value=-1,s.value=!1,c.value)){if(e.multiple){h(I(e,c.value));return}if(!g.value)return;u.value.some(i=>{let{title:a}=i;return a===c.value})?V.value="":h(I(e,c.value))}}),D(s,()=>{if(!e.hideSelected&&s.value&&u.value.length){const l=p.value.findIndex(n=>u.value.some(i=>(e.valueComparator||J)(i.value,n.value)));qe&&window.requestAnimationFrame(()=>{l>=0&&P.value?.scrollToIndex(l)})}}),D(()=>e.items,(l,n)=>{s.value||b.value&&!n.length&&l.length&&(s.value=!0)}),Ue(()=>{const l=!!(!e.hideNoData||p.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),n=u.value.length>0,i=j.filterProps(e);return d(j,k({ref:m},i,{modelValue:c.value,"onUpdate:modelValue":[a=>c.value=a,ye],focused:b.value,"onUpdate:focused":a=>b.value=a,validationValue:u.externalValue,counterValue:ne.value,dirty:n,class:["v-combobox",{"v-combobox--active-menu":s.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!g.value,"v-combobox--selecting-index":o.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:R.isReadonly.value,placeholder:n?void 0:e.placeholder,"onClick:clear":re,"onMousedown:control":ce,onKeydown:fe}),{...r,default:()=>C($,null,[d(ke,k({ref:q,modelValue:s.value,"onUpdate:modelValue":a=>s.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:T.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:me,onAfterLeave:he},e.menuProps),{default:()=>[l&&d(Ce,k({ref:U,filterable:!0,selected:ie.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:be,onFocusout:ge,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},se,e.listProps),{default:()=>[r["prepend-item"]?.(),!p.value.length&&!e.hideNoData&&(r["no-data"]?.()??d(X,{key:"no-data",title:N(e.noDataText)},null)),d(we,{ref:P,renderless:!0,items:p.value,itemKey:"value"},{default:a=>{let{item:t,index:v,itemRef:M}=a;const w=k(t.props,{ref:M,key:t.value,active:O.value&&v===0?!0:void 0,onClick:()=>h(t,null)});return t.type==="divider"?r.divider?.({props:t.raw,index:v})??d(Xe,k(t.props,{key:`divider-${v}`}),null):t.type==="subheader"?r.subheader?.({props:t.raw,index:v})??d(Se,k(t.props,{key:`subheader-${v}`}),null):r.item?.({item:t,index:v,props:w})??d(X,k(w,{role:"option"}),{prepend:S=>{let{isSelected:f}=S;return C($,null,[e.multiple&&!e.hideSelected?d(Ye,{key:t.value,modelValue:f,ripple:!1,tabindex:"-1"},null):void 0,t.props.prependAvatar&&d(Qe,{image:t.props.prependAvatar},null),t.props.prependIcon&&d(W,{icon:t.props.prependIcon},null)])},title:()=>x.value?t.title:_e("v-combobox",t.title,oe(t)?.title)})}}),r["append-item"]?.()]})]}),u.value.map((a,t)=>{function v(f){f.stopPropagation(),f.preventDefault(),h(a,!1)}const M={"onClick:close":v,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),v(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},w=A.value?!!r.chip:!!r.selection,S=w?je(A.value?r.chip({item:a,index:t,props:M}):r.selection({item:a,index:t})):void 0;if(!(w&&!S))return C("div",{key:a.value,class:Ge(["v-combobox__selection",t===o.value&&["v-combobox__selection--selected",te.value]]),style:We(t===o.value?ue.value:{})},[A.value?r.chip?d(Ee,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):d(Ie,k({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},M),null):S??C("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&t<u.value.length-1&&C("span",{class:"v-combobox__selection-comma"},[Je(",")])])])})]),"append-inner":function(){for(var a=arguments.length,t=new Array(a),v=0;v<a;v++)t[v]=arguments[v];return C($,null,[r["append-inner"]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?d(W,{class:"v-combobox__menu-icon",color:m.value?.fieldIconColor,icon:e.menuIcon,onMousedown:ve,onClick:He,"aria-label":N(H.value),title:N(H.value),tabindex:"-1"},null):void 0])}})}),Re({isFocused:b,isPristine:x,menu:s,search:c,selectionIndex:o,filteredItems:E,select:h},m)}});export{sl as V};
@@ -1 +1 @@
1
- import{u as xe,t as I,e as Ve,m as pe,a as ke,V as Ce,b as we,f as Se,d as Ie}from"./VSelect-B4pZF5N5.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-Cxd4vXuU.js";import{u as Pe,f as Re,p as Ae,k as W,l as Ee}from"./forwardRefs-B8RvndnX.js";import{u as Te,m as Me,h as _e}from"./filter-CDDr_38H.js";import{g as Ne,p as Be,aB as Le,r as _,aT as F,e as G,bD as Ke,c as y,aW as z,t as Oe,aU as D,bE as J,u as Ue,a as d,m as k,o as ze,bF as $e,bG as Q,bs as qe,b as C,bH as He,F as $,bI as je,n as We,d as Ge,y as Je}from"./main-Co2IERXA.js";import{a as X,g as Qe}from"./VDialog-BSgZ0BZI.js";import{a as Xe}from"./VDivider-Bw29Ue4O.js";import{V as Ye}from"./VCheckboxBtn-CFTaQWbK.js";const Ze=Be({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...ze(De({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ae({transition:!1})},"VCombobox"),sl=Ne()({name:"VCombobox",props:Ze(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,Y){let{emit:Z,slots:r}=Y;const{t:N}=Le(),m=_(),b=F(!1),x=F(!0),B=F(!1),q=_(),P=_(),o=F(-1);let L=!1;const{items:ee,transformIn:le,transformOut:ae}=xe(e),{textColorClasses:te,textColorStyles:ue}=Pe(()=>m.value?.color),u=G(e,"modelValue",[],l=>le(Ke(l)),l=>{const n=ae(l);return e.multiple?n:n[0]??null}),R=Fe(e),A=y(()=>!!(e.chips||r.chip)),g=y(()=>A.value||!!r.selection),V=F(!e.multiple&&!g.value?u.value[0]?.title??"":""),c=y({get:()=>V.value,set:l=>{if(V.value=l??"",!e.multiple&&!g.value&&(u.value=[I(e,l)],z(()=>P.value?.scrollToIndex(0))),l&&e.multiple&&e.delimiters?.length){const n=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));n.length>1&&(n.forEach(i=>{i=i.trim(),i&&h(I(e,i))}),V.value="")}l||(o.value=-1),x.value=!l}}),ne=y(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:c.value.length),{filteredItems:E,getMatches:oe}=Te(e,ee,()=>x.value?"":c.value),p=y(()=>e.hideSelected?E.value.filter(l=>!u.value.some(n=>n.value===l.value)):E.value),T=y(()=>e.hideNoData&&!p.value.length||R.isReadonly.value||R.isDisabled.value),K=G(e,"menu"),s=y({get:()=>K.value,set:l=>{K.value&&!l&&q.value?.ΨopenChildren.size||l&&T.value||(K.value=l)}}),H=Oe(()=>s.value?e.closeText:e.openText);D(V,l=>{L?z(()=>L=!1):b.value&&!s.value&&(s.value=!0),Z("update:search",l)}),D(u,l=>{!e.multiple&&!g.value&&(V.value=l[0]?.title??"")});const ie=y(()=>u.value.map(l=>l.value)),O=y(()=>(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&c.value===p.value[0]?.title)&&p.value.length>0&&!x.value&&!B.value),U=_(),se=Ve(U,m);function re(l){L=!0,e.openOnClear&&(s.value=!0)}function ce(){T.value||(s.value=!0)}function ve(l){T.value||(b.value&&(l.preventDefault(),l.stopPropagation()),s.value=!s.value)}function de(l){(Q(l)||l.key==="Backspace")&&m.value?.focus()}function fe(l){if($e(l)||R.isReadonly.value)return;const n=m.value?.selectionStart,i=u.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(s.value=!0),["Escape"].includes(l.key)&&(s.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(O.value&&["Enter","Tab"].includes(l.key)&&!u.value.some(a=>{let{value:t}=a;return t===p.value[0].value})&&h(E.value[0]),x.value=!0),l.key==="ArrowDown"&&O.value&&U.value?.focus("next"),l.key==="Enter"&&c.value&&(h(I(e,c.value)),g.value&&(V.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&g.value&&u.value.length>0&&!c.value)return h(u.value[0],!1);if(~o.value){l.preventDefault();const a=o.value;h(u.value[o.value],!1),o.value=a>=i-1?i-2:a}else l.key==="Backspace"&&!c.value&&(o.value=i-1);return}if(e.multiple)if(l.key==="ArrowLeft"){if(o.value<0&&n&&n>0)return;const a=o.value>-1?o.value-1:i-1;u.value[a]?o.value=a:(o.value=-1,m.value?.setSelectionRange(c.value.length,c.value.length))}else if(l.key==="ArrowRight"){if(o.value<0)return;const a=o.value+1;u.value[a]?o.value=a:(o.value=-1,m.value?.setSelectionRange(0,0))}else~o.value&&Q(l)&&(o.value=-1)}function me(){e.eager&&P.value?.calculateVisibleItems()}function he(){b.value&&(x.value=!0,m.value?.focus())}function h(l){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(t=>(e.valueComparator||J)(t.value,l.value)),a=n??!~i;if(~i){const t=a?[...u.value,l]:[...u.value];t.splice(i,1),u.value=t}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(c.value="")}else{const i=n!==!1;u.value=i?[l]:[],V.value=i&&!g.value?l.title:"",z(()=>{s.value=!1,x.value=!0})}}function be(l){b.value=!0,setTimeout(()=>{B.value=!0})}function ge(l){B.value=!1}function ye(l){(l==null||l===""&&!e.multiple&&!g.value)&&(u.value=[])}return D(b,(l,n)=>{if(!(l||l===n)&&(o.value=-1,s.value=!1,c.value)){if(e.multiple){h(I(e,c.value));return}if(!g.value)return;u.value.some(i=>{let{title:a}=i;return a===c.value})?V.value="":h(I(e,c.value))}}),D(s,()=>{if(!e.hideSelected&&s.value&&u.value.length){const l=p.value.findIndex(n=>u.value.some(i=>(e.valueComparator||J)(i.value,n.value)));qe&&window.requestAnimationFrame(()=>{l>=0&&P.value?.scrollToIndex(l)})}}),D(()=>e.items,(l,n)=>{s.value||b.value&&!n.length&&l.length&&(s.value=!0)}),Ue(()=>{const l=!!(!e.hideNoData||p.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),n=u.value.length>0,i=j.filterProps(e);return d(j,k({ref:m},i,{modelValue:c.value,"onUpdate:modelValue":[a=>c.value=a,ye],focused:b.value,"onUpdate:focused":a=>b.value=a,validationValue:u.externalValue,counterValue:ne.value,dirty:n,class:["v-combobox",{"v-combobox--active-menu":s.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!g.value,"v-combobox--selecting-index":o.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:R.isReadonly.value,placeholder:n?void 0:e.placeholder,"onClick:clear":re,"onMousedown:control":ce,onKeydown:fe}),{...r,default:()=>C($,null,[d(ke,k({ref:q,modelValue:s.value,"onUpdate:modelValue":a=>s.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:T.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:me,onAfterLeave:he},e.menuProps),{default:()=>[l&&d(Ce,k({ref:U,filterable:!0,selected:ie.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:be,onFocusout:ge,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},se,e.listProps),{default:()=>[r["prepend-item"]?.(),!p.value.length&&!e.hideNoData&&(r["no-data"]?.()??d(X,{key:"no-data",title:N(e.noDataText)},null)),d(we,{ref:P,renderless:!0,items:p.value,itemKey:"value"},{default:a=>{let{item:t,index:v,itemRef:M}=a;const w=k(t.props,{ref:M,key:t.value,active:O.value&&v===0?!0:void 0,onClick:()=>h(t,null)});return t.type==="divider"?r.divider?.({props:t.raw,index:v})??d(Xe,k(t.props,{key:`divider-${v}`}),null):t.type==="subheader"?r.subheader?.({props:t.raw,index:v})??d(Se,k(t.props,{key:`subheader-${v}`}),null):r.item?.({item:t,index:v,props:w})??d(X,k(w,{role:"option"}),{prepend:S=>{let{isSelected:f}=S;return C($,null,[e.multiple&&!e.hideSelected?d(Ye,{key:t.value,modelValue:f,ripple:!1,tabindex:"-1"},null):void 0,t.props.prependAvatar&&d(Qe,{image:t.props.prependAvatar},null),t.props.prependIcon&&d(W,{icon:t.props.prependIcon},null)])},title:()=>x.value?t.title:_e("v-combobox",t.title,oe(t)?.title)})}}),r["append-item"]?.()]})]}),u.value.map((a,t)=>{function v(f){f.stopPropagation(),f.preventDefault(),h(a,!1)}const M={"onClick:close":v,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),v(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},w=A.value?!!r.chip:!!r.selection,S=w?je(A.value?r.chip({item:a,index:t,props:M}):r.selection({item:a,index:t})):void 0;if(!(w&&!S))return C("div",{key:a.value,class:Ge(["v-combobox__selection",t===o.value&&["v-combobox__selection--selected",te.value]]),style:We(t===o.value?ue.value:{})},[A.value?r.chip?d(Ee,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):d(Ie,k({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},M),null):S??C("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&t<u.value.length-1&&C("span",{class:"v-combobox__selection-comma"},[Je(",")])])])})]),"append-inner":function(){for(var a=arguments.length,t=new Array(a),v=0;v<a;v++)t[v]=arguments[v];return C($,null,[r["append-inner"]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?d(W,{class:"v-combobox__menu-icon",color:m.value?.fieldIconColor,icon:e.menuIcon,onMousedown:ve,onClick:He,"aria-label":N(H.value),title:N(H.value),tabindex:"-1"},null):void 0])}})}),Re({isFocused:b,isPristine:x,menu:s,search:c,selectionIndex:o,filteredItems:E,select:h},m)}});export{sl as V};
1
+ import{u as xe,t as I,e as Ve,m as pe,a as ke,V as Ce,b as we,f as Se,d as Ie}from"./VSelect-CvrBcphO.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-DBeGpnds.js";import{u as Pe,f as Re,p as Ae,k as W,l as Ee}from"./forwardRefs-DXUdcSpo.js";import{u as Te,m as Me,h as _e}from"./filter-Dkbb4vcJ.js";import{g as Ne,p as Be,aB as Le,r as _,aT as F,e as G,bD as Ke,c as y,aW as z,t as Oe,aU as D,bE as J,u as Ue,a as d,m as k,o as ze,bF as $e,bG as Q,bs as qe,b as C,bH as He,F as $,bI as je,n as We,d as Ge,y as Je}from"./main-wRpVzEMc.js";import{a as X,g as Qe}from"./VDialog-CZAYIso7.js";import{a as Xe}from"./VDivider-BMwZp9hw.js";import{V as Ye}from"./VCheckboxBtn-hQFWOE4O.js";const Ze=Be({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...ze(De({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ae({transition:!1})},"VCombobox"),sl=Ne()({name:"VCombobox",props:Ze(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,Y){let{emit:Z,slots:r}=Y;const{t:N}=Le(),m=_(),b=F(!1),x=F(!0),B=F(!1),q=_(),P=_(),o=F(-1);let L=!1;const{items:ee,transformIn:le,transformOut:ae}=xe(e),{textColorClasses:te,textColorStyles:ue}=Pe(()=>m.value?.color),u=G(e,"modelValue",[],l=>le(Ke(l)),l=>{const n=ae(l);return e.multiple?n:n[0]??null}),R=Fe(e),A=y(()=>!!(e.chips||r.chip)),g=y(()=>A.value||!!r.selection),V=F(!e.multiple&&!g.value?u.value[0]?.title??"":""),c=y({get:()=>V.value,set:l=>{if(V.value=l??"",!e.multiple&&!g.value&&(u.value=[I(e,l)],z(()=>P.value?.scrollToIndex(0))),l&&e.multiple&&e.delimiters?.length){const n=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));n.length>1&&(n.forEach(i=>{i=i.trim(),i&&h(I(e,i))}),V.value="")}l||(o.value=-1),x.value=!l}}),ne=y(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:c.value.length),{filteredItems:E,getMatches:oe}=Te(e,ee,()=>x.value?"":c.value),p=y(()=>e.hideSelected?E.value.filter(l=>!u.value.some(n=>n.value===l.value)):E.value),T=y(()=>e.hideNoData&&!p.value.length||R.isReadonly.value||R.isDisabled.value),K=G(e,"menu"),s=y({get:()=>K.value,set:l=>{K.value&&!l&&q.value?.ΨopenChildren.size||l&&T.value||(K.value=l)}}),H=Oe(()=>s.value?e.closeText:e.openText);D(V,l=>{L?z(()=>L=!1):b.value&&!s.value&&(s.value=!0),Z("update:search",l)}),D(u,l=>{!e.multiple&&!g.value&&(V.value=l[0]?.title??"")});const ie=y(()=>u.value.map(l=>l.value)),O=y(()=>(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&c.value===p.value[0]?.title)&&p.value.length>0&&!x.value&&!B.value),U=_(),se=Ve(U,m);function re(l){L=!0,e.openOnClear&&(s.value=!0)}function ce(){T.value||(s.value=!0)}function ve(l){T.value||(b.value&&(l.preventDefault(),l.stopPropagation()),s.value=!s.value)}function de(l){(Q(l)||l.key==="Backspace")&&m.value?.focus()}function fe(l){if($e(l)||R.isReadonly.value)return;const n=m.value?.selectionStart,i=u.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(s.value=!0),["Escape"].includes(l.key)&&(s.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(O.value&&["Enter","Tab"].includes(l.key)&&!u.value.some(a=>{let{value:t}=a;return t===p.value[0].value})&&h(E.value[0]),x.value=!0),l.key==="ArrowDown"&&O.value&&U.value?.focus("next"),l.key==="Enter"&&c.value&&(h(I(e,c.value)),g.value&&(V.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&g.value&&u.value.length>0&&!c.value)return h(u.value[0],!1);if(~o.value){l.preventDefault();const a=o.value;h(u.value[o.value],!1),o.value=a>=i-1?i-2:a}else l.key==="Backspace"&&!c.value&&(o.value=i-1);return}if(e.multiple)if(l.key==="ArrowLeft"){if(o.value<0&&n&&n>0)return;const a=o.value>-1?o.value-1:i-1;u.value[a]?o.value=a:(o.value=-1,m.value?.setSelectionRange(c.value.length,c.value.length))}else if(l.key==="ArrowRight"){if(o.value<0)return;const a=o.value+1;u.value[a]?o.value=a:(o.value=-1,m.value?.setSelectionRange(0,0))}else~o.value&&Q(l)&&(o.value=-1)}function me(){e.eager&&P.value?.calculateVisibleItems()}function he(){b.value&&(x.value=!0,m.value?.focus())}function h(l){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(t=>(e.valueComparator||J)(t.value,l.value)),a=n??!~i;if(~i){const t=a?[...u.value,l]:[...u.value];t.splice(i,1),u.value=t}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(c.value="")}else{const i=n!==!1;u.value=i?[l]:[],V.value=i&&!g.value?l.title:"",z(()=>{s.value=!1,x.value=!0})}}function be(l){b.value=!0,setTimeout(()=>{B.value=!0})}function ge(l){B.value=!1}function ye(l){(l==null||l===""&&!e.multiple&&!g.value)&&(u.value=[])}return D(b,(l,n)=>{if(!(l||l===n)&&(o.value=-1,s.value=!1,c.value)){if(e.multiple){h(I(e,c.value));return}if(!g.value)return;u.value.some(i=>{let{title:a}=i;return a===c.value})?V.value="":h(I(e,c.value))}}),D(s,()=>{if(!e.hideSelected&&s.value&&u.value.length){const l=p.value.findIndex(n=>u.value.some(i=>(e.valueComparator||J)(i.value,n.value)));qe&&window.requestAnimationFrame(()=>{l>=0&&P.value?.scrollToIndex(l)})}}),D(()=>e.items,(l,n)=>{s.value||b.value&&!n.length&&l.length&&(s.value=!0)}),Ue(()=>{const l=!!(!e.hideNoData||p.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),n=u.value.length>0,i=j.filterProps(e);return d(j,k({ref:m},i,{modelValue:c.value,"onUpdate:modelValue":[a=>c.value=a,ye],focused:b.value,"onUpdate:focused":a=>b.value=a,validationValue:u.externalValue,counterValue:ne.value,dirty:n,class:["v-combobox",{"v-combobox--active-menu":s.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!g.value,"v-combobox--selecting-index":o.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:R.isReadonly.value,placeholder:n?void 0:e.placeholder,"onClick:clear":re,"onMousedown:control":ce,onKeydown:fe}),{...r,default:()=>C($,null,[d(ke,k({ref:q,modelValue:s.value,"onUpdate:modelValue":a=>s.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:T.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:me,onAfterLeave:he},e.menuProps),{default:()=>[l&&d(Ce,k({ref:U,filterable:!0,selected:ie.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:be,onFocusout:ge,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},se,e.listProps),{default:()=>[r["prepend-item"]?.(),!p.value.length&&!e.hideNoData&&(r["no-data"]?.()??d(X,{key:"no-data",title:N(e.noDataText)},null)),d(we,{ref:P,renderless:!0,items:p.value,itemKey:"value"},{default:a=>{let{item:t,index:v,itemRef:M}=a;const w=k(t.props,{ref:M,key:t.value,active:O.value&&v===0?!0:void 0,onClick:()=>h(t,null)});return t.type==="divider"?r.divider?.({props:t.raw,index:v})??d(Xe,k(t.props,{key:`divider-${v}`}),null):t.type==="subheader"?r.subheader?.({props:t.raw,index:v})??d(Se,k(t.props,{key:`subheader-${v}`}),null):r.item?.({item:t,index:v,props:w})??d(X,k(w,{role:"option"}),{prepend:S=>{let{isSelected:f}=S;return C($,null,[e.multiple&&!e.hideSelected?d(Ye,{key:t.value,modelValue:f,ripple:!1,tabindex:"-1"},null):void 0,t.props.prependAvatar&&d(Qe,{image:t.props.prependAvatar},null),t.props.prependIcon&&d(W,{icon:t.props.prependIcon},null)])},title:()=>x.value?t.title:_e("v-combobox",t.title,oe(t)?.title)})}}),r["append-item"]?.()]})]}),u.value.map((a,t)=>{function v(f){f.stopPropagation(),f.preventDefault(),h(a,!1)}const M={"onClick:close":v,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),v(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},w=A.value?!!r.chip:!!r.selection,S=w?je(A.value?r.chip({item:a,index:t,props:M}):r.selection({item:a,index:t})):void 0;if(!(w&&!S))return C("div",{key:a.value,class:Ge(["v-combobox__selection",t===o.value&&["v-combobox__selection--selected",te.value]]),style:We(t===o.value?ue.value:{})},[A.value?r.chip?d(Ee,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):d(Ie,k({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},M),null):S??C("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&t<u.value.length-1&&C("span",{class:"v-combobox__selection-comma"},[Je(",")])])])})]),"append-inner":function(){for(var a=arguments.length,t=new Array(a),v=0;v<a;v++)t[v]=arguments[v];return C($,null,[r["append-inner"]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?d(W,{class:"v-combobox__menu-icon",color:m.value?.fieldIconColor,icon:e.menuIcon,onMousedown:ve,onClick:He,"aria-label":N(H.value),title:N(H.value),tabindex:"-1"},null):void 0])}})}),Re({isFocused:b,isPristine:x,menu:s,search:c,selectionIndex:o,filteredItems:E,select:h},m)}});export{sl as V};