codex 1.5.11__py3-none-any.whl → 1.5.13__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 (414) hide show
  1. codex/applications/websocket.py +1 -7
  2. codex/librarian/importer/importerd.py +2 -1
  3. codex/librarian/importer/query_fks.py +1 -1
  4. codex/middleware.py +50 -1
  5. codex/serializers/choices.py +11 -14
  6. codex/serializers/metadata.py +1 -1
  7. codex/settings/settings.py +11 -5
  8. codex/static_root/assets/{VCheckbox-DILNxNH0.b3d636874a55.js → VCheckbox-Wdu19ZuZ.50f2bf3b5ce5.js} +1 -1
  9. codex/static_root/assets/VCheckbox-Wdu19ZuZ.50f2bf3b5ce5.js.br +0 -0
  10. codex/static_root/assets/VCheckbox-Wdu19ZuZ.50f2bf3b5ce5.js.gz +0 -0
  11. codex/static_root/assets/{VCheckbox-DILNxNH0.js → VCheckbox-Wdu19ZuZ.js} +1 -1
  12. codex/static_root/assets/VCheckbox-Wdu19ZuZ.js.br +0 -0
  13. codex/static_root/assets/VCheckbox-Wdu19ZuZ.js.gz +0 -0
  14. codex/static_root/assets/{VCheckboxBtn-BvTV50hB.743d5045dd85.js → VCheckboxBtn-C7NngFC8.bd12ea5cdbb2.js} +1 -1
  15. codex/static_root/assets/VCheckboxBtn-C7NngFC8.bd12ea5cdbb2.js.br +0 -0
  16. codex/static_root/assets/VCheckboxBtn-C7NngFC8.bd12ea5cdbb2.js.gz +0 -0
  17. codex/static_root/assets/{VCheckboxBtn-BvTV50hB.js → VCheckboxBtn-C7NngFC8.js} +1 -1
  18. codex/static_root/assets/VCheckboxBtn-C7NngFC8.js.br +0 -0
  19. codex/static_root/assets/VCheckboxBtn-C7NngFC8.js.gz +0 -0
  20. codex/static_root/assets/VCombobox-DxNlm_ji.11d317a5dbb0.js +1 -0
  21. codex/static_root/assets/VCombobox-DxNlm_ji.11d317a5dbb0.js.br +0 -0
  22. codex/static_root/assets/VCombobox-DxNlm_ji.11d317a5dbb0.js.gz +0 -0
  23. codex/static_root/assets/VCombobox-DxNlm_ji.js +1 -0
  24. codex/static_root/assets/VCombobox-DxNlm_ji.js.br +0 -0
  25. codex/static_root/assets/VCombobox-DxNlm_ji.js.gz +0 -0
  26. codex/static_root/assets/{VDataTableVirtual-CeSA4IqW.222e223c0c5b.js → VDataTableVirtual-C4UTS-jp.4b2926f1461f.js} +1 -1
  27. codex/static_root/assets/VDataTableVirtual-C4UTS-jp.4b2926f1461f.js.br +0 -0
  28. codex/static_root/assets/VDataTableVirtual-C4UTS-jp.4b2926f1461f.js.gz +0 -0
  29. codex/static_root/assets/{VDataTableVirtual-CeSA4IqW.js → VDataTableVirtual-C4UTS-jp.js} +1 -1
  30. codex/static_root/assets/VDataTableVirtual-C4UTS-jp.js.br +0 -0
  31. codex/static_root/assets/VDataTableVirtual-C4UTS-jp.js.gz +0 -0
  32. codex/static_root/assets/{VExpansionPanel-D2KdJaNN.382ab5af5c16.js → VExpansionPanel-1dRZTsNe.6213946f43dd.js} +1 -1
  33. codex/static_root/assets/VExpansionPanel-1dRZTsNe.6213946f43dd.js.br +0 -0
  34. codex/static_root/assets/VExpansionPanel-1dRZTsNe.6213946f43dd.js.gz +0 -0
  35. codex/static_root/assets/{VExpansionPanel-D2KdJaNN.js → VExpansionPanel-1dRZTsNe.js} +1 -1
  36. codex/static_root/assets/VExpansionPanel-1dRZTsNe.js.br +0 -0
  37. codex/static_root/assets/VExpansionPanel-1dRZTsNe.js.gz +0 -0
  38. codex/static_root/assets/{VMain-CLPkUtlY.093dce5ee73d.js → VMain-BVEH6Gtw.51ef468a0780.js} +1 -1
  39. codex/static_root/assets/VMain-BVEH6Gtw.51ef468a0780.js.br +0 -0
  40. codex/static_root/assets/VMain-BVEH6Gtw.51ef468a0780.js.gz +0 -0
  41. codex/static_root/assets/{VMain-CLPkUtlY.js → VMain-BVEH6Gtw.js} +1 -1
  42. codex/static_root/assets/VMain-BVEH6Gtw.js.br +0 -0
  43. codex/static_root/assets/VMain-BVEH6Gtw.js.gz +0 -0
  44. codex/static_root/assets/{VRadioGroup-CKhS3Tqq.d335c4ea0c80.js → VRadioGroup-D1WV2cpK.83ba2e5689fd.js} +1 -1
  45. codex/static_root/assets/VRadioGroup-D1WV2cpK.83ba2e5689fd.js.br +0 -0
  46. codex/static_root/assets/VRadioGroup-D1WV2cpK.83ba2e5689fd.js.gz +0 -0
  47. codex/static_root/assets/{VRadioGroup-CKhS3Tqq.js → VRadioGroup-D1WV2cpK.js} +1 -1
  48. codex/static_root/assets/VRadioGroup-D1WV2cpK.js.br +0 -0
  49. codex/static_root/assets/VRadioGroup-D1WV2cpK.js.gz +0 -0
  50. codex/static_root/assets/VSelect-BVyqMxyX.4a54cd987085.js +1 -0
  51. codex/static_root/assets/VSelect-BVyqMxyX.4a54cd987085.js.br +0 -0
  52. codex/static_root/assets/VSelect-BVyqMxyX.4a54cd987085.js.gz +0 -0
  53. codex/static_root/assets/VSelect-BVyqMxyX.js +1 -0
  54. codex/static_root/assets/VSelect-BVyqMxyX.js.br +0 -0
  55. codex/static_root/assets/VSelect-BVyqMxyX.js.gz +0 -0
  56. codex/static_root/assets/{VSelectionControl-BG0YEK9P.ac59951f8127.js → VSelectionControl-CC9aC7ZT.2db18d99af8b.js} +1 -1
  57. codex/static_root/assets/VSelectionControl-CC9aC7ZT.2db18d99af8b.js.br +0 -0
  58. codex/static_root/assets/VSelectionControl-CC9aC7ZT.2db18d99af8b.js.gz +0 -0
  59. codex/static_root/assets/{VSelectionControl-BG0YEK9P.js → VSelectionControl-CC9aC7ZT.js} +1 -1
  60. codex/static_root/assets/VSelectionControl-CC9aC7ZT.js.br +0 -0
  61. codex/static_root/assets/VSelectionControl-CC9aC7ZT.js.gz +0 -0
  62. codex/static_root/assets/VSlideGroup-D4n-jSgi.686cc428f5fe.js +1 -0
  63. codex/static_root/assets/VSlideGroup-D4n-jSgi.686cc428f5fe.js.br +0 -0
  64. codex/static_root/assets/VSlideGroup-D4n-jSgi.686cc428f5fe.js.gz +0 -0
  65. codex/static_root/assets/VSlideGroup-D4n-jSgi.js +1 -0
  66. codex/static_root/assets/VSlideGroup-D4n-jSgi.js.br +0 -0
  67. codex/static_root/assets/VSlideGroup-D4n-jSgi.js.gz +0 -0
  68. codex/static_root/assets/{VTable-Ca3_Vvv_.6fd02dbba881.js → VTable-DioYRJkC.c8638b2267ed.js} +1 -1
  69. codex/static_root/assets/VTable-DioYRJkC.c8638b2267ed.js.br +0 -0
  70. codex/static_root/assets/VTable-DioYRJkC.c8638b2267ed.js.gz +0 -0
  71. codex/static_root/assets/{VTable-Ca3_Vvv_.js → VTable-DioYRJkC.js} +1 -1
  72. codex/static_root/assets/VTable-DioYRJkC.js.br +0 -0
  73. codex/static_root/assets/VTable-DioYRJkC.js.gz +0 -0
  74. codex/static_root/assets/{VToolbar-CjnGoYm_.js → VToolbar-DLtG5Ngs.e32539656f6d.js} +2 -2
  75. codex/static_root/assets/VToolbar-DLtG5Ngs.e32539656f6d.js.br +0 -0
  76. codex/static_root/assets/VToolbar-DLtG5Ngs.e32539656f6d.js.gz +0 -0
  77. codex/static_root/assets/{VToolbar-CjnGoYm_.211df7fe7fc4.js → VToolbar-DLtG5Ngs.js} +2 -2
  78. codex/static_root/assets/VToolbar-DLtG5Ngs.js.br +0 -0
  79. codex/static_root/assets/VToolbar-DLtG5Ngs.js.gz +0 -0
  80. codex/static_root/assets/{VToolbar-BfNszTMd.111f25cdd6d8.css → VToolbar-DqQLg1UA.614d6a4a8a09.css} +1 -1
  81. codex/static_root/assets/VToolbar-DqQLg1UA.614d6a4a8a09.css.br +0 -0
  82. codex/static_root/assets/{VToolbar-BfNszTMd.111f25cdd6d8.css.gz → VToolbar-DqQLg1UA.614d6a4a8a09.css.gz} +0 -0
  83. codex/static_root/assets/{VToolbar-BfNszTMd.css → VToolbar-DqQLg1UA.css} +1 -1
  84. codex/static_root/assets/VToolbar-DqQLg1UA.css.br +0 -0
  85. codex/static_root/assets/{VToolbar-BfNszTMd.css.gz → VToolbar-DqQLg1UA.css.gz} +0 -0
  86. codex/static_root/assets/{VWindowItem-Ren0_px5.3e2b2ffbdefb.js → VWindowItem-D-OB7e0u.ef9bcb84a01e.js} +1 -1
  87. codex/static_root/assets/VWindowItem-D-OB7e0u.ef9bcb84a01e.js.br +0 -0
  88. codex/static_root/assets/VWindowItem-D-OB7e0u.ef9bcb84a01e.js.gz +0 -0
  89. codex/static_root/assets/{VWindowItem-Ren0_px5.js → VWindowItem-D-OB7e0u.js} +1 -1
  90. codex/static_root/assets/VWindowItem-D-OB7e0u.js.br +0 -0
  91. codex/static_root/assets/VWindowItem-D-OB7e0u.js.gz +0 -0
  92. codex/static_root/assets/{admin-B0qtMbYo.071dfdcac325.js → admin-BwXMQOyX.8c44117c2b63.js} +1 -1
  93. codex/static_root/assets/admin-BwXMQOyX.8c44117c2b63.js.br +0 -0
  94. codex/static_root/assets/admin-BwXMQOyX.8c44117c2b63.js.gz +0 -0
  95. codex/static_root/assets/{admin-B0qtMbYo.js → admin-BwXMQOyX.js} +1 -1
  96. codex/static_root/assets/admin-BwXMQOyX.js.br +0 -0
  97. codex/static_root/assets/admin-BwXMQOyX.js.gz +0 -0
  98. codex/static_root/assets/{admin-drawer-panel-s72VfDNy.css → admin-drawer-panel-Bk7z8uTR.1531b747003f.css} +1 -1
  99. codex/static_root/assets/admin-drawer-panel-Bk7z8uTR.1531b747003f.css.br +0 -0
  100. codex/static_root/assets/admin-drawer-panel-Bk7z8uTR.1531b747003f.css.gz +0 -0
  101. codex/static_root/assets/{admin-drawer-panel-s72VfDNy.ef6cb7221a44.css → admin-drawer-panel-Bk7z8uTR.css} +1 -1
  102. codex/static_root/assets/admin-drawer-panel-Bk7z8uTR.css.br +0 -0
  103. codex/static_root/assets/admin-drawer-panel-Bk7z8uTR.css.gz +0 -0
  104. codex/static_root/assets/{admin-drawer-panel-CYYEXqtK.db547c39eded.js → admin-drawer-panel-CGj6J0rX.cc680f2603da.js} +4 -4
  105. codex/static_root/assets/admin-drawer-panel-CGj6J0rX.cc680f2603da.js.br +0 -0
  106. codex/static_root/assets/admin-drawer-panel-CGj6J0rX.cc680f2603da.js.gz +0 -0
  107. codex/static_root/assets/{admin-drawer-panel-CYYEXqtK.js → admin-drawer-panel-CGj6J0rX.js} +4 -4
  108. codex/static_root/assets/admin-drawer-panel-CGj6J0rX.js.br +0 -0
  109. codex/static_root/assets/admin-drawer-panel-CGj6J0rX.js.gz +0 -0
  110. codex/static_root/assets/browser-BLCruguN.ca6300976f82.js +1 -0
  111. codex/static_root/assets/browser-BLCruguN.ca6300976f82.js.br +0 -0
  112. codex/static_root/assets/browser-BLCruguN.ca6300976f82.js.gz +0 -0
  113. codex/static_root/assets/browser-BLCruguN.js +1 -0
  114. codex/static_root/assets/browser-BLCruguN.js.br +0 -0
  115. codex/static_root/assets/browser-BLCruguN.js.gz +0 -0
  116. codex/static_root/assets/{browser-2i0QA4La.587673ac534c.css → browser-CTxEKlCx.211d729d9165.css} +1 -1
  117. codex/static_root/assets/browser-CTxEKlCx.211d729d9165.css.br +0 -0
  118. codex/static_root/assets/browser-CTxEKlCx.211d729d9165.css.gz +0 -0
  119. codex/static_root/assets/{browser-2i0QA4La.css → browser-CTxEKlCx.css} +1 -1
  120. codex/static_root/assets/browser-CTxEKlCx.css.br +0 -0
  121. codex/static_root/assets/browser-CTxEKlCx.css.gz +0 -0
  122. codex/static_root/assets/{change-password-dialog-DnkeLvMH.f9ac56354665.js → change-password-dialog-DDvVSrWH.915709700c5f.js} +1 -1
  123. codex/static_root/assets/change-password-dialog-DDvVSrWH.915709700c5f.js.br +0 -0
  124. codex/static_root/assets/change-password-dialog-DDvVSrWH.915709700c5f.js.gz +0 -0
  125. codex/static_root/assets/{change-password-dialog-DnkeLvMH.js → change-password-dialog-DDvVSrWH.js} +1 -1
  126. codex/static_root/assets/change-password-dialog-DDvVSrWH.js.br +0 -0
  127. codex/static_root/assets/change-password-dialog-DDvVSrWH.js.gz +0 -0
  128. codex/static_root/assets/{confirm-dialog-BfSatKsS.7e0e20b08c75.js → confirm-dialog-Bf3Sde_o.b437109b579e.js} +1 -1
  129. codex/static_root/assets/confirm-dialog-Bf3Sde_o.b437109b579e.js.br +0 -0
  130. codex/static_root/assets/confirm-dialog-Bf3Sde_o.b437109b579e.js.gz +0 -0
  131. codex/static_root/assets/{confirm-dialog-BfSatKsS.js → confirm-dialog-Bf3Sde_o.js} +1 -1
  132. codex/static_root/assets/confirm-dialog-Bf3Sde_o.js.br +0 -0
  133. codex/static_root/assets/confirm-dialog-Bf3Sde_o.js.gz +0 -0
  134. codex/static_root/assets/{confirm-footer-lfG418fS.js → confirm-footer-CLwOC3F0.d25d9085b300.js} +1 -1
  135. codex/static_root/assets/confirm-footer-CLwOC3F0.d25d9085b300.js.br +0 -0
  136. codex/static_root/assets/confirm-footer-CLwOC3F0.d25d9085b300.js.gz +0 -0
  137. codex/static_root/assets/{confirm-footer-lfG418fS.70e914e12343.js → confirm-footer-CLwOC3F0.js} +1 -1
  138. codex/static_root/assets/confirm-footer-CLwOC3F0.js.br +0 -0
  139. codex/static_root/assets/confirm-footer-CLwOC3F0.js.gz +0 -0
  140. codex/static_root/assets/{datetime-column-fbihmJHU.4bc0bcaee780.js → datetime-column-DGfoC2Ap.ef9499c6bca8.js} +1 -1
  141. codex/static_root/assets/datetime-column-DGfoC2Ap.ef9499c6bca8.js.br +0 -0
  142. codex/static_root/assets/datetime-column-DGfoC2Ap.ef9499c6bca8.js.gz +0 -0
  143. codex/static_root/assets/{datetime-column-fbihmJHU.js → datetime-column-DGfoC2Ap.js} +1 -1
  144. codex/static_root/assets/datetime-column-DGfoC2Ap.js.br +0 -0
  145. codex/static_root/assets/datetime-column-DGfoC2Ap.js.gz +0 -0
  146. codex/static_root/assets/{filter-omb1juiE.60e35137ed78.js → filter-DcOs3rVI.495426fbd29e.js} +1 -1
  147. codex/static_root/assets/filter-DcOs3rVI.495426fbd29e.js.br +0 -0
  148. codex/static_root/assets/filter-DcOs3rVI.495426fbd29e.js.gz +0 -0
  149. codex/static_root/assets/{filter-omb1juiE.js → filter-DcOs3rVI.js} +1 -1
  150. codex/static_root/assets/filter-DcOs3rVI.js.br +0 -0
  151. codex/static_root/assets/filter-DcOs3rVI.js.gz +0 -0
  152. codex/static_root/assets/{flag-tab-DMgtpnoL.026603d5e10f.js → flag-tab-D77e2Ors.068789b9d816.js} +1 -1
  153. codex/static_root/assets/flag-tab-D77e2Ors.068789b9d816.js.br +0 -0
  154. codex/static_root/assets/flag-tab-D77e2Ors.068789b9d816.js.gz +0 -0
  155. codex/static_root/assets/{flag-tab-DMgtpnoL.js → flag-tab-D77e2Ors.js} +1 -1
  156. codex/static_root/assets/flag-tab-D77e2Ors.js.br +0 -0
  157. codex/static_root/assets/flag-tab-D77e2Ors.js.gz +0 -0
  158. codex/static_root/assets/{group-tab-ChO_Opmg.310104b14401.js → group-tab-SxqTtCGs.c23d57a22257.js} +1 -1
  159. codex/static_root/assets/group-tab-SxqTtCGs.c23d57a22257.js.br +0 -0
  160. codex/static_root/assets/group-tab-SxqTtCGs.c23d57a22257.js.gz +0 -0
  161. codex/static_root/assets/{group-tab-ChO_Opmg.js → group-tab-SxqTtCGs.js} +1 -1
  162. codex/static_root/assets/group-tab-SxqTtCGs.js.br +0 -0
  163. codex/static_root/assets/group-tab-SxqTtCGs.js.gz +0 -0
  164. codex/static_root/assets/{http-error-C23KyICQ.abef3d8f559f.js → http-error-CKL2ByeE.c0333de973b1.js} +1 -1
  165. codex/static_root/assets/http-error-CKL2ByeE.c0333de973b1.js.br +0 -0
  166. codex/static_root/assets/http-error-CKL2ByeE.c0333de973b1.js.gz +0 -0
  167. codex/static_root/assets/{http-error-C23KyICQ.js → http-error-CKL2ByeE.js} +1 -1
  168. codex/static_root/assets/http-error-CKL2ByeE.js.br +0 -0
  169. codex/static_root/assets/http-error-CKL2ByeE.js.gz +0 -0
  170. codex/static_root/assets/{library-tab-DrLWFLoD.6c7ef6d70145.js → library-tab-jesPyoqi.453abce07ca3.js} +1 -1
  171. codex/static_root/assets/library-tab-jesPyoqi.453abce07ca3.js.br +0 -0
  172. codex/static_root/assets/library-tab-jesPyoqi.453abce07ca3.js.gz +0 -0
  173. codex/static_root/assets/{library-tab-DrLWFLoD.js → library-tab-jesPyoqi.js} +1 -1
  174. codex/static_root/assets/library-tab-jesPyoqi.js.br +0 -0
  175. codex/static_root/assets/library-tab-jesPyoqi.js.gz +0 -0
  176. codex/static_root/assets/main-BXWucpmC.f8485541954a.js +37 -0
  177. codex/static_root/assets/main-BXWucpmC.f8485541954a.js.br +0 -0
  178. codex/static_root/assets/main-BXWucpmC.f8485541954a.js.gz +0 -0
  179. codex/static_root/assets/main-BXWucpmC.js +37 -0
  180. codex/static_root/assets/main-BXWucpmC.js.br +0 -0
  181. codex/static_root/assets/main-BXWucpmC.js.gz +0 -0
  182. codex/static_root/assets/main-CGRrI5lh.4f849ef1c5db.css.br +0 -0
  183. codex/static_root/assets/main-CGRrI5lh.css.br +0 -0
  184. codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.6e435534bd35.ttf.br +0 -0
  185. codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.ttf.br +0 -0
  186. codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.8ced95a05e3c.eot.br +0 -0
  187. codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.eot.br +0 -0
  188. codex/static_root/assets/{metadata-dialog-BtNY_zfF.js → metadata-dialog-Dkadd19B.0c95b145042a.js} +1 -1
  189. codex/static_root/assets/metadata-dialog-Dkadd19B.0c95b145042a.js.br +0 -0
  190. codex/static_root/assets/metadata-dialog-Dkadd19B.0c95b145042a.js.gz +0 -0
  191. codex/static_root/assets/{metadata-dialog-BtNY_zfF.22c1b81402ef.js → metadata-dialog-Dkadd19B.js} +1 -1
  192. codex/static_root/assets/metadata-dialog-Dkadd19B.js.br +0 -0
  193. codex/static_root/assets/metadata-dialog-Dkadd19B.js.gz +0 -0
  194. codex/static_root/assets/{metadata-dialog-BGJasBRy.0553851658b5.css → metadata-dialog-QTkQOBoB.2e6935edafee.css} +1 -1
  195. codex/static_root/assets/metadata-dialog-QTkQOBoB.2e6935edafee.css.br +0 -0
  196. codex/static_root/assets/metadata-dialog-QTkQOBoB.2e6935edafee.css.gz +0 -0
  197. codex/static_root/assets/{metadata-dialog-BGJasBRy.css → metadata-dialog-QTkQOBoB.css} +1 -1
  198. codex/static_root/assets/metadata-dialog-QTkQOBoB.css.br +0 -0
  199. codex/static_root/assets/metadata-dialog-QTkQOBoB.css.gz +0 -0
  200. codex/static_root/assets/{pdf-doc-CIsTX0uM.6ab3c037f453.js → pdf-doc-DwPaMGER.d981a9066397.js} +1 -1
  201. codex/static_root/assets/pdf-doc-DwPaMGER.d981a9066397.js.br +0 -0
  202. codex/static_root/assets/pdf-doc-DwPaMGER.d981a9066397.js.gz +0 -0
  203. codex/static_root/assets/{pdf-doc-CIsTX0uM.js → pdf-doc-DwPaMGER.js} +1 -1
  204. codex/static_root/assets/pdf-doc-DwPaMGER.js.br +0 -0
  205. codex/static_root/assets/pdf-doc-DwPaMGER.js.gz +0 -0
  206. codex/static_root/assets/{reader-CNqxQvt9.js → reader-7CNuDD9b.3593146c30b7.js} +2 -2
  207. codex/static_root/assets/reader-7CNuDD9b.3593146c30b7.js.br +0 -0
  208. codex/static_root/assets/reader-7CNuDD9b.3593146c30b7.js.gz +0 -0
  209. codex/static_root/assets/{reader-CNqxQvt9.8dc98a69b850.js → reader-7CNuDD9b.js} +2 -2
  210. codex/static_root/assets/reader-7CNuDD9b.js.br +0 -0
  211. codex/static_root/assets/reader-7CNuDD9b.js.gz +0 -0
  212. codex/static_root/assets/{stats-tab-CoaUKmOP.bec3968f1626.js → stats-tab-CyQ4G2G_.10e279711e77.js} +1 -1
  213. codex/static_root/assets/stats-tab-CyQ4G2G_.10e279711e77.js.br +0 -0
  214. codex/static_root/assets/stats-tab-CyQ4G2G_.10e279711e77.js.gz +0 -0
  215. codex/static_root/assets/{stats-tab-CoaUKmOP.js → stats-tab-CyQ4G2G_.js} +1 -1
  216. codex/static_root/assets/stats-tab-CyQ4G2G_.js.br +0 -0
  217. codex/static_root/assets/stats-tab-CyQ4G2G_.js.gz +0 -0
  218. codex/static_root/assets/{task-tab-Chc8Xt1f.cfc054dc04c9.js → task-tab-ncnnRysH.13fa947767f5.js} +1 -1
  219. codex/static_root/assets/task-tab-ncnnRysH.13fa947767f5.js.br +0 -0
  220. codex/static_root/assets/task-tab-ncnnRysH.13fa947767f5.js.gz +0 -0
  221. codex/static_root/assets/{task-tab-Chc8Xt1f.js → task-tab-ncnnRysH.js} +1 -1
  222. codex/static_root/assets/task-tab-ncnnRysH.js.br +0 -0
  223. codex/static_root/assets/task-tab-ncnnRysH.js.gz +0 -0
  224. codex/static_root/assets/{user-tab-DH1Xzfcb.99bb9c50aa13.js → user-tab-BWjYndVM.503bf20bdbc0.js} +1 -1
  225. codex/static_root/assets/user-tab-BWjYndVM.503bf20bdbc0.js.br +0 -0
  226. codex/static_root/assets/user-tab-BWjYndVM.503bf20bdbc0.js.gz +0 -0
  227. codex/static_root/assets/{user-tab-DH1Xzfcb.js → user-tab-BWjYndVM.js} +1 -1
  228. codex/static_root/assets/user-tab-BWjYndVM.js.br +0 -0
  229. codex/static_root/assets/user-tab-BWjYndVM.js.gz +0 -0
  230. codex/static_root/{manifest.3751733856af.json → manifest.a5c8e7a036f3.json} +213 -213
  231. codex/static_root/manifest.a5c8e7a036f3.json.br +0 -0
  232. codex/static_root/manifest.a5c8e7a036f3.json.gz +0 -0
  233. codex/static_root/manifest.json +213 -213
  234. codex/static_root/manifest.json.br +0 -0
  235. codex/static_root/manifest.json.gz +0 -0
  236. codex/static_root/rest_framework/fonts/fontawesome-webfont.dcb26c7239d8.ttf.br +0 -0
  237. codex/static_root/rest_framework/fonts/fontawesome-webfont.ttf.br +0 -0
  238. codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf.br +0 -0
  239. codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.ttf.br +0 -0
  240. codex/static_root/staticfiles.json +1 -1
  241. codex/views/bookmark.py +12 -9
  242. codex/views/browser/base.py +12 -1
  243. codex/views/browser/browser.py +82 -63
  244. codex/views/browser/const.py +3 -0
  245. codex/views/browser/filters/search.py +0 -4
  246. codex/views/error.py +6 -3
  247. codex/views/opds/v1/feed.py +2 -1
  248. codex/views/opds/v2/feed.py +4 -6
  249. codex/views/opds/v2/publications.py +6 -3
  250. {codex-1.5.11.dist-info → codex-1.5.13.dist-info}/METADATA +22 -12
  251. {codex-1.5.11.dist-info → codex-1.5.13.dist-info}/RECORD +258 -257
  252. codex/static_root/assets/VCheckbox-DILNxNH0.b3d636874a55.js.br +0 -0
  253. codex/static_root/assets/VCheckbox-DILNxNH0.b3d636874a55.js.gz +0 -0
  254. codex/static_root/assets/VCheckbox-DILNxNH0.js.br +0 -0
  255. codex/static_root/assets/VCheckbox-DILNxNH0.js.gz +0 -0
  256. codex/static_root/assets/VCheckboxBtn-BvTV50hB.743d5045dd85.js.br +0 -0
  257. codex/static_root/assets/VCheckboxBtn-BvTV50hB.743d5045dd85.js.gz +0 -0
  258. codex/static_root/assets/VCheckboxBtn-BvTV50hB.js.br +0 -0
  259. codex/static_root/assets/VCheckboxBtn-BvTV50hB.js.gz +0 -0
  260. codex/static_root/assets/VCombobox-WMKXQHU8.bb480d30500d.js +0 -1
  261. codex/static_root/assets/VCombobox-WMKXQHU8.bb480d30500d.js.br +0 -0
  262. codex/static_root/assets/VCombobox-WMKXQHU8.bb480d30500d.js.gz +0 -0
  263. codex/static_root/assets/VCombobox-WMKXQHU8.js +0 -1
  264. codex/static_root/assets/VCombobox-WMKXQHU8.js.br +0 -0
  265. codex/static_root/assets/VCombobox-WMKXQHU8.js.gz +0 -0
  266. codex/static_root/assets/VDataTableVirtual-CeSA4IqW.222e223c0c5b.js.br +0 -0
  267. codex/static_root/assets/VDataTableVirtual-CeSA4IqW.222e223c0c5b.js.gz +0 -0
  268. codex/static_root/assets/VDataTableVirtual-CeSA4IqW.js.br +0 -0
  269. codex/static_root/assets/VDataTableVirtual-CeSA4IqW.js.gz +0 -0
  270. codex/static_root/assets/VExpansionPanel-D2KdJaNN.382ab5af5c16.js.br +0 -0
  271. codex/static_root/assets/VExpansionPanel-D2KdJaNN.382ab5af5c16.js.gz +0 -0
  272. codex/static_root/assets/VExpansionPanel-D2KdJaNN.js.br +0 -0
  273. codex/static_root/assets/VExpansionPanel-D2KdJaNN.js.gz +0 -0
  274. codex/static_root/assets/VMain-CLPkUtlY.093dce5ee73d.js.br +0 -0
  275. codex/static_root/assets/VMain-CLPkUtlY.093dce5ee73d.js.gz +0 -0
  276. codex/static_root/assets/VMain-CLPkUtlY.js.br +0 -0
  277. codex/static_root/assets/VMain-CLPkUtlY.js.gz +0 -0
  278. codex/static_root/assets/VRadioGroup-CKhS3Tqq.d335c4ea0c80.js.br +0 -0
  279. codex/static_root/assets/VRadioGroup-CKhS3Tqq.d335c4ea0c80.js.gz +0 -0
  280. codex/static_root/assets/VRadioGroup-CKhS3Tqq.js.br +0 -0
  281. codex/static_root/assets/VRadioGroup-CKhS3Tqq.js.gz +0 -0
  282. codex/static_root/assets/VSelect-CiEBG4Gg.58a09287143f.js +0 -1
  283. codex/static_root/assets/VSelect-CiEBG4Gg.58a09287143f.js.br +0 -0
  284. codex/static_root/assets/VSelect-CiEBG4Gg.58a09287143f.js.gz +0 -0
  285. codex/static_root/assets/VSelect-CiEBG4Gg.js +0 -1
  286. codex/static_root/assets/VSelect-CiEBG4Gg.js.br +0 -0
  287. codex/static_root/assets/VSelect-CiEBG4Gg.js.gz +0 -0
  288. codex/static_root/assets/VSelectionControl-BG0YEK9P.ac59951f8127.js.br +0 -0
  289. codex/static_root/assets/VSelectionControl-BG0YEK9P.ac59951f8127.js.gz +0 -0
  290. codex/static_root/assets/VSelectionControl-BG0YEK9P.js.br +0 -0
  291. codex/static_root/assets/VSelectionControl-BG0YEK9P.js.gz +0 -0
  292. codex/static_root/assets/VSlideGroup-Bm-rZo-p.816bb625906d.js +0 -1
  293. codex/static_root/assets/VSlideGroup-Bm-rZo-p.816bb625906d.js.br +0 -0
  294. codex/static_root/assets/VSlideGroup-Bm-rZo-p.816bb625906d.js.gz +0 -0
  295. codex/static_root/assets/VSlideGroup-Bm-rZo-p.js +0 -1
  296. codex/static_root/assets/VSlideGroup-Bm-rZo-p.js.br +0 -0
  297. codex/static_root/assets/VSlideGroup-Bm-rZo-p.js.gz +0 -0
  298. codex/static_root/assets/VTable-Ca3_Vvv_.6fd02dbba881.js.br +0 -0
  299. codex/static_root/assets/VTable-Ca3_Vvv_.6fd02dbba881.js.gz +0 -0
  300. codex/static_root/assets/VTable-Ca3_Vvv_.js.br +0 -0
  301. codex/static_root/assets/VTable-Ca3_Vvv_.js.gz +0 -0
  302. codex/static_root/assets/VToolbar-BfNszTMd.111f25cdd6d8.css.br +0 -0
  303. codex/static_root/assets/VToolbar-BfNszTMd.css.br +0 -0
  304. codex/static_root/assets/VToolbar-CjnGoYm_.211df7fe7fc4.js.br +0 -0
  305. codex/static_root/assets/VToolbar-CjnGoYm_.211df7fe7fc4.js.gz +0 -0
  306. codex/static_root/assets/VToolbar-CjnGoYm_.js.br +0 -0
  307. codex/static_root/assets/VToolbar-CjnGoYm_.js.gz +0 -0
  308. codex/static_root/assets/VWindowItem-Ren0_px5.3e2b2ffbdefb.js.br +0 -0
  309. codex/static_root/assets/VWindowItem-Ren0_px5.3e2b2ffbdefb.js.gz +0 -0
  310. codex/static_root/assets/VWindowItem-Ren0_px5.js.br +0 -0
  311. codex/static_root/assets/VWindowItem-Ren0_px5.js.gz +0 -0
  312. codex/static_root/assets/admin-B0qtMbYo.071dfdcac325.js.br +0 -0
  313. codex/static_root/assets/admin-B0qtMbYo.071dfdcac325.js.gz +0 -0
  314. codex/static_root/assets/admin-B0qtMbYo.js.br +0 -0
  315. codex/static_root/assets/admin-B0qtMbYo.js.gz +0 -0
  316. codex/static_root/assets/admin-drawer-panel-CYYEXqtK.db547c39eded.js.br +0 -0
  317. codex/static_root/assets/admin-drawer-panel-CYYEXqtK.db547c39eded.js.gz +0 -0
  318. codex/static_root/assets/admin-drawer-panel-CYYEXqtK.js.br +0 -0
  319. codex/static_root/assets/admin-drawer-panel-CYYEXqtK.js.gz +0 -0
  320. codex/static_root/assets/admin-drawer-panel-s72VfDNy.css.br +0 -0
  321. codex/static_root/assets/admin-drawer-panel-s72VfDNy.css.gz +0 -0
  322. codex/static_root/assets/admin-drawer-panel-s72VfDNy.ef6cb7221a44.css.br +0 -0
  323. codex/static_root/assets/admin-drawer-panel-s72VfDNy.ef6cb7221a44.css.gz +0 -0
  324. codex/static_root/assets/browser-2i0QA4La.587673ac534c.css.br +0 -0
  325. codex/static_root/assets/browser-2i0QA4La.587673ac534c.css.gz +0 -0
  326. codex/static_root/assets/browser-2i0QA4La.css.br +0 -0
  327. codex/static_root/assets/browser-2i0QA4La.css.gz +0 -0
  328. codex/static_root/assets/browser-B-4o2klP.469a3f62093a.js +0 -1
  329. codex/static_root/assets/browser-B-4o2klP.469a3f62093a.js.br +0 -0
  330. codex/static_root/assets/browser-B-4o2klP.469a3f62093a.js.gz +0 -0
  331. codex/static_root/assets/browser-B-4o2klP.js +0 -1
  332. codex/static_root/assets/browser-B-4o2klP.js.br +0 -0
  333. codex/static_root/assets/browser-B-4o2klP.js.gz +0 -0
  334. codex/static_root/assets/change-password-dialog-DnkeLvMH.f9ac56354665.js.br +0 -0
  335. codex/static_root/assets/change-password-dialog-DnkeLvMH.f9ac56354665.js.gz +0 -0
  336. codex/static_root/assets/change-password-dialog-DnkeLvMH.js.br +0 -0
  337. codex/static_root/assets/change-password-dialog-DnkeLvMH.js.gz +0 -0
  338. codex/static_root/assets/confirm-dialog-BfSatKsS.7e0e20b08c75.js.br +0 -0
  339. codex/static_root/assets/confirm-dialog-BfSatKsS.7e0e20b08c75.js.gz +0 -0
  340. codex/static_root/assets/confirm-dialog-BfSatKsS.js.br +0 -0
  341. codex/static_root/assets/confirm-dialog-BfSatKsS.js.gz +0 -0
  342. codex/static_root/assets/confirm-footer-lfG418fS.70e914e12343.js.br +0 -0
  343. codex/static_root/assets/confirm-footer-lfG418fS.70e914e12343.js.gz +0 -0
  344. codex/static_root/assets/confirm-footer-lfG418fS.js.br +0 -0
  345. codex/static_root/assets/confirm-footer-lfG418fS.js.gz +0 -0
  346. codex/static_root/assets/datetime-column-fbihmJHU.4bc0bcaee780.js.br +0 -0
  347. codex/static_root/assets/datetime-column-fbihmJHU.4bc0bcaee780.js.gz +0 -0
  348. codex/static_root/assets/datetime-column-fbihmJHU.js.br +0 -0
  349. codex/static_root/assets/datetime-column-fbihmJHU.js.gz +0 -0
  350. codex/static_root/assets/filter-omb1juiE.60e35137ed78.js.br +0 -0
  351. codex/static_root/assets/filter-omb1juiE.60e35137ed78.js.gz +0 -0
  352. codex/static_root/assets/filter-omb1juiE.js.br +0 -0
  353. codex/static_root/assets/filter-omb1juiE.js.gz +0 -0
  354. codex/static_root/assets/flag-tab-DMgtpnoL.026603d5e10f.js.br +0 -0
  355. codex/static_root/assets/flag-tab-DMgtpnoL.026603d5e10f.js.gz +0 -0
  356. codex/static_root/assets/flag-tab-DMgtpnoL.js.br +0 -0
  357. codex/static_root/assets/flag-tab-DMgtpnoL.js.gz +0 -0
  358. codex/static_root/assets/group-tab-ChO_Opmg.310104b14401.js.br +0 -0
  359. codex/static_root/assets/group-tab-ChO_Opmg.310104b14401.js.gz +0 -0
  360. codex/static_root/assets/group-tab-ChO_Opmg.js.br +0 -0
  361. codex/static_root/assets/group-tab-ChO_Opmg.js.gz +0 -0
  362. codex/static_root/assets/http-error-C23KyICQ.abef3d8f559f.js.br +0 -0
  363. codex/static_root/assets/http-error-C23KyICQ.abef3d8f559f.js.gz +0 -0
  364. codex/static_root/assets/http-error-C23KyICQ.js.br +0 -0
  365. codex/static_root/assets/http-error-C23KyICQ.js.gz +0 -0
  366. codex/static_root/assets/library-tab-DrLWFLoD.6c7ef6d70145.js.br +0 -0
  367. codex/static_root/assets/library-tab-DrLWFLoD.6c7ef6d70145.js.gz +0 -0
  368. codex/static_root/assets/library-tab-DrLWFLoD.js.br +0 -0
  369. codex/static_root/assets/library-tab-DrLWFLoD.js.gz +0 -0
  370. codex/static_root/assets/main-BgbJsukE.7cf51b816bdc.js +0 -37
  371. codex/static_root/assets/main-BgbJsukE.7cf51b816bdc.js.br +0 -0
  372. codex/static_root/assets/main-BgbJsukE.7cf51b816bdc.js.gz +0 -0
  373. codex/static_root/assets/main-BgbJsukE.js +0 -37
  374. codex/static_root/assets/main-BgbJsukE.js.br +0 -0
  375. codex/static_root/assets/main-BgbJsukE.js.gz +0 -0
  376. codex/static_root/assets/main-CacfwsKA.4f849ef1c5db.css.br +0 -0
  377. codex/static_root/assets/main-CacfwsKA.css.br +0 -0
  378. codex/static_root/assets/metadata-dialog-BGJasBRy.0553851658b5.css.br +0 -0
  379. codex/static_root/assets/metadata-dialog-BGJasBRy.0553851658b5.css.gz +0 -0
  380. codex/static_root/assets/metadata-dialog-BGJasBRy.css.br +0 -0
  381. codex/static_root/assets/metadata-dialog-BGJasBRy.css.gz +0 -0
  382. codex/static_root/assets/metadata-dialog-BtNY_zfF.22c1b81402ef.js.br +0 -0
  383. codex/static_root/assets/metadata-dialog-BtNY_zfF.22c1b81402ef.js.gz +0 -0
  384. codex/static_root/assets/metadata-dialog-BtNY_zfF.js.br +0 -0
  385. codex/static_root/assets/metadata-dialog-BtNY_zfF.js.gz +0 -0
  386. codex/static_root/assets/pdf-doc-CIsTX0uM.6ab3c037f453.js.br +0 -0
  387. codex/static_root/assets/pdf-doc-CIsTX0uM.6ab3c037f453.js.gz +0 -0
  388. codex/static_root/assets/pdf-doc-CIsTX0uM.js.br +0 -0
  389. codex/static_root/assets/pdf-doc-CIsTX0uM.js.gz +0 -0
  390. codex/static_root/assets/reader-CNqxQvt9.8dc98a69b850.js.br +0 -0
  391. codex/static_root/assets/reader-CNqxQvt9.8dc98a69b850.js.gz +0 -0
  392. codex/static_root/assets/reader-CNqxQvt9.js.br +0 -0
  393. codex/static_root/assets/reader-CNqxQvt9.js.gz +0 -0
  394. codex/static_root/assets/stats-tab-CoaUKmOP.bec3968f1626.js.br +0 -0
  395. codex/static_root/assets/stats-tab-CoaUKmOP.bec3968f1626.js.gz +0 -0
  396. codex/static_root/assets/stats-tab-CoaUKmOP.js.br +0 -0
  397. codex/static_root/assets/stats-tab-CoaUKmOP.js.gz +0 -0
  398. codex/static_root/assets/task-tab-Chc8Xt1f.cfc054dc04c9.js.br +0 -0
  399. codex/static_root/assets/task-tab-Chc8Xt1f.cfc054dc04c9.js.gz +0 -0
  400. codex/static_root/assets/task-tab-Chc8Xt1f.js.br +0 -0
  401. codex/static_root/assets/task-tab-Chc8Xt1f.js.gz +0 -0
  402. codex/static_root/assets/user-tab-DH1Xzfcb.99bb9c50aa13.js.br +0 -0
  403. codex/static_root/assets/user-tab-DH1Xzfcb.99bb9c50aa13.js.gz +0 -0
  404. codex/static_root/assets/user-tab-DH1Xzfcb.js.br +0 -0
  405. codex/static_root/assets/user-tab-DH1Xzfcb.js.gz +0 -0
  406. codex/static_root/manifest.3751733856af.json.br +0 -0
  407. codex/static_root/manifest.3751733856af.json.gz +0 -0
  408. /codex/static_root/assets/{main-CacfwsKA.4f849ef1c5db.css → main-CGRrI5lh.4f849ef1c5db.css} +0 -0
  409. /codex/static_root/assets/{main-CacfwsKA.4f849ef1c5db.css.gz → main-CGRrI5lh.4f849ef1c5db.css.gz} +0 -0
  410. /codex/static_root/assets/{main-CacfwsKA.css → main-CGRrI5lh.css} +0 -0
  411. /codex/static_root/assets/{main-CacfwsKA.css.gz → main-CGRrI5lh.css.gz} +0 -0
  412. {codex-1.5.11.dist-info → codex-1.5.13.dist-info}/LICENSE +0 -0
  413. {codex-1.5.11.dist-info → codex-1.5.13.dist-info}/WHEEL +0 -0
  414. {codex-1.5.11.dist-info → codex-1.5.13.dist-info}/entry_points.txt +0 -0
