codex 1.8.10__py3-none-any.whl → 1.8.12__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.
- codex/applications/websocket.py +2 -2
- codex/choices/choices_to_json.py +1 -1
- codex/librarian/librariand.py +3 -3
- codex/librarian/restarter/restarter.py +4 -3
- codex/librarian/scribe/importer/read/extract.py +74 -29
- codex/librarian/scribe/importer/read/foreign_keys.py +9 -1
- codex/librarian/scribe/janitor/update.py +1 -1
- codex/librarian/scribe/search/prepare.py +1 -1
- codex/models/groups.py +1 -1
- codex/run.py +2 -2
- codex/static_root/assets/{VCheckbox-BfVeJY8A.b8e4dee22b3c.js → VCheckbox-mMixTHeh.d292a58d01be.js} +1 -1
- codex/static_root/assets/VCheckbox-mMixTHeh.d292a58d01be.js.br +0 -0
- codex/static_root/assets/VCheckbox-mMixTHeh.d292a58d01be.js.gz +0 -0
- codex/static_root/assets/{VCheckbox-BfVeJY8A.js → VCheckbox-mMixTHeh.js} +1 -1
- codex/static_root/assets/VCheckbox-mMixTHeh.js.br +0 -0
- codex/static_root/assets/VCheckbox-mMixTHeh.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-dotsoE0r.6b66667a9120.js → VCheckboxBtn-CmvquRAN.e7da40760708.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-CmvquRAN.e7da40760708.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-CmvquRAN.e7da40760708.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-dotsoE0r.js → VCheckboxBtn-CmvquRAN.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-CmvquRAN.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-CmvquRAN.js.gz +0 -0
- codex/static_root/assets/{VCombobox-D6t70eT1.a5c82ecd9544.js → VCombobox-B-q89wJH.176455c7dbee.js} +1 -1
- codex/static_root/assets/VCombobox-B-q89wJH.176455c7dbee.js.br +0 -0
- codex/static_root/assets/VCombobox-B-q89wJH.176455c7dbee.js.gz +0 -0
- codex/static_root/assets/{VCombobox-D6t70eT1.js → VCombobox-B-q89wJH.js} +1 -1
- codex/static_root/assets/VCombobox-B-q89wJH.js.br +0 -0
- codex/static_root/assets/VCombobox-B-q89wJH.js.gz +0 -0
- codex/static_root/assets/{VDialog-Bn_MNvQ-.d1ca39e120b8.js → VDialog-VIXXkGcp.5df40dd559f6.js} +1 -1
- codex/static_root/assets/VDialog-VIXXkGcp.5df40dd559f6.js.br +0 -0
- codex/static_root/assets/VDialog-VIXXkGcp.5df40dd559f6.js.gz +0 -0
- codex/static_root/assets/{VDialog-Bn_MNvQ-.js → VDialog-VIXXkGcp.js} +1 -1
- codex/static_root/assets/VDialog-VIXXkGcp.js.br +0 -0
- codex/static_root/assets/VDialog-VIXXkGcp.js.gz +0 -0
- codex/static_root/assets/{VDivider-DOOd4a9s.b14fca685b97.js → VDivider-DZYqABoC.e1b49b0e84e7.js} +1 -1
- codex/static_root/assets/VDivider-DZYqABoC.e1b49b0e84e7.js.br +0 -0
- codex/static_root/assets/VDivider-DZYqABoC.e1b49b0e84e7.js.gz +0 -0
- codex/static_root/assets/{VDivider-DOOd4a9s.js → VDivider-DZYqABoC.js} +1 -1
- codex/static_root/assets/VDivider-DZYqABoC.js.br +0 -0
- codex/static_root/assets/VDivider-DZYqABoC.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-Be8WWdca.f7f019bb8480.js → VExpansionPanels-Cfecx3wB.e58028ac7689.js} +1 -1
- codex/static_root/assets/VExpansionPanels-Cfecx3wB.e58028ac7689.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-Cfecx3wB.e58028ac7689.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-Be8WWdca.js → VExpansionPanels-Cfecx3wB.js} +1 -1
- codex/static_root/assets/VExpansionPanels-Cfecx3wB.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-Cfecx3wB.js.gz +0 -0
- codex/static_root/assets/{VForm-BRei2Gn2.967e83055611.js → VForm-DxSBwqZJ.ac95f820d0ef.js} +1 -1
- codex/static_root/assets/VForm-DxSBwqZJ.ac95f820d0ef.js.br +0 -0
- codex/static_root/assets/VForm-DxSBwqZJ.ac95f820d0ef.js.gz +0 -0
- codex/static_root/assets/{VForm-BRei2Gn2.js → VForm-DxSBwqZJ.js} +1 -1
- codex/static_root/assets/VForm-DxSBwqZJ.js.br +0 -0
- codex/static_root/assets/VForm-DxSBwqZJ.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-DVVCXDtV.79214c05c9a4.js → VRadioGroup-BWhV6-Ik.9a12480f7db9.js} +1 -1
- codex/static_root/assets/VRadioGroup-BWhV6-Ik.9a12480f7db9.js.br +0 -0
- codex/static_root/assets/VRadioGroup-BWhV6-Ik.9a12480f7db9.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-DVVCXDtV.js → VRadioGroup-BWhV6-Ik.js} +1 -1
- codex/static_root/assets/VRadioGroup-BWhV6-Ik.js.br +0 -0
- codex/static_root/assets/VRadioGroup-BWhV6-Ik.js.gz +0 -0
- codex/static_root/assets/{VSelect-CJ_8hyFq.c3d39e72c0b5.js → VSelect-TZp4owlN.59c05699f974.js} +1 -1
- codex/static_root/assets/VSelect-TZp4owlN.59c05699f974.js.br +0 -0
- codex/static_root/assets/VSelect-TZp4owlN.59c05699f974.js.gz +0 -0
- codex/static_root/assets/{VSelect-CJ_8hyFq.js → VSelect-TZp4owlN.js} +1 -1
- codex/static_root/assets/VSelect-TZp4owlN.js.br +0 -0
- codex/static_root/assets/VSelect-TZp4owlN.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-N_wsNRlD.1e50d58ecadb.js → VSelectionControl-GD0v-LdL.4d345a0fe321.js} +1 -1
- codex/static_root/assets/VSelectionControl-GD0v-LdL.4d345a0fe321.js.br +0 -0
- codex/static_root/assets/VSelectionControl-GD0v-LdL.4d345a0fe321.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-N_wsNRlD.js → VSelectionControl-GD0v-LdL.js} +1 -1
- codex/static_root/assets/VSelectionControl-GD0v-LdL.js.br +0 -0
- codex/static_root/assets/VSelectionControl-GD0v-LdL.js.gz +0 -0
- codex/static_root/assets/{VTable-YgXyPctG.b776e9689646.js → VTable-XDHc7lys.0f7c71a2ef3b.js} +1 -1
- codex/static_root/assets/VTable-XDHc7lys.0f7c71a2ef3b.js.br +0 -0
- codex/static_root/assets/VTable-XDHc7lys.0f7c71a2ef3b.js.gz +0 -0
- codex/static_root/assets/{VTable-YgXyPctG.js → VTable-XDHc7lys.js} +1 -1
- codex/static_root/assets/VTable-XDHc7lys.js.br +0 -0
- codex/static_root/assets/VTable-XDHc7lys.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-BmpD4isF.61a906c1109e.js → VWindowItem-DkI0HNsq.1e2dac9f8c38.js} +1 -1
- codex/static_root/assets/VWindowItem-DkI0HNsq.1e2dac9f8c38.js.br +0 -0
- codex/static_root/assets/VWindowItem-DkI0HNsq.1e2dac9f8c38.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-BmpD4isF.js → VWindowItem-DkI0HNsq.js} +1 -1
- codex/static_root/assets/VWindowItem-DkI0HNsq.js.br +0 -0
- codex/static_root/assets/VWindowItem-DkI0HNsq.js.gz +0 -0
- codex/static_root/assets/{admin-26AnWn-T.fe23350475b4.js → admin-B8FOS3y0.7854efcc062c.js} +1 -1
- codex/static_root/assets/admin-B8FOS3y0.7854efcc062c.js.br +0 -0
- codex/static_root/assets/admin-B8FOS3y0.7854efcc062c.js.gz +0 -0
- codex/static_root/assets/{admin-26AnWn-T.js → admin-B8FOS3y0.js} +1 -1
- codex/static_root/assets/admin-B8FOS3y0.js.br +0 -0
- codex/static_root/assets/admin-B8FOS3y0.js.gz +0 -0
- codex/static_root/assets/{admin-BhRwDL_I.72c00e104cd2.js → admin-D5xz_Oqi.d7262a95b289.js} +1 -1
- codex/static_root/assets/admin-D5xz_Oqi.d7262a95b289.js.br +0 -0
- codex/static_root/assets/admin-D5xz_Oqi.d7262a95b289.js.gz +0 -0
- codex/static_root/assets/{admin-BhRwDL_I.js → admin-D5xz_Oqi.js} +1 -1
- codex/static_root/assets/admin-D5xz_Oqi.js.br +0 -0
- codex/static_root/assets/admin-D5xz_Oqi.js.gz +0 -0
- codex/static_root/assets/admin-menu-BdgFc4sK.3a1221757854.css +1 -0
- codex/static_root/assets/admin-menu-BdgFc4sK.3a1221757854.css.br +0 -0
- codex/static_root/assets/admin-menu-BdgFc4sK.3a1221757854.css.gz +0 -0
- codex/static_root/assets/admin-menu-BdgFc4sK.css +1 -0
- codex/static_root/assets/admin-menu-BdgFc4sK.css.br +0 -0
- codex/static_root/assets/admin-menu-BdgFc4sK.css.gz +0 -0
- codex/static_root/assets/{admin-menu-42Q4jLGf.b87cc355497b.js → admin-menu-CowNEAHz.00a2856c8342.js} +1 -1
- codex/static_root/assets/admin-menu-CowNEAHz.00a2856c8342.js.br +0 -0
- codex/static_root/assets/admin-menu-CowNEAHz.00a2856c8342.js.gz +0 -0
- codex/static_root/assets/{admin-menu-42Q4jLGf.js → admin-menu-CowNEAHz.js} +1 -1
- codex/static_root/assets/admin-menu-CowNEAHz.js.br +0 -0
- codex/static_root/assets/admin-menu-CowNEAHz.js.gz +0 -0
- codex/static_root/assets/{admin-settings-button-progress-hYnDmn23.ffed6d808c68.js → admin-settings-button-progress-Fn6FLZKO.ba02b3db9f08.js} +1 -1
- codex/static_root/assets/admin-settings-button-progress-Fn6FLZKO.ba02b3db9f08.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-Fn6FLZKO.ba02b3db9f08.js.gz +0 -0
- codex/static_root/assets/{admin-settings-button-progress-hYnDmn23.js → admin-settings-button-progress-Fn6FLZKO.js} +1 -1
- codex/static_root/assets/admin-settings-button-progress-Fn6FLZKO.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-Fn6FLZKO.js.gz +0 -0
- codex/static_root/assets/browser-DobQRNGw.fea37ea67039.js +1 -0
- codex/static_root/assets/browser-DobQRNGw.fea37ea67039.js.br +0 -0
- codex/static_root/assets/browser-DobQRNGw.fea37ea67039.js.gz +0 -0
- codex/static_root/assets/browser-DobQRNGw.js +1 -0
- codex/static_root/assets/browser-DobQRNGw.js.br +0 -0
- codex/static_root/assets/browser-DobQRNGw.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-Df28DwbL.7e3eb3fdb42a.js → change-password-dialog-CM_QAQIF.e81732a436e7.js} +1 -1
- codex/static_root/assets/change-password-dialog-CM_QAQIF.e81732a436e7.js.br +0 -0
- codex/static_root/assets/change-password-dialog-CM_QAQIF.e81732a436e7.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-Df28DwbL.js → change-password-dialog-CM_QAQIF.js} +1 -1
- codex/static_root/assets/change-password-dialog-CM_QAQIF.js.br +0 -0
- codex/static_root/assets/change-password-dialog-CM_QAQIF.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-DgKUUL0b.bd6e76fa370e.js → confirm-dialog-B5yPnYfL.1ff1c7580366.js} +1 -1
- codex/static_root/assets/confirm-dialog-B5yPnYfL.1ff1c7580366.js.br +0 -0
- codex/static_root/assets/confirm-dialog-B5yPnYfL.1ff1c7580366.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-DgKUUL0b.js → confirm-dialog-B5yPnYfL.js} +1 -1
- codex/static_root/assets/confirm-dialog-B5yPnYfL.js.br +0 -0
- codex/static_root/assets/confirm-dialog-B5yPnYfL.js.gz +0 -0
- codex/static_root/assets/{datetime-column-jb1Y13cY.f98386c3c6cf.js → datetime-column-BjtCGhs4.8cd255932c51.js} +1 -1
- codex/static_root/assets/datetime-column-BjtCGhs4.8cd255932c51.js.br +4 -0
- codex/static_root/assets/datetime-column-BjtCGhs4.8cd255932c51.js.gz +0 -0
- codex/static_root/assets/{datetime-column-jb1Y13cY.js → datetime-column-BjtCGhs4.js} +1 -1
- codex/static_root/assets/datetime-column-BjtCGhs4.js.br +4 -0
- codex/static_root/assets/datetime-column-BjtCGhs4.js.gz +0 -0
- codex/static_root/assets/{filter-DU947LwF.64baedae8854.js → filter-B5vuKzJr.decb97e4aacf.js} +1 -1
- codex/static_root/assets/filter-B5vuKzJr.decb97e4aacf.js.br +0 -0
- codex/static_root/assets/filter-B5vuKzJr.decb97e4aacf.js.gz +0 -0
- codex/static_root/assets/{filter-DU947LwF.js → filter-B5vuKzJr.js} +1 -1
- codex/static_root/assets/filter-B5vuKzJr.js.br +0 -0
- codex/static_root/assets/filter-B5vuKzJr.js.gz +0 -0
- codex/static_root/assets/{flag-tab-BTT0536t.4219f4036821.js → flag-tab-BJVFBJGD.12bd4905b099.js} +1 -1
- codex/static_root/assets/flag-tab-BJVFBJGD.12bd4905b099.js.br +0 -0
- codex/static_root/assets/flag-tab-BJVFBJGD.12bd4905b099.js.gz +0 -0
- codex/static_root/assets/{flag-tab-BTT0536t.js → flag-tab-BJVFBJGD.js} +1 -1
- codex/static_root/assets/flag-tab-BJVFBJGD.js.br +0 -0
- codex/static_root/assets/flag-tab-BJVFBJGD.js.gz +0 -0
- codex/static_root/assets/{forwardRefs-BGAZ1bvO.676c1aac262e.js → forwardRefs-DB5ky8tb.1bd4338967d0.js} +1 -1
- codex/static_root/assets/forwardRefs-DB5ky8tb.1bd4338967d0.js.br +0 -0
- codex/static_root/assets/forwardRefs-DB5ky8tb.1bd4338967d0.js.gz +0 -0
- codex/static_root/assets/{forwardRefs-BGAZ1bvO.js → forwardRefs-DB5ky8tb.js} +1 -1
- codex/static_root/assets/forwardRefs-DB5ky8tb.js.br +0 -0
- codex/static_root/assets/forwardRefs-DB5ky8tb.js.gz +0 -0
- codex/static_root/assets/group-tab-BheHSkwp.5bae3d475496.js +1 -0
- codex/static_root/assets/group-tab-BheHSkwp.5bae3d475496.js.br +0 -0
- codex/static_root/assets/group-tab-BheHSkwp.5bae3d475496.js.gz +0 -0
- codex/static_root/assets/group-tab-BheHSkwp.js +1 -0
- codex/static_root/assets/group-tab-BheHSkwp.js.br +0 -0
- codex/static_root/assets/group-tab-BheHSkwp.js.gz +0 -0
- codex/static_root/assets/http-error-QIRqZMe7.0e7afa8486e0.js +1 -0
- codex/static_root/assets/http-error-QIRqZMe7.0e7afa8486e0.js.br +0 -0
- codex/static_root/assets/http-error-QIRqZMe7.0e7afa8486e0.js.gz +0 -0
- codex/static_root/assets/http-error-QIRqZMe7.js +1 -0
- codex/static_root/assets/http-error-QIRqZMe7.js.br +0 -0
- codex/static_root/assets/http-error-QIRqZMe7.js.gz +0 -0
- codex/static_root/assets/{index-Cm9w_Tog.a1b4683f2e1d.js → index-Cfl3hEsB.6eb5b66f8d59.js} +1 -1
- codex/static_root/assets/index-Cfl3hEsB.6eb5b66f8d59.js.br +0 -0
- codex/static_root/assets/index-Cfl3hEsB.6eb5b66f8d59.js.gz +0 -0
- codex/static_root/assets/{index-Cm9w_Tog.js → index-Cfl3hEsB.js} +1 -1
- codex/static_root/assets/index-Cfl3hEsB.js.br +0 -0
- codex/static_root/assets/index-Cfl3hEsB.js.gz +0 -0
- codex/static_root/assets/{library-tab-5StL67ei.0fad8998a237.css → library-tab-DIIxAUNe.10ec98cfe11d.css} +1 -1
- codex/static_root/assets/library-tab-DIIxAUNe.10ec98cfe11d.css.br +0 -0
- codex/static_root/assets/library-tab-DIIxAUNe.10ec98cfe11d.css.gz +0 -0
- codex/static_root/assets/{library-tab-5StL67ei.css → library-tab-DIIxAUNe.css} +1 -1
- codex/static_root/assets/library-tab-DIIxAUNe.css.br +0 -0
- codex/static_root/assets/library-tab-DIIxAUNe.css.gz +0 -0
- codex/static_root/assets/library-tab-DcF440Qi.8464c8a644eb.js +1 -0
- codex/static_root/assets/library-tab-DcF440Qi.8464c8a644eb.js.br +0 -0
- codex/static_root/assets/library-tab-DcF440Qi.8464c8a644eb.js.gz +0 -0
- codex/static_root/assets/library-tab-DcF440Qi.js +1 -0
- codex/static_root/assets/library-tab-DcF440Qi.js.br +0 -0
- codex/static_root/assets/library-tab-DcF440Qi.js.gz +0 -0
- codex/static_root/assets/main-C-77N8Gu.b7e2f72f401d.js +39 -0
- codex/static_root/assets/main-C-77N8Gu.b7e2f72f401d.js.br +0 -0
- codex/static_root/assets/main-C-77N8Gu.b7e2f72f401d.js.gz +0 -0
- codex/static_root/assets/main-C-77N8Gu.js +39 -0
- codex/static_root/assets/main-C-77N8Gu.js.br +0 -0
- codex/static_root/assets/main-C-77N8Gu.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-DCh3kFgd.47ca6515953d.js +1 -0
- codex/static_root/assets/pager-full-pdf-DCh3kFgd.47ca6515953d.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-DCh3kFgd.47ca6515953d.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-DCh3kFgd.js +1 -0
- codex/static_root/assets/pager-full-pdf-DCh3kFgd.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-DCh3kFgd.js.gz +0 -0
- codex/static_root/assets/{pagination-toolbar-rUdD4-Qi.3a224c7806a5.css → pagination-toolbar-BMm-LmG-.92cfb20daeb9.css} +1 -1
- codex/static_root/assets/pagination-toolbar-BMm-LmG-.92cfb20daeb9.css.br +0 -0
- codex/static_root/assets/{pagination-toolbar-rUdD4-Qi.3a224c7806a5.css.gz → pagination-toolbar-BMm-LmG-.92cfb20daeb9.css.gz} +0 -0
- codex/static_root/assets/{pagination-toolbar-rUdD4-Qi.css → pagination-toolbar-BMm-LmG-.css} +1 -1
- codex/static_root/assets/pagination-toolbar-BMm-LmG-.css.br +0 -0
- codex/static_root/assets/{pagination-toolbar-rUdD4-Qi.css.gz → pagination-toolbar-BMm-LmG-.css.gz} +0 -0
- codex/static_root/assets/pagination-toolbar-CHsRqwrF.45e5d7271642.js +1 -0
- codex/static_root/assets/pagination-toolbar-CHsRqwrF.45e5d7271642.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-CHsRqwrF.45e5d7271642.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-CHsRqwrF.js +1 -0
- codex/static_root/assets/pagination-toolbar-CHsRqwrF.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-CHsRqwrF.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-CMzddyqW.5ef7eef50756.js → pdf-doc-DfhEteIr.b37589840b4a.js} +4 -4
- codex/static_root/assets/pdf-doc-DfhEteIr.b37589840b4a.js.br +0 -0
- codex/static_root/assets/pdf-doc-DfhEteIr.b37589840b4a.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-CMzddyqW.js → pdf-doc-DfhEteIr.js} +4 -4
- codex/static_root/assets/pdf-doc-DfhEteIr.js.br +0 -0
- codex/static_root/assets/pdf-doc-DfhEteIr.js.gz +0 -0
- codex/static_root/assets/{reader-HE07eoaG.8626eeb7c718.css → reader-BUEw0RYD.css} +1 -1
- codex/static_root/assets/reader-BUEw0RYD.css.br +0 -0
- codex/static_root/assets/reader-BUEw0RYD.css.gz +0 -0
- codex/static_root/assets/{reader-HE07eoaG.css → reader-BUEw0RYD.e084c3b621d4.css} +1 -1
- codex/static_root/assets/reader-BUEw0RYD.e084c3b621d4.css.br +0 -0
- codex/static_root/assets/reader-BUEw0RYD.e084c3b621d4.css.gz +0 -0
- codex/static_root/assets/{reader-DFkGB8xM.ba0585d918b5.js → reader-DzF84pko.338d999961f3.js} +2 -2
- codex/static_root/assets/reader-DzF84pko.338d999961f3.js.br +0 -0
- codex/static_root/assets/reader-DzF84pko.338d999961f3.js.gz +0 -0
- codex/static_root/assets/{reader-DFkGB8xM.js → reader-DzF84pko.js} +2 -2
- codex/static_root/assets/reader-DzF84pko.js.br +0 -0
- codex/static_root/assets/reader-DzF84pko.js.gz +0 -0
- codex/static_root/assets/{relation-chips-32lE_odZ.7cc1620d4c97.js → relation-chips-BuoX-Umg.b163536480a5.js} +1 -1
- codex/static_root/assets/relation-chips-BuoX-Umg.b163536480a5.js.br +0 -0
- codex/static_root/assets/relation-chips-BuoX-Umg.b163536480a5.js.gz +0 -0
- codex/static_root/assets/{relation-chips-32lE_odZ.js → relation-chips-BuoX-Umg.js} +1 -1
- codex/static_root/assets/relation-chips-BuoX-Umg.js.br +0 -0
- codex/static_root/assets/relation-chips-BuoX-Umg.js.gz +0 -0
- codex/static_root/assets/{settings-drawer-B-pwZRSy.8fc8b237bb52.css → settings-drawer-D7bFOc4_.9748ddd58be9.css} +1 -1
- codex/static_root/assets/settings-drawer-D7bFOc4_.9748ddd58be9.css.br +0 -0
- codex/static_root/assets/settings-drawer-D7bFOc4_.9748ddd58be9.css.gz +0 -0
- codex/static_root/assets/{settings-drawer-B-pwZRSy.css → settings-drawer-D7bFOc4_.css} +1 -1
- codex/static_root/assets/settings-drawer-D7bFOc4_.css.br +0 -0
- codex/static_root/assets/settings-drawer-D7bFOc4_.css.gz +0 -0
- codex/static_root/assets/settings-drawer-F5ukKBlm.8d65a1441b5d.js +2 -0
- codex/static_root/assets/settings-drawer-F5ukKBlm.8d65a1441b5d.js.br +0 -0
- codex/static_root/assets/settings-drawer-F5ukKBlm.8d65a1441b5d.js.gz +0 -0
- codex/static_root/assets/settings-drawer-F5ukKBlm.js +2 -0
- codex/static_root/assets/settings-drawer-F5ukKBlm.js.br +0 -0
- codex/static_root/assets/settings-drawer-F5ukKBlm.js.gz +0 -0
- codex/static_root/assets/{ssrBoot-CjQLVcFD.0db2c2fe9b66.js → ssrBoot-CWYTAaF-.aee3c0981f33.js} +1 -1
- codex/static_root/assets/ssrBoot-CWYTAaF-.aee3c0981f33.js.br +0 -0
- codex/static_root/assets/ssrBoot-CWYTAaF-.aee3c0981f33.js.gz +0 -0
- codex/static_root/assets/{ssrBoot-CjQLVcFD.js → ssrBoot-CWYTAaF-.js} +1 -1
- codex/static_root/assets/ssrBoot-CWYTAaF-.js.br +0 -0
- codex/static_root/assets/ssrBoot-CWYTAaF-.js.gz +0 -0
- codex/static_root/assets/{stats-tab-WD67DkuY.4cd13274173f.js → stats-tab-BojXzJxX.4bacf1b7de0a.js} +1 -1
- codex/static_root/assets/stats-tab-BojXzJxX.4bacf1b7de0a.js.br +0 -0
- codex/static_root/assets/stats-tab-BojXzJxX.4bacf1b7de0a.js.gz +0 -0
- codex/static_root/assets/{stats-tab-WD67DkuY.js → stats-tab-BojXzJxX.js} +1 -1
- codex/static_root/assets/stats-tab-BojXzJxX.js.br +0 -0
- codex/static_root/assets/stats-tab-BojXzJxX.js.gz +0 -0
- codex/static_root/assets/{task-tab-CHOLNUJh.bbf1c7a95058.js → task-tab-CHqUvlgk.8e7f5e5fd5c1.js} +1 -1
- codex/static_root/assets/task-tab-CHqUvlgk.8e7f5e5fd5c1.js.br +0 -0
- codex/static_root/assets/task-tab-CHqUvlgk.8e7f5e5fd5c1.js.gz +0 -0
- codex/static_root/assets/{task-tab-CHOLNUJh.js → task-tab-CHqUvlgk.js} +1 -1
- codex/static_root/assets/task-tab-CHqUvlgk.js.br +0 -0
- codex/static_root/assets/task-tab-CHqUvlgk.js.gz +0 -0
- codex/static_root/assets/{unauthorized-BsEyzLQ2.js → unauthorized-CEVes9z_.d4be9ecbbe99.js} +1 -1
- codex/static_root/assets/unauthorized-CEVes9z_.d4be9ecbbe99.js.br +0 -0
- codex/static_root/assets/unauthorized-CEVes9z_.d4be9ecbbe99.js.gz +0 -0
- codex/static_root/assets/{unauthorized-BsEyzLQ2.e54a69cff5c6.js → unauthorized-CEVes9z_.js} +1 -1
- codex/static_root/assets/unauthorized-CEVes9z_.js.br +0 -0
- codex/static_root/assets/unauthorized-CEVes9z_.js.gz +0 -0
- codex/static_root/assets/{user-tab-CbNhbZzZ.af38f932a795.js → user-tab-CBwvHAwM.aba98371e7eb.js} +1 -1
- codex/static_root/assets/user-tab-CBwvHAwM.aba98371e7eb.js.br +0 -0
- codex/static_root/assets/user-tab-CBwvHAwM.aba98371e7eb.js.gz +0 -0
- codex/static_root/assets/{user-tab-CbNhbZzZ.js → user-tab-CBwvHAwM.js} +1 -1
- codex/static_root/assets/user-tab-CBwvHAwM.js.br +0 -0
- codex/static_root/assets/user-tab-CBwvHAwM.js.gz +0 -0
- codex/static_root/{manifest.39fe502cd3a2.json → manifest.f16b9aa8fb6b.json} +323 -323
- codex/static_root/manifest.f16b9aa8fb6b.json.br +0 -0
- codex/static_root/manifest.f16b9aa8fb6b.json.gz +0 -0
- codex/static_root/manifest.json +323 -323
- codex/static_root/manifest.json.br +0 -0
- codex/static_root/manifest.json.gz +0 -0
- codex/static_root/staticfiles.json +1 -1
- codex/websockets/consumers.py +2 -3
- {codex-1.8.10.dist-info → codex-1.8.12.dist-info}/METADATA +23 -23
- codex-1.8.12.dist-info/RECORD +1102 -0
- codex-1.8.12.dist-info/WHEEL +4 -0
- {codex-1.8.10.dist-info → codex-1.8.12.dist-info}/entry_points.txt +1 -0
- codex/static_root/assets/VCheckbox-BfVeJY8A.b8e4dee22b3c.js.br +0 -0
- codex/static_root/assets/VCheckbox-BfVeJY8A.b8e4dee22b3c.js.gz +0 -0
- codex/static_root/assets/VCheckbox-BfVeJY8A.js.br +0 -0
- codex/static_root/assets/VCheckbox-BfVeJY8A.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-dotsoE0r.6b66667a9120.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-dotsoE0r.6b66667a9120.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-dotsoE0r.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-dotsoE0r.js.gz +0 -0
- codex/static_root/assets/VCombobox-D6t70eT1.a5c82ecd9544.js.br +0 -0
- codex/static_root/assets/VCombobox-D6t70eT1.a5c82ecd9544.js.gz +0 -0
- codex/static_root/assets/VCombobox-D6t70eT1.js.br +0 -0
- codex/static_root/assets/VCombobox-D6t70eT1.js.gz +0 -0
- codex/static_root/assets/VDialog-Bn_MNvQ-.d1ca39e120b8.js.br +0 -0
- codex/static_root/assets/VDialog-Bn_MNvQ-.d1ca39e120b8.js.gz +0 -0
- codex/static_root/assets/VDialog-Bn_MNvQ-.js.br +0 -0
- codex/static_root/assets/VDialog-Bn_MNvQ-.js.gz +0 -0
- codex/static_root/assets/VDivider-DOOd4a9s.b14fca685b97.js.br +0 -0
- codex/static_root/assets/VDivider-DOOd4a9s.b14fca685b97.js.gz +0 -0
- codex/static_root/assets/VDivider-DOOd4a9s.js.br +0 -0
- codex/static_root/assets/VDivider-DOOd4a9s.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-Be8WWdca.f7f019bb8480.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-Be8WWdca.f7f019bb8480.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-Be8WWdca.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-Be8WWdca.js.gz +0 -0
- codex/static_root/assets/VForm-BRei2Gn2.967e83055611.js.br +0 -0
- codex/static_root/assets/VForm-BRei2Gn2.967e83055611.js.gz +0 -0
- codex/static_root/assets/VForm-BRei2Gn2.js.br +0 -0
- codex/static_root/assets/VForm-BRei2Gn2.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-DVVCXDtV.79214c05c9a4.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DVVCXDtV.79214c05c9a4.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-DVVCXDtV.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DVVCXDtV.js.gz +0 -0
- codex/static_root/assets/VSelect-CJ_8hyFq.c3d39e72c0b5.js.br +0 -0
- codex/static_root/assets/VSelect-CJ_8hyFq.c3d39e72c0b5.js.gz +0 -0
- codex/static_root/assets/VSelect-CJ_8hyFq.js.br +0 -0
- codex/static_root/assets/VSelect-CJ_8hyFq.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-N_wsNRlD.1e50d58ecadb.js.br +0 -0
- codex/static_root/assets/VSelectionControl-N_wsNRlD.1e50d58ecadb.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-N_wsNRlD.js.br +0 -0
- codex/static_root/assets/VSelectionControl-N_wsNRlD.js.gz +0 -0
- codex/static_root/assets/VTable-YgXyPctG.b776e9689646.js.br +0 -0
- codex/static_root/assets/VTable-YgXyPctG.b776e9689646.js.gz +0 -0
- codex/static_root/assets/VTable-YgXyPctG.js.br +0 -0
- codex/static_root/assets/VTable-YgXyPctG.js.gz +0 -0
- codex/static_root/assets/VWindowItem-BmpD4isF.61a906c1109e.js.br +0 -0
- codex/static_root/assets/VWindowItem-BmpD4isF.61a906c1109e.js.gz +0 -0
- codex/static_root/assets/VWindowItem-BmpD4isF.js.br +0 -0
- codex/static_root/assets/VWindowItem-BmpD4isF.js.gz +0 -0
- codex/static_root/assets/admin-26AnWn-T.fe23350475b4.js.br +0 -0
- codex/static_root/assets/admin-26AnWn-T.fe23350475b4.js.gz +0 -0
- codex/static_root/assets/admin-26AnWn-T.js.br +0 -0
- codex/static_root/assets/admin-26AnWn-T.js.gz +0 -0
- codex/static_root/assets/admin-BhRwDL_I.72c00e104cd2.js.br +0 -0
- codex/static_root/assets/admin-BhRwDL_I.72c00e104cd2.js.gz +0 -0
- codex/static_root/assets/admin-BhRwDL_I.js.br +0 -0
- codex/static_root/assets/admin-BhRwDL_I.js.gz +0 -0
- codex/static_root/assets/admin-menu-42Q4jLGf.b87cc355497b.js.br +0 -0
- codex/static_root/assets/admin-menu-42Q4jLGf.b87cc355497b.js.gz +0 -0
- codex/static_root/assets/admin-menu-42Q4jLGf.js.br +0 -0
- codex/static_root/assets/admin-menu-42Q4jLGf.js.gz +0 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.18284a11084d.css +0 -1
- codex/static_root/assets/admin-menu-hpyUS8ku.18284a11084d.css.br +0 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.18284a11084d.css.gz +0 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.css +0 -1
- codex/static_root/assets/admin-menu-hpyUS8ku.css.br +0 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.css.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-hYnDmn23.ffed6d808c68.js.br +0 -4
- codex/static_root/assets/admin-settings-button-progress-hYnDmn23.ffed6d808c68.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-hYnDmn23.js.br +0 -4
- codex/static_root/assets/admin-settings-button-progress-hYnDmn23.js.gz +0 -0
- codex/static_root/assets/browser-BiLF_XL8.d0ffb7b04624.js +0 -1
- codex/static_root/assets/browser-BiLF_XL8.d0ffb7b04624.js.br +0 -0
- codex/static_root/assets/browser-BiLF_XL8.d0ffb7b04624.js.gz +0 -0
- codex/static_root/assets/browser-BiLF_XL8.js +0 -1
- codex/static_root/assets/browser-BiLF_XL8.js.br +0 -0
- codex/static_root/assets/browser-BiLF_XL8.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-Df28DwbL.7e3eb3fdb42a.js.br +0 -0
- codex/static_root/assets/change-password-dialog-Df28DwbL.7e3eb3fdb42a.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-Df28DwbL.js.br +0 -0
- codex/static_root/assets/change-password-dialog-Df28DwbL.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-DgKUUL0b.bd6e76fa370e.js.br +0 -0
- codex/static_root/assets/confirm-dialog-DgKUUL0b.bd6e76fa370e.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-DgKUUL0b.js.br +0 -0
- codex/static_root/assets/confirm-dialog-DgKUUL0b.js.gz +0 -0
- codex/static_root/assets/datetime-column-jb1Y13cY.f98386c3c6cf.js.br +0 -0
- codex/static_root/assets/datetime-column-jb1Y13cY.f98386c3c6cf.js.gz +0 -0
- codex/static_root/assets/datetime-column-jb1Y13cY.js.br +0 -0
- codex/static_root/assets/datetime-column-jb1Y13cY.js.gz +0 -0
- codex/static_root/assets/filter-DU947LwF.64baedae8854.js.br +0 -0
- codex/static_root/assets/filter-DU947LwF.64baedae8854.js.gz +0 -0
- codex/static_root/assets/filter-DU947LwF.js.br +0 -0
- codex/static_root/assets/filter-DU947LwF.js.gz +0 -0
- codex/static_root/assets/flag-tab-BTT0536t.4219f4036821.js.br +0 -0
- codex/static_root/assets/flag-tab-BTT0536t.4219f4036821.js.gz +0 -0
- codex/static_root/assets/flag-tab-BTT0536t.js.br +0 -0
- codex/static_root/assets/flag-tab-BTT0536t.js.gz +0 -0
- codex/static_root/assets/forwardRefs-BGAZ1bvO.676c1aac262e.js.br +0 -0
- codex/static_root/assets/forwardRefs-BGAZ1bvO.676c1aac262e.js.gz +0 -0
- codex/static_root/assets/forwardRefs-BGAZ1bvO.js.br +0 -0
- codex/static_root/assets/forwardRefs-BGAZ1bvO.js.gz +0 -0
- codex/static_root/assets/group-tab-BP-SEY6G.0cb4e211f69e.js +0 -1
- codex/static_root/assets/group-tab-BP-SEY6G.0cb4e211f69e.js.br +0 -0
- codex/static_root/assets/group-tab-BP-SEY6G.0cb4e211f69e.js.gz +0 -0
- codex/static_root/assets/group-tab-BP-SEY6G.js +0 -1
- codex/static_root/assets/group-tab-BP-SEY6G.js.br +0 -0
- codex/static_root/assets/group-tab-BP-SEY6G.js.gz +0 -0
- codex/static_root/assets/http-error-1DNqtVPW.968aac8be867.js +0 -1
- codex/static_root/assets/http-error-1DNqtVPW.968aac8be867.js.br +0 -0
- codex/static_root/assets/http-error-1DNqtVPW.968aac8be867.js.gz +0 -0
- codex/static_root/assets/http-error-1DNqtVPW.js +0 -1
- codex/static_root/assets/http-error-1DNqtVPW.js.br +0 -0
- codex/static_root/assets/http-error-1DNqtVPW.js.gz +0 -0
- codex/static_root/assets/index-Cm9w_Tog.a1b4683f2e1d.js.br +0 -0
- codex/static_root/assets/index-Cm9w_Tog.a1b4683f2e1d.js.gz +0 -0
- codex/static_root/assets/index-Cm9w_Tog.js.br +0 -0
- codex/static_root/assets/index-Cm9w_Tog.js.gz +0 -0
- codex/static_root/assets/library-tab-5StL67ei.0fad8998a237.css.br +0 -0
- codex/static_root/assets/library-tab-5StL67ei.0fad8998a237.css.gz +0 -0
- codex/static_root/assets/library-tab-5StL67ei.css.br +0 -0
- codex/static_root/assets/library-tab-5StL67ei.css.gz +0 -0
- codex/static_root/assets/library-tab-C6FTaygv.b5c79b97a5a3.js +0 -1
- codex/static_root/assets/library-tab-C6FTaygv.b5c79b97a5a3.js.br +0 -0
- codex/static_root/assets/library-tab-C6FTaygv.b5c79b97a5a3.js.gz +0 -0
- codex/static_root/assets/library-tab-C6FTaygv.js +0 -1
- codex/static_root/assets/library-tab-C6FTaygv.js.br +0 -0
- codex/static_root/assets/library-tab-C6FTaygv.js.gz +0 -0
- codex/static_root/assets/main-CTlarBH9.047e388380e4.js +0 -39
- codex/static_root/assets/main-CTlarBH9.047e388380e4.js.br +0 -0
- codex/static_root/assets/main-CTlarBH9.047e388380e4.js.gz +0 -0
- codex/static_root/assets/main-CTlarBH9.js +0 -39
- codex/static_root/assets/main-CTlarBH9.js.br +0 -0
- codex/static_root/assets/main-CTlarBH9.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-BRkb6G_B.62c8a1533096.js +0 -1
- codex/static_root/assets/pager-full-pdf-BRkb6G_B.62c8a1533096.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-BRkb6G_B.62c8a1533096.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-BRkb6G_B.js +0 -1
- codex/static_root/assets/pager-full-pdf-BRkb6G_B.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-BRkb6G_B.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-U9PS3jI7.27a94126052e.js +0 -1
- codex/static_root/assets/pagination-toolbar-U9PS3jI7.27a94126052e.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-U9PS3jI7.27a94126052e.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-U9PS3jI7.js +0 -1
- codex/static_root/assets/pagination-toolbar-U9PS3jI7.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-U9PS3jI7.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-rUdD4-Qi.3a224c7806a5.css.br +0 -0
- codex/static_root/assets/pagination-toolbar-rUdD4-Qi.css.br +0 -0
- codex/static_root/assets/pdf-doc-CMzddyqW.5ef7eef50756.js.br +0 -0
- codex/static_root/assets/pdf-doc-CMzddyqW.5ef7eef50756.js.gz +0 -0
- codex/static_root/assets/pdf-doc-CMzddyqW.js.br +0 -0
- codex/static_root/assets/pdf-doc-CMzddyqW.js.gz +0 -0
- codex/static_root/assets/reader-DFkGB8xM.ba0585d918b5.js.br +0 -0
- codex/static_root/assets/reader-DFkGB8xM.ba0585d918b5.js.gz +0 -0
- codex/static_root/assets/reader-DFkGB8xM.js.br +0 -0
- codex/static_root/assets/reader-DFkGB8xM.js.gz +0 -0
- codex/static_root/assets/reader-HE07eoaG.8626eeb7c718.css.br +0 -0
- codex/static_root/assets/reader-HE07eoaG.8626eeb7c718.css.gz +0 -0
- codex/static_root/assets/reader-HE07eoaG.css.br +0 -0
- codex/static_root/assets/reader-HE07eoaG.css.gz +0 -0
- codex/static_root/assets/relation-chips-32lE_odZ.7cc1620d4c97.js.br +0 -0
- codex/static_root/assets/relation-chips-32lE_odZ.7cc1620d4c97.js.gz +0 -0
- codex/static_root/assets/relation-chips-32lE_odZ.js.br +0 -0
- codex/static_root/assets/relation-chips-32lE_odZ.js.gz +0 -0
- codex/static_root/assets/settings-drawer-B-pwZRSy.8fc8b237bb52.css.br +0 -0
- codex/static_root/assets/settings-drawer-B-pwZRSy.8fc8b237bb52.css.gz +0 -0
- codex/static_root/assets/settings-drawer-B-pwZRSy.css.br +0 -0
- codex/static_root/assets/settings-drawer-B-pwZRSy.css.gz +0 -0
- codex/static_root/assets/settings-drawer-BaTLfqbD.8693ca4de517.js +0 -2
- codex/static_root/assets/settings-drawer-BaTLfqbD.8693ca4de517.js.br +0 -0
- codex/static_root/assets/settings-drawer-BaTLfqbD.8693ca4de517.js.gz +0 -0
- codex/static_root/assets/settings-drawer-BaTLfqbD.js +0 -2
- codex/static_root/assets/settings-drawer-BaTLfqbD.js.br +0 -0
- codex/static_root/assets/settings-drawer-BaTLfqbD.js.gz +0 -0
- codex/static_root/assets/ssrBoot-CjQLVcFD.0db2c2fe9b66.js.br +0 -0
- codex/static_root/assets/ssrBoot-CjQLVcFD.0db2c2fe9b66.js.gz +0 -0
- codex/static_root/assets/ssrBoot-CjQLVcFD.js.br +0 -0
- codex/static_root/assets/ssrBoot-CjQLVcFD.js.gz +0 -0
- codex/static_root/assets/stats-tab-WD67DkuY.4cd13274173f.js.br +0 -0
- codex/static_root/assets/stats-tab-WD67DkuY.4cd13274173f.js.gz +0 -0
- codex/static_root/assets/stats-tab-WD67DkuY.js.br +0 -0
- codex/static_root/assets/stats-tab-WD67DkuY.js.gz +0 -0
- codex/static_root/assets/task-tab-CHOLNUJh.bbf1c7a95058.js.br +0 -0
- codex/static_root/assets/task-tab-CHOLNUJh.bbf1c7a95058.js.gz +0 -0
- codex/static_root/assets/task-tab-CHOLNUJh.js.br +0 -0
- codex/static_root/assets/task-tab-CHOLNUJh.js.gz +0 -0
- codex/static_root/assets/unauthorized-BsEyzLQ2.e54a69cff5c6.js.br +0 -0
- codex/static_root/assets/unauthorized-BsEyzLQ2.e54a69cff5c6.js.gz +0 -0
- codex/static_root/assets/unauthorized-BsEyzLQ2.js.br +0 -0
- codex/static_root/assets/unauthorized-BsEyzLQ2.js.gz +0 -0
- codex/static_root/assets/user-tab-CbNhbZzZ.af38f932a795.js.br +0 -0
- codex/static_root/assets/user-tab-CbNhbZzZ.af38f932a795.js.gz +0 -0
- codex/static_root/assets/user-tab-CbNhbZzZ.js.br +0 -0
- codex/static_root/assets/user-tab-CbNhbZzZ.js.gz +0 -0
- codex/static_root/manifest.39fe502cd3a2.json.br +0 -0
- codex/static_root/manifest.39fe502cd3a2.json.gz +0 -0
- codex-1.8.10.dist-info/RECORD +0 -1103
- codex-1.8.10.dist-info/WHEEL +0 -4
- codex-1.8.10.dist-info/licenses/LICENSE +0 -674
codex/applications/websocket.py
CHANGED
|
@@ -11,9 +11,9 @@ WEBSOCKET_APPLICATION = AllowedHostsOriginValidator(
|
|
|
11
11
|
AuthMiddlewareStack(
|
|
12
12
|
URLRouter(
|
|
13
13
|
[
|
|
14
|
-
path(
|
|
14
|
+
path( # pyright:ignore[reportCallIssue]
|
|
15
15
|
"api/v3/ws",
|
|
16
|
-
NotifierConsumer.as_asgi(),
|
|
16
|
+
NotifierConsumer.as_asgi(), # pyright: ignore[reportArgumentType]
|
|
17
17
|
name="websocket",
|
|
18
18
|
),
|
|
19
19
|
]
|
codex/choices/choices_to_json.py
CHANGED
codex/librarian/librariand.py
CHANGED
|
@@ -10,9 +10,9 @@ from aioprocessing.queues import AioQueue
|
|
|
10
10
|
from caseconverter import snakecase
|
|
11
11
|
from typing_extensions import override
|
|
12
12
|
|
|
13
|
-
from codex.librarian.bookmark.bookmarkd import BookmarkThread # typos:
|
|
13
|
+
from codex.librarian.bookmark.bookmarkd import BookmarkThread # typos:ignore
|
|
14
14
|
from codex.librarian.bookmark.tasks import BookmarkTask
|
|
15
|
-
from codex.librarian.covers.coverd import ( # codespell:ignore coverd, typos:
|
|
15
|
+
from codex.librarian.covers.coverd import ( # codespell:ignore coverd, typos:ignore
|
|
16
16
|
CoverThread,
|
|
17
17
|
)
|
|
18
18
|
from codex.librarian.covers.tasks import CoverTask
|
|
@@ -97,7 +97,7 @@ class LibrarianDaemon(Process):
|
|
|
97
97
|
case WakeCronTask():
|
|
98
98
|
self._threads.cron_thread.end_timeout()
|
|
99
99
|
case CodexRestarterTask():
|
|
100
|
-
restarter = CodexRestarter(self.log, self.queue,
|
|
100
|
+
restarter = CodexRestarter(self.log, self.queue, self.db_write_lock)
|
|
101
101
|
restarter.handle_task(task)
|
|
102
102
|
case LibrarianShutdownTask():
|
|
103
103
|
self.log.info(f"Shutting down {self.name}...")
|
|
@@ -5,13 +5,13 @@ import signal
|
|
|
5
5
|
|
|
6
6
|
from codex.librarian.restarter.status import (
|
|
7
7
|
CodexRestarterRestartStatus,
|
|
8
|
+
CodexRestarterStatus,
|
|
8
9
|
CodexRestarterStopStatus,
|
|
9
10
|
)
|
|
10
11
|
from codex.librarian.restarter.tasks import (
|
|
11
12
|
CodexRestartTask,
|
|
12
13
|
CodexShutdownTask,
|
|
13
14
|
)
|
|
14
|
-
from codex.librarian.status import Status
|
|
15
15
|
from codex.librarian.tasks import LibrarianShutdownTask
|
|
16
16
|
from codex.librarian.worker import WorkerStatusBase
|
|
17
17
|
|
|
@@ -19,9 +19,10 @@ from codex.librarian.worker import WorkerStatusBase
|
|
|
19
19
|
class CodexRestarter(WorkerStatusBase):
|
|
20
20
|
"""Codex restarter."""
|
|
21
21
|
|
|
22
|
-
def _shutdown_codex(
|
|
22
|
+
def _shutdown_codex(
|
|
23
|
+
self, status: CodexRestarterStatus, name: str, sig: signal.Signals
|
|
24
|
+
):
|
|
23
25
|
"""Send a system signal as handled in run.py."""
|
|
24
|
-
status = Status(status)
|
|
25
26
|
try:
|
|
26
27
|
self.status_controller.start(status)
|
|
27
28
|
self.log.info(f"Sending {name} signal.")
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
from datetime import datetime, timezone
|
|
4
4
|
from tarfile import TarError
|
|
5
|
+
from types import MappingProxyType
|
|
5
6
|
from zipfile import BadZipFile, LargeZipFile
|
|
6
7
|
|
|
7
8
|
from comicbox.box import Comicbox
|
|
8
9
|
from comicbox.exceptions import UnsupportedArchiveTypeError
|
|
10
|
+
from comicbox.schemas.comicbox import PAGE_COUNT_KEY
|
|
9
11
|
from py7zr.exceptions import ArchiveError as Py7zError
|
|
10
12
|
from rarfile import Error as RarError
|
|
11
13
|
|
|
@@ -24,15 +26,18 @@ class ExtractMetadataImporter(AggregateMetadataImporter):
|
|
|
24
26
|
"""Aggregate metadata from comics to prepare for importing."""
|
|
25
27
|
|
|
26
28
|
@staticmethod
|
|
27
|
-
def
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
def _old_comic_values(
|
|
30
|
+
old_comic_values: MappingProxyType, path: str
|
|
31
|
+
) -> tuple[str | None, int | None, datetime | None]:
|
|
32
|
+
old_comic = old_comic_values.get(path, {})
|
|
33
|
+
old_file_type = old_comic.get("file_type")
|
|
34
|
+
old_page_count = old_comic.get(PAGE_COUNT_KEY)
|
|
35
|
+
old_mtime = old_comic.get("metadata_mtime")
|
|
36
|
+
if old_mtime and (
|
|
37
|
+
old_mtime.tzinfo is None or old_mtime.tzinfo.utcoffset(old_mtime) is None
|
|
38
|
+
):
|
|
39
|
+
old_mtime = old_mtime.replace(tzinfo=timezone.utc)
|
|
40
|
+
return old_file_type, old_page_count, old_mtime
|
|
36
41
|
|
|
37
42
|
def _set_import_metadata_flag(self):
|
|
38
43
|
"""Set import_metadata flag."""
|
|
@@ -45,29 +50,54 @@ class ExtractMetadataImporter(AggregateMetadataImporter):
|
|
|
45
50
|
self.log.warning("Admin flag set to NOT import metadata.")
|
|
46
51
|
return import_metadata
|
|
47
52
|
|
|
48
|
-
def
|
|
49
|
-
|
|
53
|
+
def _extract_path_comicbox(
|
|
54
|
+
self,
|
|
55
|
+
path: str,
|
|
56
|
+
old_comic_values: MappingProxyType,
|
|
57
|
+
*,
|
|
58
|
+
import_metadata: bool,
|
|
59
|
+
):
|
|
60
|
+
old_file_type, old_page_count, old_mtime = self._old_comic_values(
|
|
61
|
+
old_comic_values, path
|
|
62
|
+
)
|
|
50
63
|
md = {}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
md = md.get("comicbox", {})
|
|
64
|
-
md["metadata_mtime"] = new_md_mtime
|
|
65
|
-
else:
|
|
66
|
-
md["page_count"] = cb.get_page_count()
|
|
64
|
+
with Comicbox(path, config=COMICBOX_CONFIG, logger=self.log) as cb:
|
|
65
|
+
if import_metadata:
|
|
66
|
+
new_md_mtime = cb.get_metadata_mtime()
|
|
67
|
+
if (
|
|
68
|
+
not self.task.check_metadata_mtime
|
|
69
|
+
or not new_md_mtime
|
|
70
|
+
or not old_mtime
|
|
71
|
+
or (new_md_mtime > old_mtime)
|
|
72
|
+
):
|
|
73
|
+
md = cb.to_dict()
|
|
74
|
+
md = md.get("comicbox", {})
|
|
75
|
+
md["metadata_mtime"] = new_md_mtime
|
|
67
76
|
else:
|
|
68
77
|
md["page_count"] = cb.get_page_count()
|
|
69
|
-
|
|
78
|
+
else:
|
|
79
|
+
md["page_count"] = cb.get_page_count()
|
|
80
|
+
file_type = cb.get_file_type()
|
|
81
|
+
|
|
82
|
+
if old_page_count == md.get("page_count"):
|
|
83
|
+
md.pop("page_count")
|
|
84
|
+
if old_file_type != file_type:
|
|
85
|
+
md["file_type"] = file_type
|
|
86
|
+
|
|
87
|
+
if md:
|
|
70
88
|
md["path"] = path
|
|
89
|
+
return md
|
|
90
|
+
|
|
91
|
+
def _extract_path(
|
|
92
|
+
self, path: str, old_comic_values: MappingProxyType, *, import_metadata: bool
|
|
93
|
+
):
|
|
94
|
+
"""Extract metadata from comic and clean it for codex."""
|
|
95
|
+
md = {}
|
|
96
|
+
failed_import = {}
|
|
97
|
+
try:
|
|
98
|
+
md = self._extract_path_comicbox(
|
|
99
|
+
path, old_comic_values, import_metadata=import_metadata
|
|
100
|
+
)
|
|
71
101
|
except (
|
|
72
102
|
UnsupportedArchiveTypeError,
|
|
73
103
|
BadZipFile,
|
|
@@ -86,6 +116,18 @@ class ExtractMetadataImporter(AggregateMetadataImporter):
|
|
|
86
116
|
self.metadata[FIS].update(failed_import)
|
|
87
117
|
return md
|
|
88
118
|
|
|
119
|
+
@staticmethod
|
|
120
|
+
def _get_all_old_comic_values(all_paths: frozenset[str]):
|
|
121
|
+
"""Get some old comic values."""
|
|
122
|
+
old_comics = Comic.objects.filter(path__in=all_paths).values(
|
|
123
|
+
"path", "metadata_mtime", "page_count", "file_type"
|
|
124
|
+
)
|
|
125
|
+
old_comic_values = {}
|
|
126
|
+
for old_comic in old_comics:
|
|
127
|
+
old_path = old_comic.pop("path")
|
|
128
|
+
old_comic_values[old_path] = old_comic
|
|
129
|
+
return MappingProxyType(old_comic_values)
|
|
130
|
+
|
|
89
131
|
def extract_metadata(self, status=None) -> int:
|
|
90
132
|
"""Extract comic metadata into memory."""
|
|
91
133
|
count = 0
|
|
@@ -108,11 +150,14 @@ class ExtractMetadataImporter(AggregateMetadataImporter):
|
|
|
108
150
|
|
|
109
151
|
# Set import_metadata flag
|
|
110
152
|
import_metadata = self._set_import_metadata_flag()
|
|
153
|
+
old_comic_values = self._get_all_old_comic_values(all_paths)
|
|
111
154
|
|
|
112
155
|
for path in all_paths:
|
|
113
156
|
if self.abort_event.is_set():
|
|
114
157
|
return count
|
|
115
|
-
if md := self._extract_path(
|
|
158
|
+
if md := self._extract_path(
|
|
159
|
+
path, old_comic_values, import_metadata=import_metadata
|
|
160
|
+
):
|
|
116
161
|
self.metadata[EXTRACTED][path] = md
|
|
117
162
|
else:
|
|
118
163
|
self.metadata[SKIPPED].add(path)
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
from collections.abc import Mapping
|
|
4
4
|
from contextlib import suppress
|
|
5
5
|
|
|
6
|
+
from comicbox.fields.number_fields import PAGE_COUNT_KEY
|
|
6
7
|
from comicbox.identifiers import IdSources
|
|
7
8
|
from comicbox.schemas.comicbox import (
|
|
8
9
|
ID_KEY_KEY,
|
|
@@ -28,6 +29,8 @@ from codex.models.groups import BrowserGroupModel, Volume
|
|
|
28
29
|
from codex.models.identifier import Identifier, IdentifierSource
|
|
29
30
|
from codex.util import max_none
|
|
30
31
|
|
|
32
|
+
_MINIMAL_KEYS = frozenset({"file_type", PAGE_COUNT_KEY, "path"})
|
|
33
|
+
|
|
31
34
|
|
|
32
35
|
class AggregateForeignKeyMetadataImporter(QueryForeignKeysImporter):
|
|
33
36
|
"""Aggregate Browser Group Trees."""
|
|
@@ -128,7 +131,12 @@ class AggregateForeignKeyMetadataImporter(QueryForeignKeysImporter):
|
|
|
128
131
|
model: type[BaseModel] = related_field.model # pyright: ignore[reportAssignmentType], # ty: ignore[invalid-assignment]
|
|
129
132
|
md_key = field_name
|
|
130
133
|
value = md.pop(md_key, None)
|
|
131
|
-
|
|
134
|
+
|
|
135
|
+
if value is None and (
|
|
136
|
+
not issubclass(model, BrowserGroupModel)
|
|
137
|
+
# prevents skipped metadata from destroying browser group links
|
|
138
|
+
or not frozenset(set(md.keys()) - _MINIMAL_KEYS)
|
|
139
|
+
):
|
|
132
140
|
continue
|
|
133
141
|
|
|
134
142
|
if issubclass(model, BrowserGroupModel):
|
|
@@ -120,7 +120,7 @@ class SearchEntryPrepare:
|
|
|
120
120
|
"""Prepare ComicFTS object from import data."""
|
|
121
121
|
cls._create_comicfts_entry_m2ms(entry, existing_m2m_values)
|
|
122
122
|
cls._create_comicfts_entry_fks(entry)
|
|
123
|
-
for field_name in entry:
|
|
123
|
+
for field_name in entry:
|
|
124
124
|
value = entry[field_name]
|
|
125
125
|
if isinstance(value, tuple):
|
|
126
126
|
entry[field_name] = ",".join(sorted(value))
|
codex/models/groups.py
CHANGED
|
@@ -76,7 +76,7 @@ class IdentifiedBrowserGroupModel(BrowserGroupModel):
|
|
|
76
76
|
then it would impossible to unlink a second level m2m relationship when comics are
|
|
77
77
|
deleted. So I choose the highest priority one in import.
|
|
78
78
|
Additionally, Browser groups will update to the highest priority identifier by
|
|
79
|
-
source instead of creating duplicate groups to keep the hierarchy
|
|
79
|
+
source instead of creating duplicate groups to keep the hierarchy consolidated.
|
|
80
80
|
"""
|
|
81
81
|
|
|
82
82
|
identifier = ForeignKey(Identifier, on_delete=CASCADE, null=True)
|
codex/run.py
CHANGED
|
@@ -34,7 +34,7 @@ def _database_checkpoint():
|
|
|
34
34
|
|
|
35
35
|
def restart():
|
|
36
36
|
"""Restart this process."""
|
|
37
|
-
from sys import argv
|
|
37
|
+
from sys import argv
|
|
38
38
|
|
|
39
39
|
print("Restarting Codex. Hold on to your butts...", flush=True) # noqa: T201
|
|
40
40
|
execv(__file__, argv) # noqa: S606
|
|
@@ -56,7 +56,7 @@ def run():
|
|
|
56
56
|
librarian.start()
|
|
57
57
|
asyncio.run(
|
|
58
58
|
serve(
|
|
59
|
-
application,
|
|
59
|
+
application, # pyright: ignore[reportArgumentType]
|
|
60
60
|
HYPERCORN_CONFIG,
|
|
61
61
|
shutdown_trigger=SHUTDOWN_EVENT.wait,
|
|
62
62
|
)
|
codex/static_root/assets/{VCheckbox-BfVeJY8A.b8e4dee22b3c.js → VCheckbox-mMixTHeh.d292a58d01be.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as I,V as r}from"./VCheckboxBtn-
|
|
1
|
+
import{m as I,V as r}from"./VCheckboxBtn-CmvquRAN.js";import{u as A,m as F,g as u}from"./VSelectionControl-GD0v-LdL.js";import{f as R}from"./forwardRefs-DB5ky8tb.js";import{g as B,p as U,e as w,r as D,u as M,o as N,bu as $,bv as j,a as l,m as d}from"./main-C-77N8Gu.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),v=u.filterProps(e),k=r.filterProps(e);return l(u,d({ref:t,class:["v-checkbox",e.class]},p,v,{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(k,{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};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as I,V as r}from"./VCheckboxBtn-
|
|
1
|
+
import{m as I,V as r}from"./VCheckboxBtn-CmvquRAN.js";import{u as A,m as F,g as u}from"./VSelectionControl-GD0v-LdL.js";import{f as R}from"./forwardRefs-DB5ky8tb.js";import{g as B,p as U,e as w,r as D,u as M,o as N,bu as $,bv as j,a as l,m as d}from"./main-C-77N8Gu.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),v=u.filterProps(e),k=r.filterProps(e);return l(u,d({ref:t,class:["v-checkbox",e.class]},p,v,{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(k,{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};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as f,k as a}from"./VSelectionControl-
|
|
1
|
+
import{l as f,k as a}from"./VSelectionControl-GD0v-LdL.js";import{p as V,L 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-C-77N8Gu.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};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as f,k as a}from"./VSelectionControl-
|
|
1
|
+
import{l as f,k as a}from"./VSelectionControl-GD0v-LdL.js";import{p as V,L 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-C-77N8Gu.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};
|
|
Binary file
|
|
Binary file
|
codex/static_root/assets/{VCombobox-D6t70eT1.a5c82ecd9544.js → VCombobox-B-q89wJH.176455c7dbee.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as ye,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-
|
|
1
|
+
import{u as ye,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-TZp4owlN.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-GD0v-LdL.js";import{u as Pe,f as Re,p as Ae,k as G,l as Te}from"./forwardRefs-DB5ky8tb.js";import{u as Ee,m as Me,h as _e}from"./filter-B5vuKzJr.js";import{g as Ne,p as Ke,aC as Le,r as _,aU as F,e as J,bE as Be,c as x,aX as N,bF as Oe,t as Ue,aV as D,bG as W,u as ze,a as d,m as k,o as $e,bH as qe,bI as X,bt as He,b as C,bJ as je,F as $,bK as Ge,n as Je,d as We,z as Xe}from"./main-C-77N8Gu.js";import{a as Q,g as Qe}from"./VDialog-VIXXkGcp.js";import{a as Ye}from"./VDivider-DZYqABoC.js";import{V as Ze}from"./VCheckboxBtn-CmvquRAN.js";const el=Ke({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...$e(De({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ae({transition:!1})},"VCombobox"),rl=Ne()({name:"VCombobox",props:el(),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:K}=Le(),m=_(),b=F(!1),y=F(!0),L=F(!1),q=_(),P=_(),n=F(-1);let B=!1;const{items:ee,transformIn:le,transformOut:ae}=ye(e),{textColorClasses:te,textColorStyles:ue}=Pe(()=>m.value?.color),u=J(e,"modelValue",[],l=>le(Be(l)),l=>{const o=ae(l);return e.multiple?o:o[0]??null}),R=Fe(e),A=x(()=>!!(e.chips||r.chip)),g=x(()=>A.value||!!r.selection),V=F(!e.multiple&&!g.value?u.value[0]?.title??"":""),c=x({get:()=>V.value,set:async l=>{if(V.value=l??"",!e.multiple&&!g.value&&(u.value=[I(e,l)],N(()=>P.value?.scrollToIndex(0))),l&&e.multiple&&e.delimiters?.length){const o=e.delimiters.map(Oe).join("|"),i=l.split(new RegExp(`(?:${o})+`));if(i.length>1){for(let a of i)a=a.trim(),a&&(h(I(e,a)),await N());V.value=""}}l||(n.value=-1),y.value=!l}}),ne=x(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:c.value.length),{filteredItems:T,getMatches:oe}=Ee(e,ee,()=>y.value?"":c.value),p=x(()=>e.hideSelected?T.value.filter(l=>!u.value.some(o=>o.value===l.value)):T.value),E=x(()=>e.hideNoData&&!p.value.length||R.isReadonly.value||R.isDisabled.value),O=J(e,"menu"),s=x({get:()=>O.value,set:l=>{O.value&&!l&&q.value?.ΨopenChildren.size||l&&E.value||(O.value=l)}}),H=Ue(()=>s.value?e.closeText:e.openText);D(V,l=>{B?N(()=>B=!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=x(()=>u.value.map(l=>l.value)),U=x(()=>(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&c.value===p.value[0]?.title)&&p.value.length>0&&!y.value&&!L.value),z=_(),se=Ve(z,m);function re(l){B=!0,e.openOnClear&&(s.value=!0)}function ce(){E.value||(s.value=!0)}function ve(l){E.value||(b.value&&(l.preventDefault(),l.stopPropagation()),s.value=!s.value)}function de(l){(X(l)||l.key==="Backspace")&&m.value?.focus()}function fe(l){if(qe(l)||R.isReadonly.value)return;const o=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)&&(U.value&&["Enter","Tab"].includes(l.key)&&!u.value.some(a=>{let{value:t}=a;return t===p.value[0].value})&&h(T.value[0]),y.value=!0),l.key==="ArrowDown"&&U.value&&z.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(~n.value){l.preventDefault();const a=n.value;h(u.value[n.value],!1),n.value=a>=i-1?i-2:a}else l.key==="Backspace"&&!c.value&&(n.value=i-1);return}if(e.multiple)if(l.key==="ArrowLeft"){if(n.value<0&&o&&o>0)return;const a=n.value>-1?n.value-1:i-1;u.value[a]?n.value=a:(n.value=-1,m.value?.setSelectionRange(c.value.length,c.value.length))}else if(l.key==="ArrowRight"){if(n.value<0)return;const a=n.value+1;u.value[a]?n.value=a:(n.value=-1,m.value?.setSelectionRange(0,0))}else~n.value&&X(l)&&(n.value=-1)}function me(){e.eager&&P.value?.calculateVisibleItems()}function he(){b.value&&(y.value=!0,m.value?.focus())}function h(l){let o=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||W)(t.value,l.value)),a=o??!~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=o!==!1;u.value=i?[l]:[],V.value=i&&!g.value?l.title:"",N(()=>{s.value=!1,y.value=!0})}}function be(l){b.value=!0,setTimeout(()=>{L.value=!0})}function ge(l){L.value=!1}function xe(l){(l==null||l===""&&!e.multiple&&!g.value)&&(u.value=[])}return D(b,(l,o)=>{if(!(l||l===o)&&(n.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(o=>u.value.some(i=>(e.valueComparator||W)(i.value,o.value)));He&&window.requestAnimationFrame(()=>{l>=0&&P.value?.scrollToIndex(l)})}}),D(()=>e.items,(l,o)=>{s.value||b.value&&!o.length&&l.length&&(s.value=!0)}),ze(()=>{const l=!!(!e.hideNoData||p.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),o=u.value.length>0,i=j.filterProps(e);return d(j,k({ref:m},i,{modelValue:c.value,"onUpdate:modelValue":[a=>c.value=a,xe],focused:b.value,"onUpdate:focused":a=>b.value=a,validationValue:u.externalValue,counterValue:ne.value,dirty:o,class:["v-combobox",{"v-combobox--active-menu":s.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!g.value,"v-combobox--selecting-index":n.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:R.isReadonly.value,placeholder:o?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:E.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:z,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(Q,{key:"no-data",title:K(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:U.value&&v===0?!0:void 0,onClick:()=>h(t,null)});return t.type==="divider"?r.divider?.({props:t.raw,index:v})??d(Ye,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(Q,k(w,{role:"option"}),{prepend:S=>{let{isSelected:f}=S;return C($,null,[e.multiple&&!e.hideSelected?d(Ze,{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(G,{icon:t.props.prependIcon},null)])},title:()=>y.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?Ge(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:We(["v-combobox__selection",t===n.value&&["v-combobox__selection--selected",te.value]]),style:Je(t===n.value?ue.value:{})},[A.value?r.chip?d(Te,{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"},[Xe(",")])])])})]),"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(G,{class:"v-combobox__menu-icon",color:m.value?.fieldIconColor,icon:e.menuIcon,onMousedown:ve,onClick:je,"aria-label":K(H.value),title:K(H.value),tabindex:"-1"},null):void 0])}})}),Re({isFocused:b,isPristine:y,menu:s,search:c,selectionIndex:n,filteredItems:T,select:h},m)}});export{rl as V};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as ye,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-
|
|
1
|
+
import{u as ye,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-TZp4owlN.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-GD0v-LdL.js";import{u as Pe,f as Re,p as Ae,k as G,l as Te}from"./forwardRefs-DB5ky8tb.js";import{u as Ee,m as Me,h as _e}from"./filter-B5vuKzJr.js";import{g as Ne,p as Ke,aC as Le,r as _,aU as F,e as J,bE as Be,c as x,aX as N,bF as Oe,t as Ue,aV as D,bG as W,u as ze,a as d,m as k,o as $e,bH as qe,bI as X,bt as He,b as C,bJ as je,F as $,bK as Ge,n as Je,d as We,z as Xe}from"./main-C-77N8Gu.js";import{a as Q,g as Qe}from"./VDialog-VIXXkGcp.js";import{a as Ye}from"./VDivider-DZYqABoC.js";import{V as Ze}from"./VCheckboxBtn-CmvquRAN.js";const el=Ke({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...$e(De({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ae({transition:!1})},"VCombobox"),rl=Ne()({name:"VCombobox",props:el(),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:K}=Le(),m=_(),b=F(!1),y=F(!0),L=F(!1),q=_(),P=_(),n=F(-1);let B=!1;const{items:ee,transformIn:le,transformOut:ae}=ye(e),{textColorClasses:te,textColorStyles:ue}=Pe(()=>m.value?.color),u=J(e,"modelValue",[],l=>le(Be(l)),l=>{const o=ae(l);return e.multiple?o:o[0]??null}),R=Fe(e),A=x(()=>!!(e.chips||r.chip)),g=x(()=>A.value||!!r.selection),V=F(!e.multiple&&!g.value?u.value[0]?.title??"":""),c=x({get:()=>V.value,set:async l=>{if(V.value=l??"",!e.multiple&&!g.value&&(u.value=[I(e,l)],N(()=>P.value?.scrollToIndex(0))),l&&e.multiple&&e.delimiters?.length){const o=e.delimiters.map(Oe).join("|"),i=l.split(new RegExp(`(?:${o})+`));if(i.length>1){for(let a of i)a=a.trim(),a&&(h(I(e,a)),await N());V.value=""}}l||(n.value=-1),y.value=!l}}),ne=x(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:c.value.length),{filteredItems:T,getMatches:oe}=Ee(e,ee,()=>y.value?"":c.value),p=x(()=>e.hideSelected?T.value.filter(l=>!u.value.some(o=>o.value===l.value)):T.value),E=x(()=>e.hideNoData&&!p.value.length||R.isReadonly.value||R.isDisabled.value),O=J(e,"menu"),s=x({get:()=>O.value,set:l=>{O.value&&!l&&q.value?.ΨopenChildren.size||l&&E.value||(O.value=l)}}),H=Ue(()=>s.value?e.closeText:e.openText);D(V,l=>{B?N(()=>B=!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=x(()=>u.value.map(l=>l.value)),U=x(()=>(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&c.value===p.value[0]?.title)&&p.value.length>0&&!y.value&&!L.value),z=_(),se=Ve(z,m);function re(l){B=!0,e.openOnClear&&(s.value=!0)}function ce(){E.value||(s.value=!0)}function ve(l){E.value||(b.value&&(l.preventDefault(),l.stopPropagation()),s.value=!s.value)}function de(l){(X(l)||l.key==="Backspace")&&m.value?.focus()}function fe(l){if(qe(l)||R.isReadonly.value)return;const o=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)&&(U.value&&["Enter","Tab"].includes(l.key)&&!u.value.some(a=>{let{value:t}=a;return t===p.value[0].value})&&h(T.value[0]),y.value=!0),l.key==="ArrowDown"&&U.value&&z.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(~n.value){l.preventDefault();const a=n.value;h(u.value[n.value],!1),n.value=a>=i-1?i-2:a}else l.key==="Backspace"&&!c.value&&(n.value=i-1);return}if(e.multiple)if(l.key==="ArrowLeft"){if(n.value<0&&o&&o>0)return;const a=n.value>-1?n.value-1:i-1;u.value[a]?n.value=a:(n.value=-1,m.value?.setSelectionRange(c.value.length,c.value.length))}else if(l.key==="ArrowRight"){if(n.value<0)return;const a=n.value+1;u.value[a]?n.value=a:(n.value=-1,m.value?.setSelectionRange(0,0))}else~n.value&&X(l)&&(n.value=-1)}function me(){e.eager&&P.value?.calculateVisibleItems()}function he(){b.value&&(y.value=!0,m.value?.focus())}function h(l){let o=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||W)(t.value,l.value)),a=o??!~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=o!==!1;u.value=i?[l]:[],V.value=i&&!g.value?l.title:"",N(()=>{s.value=!1,y.value=!0})}}function be(l){b.value=!0,setTimeout(()=>{L.value=!0})}function ge(l){L.value=!1}function xe(l){(l==null||l===""&&!e.multiple&&!g.value)&&(u.value=[])}return D(b,(l,o)=>{if(!(l||l===o)&&(n.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(o=>u.value.some(i=>(e.valueComparator||W)(i.value,o.value)));He&&window.requestAnimationFrame(()=>{l>=0&&P.value?.scrollToIndex(l)})}}),D(()=>e.items,(l,o)=>{s.value||b.value&&!o.length&&l.length&&(s.value=!0)}),ze(()=>{const l=!!(!e.hideNoData||p.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),o=u.value.length>0,i=j.filterProps(e);return d(j,k({ref:m},i,{modelValue:c.value,"onUpdate:modelValue":[a=>c.value=a,xe],focused:b.value,"onUpdate:focused":a=>b.value=a,validationValue:u.externalValue,counterValue:ne.value,dirty:o,class:["v-combobox",{"v-combobox--active-menu":s.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!g.value,"v-combobox--selecting-index":n.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:R.isReadonly.value,placeholder:o?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:E.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:z,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(Q,{key:"no-data",title:K(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:U.value&&v===0?!0:void 0,onClick:()=>h(t,null)});return t.type==="divider"?r.divider?.({props:t.raw,index:v})??d(Ye,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(Q,k(w,{role:"option"}),{prepend:S=>{let{isSelected:f}=S;return C($,null,[e.multiple&&!e.hideSelected?d(Ze,{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(G,{icon:t.props.prependIcon},null)])},title:()=>y.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?Ge(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:We(["v-combobox__selection",t===n.value&&["v-combobox__selection--selected",te.value]]),style:Je(t===n.value?ue.value:{})},[A.value?r.chip?d(Te,{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"},[Xe(",")])])])})]),"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(G,{class:"v-combobox__menu-icon",color:m.value?.fieldIconColor,icon:e.menuIcon,onMousedown:ve,onClick:je,"aria-label":K(H.value),title:K(H.value),tabindex:"-1"},null):void 0])}})}),Re({isFocused:b,isPristine:y,menu:s,search:c,selectionIndex:n,filteredItems:T,select:h},m)}});export{rl as V};
|
|
Binary file
|
|
Binary file
|