@@ -1 +0,0 @@
1
- import{f as U,V as Ce,a as ee,S as Be,g as ke,b as Te,_ as te}from"./VToolbar-CjnGoYm_.js";import{_ as oe,a as se,b as re,N as Ve,t as Me,V as G,p as $e,c as xe,d as ne,g as Ie,P as ie}from"./metadata-dialog-BtNY_zfF.js";import{aE as ae,M as S,_ as y,R as i,O as h,P as d,L as l,aa as n,ae as _,ab as D,ad as v,N as B,aB as w,ax as V,aF as Ne,aG as Fe,ak as H,m as $,ay as g,aD as s,aH as O,aI as L,aJ as Pe,az as N,aK as Re,am as x,aL as De,aM as Oe,a9 as A,af as P,ag as k,aN as Le,al as I,aO as Ge,aP as Ue,aQ as E,aR as He,aS as Ae,Q as C,aT as R,aU as Ee,aV as qe,aW as le,aX as Y,aY as ze,aZ as je,k as q,a_ as ue,a$ as de,b0 as Ye,b1 as We,b2 as Qe,b3 as Ke,b4 as W,b5 as Xe,b6 as Je,b7 as Ze,b8 as Q,b9 as K,x as et,E as tt,ba as ot,aq as st,bb as rt,G as nt,bc as it,bd as at,ar as lt,K as ut,be as ce,bf as dt,bg as ct,bh as mt,bi as ht,aC as pt}from"./admin-drawer-panel-CYYEXqtK.js";import{u as p,C as _t}from"./main-BgbJsukE.js";import{V as ft,a as gt}from"./VSelect-CiEBG4Gg.js";import{c as bt}from"./to-case-kUm8NPpW.js";import{a as yt}from"./VSlideGroup-Bm-rZo-p.js";import{V as wt}from"./VCombobox-WMKXQHU8.js";import{V as St}from"./VTable-Ca3_Vvv_.js";import{V as vt}from"./confirm-footer-lfG418fS.js";import{V as X}from"./VCheckbox-DILNxNH0.js";import{_ as me}from"./confirm-dialog-BfSatKsS.js";import{V as he}from"./VMain-CLPkUtlY.js";import"./index-DUjeNg4x.js";import"./change-password-dialog-DnkeLvMH.js";import"./VSelectionControl-BG0YEK9P.js";import"./VCheckboxBtn-BvTV50hB.js";import"./filter-omb1juiE.js";const Ct={name:"BrowserNavButton",components:{PaginationNavButton:oe},props:{back:{type:Boolean,required:!0}},data(){return{mdiChevronLeft:ae}},computed:{...S(p,{numPages:e=>e.page.numPages}),increment(){return this.back?-1:1},toPage(){return+this.$route.params.page+this.increment},title(){return"Page "+this.toPage},toRoute(){return{params:{...this.$route.params,page:this.toPage}}},disabled(){return this.back&&+this.$route.params.page<=1||!this.back&&+this.$route.params.page>=this.numPages}}};function Bt(e,t,r,f,a,o){const u=oe;return i(),h(u,{disabled:o.disabled,title:o.title,to:o.toRoute},{default:d(()=>[l(v,{class:D({flipHoriz:!r.back})},{default:d(()=>[n(_(a.mdiChevronLeft),1)]),_:1},8,["class"])]),_:1},8,["disabled","title","to"])}const pe=y(Ct,[["render",Bt],["__scopeId","data-v-fcf3d3ee"]]),kt={name:"BrowserNavToolbar",components:{BrowserNavButton:pe,PaginationSlider:se,PaginationToolbar:re},computed:{...S(p,{numPages:e=>e.page.numPages})},methods:{...B(p,["routeToPage"]),onUpdate(e){this.routeToPage(e)}}};function Tt(e,t,r,f,a,o){const u=pe,c=se,b=re;return e.numPages>1?(i(),h(b,{key:0},{default:d(()=>[l(u,{back:!0}),l(c,{"model-value":+e.$route.params.page,min:1,max:e.numPages,step:1,"onUpdate:modelValue":t[0]||(t[0]=M=>e.routeToPage(M))},null,8,["model-value","max"]),l(u,{back:!1})]),_:1})):w("",!0)}const _e=y(kt,[["render",Tt]]),Vt=new Set(["a","f"]),Mt={name:"BrowserUpButton",props:{top:{type:Boolean,default:!1}},computed:{...V(p,["parentModelGroup"]),...S(p,{upRoute:e=>e.page.routes.up,title(e){const t=this.top?e.settings.topGroup:this.parentModelGroup;return`Up to ${e.choices.static.groupNames[t]||"All"}`}}),show(){return this.upRoute&&"group"in this.upRoute},icon(){return this.top?Ne:Fe},to(){let e;if(this.top){let t=this.upRoute.group;Vt.has(t)||(t="r"),e={group:t,pk:0,page:1}}else e=this.upRoute;return{params:e}}}};function $t(e,t,r,f,a,o){return o.show?(i(),h(H,{key:0,icon:"",size:"x-large",title:e.title,to:o.to,variant:"plain"},{default:d(()=>[l(v,null,{default:d(()=>[n(_(o.icon),1)]),_:1})]),_:1},8,["title","to"])):w("",!0)}const fe=y(Mt,[["render",$t]]),xt={name:"BrowserHeader",components:{BrowserUpButton:fe},head(){return{meta:[{hid:"description",name:"description",content:["browse comics",this.longBrowserTitlePrefix,this.longBrowseTitleMain,this.longBrowseTitleSuffix].filter(Boolean).join(" ")}]}},computed:{...S(p,{groupNames:e=>e.choices.static.groupNames,browserTitle:e=>e.page.browserTitle,modelGroup:e=>e.page.modelGroup}),...V($,["isCodexViewable","isUserAdmin"]),longBrowserTitlePrefix:function(){return this.$route.params.group==="f"?this.browserTitle.parentName:""},longBrowseTitleMain:function(){let e;if(Number(this.$route.params.pk)===0)e="All";else{let t=[];const{parentName:r,groupName:f,groupCount:a}=this.browserTitle;r&&t.push(r);const o=this.$route.params.group,u=o==="v"?U(f):f;if(u&&t.push(u),a){const b=`of ${a}`;t.push(b)}const c=o==="f"?"/":" ";e=t.join(c)}return e},longBrowseTitleSuffix:function(){return this.$route.params.group==="f"?"":this.groupNames[this.modelGroup]}}},ge=e=>(O("data-v-3d5e18c3"),e=e(),L(),e),It={key:0,id:"titleToolbarPrefix"},Nt=ge(()=>s("br",null,null,-1)),Ft={id:"titleToolbarMain"},Pt={key:1,id:"titleToolbarSuffix"},Rt=ge(()=>s("br",null,null,-1));function Dt(e,t,r,f,a,o){const u=fe;return e.isCodexViewable?(i(),h(ee,{key:0,id:"titleToolbar",elevation:"8"},{default:d(()=>[l(u),l(Ce,{class:"codexToolbarTitle"},{default:d(()=>[o.longBrowserTitlePrefix?(i(),g("span",It,[n(_(o.longBrowserTitlePrefix)+" ",1),Nt])):w("",!0),s("span",Ft,_(o.longBrowseTitleMain),1),o.longBrowseTitleSuffix?(i(),g("span",Pt,[Rt,n(" "+_(o.longBrowseTitleSuffix),1)])):w("",!0)]),_:1}),l(u,{top:""})]),_:1})):w("",!0)}const be=y(xt,[["render",Dt],["__scopeId","data-v-3d5e18c3"]]),Ot={name:"ToolbarSelect",props:{selectLabel:{type:String,default:""},maxSelectLen:{type:Number,default:0},mobileLenAdj:{type:Number,default:0},variant:{type:String,default:"plain"}},computed:{style(){const e=this.$vuetify.display.smAndDown?this.mobileLenAdj:0,r=this.maxSelectLen+e+"em";return`width: ${r}; min-width: ${r}; max-width: ${r}`}}};function Lt(e,t,r,f,a,o){return i(),h(ft,x(e.$attrs,{label:r.selectLabel,"aria-label":r.selectLabel,class:"toolbarSelect",density:"compact","full-width":"","menu-props":{maxHeight:void 0},"hide-details":"auto",style:o.style,variant:r.variant}),Pe({_:2},[N(e.$slots,(u,c)=>({name:c,fn:d(b=>[Re(e.$slots,c,x({props:u},b),void 0,!0)])}))]),1040,["label","aria-label","style","variant"])}const T=y(Ot,[["render",Lt],["__scopeId","data-v-ea769669"]]),Gt=_t.browser.vuetifyNullCode,Ut={name:"BrowserFilterSubMenu",props:{name:{type:String,required:!0}},emits:["selected"],data(){return{mdiChevronLeft:ae,mdiChevronRight:De,mdiChevronRightCircle:Oe,query:"",nullCode:Gt}},computed:{...S(p,{choices(e){return e.choices.dynamic[this.name]},readingDirectionTitles:e=>e.choices.static.readingDirection,identifierTypeTitles:e=>e.choices.static.identifierType,filter(e){return e.settings.filters[this.name]}}),...A(p,["filterMode"]),hasNone(){for(const e of this.choices)if(Ve.has(e.pk))return!0;return!1},vuetifyItems(){return Me(this.choices,this.query)},title:function(){return bt(this.name)},lowerTitle:function(){return this.title.toLowerCase()}},methods:{...B(p,["identifierTypeTitle","loadFilterChoices"]),setUIFilterMode(e){this.filterMode=e,this.query="",e!=="base"&&typeof this.choices!="object"&&this.loadFilterChoices(e)},selected(e){const t={filters:{[this.name]:e}};this.$emit("selected",t)},itemTitle:function(e){return this.name==="readingDirection"?this.readingDirectionTitles[e.value]:this.name==="identifierType"?this.identifierTypeTitle(e.title):e.title}}},Ht={key:0},At={class:"filterHeader"};function Et(e,t,r,f,a,o){return i(),g("div",null,[l(Le,{"hide-on-leave":""},{default:d(()=>[e.filterMode==="base"?(i(),h(k,{key:0,onClick:t[0]||(t[0]=u=>o.setUIFilterMode(r.name))},{default:d(()=>[l(P,{class:"filterMenu"},{default:d(()=>[n(_(o.title)+" ",1),e.filter&&e.filter.length>0?(i(),h(v,{key:0,class:"nameChevron"},{default:d(()=>[n(_(a.mdiChevronRightCircle),1)]),_:1})):(i(),h(v,{key:1,class:"nameChevron"},{default:d(()=>[n(_(a.mdiChevronRight),1)]),_:1}))]),_:1})]),_:1})):w("",!0)]),_:1}),l(Ue,{"hide-on-leave":""},{default:d(()=>[e.filterMode===r.name?(i(),g("div",Ht,[s("header",At,[l(k,{onClick:t[1]||(t[1]=u=>o.setUIFilterMode("base"))},{default:d(()=>[l(P,{class:"filterTitle"},{default:d(()=>[l(v,null,{default:d(()=>[n(_(a.mdiChevronLeft),1)]),_:1}),n(_(o.lowerTitle),1)]),_:1})]),_:1}),typeof e.choices=="object"?(i(),h(yt,{key:0,modelValue:a.query,"onUpdate:modelValue":t[2]||(t[2]=u=>a.query=u),placeholder:"Filter","full-width":"",density:"compact",filled:"",rounded:"","hide-details":"auto",onFocus:t[3]||(t[3]=u=>e.filterMode=r.name)},null,8,["modelValue"])):(i(),h(E,{key:1,class:"filterValuesProgress",rounded:"",indeterminate:""}))]),typeof e.choices=="object"?(i(),h(Ge,{key:0,"model-value":e.filter,class:"filterGroup overflow-y-auto",density:"compact",multiple:"",items:o.vuetifyItems,"onUpdate:selected":o.selected},{default:d(()=>[o.hasNone?(i(),h(k,{key:-1,title:"None",value:-1,class:"noneItem"})):w("",!0),(i(!0),g(I,null,N(o.vuetifyItems,u=>(i(),h(k,{key:u.value,title:o.itemTitle(u),value:u.value,class:D({noneItem:+u.value==a.nullCode})},null,8,["title","value","class"]))),128))]),_:1},8,["model-value","items","onUpdate:selected"])):w("",!0)])):w("",!0)]),_:1})])}const qt=y(Ut,[["render",Et],["__scopeId","data-v-c9df90cc"]]),zt={name:"BrowserFilterBySelect",components:{BrowserFilterSubMenu:qt,ToolbarSelect:T},extends:T,data(){return{mdiFilterMultipleOutline:He,menu:!1}},computed:{...V(p,["filterByChoicesMaxLen","isDefaultBookmarkValueSelected"]),...S(p,{bookmarkChoices:e=>e.choices.static.bookmark,bookmarkFilter:e=>e.settings.filters.bookmark||e.choices.static.bookmark[0],filters:e=>e.settings.filters,isDynamicFiltersSelected:function(e){for(const[t,r]of Object.entries(e.settings.filters))if(t!=="bookmark"&&r&&r.length>0)return!0;return!1},isFiltersClearable:function(){return!this.isDefaultBookmarkValueSelected||this.isDynamicFiltersSelected},filterMenuClass:function(e){let t="filterMenu";return e.filterMode!=="base"&&(t+="Hidden"),t},dynamicChoiceNames:function(e){if(e.choices.dynamic===void 0)return;const t=[];for(const[r,f]of Object.entries(e.choices.dynamic))f&&t.push(r);return t}}),...A(p,["filterMode"]),filterInnerIcon:function(){return this.isFiltersClearable?Ae:""}},methods:{...B(p,["clearFilters","loadAvailableFilterChoices","setSettings"]),onUpdateModelValue(e){const t={filters:{bookmark:e}};this.onSubMenuSelected(t)},onSubMenuSelected(e){this.menu=!1,this.setSettings(e),this.filterMode="base"},onClear(){this.clearFilters()},onMenu(e){e&&this.dynamicChoiceNames===void 0&&this.loadAvailableFilterChoices()}}},jt={key:1};function Yt(e,t,r,f,a,o){const u=C("BrowserFilterSubMenu"),c=T;return i(),h(c,{menu:a.menu,"onUpdate:menu":[t[0]||(t[0]=b=>a.menu=b),o.onMenu],class:"filterBySelect","select-label":"filter by",clearable:e.isFiltersClearable,items:e.bookmarkChoices,"menu-props":{contentClass:e.filterMenuClass,maxHeight:void 0},"model-value":e.bookmarkFilter,"max-select-len":e.filterByChoicesMaxLen+1.5,"mobile-len-adj":-1.5,variant:"solo","onClick:clear":o.onClear,"onUpdate:modelValue":o.onUpdateModelValue},{selection:d(({item:b})=>[n(_(b.title)+" ",1),e.isDynamicFiltersSelected?(i(),h(v,{key:0,class:"filterSuffix"},{default:d(()=>[n(_(a.mdiFilterMultipleOutline),1)]),_:1})):w("",!0)]),"append-item":d(()=>[l(R),e.dynamicChoiceNames===void 0?(i(),h(k,{key:0},{default:d(()=>[l(E,{indeterminate:"",rounded:""})]),_:1})):e.dynamicChoiceNames.length>0?(i(),g("div",jt,[(i(!0),g(I,null,N(e.dynamicChoiceNames,b=>(i(),h(u,{key:b,name:b,onSelected:o.onSubMenuSelected},null,8,["name","onSelected"]))),128))])):(i(),h(k,{key:2,class:"noChoices"},{default:d(()=>[n(" No filters available ")]),_:1}))]),_:1},8,["menu","clearable","items","menu-props","model-value","max-select-len","onClick:clear","onUpdate:modelValue","onUpdate:menu"])}const Wt=y(zt,[["render",Yt],["__scopeId","data-v-8cf1988f"]]),Qt={name:"BrowseOrderBySelect",components:{ToolbarSelect:T},extends:T,computed:{...V(p,["orderByChoices","orderByChoicesMaxLen"]),...S(p,{orderBySetting:e=>e.settings.orderBy}),reverseValues(){const e=new Set;for(const t of this.orderByChoices)t.reverse&&e.add(t.value);return e},orderBy:{get(){return this.orderBySetting},set(e){const t={orderBy:e,orderReverse:this.reverseValues.has(e)};this.setSettings(t)}}},methods:{...B(p,["setSettings"])}};function Kt(e,t,r,f,a,o){const u=T;return i(),h(u,x({modelValue:o.orderBy,"onUpdate:modelValue":t[0]||(t[0]=c=>o.orderBy=c),class:"orderBySelect","select-label":"order by",items:e.orderByChoices,"max-select-len":e.orderByChoicesMaxLen-3.5,"mobile-len-adj":-2},e.$attrs),null,16,["modelValue","items","max-select-len"])}const Xt=y(Qt,[["render",Kt]]),Jt={name:"BrowseOrderReverseButton",computed:{...S(p,{orderReverseSetting:e=>e.settings.orderReverse,orderIcon:e=>e.settings.orderReverse?Ee:qe}),density(){return this.$vuetify.display.smAndDown?"compact":"default"},title(){return this.orderReverseSetting?"order descending":"order ascending"}},methods:{...B(p,["setSettings"]),toggleOrderReverse(){const e={orderReverse:!this.orderReverseSetting};this.setSettings(e)}}};function Zt(e,t,r,f,a,o){return i(),h(H,x({class:"orderReverseButton",density:o.density,height:"46",icon:"",variant:"text"},e.$attrs,{title:o.title,onClick:o.toggleOrderReverse}),{default:d(()=>[l(v,null,{default:d(()=>[n(_(e.orderIcon),1)]),_:1})]),_:1},16,["density","title","onClick"])}const eo=y(Jt,[["render",Zt],["__scopeId","data-v-57eeaaec"]]),to=10,oo={name:"BrowserSearchCombobox",data(){return{mdiMagnify:le,menu:!1,query:"",items:[""]}},computed:{...S(p,{stateQ:e=>e.settings.q})},watch:{stateQ(e){this.query=e,this.addToMenu(e)}},methods:{...B(p,["setSettings"]),addToMenu(e){if(!e||this.items.includes(e))return;const t=this.items[0]===""?[]:this.items;t.unshift(e),this.items=t.slice(0,to)},doSearch(){this.menu=!1;const e=this.query?this.query.trim():"";this.setSettings({q:e}),this.addToMenu(e)}}};function so(e,t,r,f,a,o){return i(),h(wt,{ref:"searchbox",modelValue:a.query,"onUpdate:modelValue":t[0]||(t[0]=u=>a.query=u),menu:a.menu,"onUpdate:menu":t[1]||(t[1]=u=>a.menu=u),items:a.items,autofocus:"","aria-label":"search",clearable:"",density:"compact","full-width":"","hide-details":"auto","hide-selected":"","menu-props":{maxHeight:void 0},"no-filter":"","prepend-inner-icon":a.mdiMagnify,variant:"solo","onClick:clear":o.doSearch,"onClick:prependInner":o.doSearch,onKeydown:[Y(o.doSearch,["enter"]),t[2]||(t[2]=Y(u=>a.menu=!1,["esc"]))]},null,8,["modelValue","menu","items","prepend-inner-icon","onClick:clear","onClick:prependInner","onKeydown"])}const ro=y(oo,[["render",so]]),no={params:{group:"f",pk:0,page:1}},J=new Set(["a","f"]),io={name:"BrowserTopGroupSelect",components:{ToolbarSelect:T},extends:T,data(){return{FOLDER_ROUTE:no,DIVIDED_VALUES:J}},computed:{...S(p,{topGroupSetting:e=>e.settings.topGroup}),...V(p,["topGroupChoices","topGroupChoicesMaxLen"]),topGroup:{get(){return this.topGroupSetting},set(e){const r={params:{group:J.has(e)?e:"r",pk:0,page:1}},f={topGroup:e};this.$router.push(r).then(()=>this.setSettings(f)).catch(console.error)}}},methods:{...B(p,["setSettings"])}};function ao(e,t,r,f,a,o){const u=T;return i(),h(u,x(e.$attrs,{modelValue:o.topGroup,"onUpdate:modelValue":t[0]||(t[0]=c=>o.topGroup=c),class:"topGroupSelect","select-label":"top group",items:e.topGroupChoices,"max-select-len":e.topGroupChoicesMaxLen-2,"mobile-len-adj":-1}),{item:d(({item:c,props:b})=>[a.DIVIDED_VALUES.has(c.value)?(i(),h(R,{key:0})):w("",!0),l(k,x(b,{title:c.title,value:c.value}),null,16,["title","value"])]),_:1},16,["modelValue","items","max-select-len"])}const lo=y(io,[["render",ao],["__scopeId","data-v-d1f6fd76"]]),uo=ze("v-spacer","div","VSpacer"),co={name:"BrowserTopToolbar",components:{BrowserFilterBySelect:Wt,BrowserTopGroupSelect:lo,BrowserSearchCombobox:ro,BrowserOrderBySelect:Xt,BrowserOrderReverseButton:eo,SettingsDrawerButton:Be},data(){return{mdiMagnify:le,mdiFamilyTree:je,browseMode:"filter"}},computed:{...V($,["isCodexViewable"]),...A(q,["isSettingsDrawerOpen"])}};function mo(e,t,r,f,a,o){const u=C("BrowserTopGroupSelect"),c=C("BrowserOrderBySelect"),b=C("BrowserOrderReverseButton"),M=C("SettingsDrawerButton"),F=C("BrowserFilterBySelect"),j=C("BrowserSearchCombobox");return i(),h(ee,{id:"browserToolbar",class:D(["toolbar",{emptyToolbar:!e.isCodexViewable}]),density:"compact","extension-height":"48px"},{extension:d(()=>[e.isCodexViewable?(i(),h(G,{key:0,id:"searchToolbarItems"},{default:d(()=>[l(F,{id:"filterSelect"}),l(j,{id:"searchField"})]),_:1})):w("",!0)]),default:d(()=>[e.isCodexViewable?(i(),h(G,{key:0,id:"browserToolbarLeftItems"},{default:d(()=>[l(u,{id:"topGroupSelect"}),l(c,{id:"orderBySelect"}),l(b,{id:"orderReverseButton"})]),_:1})):w("",!0),l(uo),l(G,null,{default:d(()=>[l(M,{onClick:t[0]||(t[0]=ur=>e.isSettingsDrawerOpen=!0)})]),_:1})]),_:1},8,["class"])}const ye=y(co,[["render",mo],["__scopeId","data-v-939a4977"]]),ho=[["characters","CSV","category"],["community_rating","Decimal","communityrating"],["contributor","CSV","author, creator, credit, person, people"],["country","String"],["created_at","DateTime","created"],["critical_rating","Decimal","criticalrating"],["day","Integer"],["date","Date"],["decade","Integer"],["file_type","String","type"],["genres","CSV","genre"],["identifier","CSV","id, nss"],["identifier_type","CSV","id_type, nid"],["imprint","String"],["issue","String","(Combined issue_number and issue_suffix)"],["issue_number","Decimal","number"],["issue_suffix","String"],["language","String"],["location","CSV","location"],["maturity_rating","String"],["monochrome","String","blackandwhite"],["month","Integer"],["reading_direction","String","direction"],["name","String","title"],["notes","String"],["original_format","String","format, orginalformat"],["page_count","Integer","pages, pagecount"],["publisher","String"],["reading_direction","String","direction"],["review","String"],["scan_info","String","scan, scaninfo"],["series","String"],["series_groups","CSV","seriesgroups"],["size","Integer"],["stories","CSV","story"],["story_arcs","CSV","storyarcs"],["summary","String","comments, description"],["tags","CSV","tag"],["tagger","String"],["teams","CSV","team"],["updated_at","Date","updated"],["volume","String"],["web","String"],["year","Integer"]],po={name:"SearchHelp",components:{CloseButton:ue},data(){return{mdiOpenInNew:de,mdiArchiveSearchOutline:Ye,dialog:!1,FIELD_ROWS:ho}}},m=e=>(O("data-v-f473187d"),e=e(),L(),e),_o={id:"searchHelp"},fo=m(()=>s("h1",null,"Search Syntax Help",-1)),go={id:"fieldTableContainer"},bo=m(()=>s("h2",null,"Search Fields",-1)),yo=m(()=>s("thead",null,[s("tr",null,[s("th",null,"Field"),s("th",null,"Type"),s("th",null,"Aliases")])],-1)),wo={class:"aliasCol"},So={id:"textContainer"},vo=m(()=>s("h2",null,"Whoosh Query Parser",-1)),Co={href:"https://whoosh.readthedocs.io/en/latest/querylang.html",target:"_blank"},Bo=m(()=>s("h2",null,"Operators",-1)),ko=m(()=>s("code",null,"and",-1)),To=m(()=>s("code",null,"or",-1)),Vo=m(()=>s("code",null,"not",-1)),Mo=m(()=>s("code",null,"andnot",-1)),$o=m(()=>s("code",null,"andmaybe",-1)),xo=m(()=>s("code",null,"require",-1)),Io=m(()=>s("h2",null,"Searching Fields",-1)),No=m(()=>s("p",null,[n(" Like Codex's filter selector menu, but more powerful. You may search on individual comic metadata fields. using a search token like "),s("code",null,"field:value"),n(". ")],-1)),Fo=m(()=>s("h3",null,"Dates and DateTimes",-1)),Po={href:"https://whoosh.readthedocs.io/en/latest/dates.html#parsing-date-queries",target:"_blank"},Ro=m(()=>s("code",null,"YYYYMMDD",-1)),Do=m(()=>s("code",null,"YYYMMDDHHmmSS",-1)),Oo=m(()=>s("h3",null,"Single Quote complex field Queries",-1)),Lo=m(()=>s("p",null,[n(" Use "),s("em",null,"single"),n(" quotes to tell Codex that a complex or natural language phrase should be applied to a specific field ")],-1)),Go=m(()=>s("code",null," created:'this year' ",-1)),Uo=m(()=>s("h3",null,"Size Byte Multipliers",-1)),Ho=m(()=>s("p",null,[n(" The size field can make use of convenient byte multiplier suffixes like "),s("code",null,"kb"),n(" and "),s("code",null,"mb"),n(" as well as binary suffixes like "),s("code",null,"gib"),n(" and "),s("code",null,"tib"),n(". ")],-1)),Ao=m(()=>s("h3",null,"Ranges of Fields",-1)),Eo=m(()=>s("p",null,[n(" Whoosh uses brackets and the "),s("em",null,"uppercase"),n(" "),s("code",null,"TO"),n(" operator to delineate a range search. ")],-1)),qo=m(()=>s("code",null,"updated:[last sunday TO 10am]",-1)),zo=m(()=>s("p",null," You may leave out the upper or lower bound or use >, <, >=, <= operators. ",-1)),jo=m(()=>s("code",null,"size:<50mb",-1)),Yo=m(()=>s("h3",null,"Multi Value Fields",-1)),Wo=m(()=>s("p",null,[n(" Fields marked type "),s("code",null,"CSV"),n(" in the table to the left may contain comma separated values. This filters by all the supplied values. Multi Value tokens look like: "),s("code",null,"field:term1,term2,term3")],-1)),Qo=m(()=>s("h2",null,"Grouped Queries",-1)),Ko=m(()=>s("p",null,"Whoosh allows grouping of queries with parenthesis.",-1)),Xo=m(()=>s("h2",null,"Example Search",-1)),Jo=m(()=>s("p",null," This example search is more convoluted than most searches but uses many features for demonstration: ",-1)),Zo=m(()=>s("code",null,' (Holmes and Tesla date:>=1999-1-2 size:[10mib TO 1gb] Gadzooks) or "Captain Nemo" -Quartermain ',-1)),es=m(()=>s("p",{style:{"margin-top":"1em"}},' Search for comics that contain Holmes and Tesla published after the second day of 1999 that are between 10 Mebibytes and 10 Gigabytes that also contain the word "Gadzooks" but also all comics with the the phrase "Captain Nemo" but no comics will contain the word "Quartermain". ',-1)),ts=m(()=>s("h2",null,"Group and Sorting Behavior",-1)),os=m(()=>s("p",null," If the search field is empty and then you supply a search query for the first time, Codex navigates you to the to All Issues view and your sets your Sorted By selection to Search Score. If you prefer a different view you may change the group and sort selections after your you make your first search. ",-1)),ss=m(()=>s("h2",null,"Filter Behavior",-1)),rs=m(()=>s("p",null,[n(" Codex applies "),s("em",null,"both"),n(" the Filter selection menu filters "),s("em",null,"and"),n(" the search query field filters to the search. Be sure to clear the filter selector or the search field if you prefer to apply only one of them. ")],-1));function ns(e,t,r,f,a,o){const u=ue;return i(),h(vt,{modelValue:a.dialog,"onUpdate:modelValue":t[2]||(t[2]=c=>a.dialog=c),"content-class":"browserSearchHelp",fullscreen:"",scrim:!1,transition:"dialog-bottom-transition"},{activator:d(({props:c})=>[l(k,We(Qe(c)),{default:d(()=>[l(P,null,{default:d(()=>[l(v,null,{default:d(()=>[n(_(a.mdiArchiveSearchOutline),1)]),_:1}),n("Search Syntax Help ")]),_:1})]),_:2},1040)]),default:d(()=>[s("div",_o,[l(u,{class:"closeButton",title:"Close Help (esc)",size:"x-large",onClick:t[0]||(t[0]=c=>a.dialog=!1)}),fo,s("div",go,[bo,l(St,{id:"fieldTable",class:"highlight-table"},{default:d(()=>[yo,s("tbody",null,[(i(!0),g(I,null,N(a.FIELD_ROWS,c=>(i(),g("tr",{key:c[0]},[s("td",null,_(c[0]),1),s("td",null,_(c[1]),1),s("td",wo,_(c[2]||""),1)]))),128))])]),_:1})]),s("div",So,[vo,s("p",null,[n(" Codex uses the Whoosh search engine to execute your text search queries. Whoosh operates much like other familiar search engines. As such, only some special features are documented on this page. To understand its full power, users are encouraged to read the "),s("a",Co,[n("Whoosh Query Language "),l(v,{size:"small"},{default:d(()=>[n(_(a.mdiOpenInNew),1)]),_:1})]),n(" documentation. ")]),Bo,n(" Whoosh has the "),ko,n(", "),To,n(", "),Vo,n(", "),Mo,n(", "),$o,n(", and "),xo,n(" operators. "),Io,No,Fo,s("p",null,[n(" Whoosh parses Dates and DateTime values liberally. Read "),s("a",Po,[n("Whoosh Parsing Date Queries "),l(v,{size:"small"},{default:d(()=>[n(_(a.mdiOpenInNew),1)]),_:1})]),n(" documentation for what formats and natural language phrases are accepted. If the format you try fails, the "),Ro,n(" and "),Do,n(" formats are reliable. ")]),Oo,Lo,Go,Uo,Ho,Ao,Eo,qo,n(". "),zo,jo,n(". "),Yo,Wo,Qo,Ko,Xo,Jo,Zo,es,ts,os,ss,rs]),l(u,{class:"closeButton",title:"Close Help (esc)",size:"x-large",onClick:t[1]||(t[1]=c=>a.dialog=!1)})])]),_:1},8,["modelValue"])}const we=y(po,[["render",ns],["__scopeId","data-v-f473187d"]]),is={name:"BrowserSettingsPanel",components:{SearchHelp:we},computed:{...V($,["isCodexViewable"]),...S(p,{groupChoices:e=>e.choices.static.settingsGroup,twentyFourHourTimeTitle:e=>e.choices.static.twentyFourHourTime.title,showSettings:e=>e.settings.show,twentyFourHourTime:e=>e.settings.twentyFourHourTime})},methods:{...B(p,["setSettings"]),setShow(e,t){const r={show:{[e]:t===!0}};this.setSettings(r)},set24HourTime(e){const t={twentyFourHourTime:e===!0};this.setSettings(t)}}},as=e=>(O("data-v-9312ed19"),e=e(),L(),e),ls=as(()=>s("div",{id:"groupCaption",class:"text-caption"}," Show these groups when navigating the browse tree. ",-1));function us(e,t,r,f,a,o){const u=we;return i(),g(I,null,[ls,(i(!0),g(I,null,N(e.groupChoices,c=>(i(),h(X,{key:c.title,class:"browserGroupCheckbox",density:"compact","hide-details":"auto","model-value":e.showSettings[c.value],"true-value":!0,label:`Show ${c.title}`,"onUpdate:modelValue":b=>o.setShow(c.value,b)},null,8,["model-value","label","onUpdate:modelValue"]))),128)),l(R),l(X,{class:"browserGroupCheckbox",density:"compact","hide-details":"auto","model-value":e.twentyFourHourTime,"true-value":!0,indeterminate:"",label:"Force 24 Hour Time","onUpdate:modelValue":t[0]||(t[0]=c=>o.set24HourTime(c))},null,8,["model-value"]),l(R),l(u)],64)}const ds=y(is,[["render",us],["__scopeId","data-v-9312ed19"]]),cs=new Set(["community_rating","critical_rating"]),ms=new Set(["date"]),hs=new Set(["bookmark_updated_at","created_at","updated_at"]),ps={name:"OrderByCaption",props:{item:{type:Object,required:!0}},computed:{...S(p,{orderBy:e=>e.settings.orderBy,twentyFourHourTime:e=>e.settings.twentyFourHourTime,topGroup:e=>e.settings.topGroup}),orderValue(){let e=this.item.orderValue;try{if(this.orderBy===void 0||this.orderBy===null||this.orderBy==="sort_name"&&(this.item.group!=="c"||this.topGroup!=="f")||e===null||e===void 0)e="";else if(ms.has(this.orderBy)){const t=new Date(e);e=Ke.format(t)}else this.orderBy=="search_score"?e=W.format(Math.round(Number.parseFloat(e)*10)):hs.has(this.orderBy)?e=Xe(e,this.twentyFourHourTime,!0):this.orderBy=="page_count"?e=`${W.format(e)} pages`:this.orderBy=="size"?e=$e(Number.parseInt(e,10)):cs.has(this.orderBy)&&(e=`★ ${e}`)}catch(t){console.debug(t)}return e}}},_s=["innerHTML"];function fs(e,t,r,f,a,o){return o.orderValue?(i(),g("div",{key:0,class:"orderCaption text-caption",innerHTML:o.orderValue},null,8,_s)):w("",!0)}const Se=y(ps,[["render",fs],["__scopeId","data-v-f1907410"]]),gs={name:"BrowserContainerMenu",components:{ConfirmDialog:me},props:{item:{type:Object,required:!0}},data(){return{mdiDotsVertical:Je,showMenu:!1}},computed:{...S(p,{groupNames:e=>e.choices.static.groupNames}),verb(){return this.item.finished?"Unread":"Read"},confirmText(){return`Mark ${this.verb}`},markReadText(){const e=["Mark"];this.item.group!="c"&&e.push("Entire");let t=this.groupNames[this.item.group];return this.item.group!=="s"&&(t=t.slice(0,-1)),e.push(t,this.verb),e.join(" ")}},methods:{...B(p,["setBookmarkFinished"]),...B(q,["downloadIOSPWAFix"]),toggleRead:function(){this.setBookmarkFinished(this.item,!this.item.finished),this.showMenu=!1}}},bs={class:"background-soft-highlight"};function ys(e,t,r,f,a,o){const u=me;return i(),h(gt,{modelValue:a.showMenu,"onUpdate:modelValue":t[2]||(t[2]=c=>a.showMenu=c),"offset-y":"",top:""},{activator:d(({props:c})=>[l(H,x({"aria-label":"action menu",class:"browserCardMenuIcon cardControlButton",icon:"",title:"Action Menu",variant:"text"},c,{onClick:t[0]||(t[0]=Ze(()=>{},["prevent"]))}),{default:d(()=>[l(v,null,{default:d(()=>[n(_(a.mdiDotsVertical),1)]),_:1})]),_:2},1040)]),default:d(()=>[s("div",bs,[r.item.group==="c"?(i(),h(k,{key:0,onClick:o.toggleRead},{default:d(()=>[l(P,null,{default:d(()=>[n(_(o.markReadText),1)]),_:1})]),_:1},8,["onClick"])):(i(),h(u,{key:1,"button-text":o.markReadText,"title-text":o.markReadText,"confirm-text":o.confirmText,"object-name":r.item.name,onConfirm:o.toggleRead,onCancel:t[1]||(t[1]=c=>a.showMenu=!1)},null,8,["button-text","title-text","confirm-text","object-name","onConfirm"]))])]),_:1},8,["modelValue"])}const ve=y(gs,[["render",ys]]),ws={name:"BrowserCardControls",components:{BrowserCardMenu:ve,MetadataButton:xe},props:{item:{type:Object,required:!0},eyeOpen:{type:Boolean,required:!0}},data(){return{mdiEye:Q,mdiEyeOff:K}},computed:{eyeIcon:function(){return this.eyeOpen?Q:K}}},Ss={class:"cardControls"};function vs(e,t,r,f,a,o){const u=C("MetadataButton"),c=ve;return i(),g("div",Ss,[r.item.group==="c"?(i(),h(v,{key:0,class:"eye"},{default:d(()=>[n(_(o.eyeIcon),1)]),_:1})):w("",!0),l(u,{group:r.item.group,book:r.item,children:r.item.childCount},null,8,["group","book","children"]),l(c,{item:r.item},null,8,["item"])])}const Cs=y(ws,[["render",vs],["__scopeId","data-v-c2d95d7f"]]),Bs={name:"BrowserCardSubtitle",props:{item:{type:Object,required:!0}},computed:{...S(p,{orderByName:e=>e.settings.orderBy=="sort_name",topGroup:e=>e.settings.topGroup,showSeries:e=>e.settings.show.s,showVolume:e=>e.settings.show.v,zeroPad:e=>e.page.zeroPad}),seriesName(){return(this.topGroup==="a"||this.orderByName&&!this.showSeries)&&["c","v"].includes(this.item.group)&&this.item.seriesName?this.item.seriesName:!1},volumeName(){return(this.topGroup==="a"||this.orderByName&&!this.showVolume)&&this.item.group==="c"&&this.item.volumeName?U(this.item.volumeName):!1},headerName:function(){let e;switch(this.item.group){case"i":e=this.item.publisherName;break;case"v":e=this.item.seriesName;break;case"c":e=this.$route.params.group==="f"?ke(this.item,this.zeroPad):Te(this.item,this.zeroPad);break;default:e=""}return e},displayName:function(){return this.item.group==="v"?U(this.item.name):this.item.name},linkLabel:function(){let e="";return e+=this.item.group==="c"?"Read":"Browse to",e+=" "+this.headerName,e}}},ks={class:"browserLink cardSubtitle text-caption"},Ts={key:0,class:"seriesCaption"},Vs={key:1,class:"volumeCaption"},Ms={key:2,class:"headerName"},$s={class:"displayName"};function xs(e,t,r,f,a,o){return i(),g("div",ks,[o.seriesName?(i(),g("div",Ts,_(o.seriesName),1)):w("",!0),o.volumeName?(i(),g("div",Vs,_(o.volumeName),1)):w("",!0),o.headerName?(i(),g("div",Ms,_(o.headerName),1)):w("",!0),s("div",$s,_(o.displayName),1)])}const Is=y(Bs,[["render",xs],["__scopeId","data-v-33504043"]]),Ns=new Set(["iPad","iPad Simulator","iPhone","iPhone Simulator","iPod","iPod Simulator"]),Fs=Ns.has(navigator.platform),Ps="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0||window.matchMedia("(any-hover: none)").matches,Rs=et({modelValue:Boolean,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},...tt(),...ot(),...st(),...rt({transition:"fade-transition"})},"VLazy"),Ds=nt()({name:"VLazy",directives:{intersect:it},props:Rs(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:r}=t;const{dimensionStyles:f}=at(e),a=lt(e,"modelValue");function o(u){a.value||(a.value=u)}return ut(()=>ce(l(e.tag,{class:["v-lazy",e.class],style:[f.value,e.style]},{default:()=>[a.value&&l(ct,{transition:e.transition,appear:!0},{default:()=>{var u;return[(u=r.default)==null?void 0:u.call(r)]}})]}),[[dt("intersect"),{handler:o,options:e.options},null]])),{}}}),Z=100,Os=-170,Ls={name:"BrowserCard",components:{BookCover:ne,BrowserCardControls:Cs,BrowserCardSubtitle:Is,OrderByCaption:Se},props:{item:{type:Object,required:!0}},data(){return{doubleTapHovered:!Ps||Fs}},computed:{...S(p,{importMetadata:e=>e.page.adminFlags.importMetadata}),linkLabel:function(){let e="";return e+=this.item.group==="c"?"Read":"Browse to",e+=" "+this.item.headerName,e},toRoute:function(){return this.doubleTapHovered?this.item.group==="c"?Ie(this.item,this.importMetadata):{name:"browser",params:{group:this.item.group,pk:this.item.pk,page:1}}:{}},progressBackgroundColor:function(){return this.item.progress?this.$vuetify.theme.current.colors.row:"inherit"}},mounted(){this.scrollToMe()},methods:{scrollToMe:function(){if(!this.$route.hash||this.$route.hash.split("-")[1]!==String(this.item.pk))return;const e=this.$el;if(!e){console.warn("No element found to scroll to!");return}setTimeout(function(){e.scrollIntoView(),setTimeout(function(){window.scrollBy(0,Os)},Z)},Z)}}},Gs={class:"browserCardTop"},Us={key:1,class:"cardCoverOverlay"};function Hs(e,t,r,f,a,o){const u=ne,c=C("BrowserCardControls"),b=C("router-link"),M=C("BrowserCardSubtitle"),F=Se;return i(),h(Ds,{id:`card-${r.item.pk}`,transition:"scale-transition"},{default:d(()=>[s("div",{class:"browserCardCoverWrapper",onClick:t[0]||(t[0]=j=>a.doubleTapHovered=!0)},[s("div",Gs,[l(u,{"cover-pk":r.item.coverPk,group:r.item.group,"child-count":r.item.childCount,finished:r.item.finished},null,8,["cover-pk","group","child-count","finished"]),o.toRoute?(i(),h(b,{key:0,class:"cardCoverOverlay",to:o.toRoute,"aria-label":o.linkLabel},{default:d(()=>[l(c,{item:r.item,"eye-open":!0},null,8,["item"])]),_:1},8,["to","aria-label"])):(i(),g("div",Us,[l(c,{item:r.item,"eye-open":!1},null,8,["item"])])),ce(l(E,{class:"bookCoverProgress","background-color":o.progressBackgroundColor,"model-value":r.item.progress,"aria-label":`${r.item.progress}% read`,rounded:"",height:"2"},null,8,["background-color","model-value","aria-label"]),[[mt,r.item.progress]]),l(M,{item:r.item},null,8,["item"])]),l(F,{item:r.item},null,8,["item"])])]),_:1},8,["id"])}const As=y(Ls,[["render",Hs],["__scopeId","data-v-7f56bc86"]]),Es={name:"BrowserMain",components:{BrowserCard:As,PlaceholderLoading:ie},data(){return{mdiMenu:ht,mdiOpenInNew:de}},computed:{...S($,{adminFlags:e=>e.adminFlags}),...V($,["isUserAdmin","isCodexViewable"]),...S(p,{librariesExist:e=>e.page.librariesExist,showPlaceHolder:function(e){return this.adminFlags.nonUsers===void 0||this.isCodexViewable&&(this.librariesExist==null||!e.browserPageLoaded)},cards:e=>[...e.page.groups??[],...e.page.books??[]],padFooter:e=>e.page.numPages>1}),showBrowseItems(){return this.cards&&this.cards.length>0&&this.isCodexViewable&&!this.showPlaceHolder}}},z=e=>(O("data-v-b023c894"),e=e(),L(),e),qs={key:0,id:"browsePaneContainer"},zs={key:1,id:"announce"},js={key:2,id:"announce"},Ys={key:0},Ws={key:0},Qs={key:3,id:"announce"},Ks=z(()=>s("div",{id:"noComicsFound"},"No comics found for these filters",-1)),Xs=[Ks],Js={key:4,id:"announce"},Zs=z(()=>s("h1",null,"No libraries have been added to Codex yet",-1)),er={key:0},tr={key:1},or=z(()=>s("h2",null," An administrator must login to add some libraries that contain comics ",-1)),sr={href:"https://github.com/ajslater/codex#-administration",target:"_blank"};function rr(e,t,r,f,a,o){const u=C("BrowserCard"),c=ie;return i(),h(he,{id:"browsePane",class:D({padFooter:e.padFooter})},{default:d(()=>[o.showBrowseItems?(i(),g("div",qs,[(i(!0),g(I,null,N(e.cards,b=>(i(),h(u,{key:`${b.group}${b.pk}`,item:b},null,8,["item"]))),128))])):e.showPlaceHolder?(i(),g("div",zs,[l(c,{class:"placeholder"})])):e.isCodexViewable?e.librariesExist?(i(),g("div",Qs,Xs)):(i(),g("div",Js,[Zs,e.isUserAdmin?(i(),g("h2",er,[n(" Use the top right "),l(v,null,{default:d(()=>[n(_(a.mdiMenu),1)]),_:1}),n(" menu to navigate to the admin panel and add a comic library. ")])):(i(),g("div",tr,[or,s("h3",null,[n(" You may log in or register with the top right "),l(v,null,{default:d(()=>[n(_(a.mdiMenu),1)]),_:1}),n("menu ")])])),s("a",sr,[n("See the README "),l(v,null,{default:d(()=>[n(_(a.mdiOpenInNew),1)]),_:1})]),n(" for detailed instructions. ")])):(i(),g("div",js,[s("h1",null,[n(" You may log in "),e.adminFlags.register?(i(),g("span",Ys,"or register")):w("",!0),n(" with the top right "),l(v,null,{default:d(()=>[n(_(a.mdiMenu),1)]),_:1}),n(" menu ")]),e.adminFlags.register?w("",!0):(i(),g("h1",Ws,"Registration is disabled"))]))]),_:1},8,["class"])}const nr=y(Es,[["render",rr],["__scopeId","data-v-b023c894"]]),ir={name:"MainBrowser",components:{BrowserTopToolbar:ye,BrowserMain:nr,BrowserNavToolbar:_e,BrowserTitleToolbar:be,SettingsDrawer:te},data(){return{BrowserSettingsPanel:pt(ds)}},computed:{...S($,{user:e=>e.user}),...V($,["isCodexViewable"])},watch:{$route:function(){window.scrollTo(0,0),this.loadBrowserPage()},user:function(){this.loadSettings()},isCodexViewable:function(){this.loadSettings()}},created(){q().isSettingsDrawerOpen=!1,this.loadSettings()},methods:{...B(p,["loadBrowserPage","loadSettings","getVersions"])}},ar={class:"codexToolbar"};function lr(e,t,r,f,a,o){const u=ye,c=be,b=C("BrowserMain"),M=_e,F=te;return i(),g(I,null,[l(he,{id:"browser"},{default:d(()=>[s("header",ar,[l(u),l(c)]),l(b),l(M)]),_:1}),l(F,{title:"Browser Settings",panel:a.BrowserSettingsPanel,temporary:""},null,8,["panel"])],64)}const Mr=y(ir,[["render",lr],["__scopeId","data-v-92361854"]]);export{Mr as default};