codex 1.6.0a2__py3-none-any.whl → 1.6.0a3__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/static_root/assets/{VCheckbox-H0aBoP9N.becc7bcda4fe.js → VCheckbox-CRu3BJ5D.48cbd6b412f4.js} +1 -1
- codex/static_root/assets/VCheckbox-CRu3BJ5D.48cbd6b412f4.js.br +0 -0
- codex/static_root/assets/VCheckbox-CRu3BJ5D.48cbd6b412f4.js.gz +0 -0
- codex/static_root/assets/{VCheckbox-H0aBoP9N.js → VCheckbox-CRu3BJ5D.js} +1 -1
- codex/static_root/assets/VCheckbox-CRu3BJ5D.js.br +0 -0
- codex/static_root/assets/VCheckbox-CRu3BJ5D.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-CTJ47tuf.895028f44ec0.js → VCheckboxBtn-CAUrQoP4.b162429d9a68.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-CAUrQoP4.b162429d9a68.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-CAUrQoP4.b162429d9a68.js.gz +0 -0
- codex/static_root/assets/{VCheckboxBtn-CTJ47tuf.js → VCheckboxBtn-CAUrQoP4.js} +1 -1
- codex/static_root/assets/VCheckboxBtn-CAUrQoP4.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-CAUrQoP4.js.gz +0 -0
- codex/static_root/assets/{VCombobox-CN1HkVdW.4e967f4996b8.js → VCombobox-DJFO04Gk.b335ed051992.js} +1 -1
- codex/static_root/assets/VCombobox-DJFO04Gk.b335ed051992.js.br +0 -0
- codex/static_root/assets/VCombobox-DJFO04Gk.b335ed051992.js.gz +0 -0
- codex/static_root/assets/{VCombobox-CN1HkVdW.js → VCombobox-DJFO04Gk.js} +1 -1
- codex/static_root/assets/VCombobox-DJFO04Gk.js.br +0 -0
- codex/static_root/assets/VCombobox-DJFO04Gk.js.gz +0 -0
- codex/static_root/assets/{VDialog-DhRhufg-.7823263dc08c.js → VDialog-BcnzrzZO.7fa7ec337394.js} +1 -1
- codex/static_root/assets/VDialog-BcnzrzZO.7fa7ec337394.js.br +0 -0
- codex/static_root/assets/VDialog-BcnzrzZO.7fa7ec337394.js.gz +0 -0
- codex/static_root/assets/{VDialog-DhRhufg-.js → VDialog-BcnzrzZO.js} +1 -1
- codex/static_root/assets/VDialog-BcnzrzZO.js.br +0 -0
- codex/static_root/assets/VDialog-BcnzrzZO.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-BFGZaci1.44e8d898794f.js → VExpansionPanels-DP3HSBJj.a5600e541dc2.js} +1 -1
- codex/static_root/assets/VExpansionPanels-DP3HSBJj.a5600e541dc2.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-DP3HSBJj.a5600e541dc2.js.gz +0 -0
- codex/static_root/assets/{VExpansionPanels-BFGZaci1.js → VExpansionPanels-DP3HSBJj.js} +1 -1
- codex/static_root/assets/VExpansionPanels-DP3HSBJj.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-DP3HSBJj.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-XG50xIIN.2980bd8d85c3.js → VRadioGroup-B9OZxVQw.28f10e381149.js} +1 -1
- codex/static_root/assets/VRadioGroup-B9OZxVQw.28f10e381149.js.br +5 -0
- codex/static_root/assets/VRadioGroup-B9OZxVQw.28f10e381149.js.gz +0 -0
- codex/static_root/assets/{VRadioGroup-XG50xIIN.js → VRadioGroup-B9OZxVQw.js} +1 -1
- codex/static_root/assets/VRadioGroup-B9OZxVQw.js.br +5 -0
- codex/static_root/assets/VRadioGroup-B9OZxVQw.js.gz +0 -0
- codex/static_root/assets/{VSelect-DaalAg2L.1d47bbfdea51.js → VSelect-BIXGglsb.018666f134d5.js} +1 -1
- codex/static_root/assets/VSelect-BIXGglsb.018666f134d5.js.br +0 -0
- codex/static_root/assets/VSelect-BIXGglsb.018666f134d5.js.gz +0 -0
- codex/static_root/assets/{VSelect-DaalAg2L.js → VSelect-BIXGglsb.js} +1 -1
- codex/static_root/assets/VSelect-BIXGglsb.js.br +0 -0
- codex/static_root/assets/VSelect-BIXGglsb.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-wVVkmChP.6f6cd52d60c6.js → VSelectionControl-gDbXN6J_.137a5bce3954.js} +1 -1
- codex/static_root/assets/VSelectionControl-gDbXN6J_.137a5bce3954.js.br +0 -0
- codex/static_root/assets/VSelectionControl-gDbXN6J_.137a5bce3954.js.gz +0 -0
- codex/static_root/assets/{VSelectionControl-wVVkmChP.js → VSelectionControl-gDbXN6J_.js} +1 -1
- codex/static_root/assets/VSelectionControl-gDbXN6J_.js.br +0 -0
- codex/static_root/assets/VSelectionControl-gDbXN6J_.js.gz +0 -0
- codex/static_root/assets/{VSlideGroup-DCfSQ-Vx.4616e3c229cb.js → VSlideGroup-D8FKczaP.3c2d0e591ae3.js} +1 -1
- codex/static_root/assets/VSlideGroup-D8FKczaP.3c2d0e591ae3.js.br +0 -0
- codex/static_root/assets/VSlideGroup-D8FKczaP.3c2d0e591ae3.js.gz +0 -0
- codex/static_root/assets/{VSlideGroup-DCfSQ-Vx.js → VSlideGroup-D8FKczaP.js} +1 -1
- codex/static_root/assets/VSlideGroup-D8FKczaP.js.br +0 -0
- codex/static_root/assets/VSlideGroup-D8FKczaP.js.gz +0 -0
- codex/static_root/assets/{VTable-icaTTwDw.4849eb93242f.js → VTable-D86x2F7y.60c6356a0b73.js} +1 -1
- codex/static_root/assets/VTable-D86x2F7y.60c6356a0b73.js.br +0 -0
- codex/static_root/assets/VTable-D86x2F7y.60c6356a0b73.js.gz +0 -0
- codex/static_root/assets/{VTable-icaTTwDw.js → VTable-D86x2F7y.js} +1 -1
- codex/static_root/assets/VTable-D86x2F7y.js.br +0 -0
- codex/static_root/assets/VTable-D86x2F7y.js.gz +0 -0
- codex/static_root/assets/{VTextField-BzSMerR0.0d18ae12389f.js → VTextField-BEgIi5E-.6a5cf9192004.js} +1 -1
- codex/static_root/assets/VTextField-BEgIi5E-.6a5cf9192004.js.br +0 -0
- codex/static_root/assets/VTextField-BEgIi5E-.6a5cf9192004.js.gz +0 -0
- codex/static_root/assets/{VTextField-BzSMerR0.js → VTextField-BEgIi5E-.js} +1 -1
- codex/static_root/assets/VTextField-BEgIi5E-.js.br +0 -0
- codex/static_root/assets/VTextField-BEgIi5E-.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-CJBsFzH7.182ab7c56e32.js → VWindowItem-aBb7Akq5.f0d7de98e392.js} +1 -1
- codex/static_root/assets/VWindowItem-aBb7Akq5.f0d7de98e392.js.br +0 -0
- codex/static_root/assets/VWindowItem-aBb7Akq5.f0d7de98e392.js.gz +0 -0
- codex/static_root/assets/{VWindowItem-CJBsFzH7.js → VWindowItem-aBb7Akq5.js} +1 -1
- codex/static_root/assets/VWindowItem-aBb7Akq5.js.br +0 -0
- codex/static_root/assets/VWindowItem-aBb7Akq5.js.gz +0 -0
- codex/static_root/assets/{admin-CWIp315V.645a8df20a44.js → admin-CUlXuIkb.2c5ca314c698.js} +1 -1
- codex/static_root/assets/admin-CUlXuIkb.2c5ca314c698.js.br +0 -0
- codex/static_root/assets/admin-CUlXuIkb.2c5ca314c698.js.gz +0 -0
- codex/static_root/assets/{admin-CWIp315V.js → admin-CUlXuIkb.js} +1 -1
- codex/static_root/assets/admin-CUlXuIkb.js.br +0 -0
- codex/static_root/assets/admin-CUlXuIkb.js.gz +0 -0
- codex/static_root/assets/{admin-drawer-panel-BNRI3VNZ.86c14bd98bd6.js → admin-drawer-panel-B98ueC5c.3fb257a9e9e8.js} +1 -1
- codex/static_root/assets/admin-drawer-panel-B98ueC5c.3fb257a9e9e8.js.br +0 -0
- codex/static_root/assets/admin-drawer-panel-B98ueC5c.3fb257a9e9e8.js.gz +0 -0
- codex/static_root/assets/{admin-drawer-panel-BNRI3VNZ.js → admin-drawer-panel-B98ueC5c.js} +1 -1
- codex/static_root/assets/admin-drawer-panel-B98ueC5c.js.br +0 -0
- codex/static_root/assets/admin-drawer-panel-B98ueC5c.js.gz +0 -0
- codex/static_root/assets/{browser-CPtVXHUw.js → browser-C3YcP-vH.31dac9c003c4.js} +1 -1
- codex/static_root/assets/browser-C3YcP-vH.31dac9c003c4.js.br +0 -0
- codex/static_root/assets/browser-C3YcP-vH.31dac9c003c4.js.gz +0 -0
- codex/static_root/assets/{browser-CPtVXHUw.8b5c70db6763.js → browser-C3YcP-vH.js} +1 -1
- codex/static_root/assets/browser-C3YcP-vH.js.br +0 -0
- codex/static_root/assets/browser-C3YcP-vH.js.gz +0 -0
- codex/static_root/assets/{browser-CZeVqRNy.ccfca9a05bfe.css → browser-CwzOGMJs.css} +1 -1
- codex/static_root/assets/browser-CwzOGMJs.css.br +0 -0
- codex/static_root/assets/browser-CwzOGMJs.css.gz +0 -0
- codex/static_root/assets/{browser-CZeVqRNy.css → browser-CwzOGMJs.e53bf262a521.css} +1 -1
- codex/static_root/assets/browser-CwzOGMJs.e53bf262a521.css.br +0 -0
- codex/static_root/assets/browser-CwzOGMJs.e53bf262a521.css.gz +0 -0
- codex/static_root/assets/{change-password-dialog-C-8Ixgjj.3652325fd252.js → change-password-dialog-DywVK04u.eabe6b4c3e27.js} +1 -1
- codex/static_root/assets/change-password-dialog-DywVK04u.eabe6b4c3e27.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DywVK04u.eabe6b4c3e27.js.gz +0 -0
- codex/static_root/assets/{change-password-dialog-C-8Ixgjj.js → change-password-dialog-DywVK04u.js} +1 -1
- codex/static_root/assets/change-password-dialog-DywVK04u.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DywVK04u.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-C4NOgXW9.6a4b11a365a5.js → confirm-dialog-UnMzYsqN.d732afc0dc59.js} +1 -1
- codex/static_root/assets/confirm-dialog-UnMzYsqN.d732afc0dc59.js.br +0 -0
- codex/static_root/assets/confirm-dialog-UnMzYsqN.d732afc0dc59.js.gz +0 -0
- codex/static_root/assets/{confirm-dialog-C4NOgXW9.js → confirm-dialog-UnMzYsqN.js} +1 -1
- codex/static_root/assets/confirm-dialog-UnMzYsqN.js.br +0 -0
- codex/static_root/assets/confirm-dialog-UnMzYsqN.js.gz +0 -0
- codex/static_root/assets/{datetime-column-Dbxk_0ER.e8e0fe9ebd90.js → datetime-column-IeiZdinf.e2807c847ddc.js} +1 -1
- codex/static_root/assets/datetime-column-IeiZdinf.e2807c847ddc.js.br +0 -0
- codex/static_root/assets/datetime-column-IeiZdinf.e2807c847ddc.js.gz +0 -0
- codex/static_root/assets/{datetime-column-Dbxk_0ER.js → datetime-column-IeiZdinf.js} +1 -1
- codex/static_root/assets/datetime-column-IeiZdinf.js.br +0 -0
- codex/static_root/assets/datetime-column-IeiZdinf.js.gz +0 -0
- codex/static_root/assets/{filter-DrwUDlyj.a6d17d3d7c6c.js → filter-BT3OCu_E.39135c83c357.js} +1 -1
- codex/static_root/assets/filter-BT3OCu_E.39135c83c357.js.br +0 -0
- codex/static_root/assets/filter-BT3OCu_E.39135c83c357.js.gz +0 -0
- codex/static_root/assets/{filter-DrwUDlyj.js → filter-BT3OCu_E.js} +1 -1
- codex/static_root/assets/filter-BT3OCu_E.js.br +0 -0
- codex/static_root/assets/filter-BT3OCu_E.js.gz +0 -0
- codex/static_root/assets/{flag-tab-CBkrOBs1.e505e2ec12e8.js → flag-tab-BQmB4JNc.29dd38ce57d1.js} +1 -1
- codex/static_root/assets/flag-tab-BQmB4JNc.29dd38ce57d1.js.br +0 -0
- codex/static_root/assets/flag-tab-BQmB4JNc.29dd38ce57d1.js.gz +0 -0
- codex/static_root/assets/{flag-tab-CBkrOBs1.js → flag-tab-BQmB4JNc.js} +1 -1
- codex/static_root/assets/flag-tab-BQmB4JNc.js.br +0 -0
- codex/static_root/assets/flag-tab-BQmB4JNc.js.gz +0 -0
- codex/static_root/assets/{group-tab-CmqOuOJM.eef499d163cb.js → group-tab-Bt_AURnL.59aa6b13b14b.js} +1 -1
- codex/static_root/assets/group-tab-Bt_AURnL.59aa6b13b14b.js.br +0 -0
- codex/static_root/assets/group-tab-Bt_AURnL.59aa6b13b14b.js.gz +0 -0
- codex/static_root/assets/{group-tab-CmqOuOJM.js → group-tab-Bt_AURnL.js} +1 -1
- codex/static_root/assets/group-tab-Bt_AURnL.js.br +0 -0
- codex/static_root/assets/group-tab-Bt_AURnL.js.gz +0 -0
- codex/static_root/assets/{http-error-DQn3mkP_.39be7808902f.js → http-error-Cy29flzW.26884b2f42da.js} +1 -1
- codex/static_root/assets/http-error-Cy29flzW.26884b2f42da.js.br +4 -0
- codex/static_root/assets/http-error-Cy29flzW.26884b2f42da.js.gz +0 -0
- codex/static_root/assets/{http-error-DQn3mkP_.js → http-error-Cy29flzW.js} +1 -1
- codex/static_root/assets/http-error-Cy29flzW.js.br +4 -0
- codex/static_root/assets/http-error-Cy29flzW.js.gz +0 -0
- codex/static_root/assets/{library-tab-eRhFvDgA.2393d6de04e0.js → library-tab-0LLO3xlP.3636f75510b6.js} +1 -1
- codex/static_root/assets/library-tab-0LLO3xlP.3636f75510b6.js.br +0 -0
- codex/static_root/assets/library-tab-0LLO3xlP.3636f75510b6.js.gz +0 -0
- codex/static_root/assets/{library-tab-eRhFvDgA.js → library-tab-0LLO3xlP.js} +1 -1
- codex/static_root/assets/library-tab-0LLO3xlP.js.br +0 -0
- codex/static_root/assets/library-tab-0LLO3xlP.js.gz +0 -0
- codex/static_root/assets/{main-BJYrxs0x.js → main-BCYKxiL-.67d660e491ad.js} +3 -3
- codex/static_root/assets/main-BCYKxiL-.67d660e491ad.js.br +0 -0
- codex/static_root/assets/main-BCYKxiL-.67d660e491ad.js.gz +0 -0
- codex/static_root/assets/{main-BJYrxs0x.7cc1623ba51f.js → main-BCYKxiL-.js} +3 -3
- codex/static_root/assets/main-BCYKxiL-.js.br +0 -0
- codex/static_root/assets/main-BCYKxiL-.js.gz +0 -0
- codex/static_root/assets/{pagination-toolbar-DcauC4Lw.dad9bb484e5d.js → pagination-toolbar-DQ8B0BSx.845b2f091ae7.js} +1 -1
- codex/static_root/assets/pagination-toolbar-DQ8B0BSx.845b2f091ae7.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DQ8B0BSx.845b2f091ae7.js.gz +0 -0
- codex/static_root/assets/{pagination-toolbar-DcauC4Lw.js → pagination-toolbar-DQ8B0BSx.js} +1 -1
- codex/static_root/assets/pagination-toolbar-DQ8B0BSx.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DQ8B0BSx.js.gz +0 -0
- codex/static_root/assets/{pdf-doc-D3W9I2V8.d51a33004ceb.js → pdf-doc-DNwjWxO_.70b904e8e4ff.js} +1 -1
- codex/static_root/assets/pdf-doc-DNwjWxO_.70b904e8e4ff.js.br +0 -0
- codex/static_root/assets/{pdf-doc-D3W9I2V8.d51a33004ceb.js.gz → pdf-doc-DNwjWxO_.70b904e8e4ff.js.gz} +0 -0
- codex/static_root/assets/{pdf-doc-D3W9I2V8.js → pdf-doc-DNwjWxO_.js} +1 -1
- codex/static_root/assets/pdf-doc-DNwjWxO_.js.br +0 -0
- codex/static_root/assets/{pdf-doc-D3W9I2V8.js.gz → pdf-doc-DNwjWxO_.js.gz} +0 -0
- codex/static_root/assets/reader-CScIyWY8.0f2b4c8ea2bf.js +2 -0
- codex/static_root/assets/reader-CScIyWY8.0f2b4c8ea2bf.js.br +0 -0
- codex/static_root/assets/reader-CScIyWY8.0f2b4c8ea2bf.js.gz +0 -0
- codex/static_root/assets/reader-CScIyWY8.js +2 -0
- codex/static_root/assets/reader-CScIyWY8.js.br +0 -0
- codex/static_root/assets/reader-CScIyWY8.js.gz +0 -0
- codex/static_root/assets/{reader-Dspy46e8.925a6b05bfcf.css → reader-pqgXBr7J.92a23ab06864.css} +1 -1
- codex/static_root/assets/reader-pqgXBr7J.92a23ab06864.css.br +0 -0
- codex/static_root/assets/reader-pqgXBr7J.92a23ab06864.css.gz +0 -0
- codex/static_root/assets/{reader-Dspy46e8.css → reader-pqgXBr7J.css} +1 -1
- codex/static_root/assets/reader-pqgXBr7J.css.br +0 -0
- codex/static_root/assets/reader-pqgXBr7J.css.gz +0 -0
- codex/static_root/assets/{relation-chips-BoGgSbRW.70d218bd068a.js → relation-chips-LT1N5iCN.37fceb98c9dd.js} +1 -1
- codex/static_root/assets/relation-chips-LT1N5iCN.37fceb98c9dd.js.br +0 -0
- codex/static_root/assets/relation-chips-LT1N5iCN.37fceb98c9dd.js.gz +0 -0
- codex/static_root/assets/{relation-chips-BoGgSbRW.js → relation-chips-LT1N5iCN.js} +1 -1
- codex/static_root/assets/relation-chips-LT1N5iCN.js.br +0 -0
- codex/static_root/assets/relation-chips-LT1N5iCN.js.gz +0 -0
- codex/static_root/assets/{settings-drawer-B433DlG2.js → settings-drawer-DwqbWCCT.c6f1febbec8d.js} +2 -2
- codex/static_root/assets/settings-drawer-DwqbWCCT.c6f1febbec8d.js.br +0 -0
- codex/static_root/assets/settings-drawer-DwqbWCCT.c6f1febbec8d.js.gz +0 -0
- codex/static_root/assets/{settings-drawer-B433DlG2.8938c9836391.js → settings-drawer-DwqbWCCT.js} +2 -2
- codex/static_root/assets/settings-drawer-DwqbWCCT.js.br +0 -0
- codex/static_root/assets/settings-drawer-DwqbWCCT.js.gz +0 -0
- codex/static_root/assets/{stats-tab-Cboz3cW4.ce1fe3f93f78.js → stats-tab-Bn9lHtZb.b2969fd36ae9.js} +1 -1
- codex/static_root/assets/stats-tab-Bn9lHtZb.b2969fd36ae9.js.br +0 -0
- codex/static_root/assets/stats-tab-Bn9lHtZb.b2969fd36ae9.js.gz +0 -0
- codex/static_root/assets/{stats-tab-Cboz3cW4.js → stats-tab-Bn9lHtZb.js} +1 -1
- codex/static_root/assets/stats-tab-Bn9lHtZb.js.br +0 -0
- codex/static_root/assets/stats-tab-Bn9lHtZb.js.gz +0 -0
- codex/static_root/assets/{task-tab-DJAAAC9L.3f66c1fbf32f.js → task-tab-BBfwR3Q4.d0de374d7ec0.js} +1 -1
- codex/static_root/assets/task-tab-BBfwR3Q4.d0de374d7ec0.js.br +0 -0
- codex/static_root/assets/task-tab-BBfwR3Q4.d0de374d7ec0.js.gz +0 -0
- codex/static_root/assets/{task-tab-DJAAAC9L.js → task-tab-BBfwR3Q4.js} +1 -1
- codex/static_root/assets/task-tab-BBfwR3Q4.js.br +0 -0
- codex/static_root/assets/task-tab-BBfwR3Q4.js.gz +0 -0
- codex/static_root/assets/{unauthorized-DFTKS7Wr.bb45c7944ddc.js → unauthorized-BWF4C258.3da18d521795.js} +1 -1
- codex/static_root/assets/unauthorized-BWF4C258.3da18d521795.js.br +0 -0
- codex/static_root/assets/unauthorized-BWF4C258.3da18d521795.js.gz +0 -0
- codex/static_root/assets/{unauthorized-DFTKS7Wr.js → unauthorized-BWF4C258.js} +1 -1
- codex/static_root/assets/unauthorized-BWF4C258.js.br +0 -0
- codex/static_root/assets/unauthorized-BWF4C258.js.gz +0 -0
- codex/static_root/assets/{user-tab-Dpe-epEv.662e0945ac0a.js → user-tab-DDViQ8Q6.c258185d0ebe.js} +1 -1
- codex/static_root/assets/user-tab-DDViQ8Q6.c258185d0ebe.js.br +0 -0
- codex/static_root/assets/user-tab-DDViQ8Q6.c258185d0ebe.js.gz +0 -0
- codex/static_root/assets/{user-tab-Dpe-epEv.js → user-tab-DDViQ8Q6.js} +1 -1
- codex/static_root/assets/user-tab-DDViQ8Q6.js.br +0 -0
- codex/static_root/assets/user-tab-DDViQ8Q6.js.gz +0 -0
- codex/static_root/{manifest.2f8dc912af05.json → manifest.776c8d59c3e4.json} +230 -230
- codex/static_root/manifest.776c8d59c3e4.json.br +0 -0
- codex/static_root/manifest.776c8d59c3e4.json.gz +0 -0
- codex/static_root/manifest.json +230 -230
- codex/static_root/manifest.json.br +0 -0
- codex/static_root/manifest.json.gz +0 -0
- codex/static_root/staticfiles.json +1 -1
- codex/views/browser/browser_annotations.py +5 -1
- {codex-1.6.0a2.dist-info → codex-1.6.0a3.dist-info}/METADATA +1 -1
- {codex-1.6.0a2.dist-info → codex-1.6.0a3.dist-info}/RECORD +223 -223
- codex/static_root/assets/VCheckbox-H0aBoP9N.becc7bcda4fe.js.br +0 -0
- codex/static_root/assets/VCheckbox-H0aBoP9N.becc7bcda4fe.js.gz +0 -0
- codex/static_root/assets/VCheckbox-H0aBoP9N.js.br +0 -0
- codex/static_root/assets/VCheckbox-H0aBoP9N.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-CTJ47tuf.895028f44ec0.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-CTJ47tuf.895028f44ec0.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-CTJ47tuf.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-CTJ47tuf.js.gz +0 -0
- codex/static_root/assets/VCombobox-CN1HkVdW.4e967f4996b8.js.br +0 -0
- codex/static_root/assets/VCombobox-CN1HkVdW.4e967f4996b8.js.gz +0 -0
- codex/static_root/assets/VCombobox-CN1HkVdW.js.br +0 -0
- codex/static_root/assets/VCombobox-CN1HkVdW.js.gz +0 -0
- codex/static_root/assets/VDialog-DhRhufg-.7823263dc08c.js.br +0 -0
- codex/static_root/assets/VDialog-DhRhufg-.7823263dc08c.js.gz +0 -0
- codex/static_root/assets/VDialog-DhRhufg-.js.br +0 -0
- codex/static_root/assets/VDialog-DhRhufg-.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-BFGZaci1.44e8d898794f.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-BFGZaci1.44e8d898794f.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-BFGZaci1.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-BFGZaci1.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-XG50xIIN.2980bd8d85c3.js.br +0 -0
- codex/static_root/assets/VRadioGroup-XG50xIIN.2980bd8d85c3.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-XG50xIIN.js.br +0 -0
- codex/static_root/assets/VRadioGroup-XG50xIIN.js.gz +0 -0
- codex/static_root/assets/VSelect-DaalAg2L.1d47bbfdea51.js.br +0 -0
- codex/static_root/assets/VSelect-DaalAg2L.1d47bbfdea51.js.gz +0 -0
- codex/static_root/assets/VSelect-DaalAg2L.js.br +0 -0
- codex/static_root/assets/VSelect-DaalAg2L.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-wVVkmChP.6f6cd52d60c6.js.br +0 -0
- codex/static_root/assets/VSelectionControl-wVVkmChP.6f6cd52d60c6.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-wVVkmChP.js.br +0 -0
- codex/static_root/assets/VSelectionControl-wVVkmChP.js.gz +0 -0
- codex/static_root/assets/VSlideGroup-DCfSQ-Vx.4616e3c229cb.js.br +0 -0
- codex/static_root/assets/VSlideGroup-DCfSQ-Vx.4616e3c229cb.js.gz +0 -0
- codex/static_root/assets/VSlideGroup-DCfSQ-Vx.js.br +0 -0
- codex/static_root/assets/VSlideGroup-DCfSQ-Vx.js.gz +0 -0
- codex/static_root/assets/VTable-icaTTwDw.4849eb93242f.js.br +0 -0
- codex/static_root/assets/VTable-icaTTwDw.4849eb93242f.js.gz +0 -0
- codex/static_root/assets/VTable-icaTTwDw.js.br +0 -0
- codex/static_root/assets/VTable-icaTTwDw.js.gz +0 -0
- codex/static_root/assets/VTextField-BzSMerR0.0d18ae12389f.js.br +0 -0
- codex/static_root/assets/VTextField-BzSMerR0.0d18ae12389f.js.gz +0 -0
- codex/static_root/assets/VTextField-BzSMerR0.js.br +0 -0
- codex/static_root/assets/VTextField-BzSMerR0.js.gz +0 -0
- codex/static_root/assets/VWindowItem-CJBsFzH7.182ab7c56e32.js.br +0 -0
- codex/static_root/assets/VWindowItem-CJBsFzH7.182ab7c56e32.js.gz +0 -0
- codex/static_root/assets/VWindowItem-CJBsFzH7.js.br +0 -0
- codex/static_root/assets/VWindowItem-CJBsFzH7.js.gz +0 -0
- codex/static_root/assets/admin-CWIp315V.645a8df20a44.js.br +0 -0
- codex/static_root/assets/admin-CWIp315V.645a8df20a44.js.gz +0 -0
- codex/static_root/assets/admin-CWIp315V.js.br +0 -0
- codex/static_root/assets/admin-CWIp315V.js.gz +0 -0
- codex/static_root/assets/admin-drawer-panel-BNRI3VNZ.86c14bd98bd6.js.br +0 -0
- codex/static_root/assets/admin-drawer-panel-BNRI3VNZ.86c14bd98bd6.js.gz +0 -0
- codex/static_root/assets/admin-drawer-panel-BNRI3VNZ.js.br +0 -0
- codex/static_root/assets/admin-drawer-panel-BNRI3VNZ.js.gz +0 -0
- codex/static_root/assets/browser-CPtVXHUw.8b5c70db6763.js.br +0 -0
- codex/static_root/assets/browser-CPtVXHUw.8b5c70db6763.js.gz +0 -0
- codex/static_root/assets/browser-CPtVXHUw.js.br +0 -0
- codex/static_root/assets/browser-CPtVXHUw.js.gz +0 -0
- codex/static_root/assets/browser-CZeVqRNy.ccfca9a05bfe.css.br +0 -0
- codex/static_root/assets/browser-CZeVqRNy.ccfca9a05bfe.css.gz +0 -0
- codex/static_root/assets/browser-CZeVqRNy.css.br +0 -0
- codex/static_root/assets/browser-CZeVqRNy.css.gz +0 -0
- codex/static_root/assets/change-password-dialog-C-8Ixgjj.3652325fd252.js.br +0 -0
- codex/static_root/assets/change-password-dialog-C-8Ixgjj.3652325fd252.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-C-8Ixgjj.js.br +0 -0
- codex/static_root/assets/change-password-dialog-C-8Ixgjj.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-C4NOgXW9.6a4b11a365a5.js.br +0 -0
- codex/static_root/assets/confirm-dialog-C4NOgXW9.6a4b11a365a5.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-C4NOgXW9.js.br +0 -0
- codex/static_root/assets/confirm-dialog-C4NOgXW9.js.gz +0 -0
- codex/static_root/assets/datetime-column-Dbxk_0ER.e8e0fe9ebd90.js.br +0 -0
- codex/static_root/assets/datetime-column-Dbxk_0ER.e8e0fe9ebd90.js.gz +0 -0
- codex/static_root/assets/datetime-column-Dbxk_0ER.js.br +0 -0
- codex/static_root/assets/datetime-column-Dbxk_0ER.js.gz +0 -0
- codex/static_root/assets/filter-DrwUDlyj.a6d17d3d7c6c.js.br +0 -0
- codex/static_root/assets/filter-DrwUDlyj.a6d17d3d7c6c.js.gz +0 -0
- codex/static_root/assets/filter-DrwUDlyj.js.br +0 -0
- codex/static_root/assets/filter-DrwUDlyj.js.gz +0 -0
- codex/static_root/assets/flag-tab-CBkrOBs1.e505e2ec12e8.js.br +0 -0
- codex/static_root/assets/flag-tab-CBkrOBs1.e505e2ec12e8.js.gz +0 -0
- codex/static_root/assets/flag-tab-CBkrOBs1.js.br +0 -0
- codex/static_root/assets/flag-tab-CBkrOBs1.js.gz +0 -0
- codex/static_root/assets/group-tab-CmqOuOJM.eef499d163cb.js.br +0 -0
- codex/static_root/assets/group-tab-CmqOuOJM.eef499d163cb.js.gz +0 -0
- codex/static_root/assets/group-tab-CmqOuOJM.js.br +0 -0
- codex/static_root/assets/group-tab-CmqOuOJM.js.gz +0 -0
- codex/static_root/assets/http-error-DQn3mkP_.39be7808902f.js.br +0 -0
- codex/static_root/assets/http-error-DQn3mkP_.39be7808902f.js.gz +0 -0
- codex/static_root/assets/http-error-DQn3mkP_.js.br +0 -0
- codex/static_root/assets/http-error-DQn3mkP_.js.gz +0 -0
- codex/static_root/assets/library-tab-eRhFvDgA.2393d6de04e0.js.br +0 -0
- codex/static_root/assets/library-tab-eRhFvDgA.2393d6de04e0.js.gz +0 -0
- codex/static_root/assets/library-tab-eRhFvDgA.js.br +0 -0
- codex/static_root/assets/library-tab-eRhFvDgA.js.gz +0 -0
- codex/static_root/assets/main-BJYrxs0x.7cc1623ba51f.js.br +0 -0
- codex/static_root/assets/main-BJYrxs0x.7cc1623ba51f.js.gz +0 -0
- codex/static_root/assets/main-BJYrxs0x.js.br +0 -0
- codex/static_root/assets/main-BJYrxs0x.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-DcauC4Lw.dad9bb484e5d.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DcauC4Lw.dad9bb484e5d.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-DcauC4Lw.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DcauC4Lw.js.gz +0 -0
- codex/static_root/assets/pdf-doc-D3W9I2V8.d51a33004ceb.js.br +0 -0
- codex/static_root/assets/pdf-doc-D3W9I2V8.js.br +0 -0
- codex/static_root/assets/reader-DoS_6GK6.e925ddad76cb.js +0 -2
- codex/static_root/assets/reader-DoS_6GK6.e925ddad76cb.js.br +0 -0
- codex/static_root/assets/reader-DoS_6GK6.e925ddad76cb.js.gz +0 -0
- codex/static_root/assets/reader-DoS_6GK6.js +0 -2
- codex/static_root/assets/reader-DoS_6GK6.js.br +0 -0
- codex/static_root/assets/reader-DoS_6GK6.js.gz +0 -0
- codex/static_root/assets/reader-Dspy46e8.925a6b05bfcf.css.br +0 -0
- codex/static_root/assets/reader-Dspy46e8.925a6b05bfcf.css.gz +0 -0
- codex/static_root/assets/reader-Dspy46e8.css.br +0 -0
- codex/static_root/assets/reader-Dspy46e8.css.gz +0 -0
- codex/static_root/assets/relation-chips-BoGgSbRW.70d218bd068a.js.br +0 -0
- codex/static_root/assets/relation-chips-BoGgSbRW.70d218bd068a.js.gz +0 -0
- codex/static_root/assets/relation-chips-BoGgSbRW.js.br +0 -0
- codex/static_root/assets/relation-chips-BoGgSbRW.js.gz +0 -0
- codex/static_root/assets/settings-drawer-B433DlG2.8938c9836391.js.br +0 -0
- codex/static_root/assets/settings-drawer-B433DlG2.8938c9836391.js.gz +0 -0
- codex/static_root/assets/settings-drawer-B433DlG2.js.br +0 -0
- codex/static_root/assets/settings-drawer-B433DlG2.js.gz +0 -0
- codex/static_root/assets/stats-tab-Cboz3cW4.ce1fe3f93f78.js.br +0 -0
- codex/static_root/assets/stats-tab-Cboz3cW4.ce1fe3f93f78.js.gz +0 -0
- codex/static_root/assets/stats-tab-Cboz3cW4.js.br +0 -0
- codex/static_root/assets/stats-tab-Cboz3cW4.js.gz +0 -0
- codex/static_root/assets/task-tab-DJAAAC9L.3f66c1fbf32f.js.br +0 -0
- codex/static_root/assets/task-tab-DJAAAC9L.3f66c1fbf32f.js.gz +0 -0
- codex/static_root/assets/task-tab-DJAAAC9L.js.br +0 -0
- codex/static_root/assets/task-tab-DJAAAC9L.js.gz +0 -0
- codex/static_root/assets/unauthorized-DFTKS7Wr.bb45c7944ddc.js.br +0 -0
- codex/static_root/assets/unauthorized-DFTKS7Wr.bb45c7944ddc.js.gz +0 -0
- codex/static_root/assets/unauthorized-DFTKS7Wr.js.br +0 -0
- codex/static_root/assets/unauthorized-DFTKS7Wr.js.gz +0 -0
- codex/static_root/assets/user-tab-Dpe-epEv.662e0945ac0a.js.br +0 -0
- codex/static_root/assets/user-tab-Dpe-epEv.662e0945ac0a.js.gz +0 -0
- codex/static_root/assets/user-tab-Dpe-epEv.js.br +0 -0
- codex/static_root/assets/user-tab-Dpe-epEv.js.gz +0 -0
- codex/static_root/manifest.2f8dc912af05.json.br +0 -0
- codex/static_root/manifest.2f8dc912af05.json.gz +0 -0
- {codex-1.6.0a2.dist-info → codex-1.6.0a3.dist-info}/LICENSE +0 -0
- {codex-1.6.0a2.dist-info → codex-1.6.0a3.dist-info}/WHEEL +0 -0
- {codex-1.6.0a2.dist-info → codex-1.6.0a3.dist-info}/entry_points.txt +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aF as k,ct as L,cu as N,N as D,k as f,bg as E,O as w,m as c,t as v,_ as B,Q as p,R as l,P as d,T as a,ao as A,ap as h,L as n,ad as i,ai as u,ah as P,ak as _,aI as U,aj as I,aA as O,aK as g,bb as b,aD as C}from"./admin-drawer-panel-
|
|
1
|
+
import{aF as k,ct as L,cu as N,N as D,k as f,bg as E,O as w,m as c,t as v,_ as B,Q as p,R as l,P as d,T as a,ao as A,ap as h,L as n,ad as i,ai as u,ah as P,ak as _,aI as U,aj as I,aA as O,aK as g,bb as b,aD as C}from"./admin-drawer-panel-B98ueC5c.js";import{S as M,a as F,V as m}from"./VTextField-BEgIi5E-.js";import{V as R}from"./VDialog-BcnzrzZO.js";const T={name:"ChangePasswordDialog",components:{SubmitFooter:M,CloseButton:k},props:{user:{type:Object,required:!0},isAdminMode:{type:Boolean,default:!1},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{rules:{oldPassword:[e=>!!e||"Old Password is required"],password:[e=>e?e.length<this.MIN_PASSWORD_LENGTH?`Password must be ${this.MIN_PASSWORD_LENGTH} characters long`:e===this.credentials.oldPassword?"New password must be different than old password":!0:"New Password is required"],passwordConfirm:[e=>e===this.credentials.password||"Passwords must match"]},credentials:{oldPassword:"",password:"",passwordConfirm:""},submitButtonEnabled:!1,mdiLockReset:L,mdiLockPlusOutline:N}},computed:{...D(f,{formErrors:e=>e.form.errors,formSuccess:e=>e.form.success,MIN_PASSWORD_LEN:e=>e.MIN_PASSWORD_LEN}),...E(c,["showChangePasswordDialog"])},watch:{showChangePasswordDialog(e){if(e){const s=this.$refs.form;s&&s.reset(),this.clearErrors()}},credentials:{handler(){const e=this.$refs.form;if(!e){this.submitButtonEnabled=!1;return}e.validate().then(({valid:s})=>this.submitButtonEnabled=s).catch(()=>{this.submitButtonEnabled=!1})},deep:!0}},mounted(){window.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){window.removeEventListener("keyup",this._keyUpListener)},methods:{...w(c,["changePassword"]),...w(f,["clearErrors"]),doUserChange(){return v().changeUserPassword(this.user.pk,this.credentials).catch(console.error)},doSelfChange(){return this.changePassword(this.credentials).catch(console.error)},submit(){const e=this.$refs.form;e&&e.validate().then(({valid:s})=>{if(s)return this.isAdminMode?this.doUserChange():this.doSelfChange()}).catch(console.error)},_keyUpListener(e){e.stopImmediatePropagation()}}},z={key:0,class:"codexFormSuccess"},W=["value"];function K(e,s,t,q,r,y){const S=p("CloseButton"),V=p("SubmitFooter");return t.user?(l(),d(R,{key:0,modelValue:e.showChangePasswordDialog,"onUpdate:modelValue":s[7]||(s[7]=o=>e.showChangePasswordDialog=o),origin:"center-top",transition:"slide-y-transition","max-width":"22em"},{activator:a(({props:o})=>[t.isAdminMode?(l(),d(A,h({key:0,icon:""},o,{size:t.size,density:t.density,title:"Change Password"}),{default:a(()=>[n(P,null,{default:a(()=>[i(u(r.mdiLockPlusOutline),1)]),_:1})]),_:2},1040,["size","density"])):(l(),d(_,U(h({key:1},o)),{default:a(()=>[n(I,null,{default:a(()=>[n(P,null,{default:a(()=>[i(u(r.mdiLockReset),1)]),_:1}),i("Change Password ")]),_:1})]),_:2},1040))]),default:a(()=>[e.formSuccess?(l(),O("div",z,[i(u(e.formSuccess)+" ",1),n(S,{onClick:s[0]||(s[0]=o=>e.showChangePasswordDialog=!1)})])):(l(),d(F,{key:1,ref:"form",class:"changePasswordForm"},{default:a(()=>[g("h2",null,"User "+u(t.user.username),1),g("input",{name:"username",autocomplete:"username",disabled:"",type:"text",class:"hidden",value:t.user.username},null,8,W),t.isAdminMode?C("",!0):(l(),d(m,{key:0,ref:"oldPassword",modelValue:r.credentials.oldPassword,"onUpdate:modelValue":s[1]||(s[1]=o=>r.credentials.oldPassword=o),autocomplete:"current-password",label:"Old Password",rules:r.rules.oldPassword,clearable:"",type:"password",autofocus:"",onKeydown:s[2]||(s[2]=b(o=>e.$refs.password.focus(),["enter"]))},null,8,["modelValue","rules"])),n(m,{ref:"password",modelValue:r.credentials.password,"onUpdate:modelValue":s[3]||(s[3]=o=>r.credentials.password=o),autocomplete:"new-password",label:"New Password",rules:r.rules.password,clearable:"",type:"password",autofocus:t.isAdminMode,onKeydown:s[4]||(s[4]=b(o=>e.$refs.passwordConfirm.focus(),["enter"]))},null,8,["modelValue","rules","autofocus"]),n(m,{ref:"passwordConfirm",modelValue:r.credentials.passwordConfirm,"onUpdate:modelValue":s[5]||(s[5]=o=>r.credentials.passwordConfirm=o),autocomplete:"new-password",label:"Confirm Password",rules:r.rules.passwordConfirm,clearable:"",type:"password"},null,8,["modelValue","rules"]),n(V,{verb:"Change",table:"Password",disabled:!r.submitButtonEnabled,onSubmit:y.submit,onCancel:s[6]||(s[6]=o=>e.showChangePasswordDialog=!1)},null,8,["disabled","onSubmit"])]),_:1},512))]),_:1},8,["modelValue"])):C("",!0)}const x=B(T,[["render",K],["__scopeId","data-v-452f81e8"]]);export{x as C};
|
codex/static_root/assets/{change-password-dialog-C-8Ixgjj.js → change-password-dialog-DywVK04u.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aF as k,ct as L,cu as N,N as D,k as f,bg as E,O as w,m as c,t as v,_ as B,Q as p,R as l,P as d,T as a,ao as A,ap as h,L as n,ad as i,ai as u,ah as P,ak as _,aI as U,aj as I,aA as O,aK as g,bb as b,aD as C}from"./admin-drawer-panel-
|
|
1
|
+
import{aF as k,ct as L,cu as N,N as D,k as f,bg as E,O as w,m as c,t as v,_ as B,Q as p,R as l,P as d,T as a,ao as A,ap as h,L as n,ad as i,ai as u,ah as P,ak as _,aI as U,aj as I,aA as O,aK as g,bb as b,aD as C}from"./admin-drawer-panel-B98ueC5c.js";import{S as M,a as F,V as m}from"./VTextField-BEgIi5E-.js";import{V as R}from"./VDialog-BcnzrzZO.js";const T={name:"ChangePasswordDialog",components:{SubmitFooter:M,CloseButton:k},props:{user:{type:Object,required:!0},isAdminMode:{type:Boolean,default:!1},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{rules:{oldPassword:[e=>!!e||"Old Password is required"],password:[e=>e?e.length<this.MIN_PASSWORD_LENGTH?`Password must be ${this.MIN_PASSWORD_LENGTH} characters long`:e===this.credentials.oldPassword?"New password must be different than old password":!0:"New Password is required"],passwordConfirm:[e=>e===this.credentials.password||"Passwords must match"]},credentials:{oldPassword:"",password:"",passwordConfirm:""},submitButtonEnabled:!1,mdiLockReset:L,mdiLockPlusOutline:N}},computed:{...D(f,{formErrors:e=>e.form.errors,formSuccess:e=>e.form.success,MIN_PASSWORD_LEN:e=>e.MIN_PASSWORD_LEN}),...E(c,["showChangePasswordDialog"])},watch:{showChangePasswordDialog(e){if(e){const s=this.$refs.form;s&&s.reset(),this.clearErrors()}},credentials:{handler(){const e=this.$refs.form;if(!e){this.submitButtonEnabled=!1;return}e.validate().then(({valid:s})=>this.submitButtonEnabled=s).catch(()=>{this.submitButtonEnabled=!1})},deep:!0}},mounted(){window.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){window.removeEventListener("keyup",this._keyUpListener)},methods:{...w(c,["changePassword"]),...w(f,["clearErrors"]),doUserChange(){return v().changeUserPassword(this.user.pk,this.credentials).catch(console.error)},doSelfChange(){return this.changePassword(this.credentials).catch(console.error)},submit(){const e=this.$refs.form;e&&e.validate().then(({valid:s})=>{if(s)return this.isAdminMode?this.doUserChange():this.doSelfChange()}).catch(console.error)},_keyUpListener(e){e.stopImmediatePropagation()}}},z={key:0,class:"codexFormSuccess"},W=["value"];function K(e,s,t,q,r,y){const S=p("CloseButton"),V=p("SubmitFooter");return t.user?(l(),d(R,{key:0,modelValue:e.showChangePasswordDialog,"onUpdate:modelValue":s[7]||(s[7]=o=>e.showChangePasswordDialog=o),origin:"center-top",transition:"slide-y-transition","max-width":"22em"},{activator:a(({props:o})=>[t.isAdminMode?(l(),d(A,h({key:0,icon:""},o,{size:t.size,density:t.density,title:"Change Password"}),{default:a(()=>[n(P,null,{default:a(()=>[i(u(r.mdiLockPlusOutline),1)]),_:1})]),_:2},1040,["size","density"])):(l(),d(_,U(h({key:1},o)),{default:a(()=>[n(I,null,{default:a(()=>[n(P,null,{default:a(()=>[i(u(r.mdiLockReset),1)]),_:1}),i("Change Password ")]),_:1})]),_:2},1040))]),default:a(()=>[e.formSuccess?(l(),O("div",z,[i(u(e.formSuccess)+" ",1),n(S,{onClick:s[0]||(s[0]=o=>e.showChangePasswordDialog=!1)})])):(l(),d(F,{key:1,ref:"form",class:"changePasswordForm"},{default:a(()=>[g("h2",null,"User "+u(t.user.username),1),g("input",{name:"username",autocomplete:"username",disabled:"",type:"text",class:"hidden",value:t.user.username},null,8,W),t.isAdminMode?C("",!0):(l(),d(m,{key:0,ref:"oldPassword",modelValue:r.credentials.oldPassword,"onUpdate:modelValue":s[1]||(s[1]=o=>r.credentials.oldPassword=o),autocomplete:"current-password",label:"Old Password",rules:r.rules.oldPassword,clearable:"",type:"password",autofocus:"",onKeydown:s[2]||(s[2]=b(o=>e.$refs.password.focus(),["enter"]))},null,8,["modelValue","rules"])),n(m,{ref:"password",modelValue:r.credentials.password,"onUpdate:modelValue":s[3]||(s[3]=o=>r.credentials.password=o),autocomplete:"new-password",label:"New Password",rules:r.rules.password,clearable:"",type:"password",autofocus:t.isAdminMode,onKeydown:s[4]||(s[4]=b(o=>e.$refs.passwordConfirm.focus(),["enter"]))},null,8,["modelValue","rules","autofocus"]),n(m,{ref:"passwordConfirm",modelValue:r.credentials.passwordConfirm,"onUpdate:modelValue":s[5]||(s[5]=o=>r.credentials.passwordConfirm=o),autocomplete:"new-password",label:"Confirm Password",rules:r.rules.passwordConfirm,clearable:"",type:"password"},null,8,["modelValue","rules"]),n(V,{verb:"Change",table:"Password",disabled:!r.submitButtonEnabled,onSubmit:y.submit,onCancel:s[6]||(s[6]=o=>e.showChangePasswordDialog=!1)},null,8,["disabled","onSubmit"])]),_:1},512))]),_:1},8,["modelValue"])):C("",!0)}const x=B(T,[["render",K],["__scopeId","data-v-452f81e8"]]);export{x as C};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as x,V as _}from"./VDialog-
|
|
1
|
+
import{C as x,V as _}from"./VDialog-BcnzrzZO.js";import{_ as C,Q as V,R as a,P as l,T as i,ao as f,ap as m,L as u,ad as r,ai as n,ah as D,aK as g}from"./admin-drawer-panel-B98ueC5c.js";const T={name:"ConfirmDialog",components:{ConfirmFooter:x},props:{icon:{type:String,default:""},buttonText:{type:String,default:""},titleText:{type:String,required:!0},objectName:{type:String,required:!0},confirmText:{type:String,required:!0},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{showDialog:!1}},methods:{close(s){this.$emit(s),this.showDialog=!1}}},S={class:"confirmDialog"};function h(s,t,e,v,d,c){const y=V("ConfirmFooter");return a(),l(_,{modelValue:d.showDialog,"onUpdate:modelValue":t[2]||(t[2]=o=>d.showDialog=o),transition:"fab-transition","max-width":"20em","overlay-opacity":"0.5"},{activator:i(({props:o})=>[e.icon?(a(),l(f,m({key:0,icon:""},o,{size:e.size,density:e.density,title:e.titleText}),{default:i(()=>[u(D,null,{default:i(()=>[r(n(e.icon),1)]),_:1})]),_:2},1040,["size","density","title"])):(a(),l(f,m({key:1,block:""},o),{default:i(()=>[r(n(e.buttonText),1)]),_:2},1040))]),default:i(()=>[g("div",S,[g("h3",null,n(e.titleText),1),r(" "+n(e.objectName)+" ",1),u(y,{"confirm-text":e.confirmText,onConfirm:t[0]||(t[0]=o=>c.close("confirm")),onCancel:t[1]||(t[1]=o=>c.close("cancel"))},null,8,["confirm-text"])])]),_:1},8,["modelValue"])}const k=C(T,[["render",h],["__scopeId","data-v-996f6e3c"]]);export{k as C};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as x,V as _}from"./VDialog-
|
|
1
|
+
import{C as x,V as _}from"./VDialog-BcnzrzZO.js";import{_ as C,Q as V,R as a,P as l,T as i,ao as f,ap as m,L as u,ad as r,ai as n,ah as D,aK as g}from"./admin-drawer-panel-B98ueC5c.js";const T={name:"ConfirmDialog",components:{ConfirmFooter:x},props:{icon:{type:String,default:""},buttonText:{type:String,default:""},titleText:{type:String,required:!0},objectName:{type:String,required:!0},confirmText:{type:String,required:!0},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{showDialog:!1}},methods:{close(s){this.$emit(s),this.showDialog=!1}}},S={class:"confirmDialog"};function h(s,t,e,v,d,c){const y=V("ConfirmFooter");return a(),l(_,{modelValue:d.showDialog,"onUpdate:modelValue":t[2]||(t[2]=o=>d.showDialog=o),transition:"fab-transition","max-width":"20em","overlay-opacity":"0.5"},{activator:i(({props:o})=>[e.icon?(a(),l(f,m({key:0,icon:""},o,{size:e.size,density:e.density,title:e.titleText}),{default:i(()=>[u(D,null,{default:i(()=>[r(n(e.icon),1)]),_:1})]),_:2},1040,["size","density","title"])):(a(),l(f,m({key:1,block:""},o),{default:i(()=>[r(n(e.buttonText),1)]),_:2},1040))]),default:i(()=>[g("div",S,[g("h3",null,n(e.titleText),1),r(" "+n(e.objectName)+" ",1),u(y,{"confirm-text":e.confirmText,onConfirm:t[0]||(t[0]=o=>c.close("confirm")),onCancel:t[1]||(t[1]=o=>c.close("cancel"))},null,8,["confirm-text"])])]),_:1},8,["modelValue"])}const k=C(T,[["render",h],["__scopeId","data-v-996f6e3c"]]);export{k as C};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as r,aS as m,cG as s,_ as n,R as d,aA as i,ad as c,ai as a,aK as u,aD as _}from"./admin-drawer-panel-
|
|
1
|
+
import{N as r,aS as m,cG as s,_ as n,R as d,aA as i,ad as c,ai as a,aK as u,aD as _}from"./admin-drawer-panel-B98ueC5c.js";import{u as f}from"./main-BCYKxiL-.js";const p={name:"DateTimeColumn",props:{dttm:{type:String,default:""}},data(){return{date:new Date(this.dttm)}},computed:{...r(f,{twentyFourHourTime:t=>t.settings.twentyFourHourTime}),formattedDate:function(){return m.format(this.date)},formattedTime:function(){return s(this.twentyFourHourTime).format(this.date)}},created(){}},T={key:0},l={class:"colTime"};function D(t,h,o,F,y,e){return o.dttm?(d(),i("div",T,[c(a(e.formattedDate)+" ",1),u("div",l,a(e.formattedTime),1)])):_("",!0)}const g=n(p,[["render",D],["__scopeId","data-v-59d6b0dc"]]);export{g as D};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as r,aS as m,cG as s,_ as n,R as d,aA as i,ad as c,ai as a,aK as u,aD as _}from"./admin-drawer-panel-
|
|
1
|
+
import{N as r,aS as m,cG as s,_ as n,R as d,aA as i,ad as c,ai as a,aK as u,aD as _}from"./admin-drawer-panel-B98ueC5c.js";import{u as f}from"./main-BCYKxiL-.js";const p={name:"DateTimeColumn",props:{dttm:{type:String,default:""}},data(){return{date:new Date(this.dttm)}},computed:{...r(f,{twentyFourHourTime:t=>t.settings.twentyFourHourTime}),formattedDate:function(){return m.format(this.date)},formattedTime:function(){return s(this.twentyFourHourTime).format(this.date)}},created(){}},T={key:0},l={class:"colTime"};function D(t,h,o,F,y,e){return o.dttm?(d(),i("div",T,[c(a(e.formattedDate)+" ",1),u("div",l,a(e.formattedTime),1)])):_("",!0)}const g=n(p,[["render",D],["__scopeId","data-v-59d6b0dc"]]);export{g as D};
|
|
Binary file
|
|
Binary file
|
codex/static_root/assets/{filter-DrwUDlyj.a6d17d3d7c6c.js → filter-BT3OCu_E.39135c83c357.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{x as I,r as v,h as L,u as F,w as j,cE as w,cS as O}from"./admin-drawer-panel-
|
|
1
|
+
import{x as I,r as v,h as L,u as F,w as j,cE as w,cS as O}from"./admin-drawer-panel-B98ueC5c.js";const S=(t,l,e)=>t==null||l==null?-1:t.toString().toLocaleLowerCase().indexOf(l.toString().toLocaleLowerCase()),_=I({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function x(t,l,e){var g;const f=[],s=(e==null?void 0:e.default)??S,m=e!=null&&e.filterKeys?w(e.filterKeys):!1,i=Object.keys((e==null?void 0:e.customKeyFilter)??{}).length;if(!(t!=null&&t.length))return f;e:for(let r=0;r<t.length;r++){const[a,M=a]=w(t[r]),y={},u={};let c=-1;if(l&&!(e!=null&&e.noFilter)){if(typeof a=="object"){const K=m||Object.keys(M);for(const n of K){const b=O(M,n),k=(g=e==null?void 0:e.customKeyFilter)==null?void 0:g[n];if(c=k?k(b,l,a):s(b,l,a),c!==-1&&c!==!1)k?y[n]=c:u[n]=c;else if((e==null?void 0:e.filterMode)==="every")continue e}}else c=s(a,l,a),c!==-1&&c!==!1&&(u.title=c);const h=Object.keys(u).length,d=Object.keys(y).length;if(!h&&!d||(e==null?void 0:e.filterMode)==="union"&&d!==i&&!h||(e==null?void 0:e.filterMode)==="intersection"&&(d!==i||!h))continue}f.push({index:r,matches:{...u,...y}})}return f}function A(t,l,e,f){const s=v([]),m=v(new Map),i=L(()=>f!=null&&f.transform?F(l).map(r=>[r,f.transform(r)]):F(l));j(()=>{const r=typeof e=="function"?e():F(e),a=typeof r!="string"&&typeof r!="number"?"":String(r),M=x(i.value,a,{customKeyFilter:{...t.customKeyFilter,...F(f==null?void 0:f.customKeyFilter)},default:t.customFilter,filterKeys:t.filterKeys,filterMode:t.filterMode,noFilter:t.noFilter}),y=F(l),u=[],c=new Map;M.forEach(h=>{let{index:d,matches:K}=h;const n=y[d];u.push(n),c.set(n.value,K)}),s.value=u,m.value=c});function g(r){return m.value.get(r.value)}return{filteredItems:s,filteredMatches:m,getMatches:g}}export{_ as m,A as u};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{x as I,r as v,h as L,u as F,w as j,cE as w,cS as O}from"./admin-drawer-panel-
|
|
1
|
+
import{x as I,r as v,h as L,u as F,w as j,cE as w,cS as O}from"./admin-drawer-panel-B98ueC5c.js";const S=(t,l,e)=>t==null||l==null?-1:t.toString().toLocaleLowerCase().indexOf(l.toString().toLocaleLowerCase()),_=I({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function x(t,l,e){var g;const f=[],s=(e==null?void 0:e.default)??S,m=e!=null&&e.filterKeys?w(e.filterKeys):!1,i=Object.keys((e==null?void 0:e.customKeyFilter)??{}).length;if(!(t!=null&&t.length))return f;e:for(let r=0;r<t.length;r++){const[a,M=a]=w(t[r]),y={},u={};let c=-1;if(l&&!(e!=null&&e.noFilter)){if(typeof a=="object"){const K=m||Object.keys(M);for(const n of K){const b=O(M,n),k=(g=e==null?void 0:e.customKeyFilter)==null?void 0:g[n];if(c=k?k(b,l,a):s(b,l,a),c!==-1&&c!==!1)k?y[n]=c:u[n]=c;else if((e==null?void 0:e.filterMode)==="every")continue e}}else c=s(a,l,a),c!==-1&&c!==!1&&(u.title=c);const h=Object.keys(u).length,d=Object.keys(y).length;if(!h&&!d||(e==null?void 0:e.filterMode)==="union"&&d!==i&&!h||(e==null?void 0:e.filterMode)==="intersection"&&(d!==i||!h))continue}f.push({index:r,matches:{...u,...y}})}return f}function A(t,l,e,f){const s=v([]),m=v(new Map),i=L(()=>f!=null&&f.transform?F(l).map(r=>[r,f.transform(r)]):F(l));j(()=>{const r=typeof e=="function"?e():F(e),a=typeof r!="string"&&typeof r!="number"?"":String(r),M=x(i.value,a,{customKeyFilter:{...t.customKeyFilter,...F(f==null?void 0:f.customKeyFilter)},default:t.customFilter,filterKeys:t.filterKeys,filterMode:t.filterMode,noFilter:t.noFilter}),y=F(l),u=[],c=new Map;M.forEach(h=>{let{index:d,matches:K}=h;const n=y[d];u.push(n),c.set(n.value,K)}),s.value=u,m.value=c});function g(r){return m.value.get(r.value)}return{filteredItems:s,filteredMatches:m,getMatches:g}}export{_ as m,A as u};
|
|
Binary file
|
|
Binary file
|
codex/static_root/assets/{flag-tab-CBkrOBs1.e505e2ec12e8.js → flag-tab-BQmB4JNc.29dd38ce57d1.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as p,N as d,k as b,t as n,O as g,cs as y,P as w,T as k,R as r,aK as a,aA as m,aB as _,ai as c,L as v,M as x,aL as C,aM as F}from"./admin-drawer-panel-
|
|
1
|
+
import{_ as p,N as d,k as b,t as n,O as g,cs as y,P as w,T as k,R as r,aK as a,aA as m,aB as _,ai as c,L as v,M as x,aL as C,aM as F}from"./admin-drawer-panel-B98ueC5c.js";import{V as S}from"./VTable-D86x2F7y.js";import{V as T}from"./VCheckbox-CRu3BJ5D.js";import"./VCheckboxBtn-CAUrQoP4.js";import"./VSelectionControl-gDbXN6J_.js";const u={AU:"If enabled, codex will attempt to update the codex python package once a day and restart the server if an update occurred. Not advisable if running from Docker as running containers aren't meant to hold state and will be rebuilt if you update the image. Look into services that automatically update docker images instead.",NU:"By default all Codex features, including bookmarking, are available to users who are not logged in. You may disable this feature and Codex will hide its browser and reader and disable its API from anyone who is not logged in as a user.",RG:"By default users' bookmarks and preferences are saved in an anonymous browser session. Users can create a username and password to save their bookmarks between browsers. You may disable this feature. Admins may still create users.",FV:`By default, codex provides a "Folder View" which mimics the directory hierarchy of the libraries that you've added to Codex. You may disable this feature. The database style browser view is always available. This flag also enables and disables the "Filename" sort option and the path from search indexing.`,SO:"Fully optimize the search index each night. Disabling this flag will instead run a partial optimization which only merges small files. You should only disable this if the nightly optimization stresses your system too much.",IM:"If disabled, Codex will not bulk import metadata from comic libraries when they are scanned and only import folders and filenames. Instead, metadata will be loaded lazily as comics are read. This makes importing comics fast, but disables most of the metadata browser functionality, making codex mostly a file tree browser.",DC:"When enabled Codex dynaimcally generates browser covers for groups and folders using the order by option. This can be slow for larger libraries."};Object.freeze(u);const U={name:"AdminFlagsTab",components:{},data(){return{lastUpdate:{name:"",field:void 0},DESC:u}},computed:{...d(b,["formErrors"]),...d(n,["flags"])},mounted(){this.loadTables(["Flag"])},methods:{...g(n,["updateRow","clearErrors","loadTables"]),changeCol(e,t,l){this.lastUpdate.name=e,this.lastUpdate.field=t;const i={[t]:l};this.updateRow("Flag",e,i)},getFormErrors(e,t){if(e===this.lastUpdate.name&&t===this.lastUpdate.field)return this.formErrors},title(e){return y[e.key]}}},V=e=>(C("data-v-4d644972"),e=e(),F(),e),E=V(()=>a("thead",null,[a("tr",null,[a("th",null,"Description"),a("th",null,"Enabled")])],-1)),I={class:"nameCol"},B={class:"desc"};function A(e,t,l,i,h,o){return r(),w(S,{class:"highlight-table flags-table",items:e.flags,"fixed-header":""},{default:k(()=>[E,a("tbody",null,[(r(!0),m(x,null,_(e.flags,s=>(r(),m("tr",{key:`f${s.key}`},[a("td",I,[a("h4",null,c(o.title(s)),1),a("p",B,c(h.DESC[s.key]),1)]),a("td",null,[v(T,{"model-value":s.on,"true-value":!0,"error-messages":o.getFormErrors(s.key,"on"),"hide-details":"auto","onUpdate:modelValue":f=>o.changeCol(s.key,"on",f)},null,8,["model-value","error-messages","onUpdate:modelValue"])])]))),128))])]),_:1},8,["items"])}const Y=p(U,[["render",A],["__scopeId","data-v-4d644972"]]);export{Y as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as p,N as d,k as b,t as n,O as g,cs as y,P as w,T as k,R as r,aK as a,aA as m,aB as _,ai as c,L as v,M as x,aL as C,aM as F}from"./admin-drawer-panel-
|
|
1
|
+
import{_ as p,N as d,k as b,t as n,O as g,cs as y,P as w,T as k,R as r,aK as a,aA as m,aB as _,ai as c,L as v,M as x,aL as C,aM as F}from"./admin-drawer-panel-B98ueC5c.js";import{V as S}from"./VTable-D86x2F7y.js";import{V as T}from"./VCheckbox-CRu3BJ5D.js";import"./VCheckboxBtn-CAUrQoP4.js";import"./VSelectionControl-gDbXN6J_.js";const u={AU:"If enabled, codex will attempt to update the codex python package once a day and restart the server if an update occurred. Not advisable if running from Docker as running containers aren't meant to hold state and will be rebuilt if you update the image. Look into services that automatically update docker images instead.",NU:"By default all Codex features, including bookmarking, are available to users who are not logged in. You may disable this feature and Codex will hide its browser and reader and disable its API from anyone who is not logged in as a user.",RG:"By default users' bookmarks and preferences are saved in an anonymous browser session. Users can create a username and password to save their bookmarks between browsers. You may disable this feature. Admins may still create users.",FV:`By default, codex provides a "Folder View" which mimics the directory hierarchy of the libraries that you've added to Codex. You may disable this feature. The database style browser view is always available. This flag also enables and disables the "Filename" sort option and the path from search indexing.`,SO:"Fully optimize the search index each night. Disabling this flag will instead run a partial optimization which only merges small files. You should only disable this if the nightly optimization stresses your system too much.",IM:"If disabled, Codex will not bulk import metadata from comic libraries when they are scanned and only import folders and filenames. Instead, metadata will be loaded lazily as comics are read. This makes importing comics fast, but disables most of the metadata browser functionality, making codex mostly a file tree browser.",DC:"When enabled Codex dynaimcally generates browser covers for groups and folders using the order by option. This can be slow for larger libraries."};Object.freeze(u);const U={name:"AdminFlagsTab",components:{},data(){return{lastUpdate:{name:"",field:void 0},DESC:u}},computed:{...d(b,["formErrors"]),...d(n,["flags"])},mounted(){this.loadTables(["Flag"])},methods:{...g(n,["updateRow","clearErrors","loadTables"]),changeCol(e,t,l){this.lastUpdate.name=e,this.lastUpdate.field=t;const i={[t]:l};this.updateRow("Flag",e,i)},getFormErrors(e,t){if(e===this.lastUpdate.name&&t===this.lastUpdate.field)return this.formErrors},title(e){return y[e.key]}}},V=e=>(C("data-v-4d644972"),e=e(),F(),e),E=V(()=>a("thead",null,[a("tr",null,[a("th",null,"Description"),a("th",null,"Enabled")])],-1)),I={class:"nameCol"},B={class:"desc"};function A(e,t,l,i,h,o){return r(),w(S,{class:"highlight-table flags-table",items:e.flags,"fixed-header":""},{default:k(()=>[E,a("tbody",null,[(r(!0),m(x,null,_(e.flags,s=>(r(),m("tr",{key:`f${s.key}`},[a("td",I,[a("h4",null,c(o.title(s)),1),a("p",B,c(h.DESC[s.key]),1)]),a("td",null,[v(T,{"model-value":s.on,"true-value":!0,"error-messages":o.getFormErrors(s.key,"on"),"hide-details":"auto","onUpdate:modelValue":f=>o.changeCol(s.key,"on",f)},null,8,["model-value","error-messages","onUpdate:modelValue"])])]))),128))])]),_:1},8,["items"])}const Y=p(U,[["render",A],["__scopeId","data-v-4d644972"]]);export{Y as default};
|
|
Binary file
|
|
Binary file
|
codex/static_root/assets/{group-tab-CmqOuOJM.eef499d163cb.js → group-tab-Bt_AURnL.59aa6b13b14b.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as f,t as c,O as w,_ as k,Q as u,R as A,aA as G,L as s,T as i,bs as T,aK as e,aL as I,aM as v,ad as m}from"./admin-drawer-panel-
|
|
1
|
+
import{N as f,t as c,O as w,_ as k,Q as u,R as A,aA as G,L as s,T as i,bs as T,aK as e,aL as I,aM as v,ad as m}from"./admin-drawer-panel-B98ueC5c.js";import{A as V,G as S,a as D,b as j,c as E,R as N}from"./relation-chips-LT1N5iCN.js";import{a as y}from"./main-BCYKxiL-.js";import{V as H}from"./VTextField-BEgIi5E-.js";import{V as g,a as L}from"./VRadioGroup-B9OZxVQw.js";import"./VDialog-BcnzrzZO.js";import"./VSelect-BIXGglsb.js";import"./VSelectionControl-gDbXN6J_.js";import"./VCheckboxBtn-CAUrQoP4.js";import"./VSlideGroup-D8FKczaP.js";import"./VTable-D86x2F7y.js";import"./filter-BT3OCu_E.js";import"./confirm-dialog-UnMzYsqN.js";const C=["name","userSet","librarySet","exclude"];Object.freeze(C);const h={name:"",userSet:[],librarySet:[],exclude:!1};Object.freeze(h);const O={name:"AdminGroupCreateUpdateInputs",components:{AdminRelationPicker:V,GroupChip:S},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{name:[t=>!!t||"Name is required",t=>!!t&&!this.names.has(t.trim())||"Name already used"]},row:{...h,...y.cloneDeep(this.oldRow)}}},computed:{...f(c,{groups:t=>t.groups,libraries:t=>t.libraries,users:t=>t.users}),names(){return this.nameSet(this.groups,"name",this.oldRow,!0)}},watch:{row:{handler(t){this.$emit("change",t)},deep:!0},oldRow:{handler(t){this.row=y.cloneDeep(t)},deep:!0}},methods:{...w(c,["nameSet"])},UPDATE_KEYS:C,EMPTY_ROW:h};function P(t,a,b,x,l,_){const p=u("GroupChip"),d=u("AdminRelationPicker");return A(),G("div",null,[s(H,{modelValue:l.row.name,"onUpdate:modelValue":a[0]||(a[0]=n=>l.row.name=n),label:"Group Name",rules:l.rules.name,clearable:"",autofocus:""},null,8,["modelValue","rules"]),s(L,{inline:"",label:"Type","model-value":l.row.exclude,"hide-details":"auto","onUpdate:modelValue":a[1]||(a[1]=n=>l.row.exclude=n)},{default:i(()=>[s(g,{value:!1},{label:i(()=>[s(p,{item:{name:"Include",exclude:!1},"title-key":"name","group-type":""})]),_:1}),s(g,{value:!0},{label:i(()=>[s(p,{item:{name:"Exclude",exclude:!0},"title-key":"name","group-type":""})]),_:1})]),_:1},8,["model-value"]),s(d,{"model-value":l.row.userSet,label:"Users",objs:t.users,"title-key":"username","onUpdate:modelValue":a[2]||(a[2]=n=>l.row.userSet=n)},null,8,["model-value","objs"]),s(d,{"model-value":l.row.librarySet,label:"Libraries",objs:t.libraries,"title-key":"path","onUpdate:modelValue":a[3]||(a[3]=n=>l.row.librarySet=n)},null,8,["model-value","objs"])])}const z=k(O,[["render",P]]),B=180,K={name:"AdminGroupsTab",components:{AdminTable:D,AdminDeleteRowDialog:j,AdminCreateUpdateDialog:E,RelationChips:N,GroupChip:S},data(){return{lastUpdate:{pk:0,field:void 0},AdminGroupCreateUpdateInputs:T(z),GROUP_HELP_HEIGHT:B,headers:[{title:"Name",key:"name",align:"start"},{title:"Type",key:"exclude",align:"start"},{title:"Users",key:"userSet"},{title:"Libraries",key:"librarySet"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...f(c,{groups:t=>t.groups,libraries:t=>t.libraries,users:t=>t.users})},mounted(){this.loadTables(["User","Library","Group"])},methods:{...w(c,["loadTables"]),groupType(t){const a=t.exclude;return{name:a?"Exclude ":"Include",exclude:a}}}},o=t=>(I("data-v-0893032c"),t=t(),v(),t),M={class:"tabHeader"},Y=o(()=>e("td",{class:"adminNoData",colspan:"100%"},"No groups",-1)),q={id:"groupHelp"},F=o(()=>e("h3",null,"Group Logic",-1)),Q=o(()=>e("p",null," A library in no groups is accessible to every user and non-users if those are enabled. ",-1)),W=o(()=>e("p",null,[m(" A library with "),e("em",null,"any"),m(" Include groups is accessible "),e("em",null,"only"),m(" to users who are in those groups. ")],-1)),J=o(()=>e("p",null,[m(" A library with "),e("em",null,"any"),m(" Exclude groups is not accessible to Guest users but is acccessable to any logged in users that are not in the Exclude groups. ")],-1)),X=o(()=>e("p",null," If you have libraries added and you do not see them in your browser, check to see if the library and your user are in the same group. ",-1)),Z={id:"groupTable"},$=o(()=>e("thead",null,[e("tr",null,[e("th",null,"Library in Group Type"),e("th",null,"Guest"),e("th",null,"User Out of Group"),e("th",null,"User In Group")])],-1)),ee=o(()=>e("tr",null,[e("td",null,"Not in a Group"),e("td",{class:"see"},"Can See"),e("td",{class:"see"},"Can See"),e("td",{class:"see"},"Can See")],-1)),te=o(()=>e("td",{class:"hidden"},"Hidden",-1)),se=o(()=>e("td",{class:"hidden"},"Hidden",-1)),oe=o(()=>e("td",{class:"see"},"Can See",-1)),le=o(()=>e("td",{class:"hidden"},"Hidden",-1)),ae=o(()=>e("td",{class:"see"},"Can See",-1)),ne=o(()=>e("td",{class:"hidden"},"Hidden",-1));function re(t,a,b,x,l,_){const p=u("AdminCreateUpdateDialog"),d=u("GroupChip"),n=u("RelationChips"),R=u("AdminDeleteRowDialog"),U=u("AdminTable");return A(),G("div",null,[e("header",M,[s(p,{table:"Group","max-width":"20em",inputs:l.AdminGroupCreateUpdateInputs},null,8,["inputs"])]),s(U,{"item-title":"name",headers:l.headers,items:t.groups},{"no-data":i(()=>[Y]),"item.exclude":i(({item:r})=>[s(d,{"group-type":"",item:_.groupType(r),"title-key":"name"},null,8,["item"])]),"item.userSet":i(({item:r})=>[s(n,{pks:r.userSet,objs:t.users,"title-key":"username"},null,8,["pks","objs"])]),"item.librarySet":i(({item:r})=>[s(n,{pks:r.librarySet,objs:t.libraries,"title-key":"path"},null,8,["pks","objs"])]),"item.actions":i(({item:r})=>[s(p,{table:"Group","old-row":r,"max-width":"20em",inputs:l.AdminGroupCreateUpdateInputs,size:"small",density:"compact"},null,8,["old-row","inputs"]),s(R,{table:"Group",pk:r.pk,name:r.name,size:"small",density:"compact"},null,8,["pk","name"])]),_:2},1032,["headers","items"]),e("div",q,[F,Q,W,J,X,e("table",Z,[$,e("tbody",null,[ee,e("tr",null,[e("td",null,[s(d,{item:{name:"Include",exclude:!1},"title-key":"name","group-type":""})]),te,se,oe]),e("tr",null,[e("td",null,[s(d,{item:{name:"Exclude",exclude:!0},"title-key":"name","group-type":""})]),le,ae,ne])])])])])}const ke=k(K,[["render",re],["__scopeId","data-v-0893032c"]]);export{ke as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as f,t as c,O as w,_ as k,Q as u,R as A,aA as G,L as s,T as i,bs as T,aK as e,aL as I,aM as v,ad as m}from"./admin-drawer-panel-
|
|
1
|
+
import{N as f,t as c,O as w,_ as k,Q as u,R as A,aA as G,L as s,T as i,bs as T,aK as e,aL as I,aM as v,ad as m}from"./admin-drawer-panel-B98ueC5c.js";import{A as V,G as S,a as D,b as j,c as E,R as N}from"./relation-chips-LT1N5iCN.js";import{a as y}from"./main-BCYKxiL-.js";import{V as H}from"./VTextField-BEgIi5E-.js";import{V as g,a as L}from"./VRadioGroup-B9OZxVQw.js";import"./VDialog-BcnzrzZO.js";import"./VSelect-BIXGglsb.js";import"./VSelectionControl-gDbXN6J_.js";import"./VCheckboxBtn-CAUrQoP4.js";import"./VSlideGroup-D8FKczaP.js";import"./VTable-D86x2F7y.js";import"./filter-BT3OCu_E.js";import"./confirm-dialog-UnMzYsqN.js";const C=["name","userSet","librarySet","exclude"];Object.freeze(C);const h={name:"",userSet:[],librarySet:[],exclude:!1};Object.freeze(h);const O={name:"AdminGroupCreateUpdateInputs",components:{AdminRelationPicker:V,GroupChip:S},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{name:[t=>!!t||"Name is required",t=>!!t&&!this.names.has(t.trim())||"Name already used"]},row:{...h,...y.cloneDeep(this.oldRow)}}},computed:{...f(c,{groups:t=>t.groups,libraries:t=>t.libraries,users:t=>t.users}),names(){return this.nameSet(this.groups,"name",this.oldRow,!0)}},watch:{row:{handler(t){this.$emit("change",t)},deep:!0},oldRow:{handler(t){this.row=y.cloneDeep(t)},deep:!0}},methods:{...w(c,["nameSet"])},UPDATE_KEYS:C,EMPTY_ROW:h};function P(t,a,b,x,l,_){const p=u("GroupChip"),d=u("AdminRelationPicker");return A(),G("div",null,[s(H,{modelValue:l.row.name,"onUpdate:modelValue":a[0]||(a[0]=n=>l.row.name=n),label:"Group Name",rules:l.rules.name,clearable:"",autofocus:""},null,8,["modelValue","rules"]),s(L,{inline:"",label:"Type","model-value":l.row.exclude,"hide-details":"auto","onUpdate:modelValue":a[1]||(a[1]=n=>l.row.exclude=n)},{default:i(()=>[s(g,{value:!1},{label:i(()=>[s(p,{item:{name:"Include",exclude:!1},"title-key":"name","group-type":""})]),_:1}),s(g,{value:!0},{label:i(()=>[s(p,{item:{name:"Exclude",exclude:!0},"title-key":"name","group-type":""})]),_:1})]),_:1},8,["model-value"]),s(d,{"model-value":l.row.userSet,label:"Users",objs:t.users,"title-key":"username","onUpdate:modelValue":a[2]||(a[2]=n=>l.row.userSet=n)},null,8,["model-value","objs"]),s(d,{"model-value":l.row.librarySet,label:"Libraries",objs:t.libraries,"title-key":"path","onUpdate:modelValue":a[3]||(a[3]=n=>l.row.librarySet=n)},null,8,["model-value","objs"])])}const z=k(O,[["render",P]]),B=180,K={name:"AdminGroupsTab",components:{AdminTable:D,AdminDeleteRowDialog:j,AdminCreateUpdateDialog:E,RelationChips:N,GroupChip:S},data(){return{lastUpdate:{pk:0,field:void 0},AdminGroupCreateUpdateInputs:T(z),GROUP_HELP_HEIGHT:B,headers:[{title:"Name",key:"name",align:"start"},{title:"Type",key:"exclude",align:"start"},{title:"Users",key:"userSet"},{title:"Libraries",key:"librarySet"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...f(c,{groups:t=>t.groups,libraries:t=>t.libraries,users:t=>t.users})},mounted(){this.loadTables(["User","Library","Group"])},methods:{...w(c,["loadTables"]),groupType(t){const a=t.exclude;return{name:a?"Exclude ":"Include",exclude:a}}}},o=t=>(I("data-v-0893032c"),t=t(),v(),t),M={class:"tabHeader"},Y=o(()=>e("td",{class:"adminNoData",colspan:"100%"},"No groups",-1)),q={id:"groupHelp"},F=o(()=>e("h3",null,"Group Logic",-1)),Q=o(()=>e("p",null," A library in no groups is accessible to every user and non-users if those are enabled. ",-1)),W=o(()=>e("p",null,[m(" A library with "),e("em",null,"any"),m(" Include groups is accessible "),e("em",null,"only"),m(" to users who are in those groups. ")],-1)),J=o(()=>e("p",null,[m(" A library with "),e("em",null,"any"),m(" Exclude groups is not accessible to Guest users but is acccessable to any logged in users that are not in the Exclude groups. ")],-1)),X=o(()=>e("p",null," If you have libraries added and you do not see them in your browser, check to see if the library and your user are in the same group. ",-1)),Z={id:"groupTable"},$=o(()=>e("thead",null,[e("tr",null,[e("th",null,"Library in Group Type"),e("th",null,"Guest"),e("th",null,"User Out of Group"),e("th",null,"User In Group")])],-1)),ee=o(()=>e("tr",null,[e("td",null,"Not in a Group"),e("td",{class:"see"},"Can See"),e("td",{class:"see"},"Can See"),e("td",{class:"see"},"Can See")],-1)),te=o(()=>e("td",{class:"hidden"},"Hidden",-1)),se=o(()=>e("td",{class:"hidden"},"Hidden",-1)),oe=o(()=>e("td",{class:"see"},"Can See",-1)),le=o(()=>e("td",{class:"hidden"},"Hidden",-1)),ae=o(()=>e("td",{class:"see"},"Can See",-1)),ne=o(()=>e("td",{class:"hidden"},"Hidden",-1));function re(t,a,b,x,l,_){const p=u("AdminCreateUpdateDialog"),d=u("GroupChip"),n=u("RelationChips"),R=u("AdminDeleteRowDialog"),U=u("AdminTable");return A(),G("div",null,[e("header",M,[s(p,{table:"Group","max-width":"20em",inputs:l.AdminGroupCreateUpdateInputs},null,8,["inputs"])]),s(U,{"item-title":"name",headers:l.headers,items:t.groups},{"no-data":i(()=>[Y]),"item.exclude":i(({item:r})=>[s(d,{"group-type":"",item:_.groupType(r),"title-key":"name"},null,8,["item"])]),"item.userSet":i(({item:r})=>[s(n,{pks:r.userSet,objs:t.users,"title-key":"username"},null,8,["pks","objs"])]),"item.librarySet":i(({item:r})=>[s(n,{pks:r.librarySet,objs:t.libraries,"title-key":"path"},null,8,["pks","objs"])]),"item.actions":i(({item:r})=>[s(p,{table:"Group","old-row":r,"max-width":"20em",inputs:l.AdminGroupCreateUpdateInputs,size:"small",density:"compact"},null,8,["old-row","inputs"]),s(R,{table:"Group",pk:r.pk,name:r.name,size:"small",density:"compact"},null,8,["pk","name"])]),_:2},1032,["headers","items"]),e("div",q,[F,Q,W,J,X,e("table",Z,[$,e("tbody",null,[ee,e("tr",null,[e("td",null,[s(d,{item:{name:"Include",exclude:!1},"title-key":"name","group-type":""})]),te,se,oe]),e("tr",null,[e("td",null,[s(d,{item:{name:"Exclude",exclude:!0},"title-key":"name","group-type":""})]),le,ae,ne])])])])])}const ke=k(K,[["render",re],["__scopeId","data-v-0893032c"]]);export{ke as default};
|
|
Binary file
|
|
Binary file
|
codex/static_root/assets/{http-error-DQn3mkP_.39be7808902f.js → http-error-Cy29flzW.26884b2f42da.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as u,ag as _,m,P as r,T as a,Q as s,R as n,aK as t,ai as i,L as h,aL as l,aM as f}from"./admin-drawer-panel-
|
|
1
|
+
import{_ as u,ag as _,m,P as r,T as a,Q as s,R as n,aK as t,ai as i,L as h,aL as l,aM as f}from"./admin-drawer-panel-B98ueC5c.js";import{U as k,V as S}from"./unauthorized-BWF4C258.js";import"./change-password-dialog-DywVK04u.js";import"./VTextField-BEgIi5E-.js";import"./VDialog-BcnzrzZO.js";import"./main-BCYKxiL-.js";import"./VSelectionControl-gDbXN6J_.js";const d={400:"Bad Request",403:"Forbidden",404:"Page Not Found",500:"Server Error"};Object.freeze(d);const b={name:"HttpError",components:{Unauthorized:k},data(){return{}},computed:{..._(m,["isCodexViewable"]),code:function(){return+this.$route.params.code},title:function(){let e=d[this.code];return e||(e="Unknown Error"),e}}},x=e=>(l("data-v-54a4436b"),e=e(),f(),e),C={id:"httpCode"},E={id:"title"},V=x(()=>t("h2",null,"Codex Home",-1));function w(e,I,U,v,z,o){const c=s("router-link"),p=s("Unauthorized");return e.isCodexViewable?(n(),r(S,{key:0,id:"httpError"},{default:a(()=>[t("h1",C,i(o.code),1),t("h1",E,i(o.title),1),h(c,{id:"link",to:{name:"home"}},{default:a(()=>[V]),_:1})]),_:1})):(n(),r(p,{key:1}))}const F=u(b,[["render",w],["__scopeId","data-v-54a4436b"]]);export{F as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
������d��>�"�K��_Sy����CL�1a9a��Dg�0����Tx�Z���i�����{w�J�V�T�<~�=[�'O��sx-��G���]aG�c��;�+-���a�+z4�jWЭZ�b-�V�������L��CA�g|ż�����߅;��>Nl$�Aޛq��!
|
|
2
|
+
Sc��uh�q�W�^����x��M紒���M0��Bz����\��3��ݨ�y�ǥbd�j����//��o����zy/g�+�Қ(8<��Ἦ<��/
|
|
3
|
+
�����<�a�'w��t"ى���ѓ#�y��#��E!��~!��g�z����0&N���jΦ���,pG&`\2��)��U���=��~�WS��J|D�<l_l22HxV�����<OY�*�
|
|
4
|
+
�Z�!~]�3%�ٟ�"�j�Ry�3��`_��l\��j�2��L`����K���wf-2�w�3_
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as u,ag as _,m,P as r,T as a,Q as s,R as n,aK as t,ai as i,L as h,aL as l,aM as f}from"./admin-drawer-panel-
|
|
1
|
+
import{_ as u,ag as _,m,P as r,T as a,Q as s,R as n,aK as t,ai as i,L as h,aL as l,aM as f}from"./admin-drawer-panel-B98ueC5c.js";import{U as k,V as S}from"./unauthorized-BWF4C258.js";import"./change-password-dialog-DywVK04u.js";import"./VTextField-BEgIi5E-.js";import"./VDialog-BcnzrzZO.js";import"./main-BCYKxiL-.js";import"./VSelectionControl-gDbXN6J_.js";const d={400:"Bad Request",403:"Forbidden",404:"Page Not Found",500:"Server Error"};Object.freeze(d);const b={name:"HttpError",components:{Unauthorized:k},data(){return{}},computed:{..._(m,["isCodexViewable"]),code:function(){return+this.$route.params.code},title:function(){let e=d[this.code];return e||(e="Unknown Error"),e}}},x=e=>(l("data-v-54a4436b"),e=e(),f(),e),C={id:"httpCode"},E={id:"title"},V=x(()=>t("h2",null,"Codex Home",-1));function w(e,I,U,v,z,o){const c=s("router-link"),p=s("Unauthorized");return e.isCodexViewable?(n(),r(S,{key:0,id:"httpError"},{default:a(()=>[t("h1",C,i(o.code),1),t("h1",E,i(o.title),1),h(c,{id:"link",to:{name:"home"}},{default:a(()=>[V]),_:1})]),_:1})):(n(),r(p,{key:1}))}const F=u(b,[["render",w],["__scopeId","data-v-54a4436b"]]);export{F as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
������d��>�"�K��_Sy����CL�1a9a��Dg�0����Tx�Z���i�����{w�J�V�T�<~�=[�'O��sx-��G���]aG�c��;�+-���a�+z4�jWЭZ�b-�V�������L��CA�g|ż�����߅;��>Nl$�Aޛq��!
|
|
2
|
+
Sc��uh�q�W�^����x��M紒���M0��Bz����\��3��ݨ�y�ǥbd�j����//��o����zy/g�+�Қ(8<��Ἦ<��/
|
|
3
|
+
�����<�a�'w��t"ى���ѓ#�y��#��E!��~!��g�z����0&N���jΦ���,pG&`\2��)��U���=��~�WS��J|D�<l_l22HxV�����<OY�*�
|
|
4
|
+
�Z�!~]�3%�ٟ�"�j�Ry�3��`_��l\��j�2��L`����K���wf-2�w�3_
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as w,t as b,k as A,O as v,_ as k,R as h,aA as y,L as l,T as s,ak as Y,ap as P,bb as q,P as T,Q as m,ai as g,M as H,cv as Q,aG as z,bg as J,aK as r,ad as d,ah as V,aD as x,aB as X,aL as B,aM as j,cw as Z,cx as ee,bs as te,aU as oe,c7 as le,ae as re}from"./admin-drawer-panel-BNRI3VNZ.js";import{A as se,a as ae,b as ie,c as ne,R as de}from"./relation-chips-BoGgSbRW.js";import{a as D,u as me}from"./main-BJYrxs0x.js";import{V as pe}from"./VCombobox-CN1HkVdW.js";import{V as C}from"./VCheckbox-H0aBoP9N.js";import{V as ue}from"./VTextField-BzSMerR0.js";import{D as $}from"./datetime-column-Dbxk_0ER.js";import{V as E,a as R,b as O,c as U}from"./VExpansionPanels-BFGZaci1.js";import{V as ce}from"./VTable-icaTTwDw.js";import{C as he}from"./confirm-dialog-C4NOgXW9.js";import{V as S}from"./VCheckboxBtn-CTJ47tuf.js";import"./VDialog-DhRhufg-.js";import"./VSelect-DaalAg2L.js";import"./VSelectionControl-wVVkmChP.js";import"./VSlideGroup-DCfSQ-Vx.js";import"./filter-DrwUDlyj.js";const fe={name:"AdminServerFolderPicker",emits:["change","menu"],data(){return{path:"",originalPath:"",showHidden:!1,menuOpen:!1}},computed:{...w(b,{folders:e=>e.folderPicker.folders,rootFolder:e=>e.folderPicker.rootFolder}),...w(A,{formErrors:e=>e.form.errors}),appendOuterIcon(){return this.showHidden?this.mdiFolderHidden:this.mdiFolderOutline},showHiddenTooltipPrefix(){return this.showHidden?"Hide":"Show"}},watch:{menuOpen(e){e&&this.$emit("menu",e)}},created(){this.loadFolders().then(()=>(this.path=this.rootFolder,this.originalPath=this.rootFolder,!0)).catch(console.warn)},methods:{...v(b,["clearFolders","loadFolders"]),...v(A,["clearErrors"]),change(e){const t=e?e.startsWith("/")||e.startsWith("\\")?e:[this.rootFolder,e].join("/"):this.rootFolder,p=this.menuOpen;this.clearErrors(),this.loadFolders(t,this.showHidden).then(()=>{this.menuOpen=p;let f="";return this.formErrors.length===0&&(this.path=f=this.rootFolder),this.$emit("change",f)}).catch(console.warn)},onBlur(){this.menuOpen=!1,this.change(this.path)},onClear(){this.clearFolders(this.orignalPath).then(()=>this.change(this.orginalPath)).catch(console.error)},onKeyDownEnter(){this.change(this.path)},onItemClick(e){this.change(e)}}},be={id:"folderPicker"};function ye(e,t,p,f,o,u){return h(),y("div",be,[l(pe,P({modelValue:o.path,"onUpdate:modelValue":t[0]||(t[0]=i=>o.path=i),menu:o.menuOpen,"onUpdate:menu":t[1]||(t[1]=i=>o.menuOpen=i)},e.$attrs,{"aria-label":"Library folder",clearable:"","error-messages":e.formErrors,"full-width":"","hide-details":"auto",items:e.folders,"menu-props":{maxHeight:"370px"},"validate-on":"blur",variant:"filled",onBlur:u.onBlur,"onClick:clear":u.onClear,onKeydown:q(u.onKeyDownEnter,["enter"])}),{item:s(({item:i,props:c})=>[l(Y,P(c,{title:i.title,value:i.value,onClick:F=>u.onItemClick(i.value)}),null,16,["title","value","onClick"])]),_:1},16,["modelValue","menu","error-messages","items","onBlur","onClick:clear","onKeydown"]),l(C,{modelValue:o.showHidden,"onUpdate:modelValue":t[2]||(t[2]=i=>o.showHidden=i),density:"compact",class:"showHidden","hide-details":"auto",label:"Show Hidden Folders"},null,8,["modelValue"])])}const _e=k(fe,[["render",ye],["__scopeId","data-v-49f10642"]]),ge={name:"TimeTextField",data(){return{FORMAT:"DDD HH:mm:SS",timeRules:[e=>/^(\d{1,3} )?([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(e)||`Invalid time format ${this.FORMAT}`]}}};function we(e,t,p,f,o,u){return h(),T(ue,P({ref:"timeField",density:"compact",filled:"",hint:o.FORMAT,round:"",rules:o.timeRules},e.$attrs),null,16,["hint","rules"])}const ke=k(ge,[["render",we]]),N=["events","poll","pollEvery","groups"];Object.freeze(N);const I={path:"",events:!0,poll:!0,pollEvery:"01:00:00",groups:[]};Object.freeze(I);const L=(e,t)=>(e=e.replaceAll("\\","/"),t=t.replaceAll("\\","/"),e.endsWith("/")||(e+="/"),t.endsWith("/")||(t+="/"),t.startsWith(e)),Fe={name:"AdminLibraryCreateUpdateInputs",components:{AdminRelationPicker:se,AdminServerFolderPicker:_e,TimeTextField:ke},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{path:[e=>!!e||"Path is required",e=>{if(!e)return!1;for(const t of this.paths){if(L(t,e))return"Path is a child of an existing library";if(L(e,t))return"Path is a parent of an existing library"}return!0}]},row:D.cloneDeep(this.oldRow||I)}},computed:{...w(b,{groups:e=>e.groups,libraries:e=>e.libraries}),paths(){return this.nameSet(this.libraries,"path",this.oldRow,!1)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=D.cloneDeep(e)},deep:!0}},methods:{...v(b,["nameSet"])},UPDATE_KEYS:N,EMPTY_ROW:I},ve={key:1};function Pe(e,t,p,f,o,u){const i=m("AdminServerFolderPicker"),c=m("TimeTextField"),F=m("AdminRelationPicker");return h(),y(H,null,[p.oldRow?(h(),y("div",ve,g(p.oldRow.path),1)):(h(),T(i,{key:0,rules:o.rules.path,autofocus:"",label:"Library Folder",onChange:t[0]||(t[0]=n=>o.row.path=n)},null,8,["rules"])),l(C,{modelValue:o.row.events,"onUpdate:modelValue":t[1]||(t[1]=n=>o.row.events=n),"hide-details":"auto",hint:"Update Codex instantly when the filesystem changes",label:"Watch Filesystem Events","persistent-hint":!0},null,8,["modelValue"]),l(C,{modelValue:o.row.poll,"onUpdate:modelValue":t[2]||(t[2]=n=>o.row.poll=n),label:"Poll Filesystem Periodically","hide-details":"auto",hint:"Periodically poll the library for changes","persistent-hint":!0},null,8,["modelValue"]),l(c,{modelValue:o.row.pollEvery,"onUpdate:modelValue":t[3]||(t[3]=n=>o.row.pollEvery=n),label:"Poll Every",disabled:!o.row.poll},null,8,["modelValue","disabled"]),l(F,{modelValue:o.row.groups,"onUpdate:modelValue":t[4]||(t[4]=n=>o.row.groups=n),label:"Groups",objs:e.groups,"group-type":"","title-key":"name"},null,8,["modelValue","objs"])],64)}const Ce=k(Fe,[["render",Pe]]),Ie={name:"AdminFailedImportsPanel",components:{DateTimeColumn:$},data(){return{mdiBookAlert:Q,mdiOpenInNew:z}},computed:{...w(b,["failedImports"]),...J(b,["unseenFailedImports"])},created(){this.unseenFailedImports=!0}},_=e=>(B("data-v-a5fc117c"),e=e(),j(),e),Te={key:0,id:"failedImports"},Ae=_(()=>r("thead",null,[r("tr",null,[r("th",null,"Path"),r("th",null,"Created")])],-1)),Ve={class:"dateCol"},xe=_(()=>r("h4",null,"Failed Imports Help",-1)),De=_(()=>r("p",null," These are Comic archives that have failed to import. This list is updated every time the library updates. You should probably review these files and fix or remove them. ",-1)),Ee=_(()=>r("h4",null,"Fixing comics",-1)),Re=_(()=>r("p",null,[d(" Try using the zip fixer to fix comics: "),r("code",{class:"cli"},[d(" cp problem-comic.cbz /somewhere/safe/problem-comic.cbz.backup"),r("br"),d(" zip -F problem-comic.cbz --out fixed.zip"),r("br"),d(" mv fixed.zip problem-comic.cbz ")]),d(" You may also try "),r("code",null,"zip -FF"),d(" to fix comics which uses a different (not necissarily better) algorithm. If you fix some imports, and Codex does not immediately detect the change, poll the library which contains the fixed comics. ")],-1)),Oe=_(()=>r("h4",null,"Reporting Issues",-1)),Ue={href:"https://github.com/ajslater/codex/issues/",target:"_blank"},Se=_(()=>r("code",null,"config/logs/codex.log",-1));function Le(e,t,p,f,o,u){const i=m("DateTimeColumn");return e.failedImports&&e.failedImports.length>0?(h(),y("div",Te,[l(U,null,{default:s(()=>[l(E,{id:"failedImportsPanel",onClick:t[0]||(t[0]=c=>e.unseenFailedImports=!1)},{default:s(()=>[l(R,null,{default:s(()=>[r("h4",null,"Failed Imports: "+g(e.failedImports.length),1),e.unseenFailedImports?(h(),T(V,{key:0,id:"failedImportsIcon",title:"New Failed Imports"},{default:s(()=>[d(g(o.mdiBookAlert),1)]),_:1})):x("",!0)]),_:1}),l(O,null,{default:s(()=>[l(ce,{class:"highlight-table"},{default:s(()=>[Ae,r("tbody",null,[(h(!0),y(H,null,X(e.failedImports,c=>(h(),y("tr",{key:`fi:${c.path}`},[r("td",null,g(c.path),1),r("td",Ve,[l(i,{dttm:c.createdAt},null,8,["dttm"])])]))),128))])]),_:1}),l(U,null,{default:s(()=>[l(E,{id:"failedImportsHelp"},{default:s(()=>[l(R,null,{default:s(()=>[xe]),_:1}),l(O,null,{default:s(()=>[De,Ee,Re,Oe,r("p",null,[d(" If the comic looks good to you, but still shows up as a failed import, it might be Codex's fault for not importing it correctly. Please file an "),r("a",Ue,[d("Issue Report"),l(V,{size:"small"},{default:s(()=>[d(g(o.mdiOpenInNew),1)]),_:1})]),d(" and include the stack trace from the logs at "),Se,d(" if you can. ")])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])):x("",!0)}const He=k(Ie,[["render",Le],["__scopeId","data-v-a5fc117c"]]),ze={name:"AdminLibrariesTab",components:{AdminTable:ae,AdminDeleteRowDialog:ie,AdminFailedImportsPanel:He,AdminCreateUpdateDialog:ne,RelationChips:de,ConfirmDialog:he,DateTimeColumn:$},data(){return{lastUpdate:{pk:0,field:void 0},mdiDatabaseClockOutline:Z,mdiDatabaseSyncOutline:ee,mdiOpenInNew:z,AdminLibraryCreateUpdateInputs:te(Ce),headers:[{title:"Path",key:"path",align:"start"},{title:"Watch File Events",key:"events"},{title:"Poll Files Periodically",key:"poll"},{title:"Poll Every",key:"pollEvery"},{title:"Last Poll",key:"lastPoll"},{title:"Groups",key:"groups"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...w(b,{groups:e=>e.groups,libraries:e=>e.libraries,formErrors:e=>e.form.errors}),...w(me,{twentyFourHourTime:e=>e.settings.twentyFourHourTime})},mounted(){this.loadTables(["Group","Library","FailedImport"])},methods:{...v(b,["updateRow","clearErrors","librarianTask","loadTables"]),formatDateTime:e=>e?oe(e,(void 0).twentyFourHourTime):"",changeCol(e,t,p){this.lastUpdate.pk=e,this.lastUpdate.field=t;const f={[t]:p};this.updateRow("Library",e,f)},getFormErrors(e,t){if(e===this.lastUpdate.pk&&t===this.lastUpdate.field)return this.formErrors},poll(e){this.librarianTask("poll",`Poll Library ${e}`,e)},forcePoll(e){this.librarianTask("poll_force",`Force Poll Library ${e}`,e)}}},Be=e=>(B("data-v-ed190b94"),e=e(),j(),e),je={class:"tabHeader"},$e=Be(()=>r("td",{class:"adminNoData",colspan:"100%"}," Add a Library to start using Codex ",-1));function Ne(e,t,p,f,o,u){const i=m("AdminCreateUpdateDialog"),c=m("DateTimeColumn"),F=m("RelationChips"),n=m("ConfirmDialog"),W=m("AdminDeleteRowDialog"),K=m("AdminTable"),M=m("AdminFailedImportsPanel");return h(),y("div",null,[r("header",je,[l(i,{table:"Library",inputs:o.AdminLibraryCreateUpdateInputs},null,8,["inputs"])]),l(K,{headers:o.headers,items:e.libraries,"sort-by":[{key:"path",order:"asc"}]},{"no-data":s(()=>[$e]),"item.events":s(({item:a})=>[l(S,{"model-value":a.events,disabled:""},null,8,["model-value"])]),"item.poll":s(({item:a})=>[l(S,{"model-value":a.poll,disabled:""},null,8,["model-value"])]),"item.pollEvery":s(({item:a})=>[r("span",{class:re({disabled:!a.poll})},g(a.pollEvery),3)]),"item.lastPoll":s(({item:a})=>[l(c,{dttm:a.lastPoll},null,8,["dttm"])]),"item.groups":s(({item:a})=>[l(F,{pks:a.groups,objs:e.groups,"group-type":"","title-key":"name"},null,8,["pks","objs"])]),"item.actions":s(({item:a})=>[l(n,{icon:o.mdiDatabaseClockOutline,"title-text":"Poll for updated comics","object-name":a.path,"confirm-text":"Poll Library",size:"small",density:"compact",onConfirm:G=>u.poll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(n,{icon:o.mdiDatabaseSyncOutline,"title-text":"Force update every comic","object-name":a.path,"confirm-text":"Force Update",size:"small",density:"compact",onConfirm:G=>u.forcePoll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(i,{table:"Library","old-row":a,inputs:o.AdminLibraryCreateUpdateInputs,"max-width":"22em",size:"small",density:"compact"},null,8,["old-row","inputs"]),l(W,{table:"Library",pk:a.pk,name:a.path,size:"small",density:"compact"},null,8,["pk","name"])]),_:2},1032,["headers","items"]),l(le,null,{default:s(()=>[l(M)]),_:1})])}const at=k(ze,[["render",Ne],["__scopeId","data-v-ed190b94"]]);export{at as default};
|
|
1
|
+
import{N as w,t as b,k as A,O as v,_ as k,R as h,aA as y,L as l,T as s,ak as Y,ap as P,bb as q,P as T,Q as m,ai as g,M as H,cv as Q,aG as z,bg as J,aK as r,ad as d,ah as V,aD as x,aB as X,aL as B,aM as j,cw as Z,cx as ee,bs as te,aU as oe,c7 as le,ae as re}from"./admin-drawer-panel-B98ueC5c.js";import{A as se,a as ae,b as ie,c as ne,R as de}from"./relation-chips-LT1N5iCN.js";import{a as D,u as me}from"./main-BCYKxiL-.js";import{V as pe}from"./VCombobox-DJFO04Gk.js";import{V as C}from"./VCheckbox-CRu3BJ5D.js";import{V as ue}from"./VTextField-BEgIi5E-.js";import{D as $}from"./datetime-column-IeiZdinf.js";import{V as E,a as R,b as O,c as U}from"./VExpansionPanels-DP3HSBJj.js";import{V as ce}from"./VTable-D86x2F7y.js";import{C as he}from"./confirm-dialog-UnMzYsqN.js";import{V as S}from"./VCheckboxBtn-CAUrQoP4.js";import"./VDialog-BcnzrzZO.js";import"./VSelect-BIXGglsb.js";import"./VSelectionControl-gDbXN6J_.js";import"./VSlideGroup-D8FKczaP.js";import"./filter-BT3OCu_E.js";const fe={name:"AdminServerFolderPicker",emits:["change","menu"],data(){return{path:"",originalPath:"",showHidden:!1,menuOpen:!1}},computed:{...w(b,{folders:e=>e.folderPicker.folders,rootFolder:e=>e.folderPicker.rootFolder}),...w(A,{formErrors:e=>e.form.errors}),appendOuterIcon(){return this.showHidden?this.mdiFolderHidden:this.mdiFolderOutline},showHiddenTooltipPrefix(){return this.showHidden?"Hide":"Show"}},watch:{menuOpen(e){e&&this.$emit("menu",e)}},created(){this.loadFolders().then(()=>(this.path=this.rootFolder,this.originalPath=this.rootFolder,!0)).catch(console.warn)},methods:{...v(b,["clearFolders","loadFolders"]),...v(A,["clearErrors"]),change(e){const t=e?e.startsWith("/")||e.startsWith("\\")?e:[this.rootFolder,e].join("/"):this.rootFolder,p=this.menuOpen;this.clearErrors(),this.loadFolders(t,this.showHidden).then(()=>{this.menuOpen=p;let f="";return this.formErrors.length===0&&(this.path=f=this.rootFolder),this.$emit("change",f)}).catch(console.warn)},onBlur(){this.menuOpen=!1,this.change(this.path)},onClear(){this.clearFolders(this.orignalPath).then(()=>this.change(this.orginalPath)).catch(console.error)},onKeyDownEnter(){this.change(this.path)},onItemClick(e){this.change(e)}}},be={id:"folderPicker"};function ye(e,t,p,f,o,u){return h(),y("div",be,[l(pe,P({modelValue:o.path,"onUpdate:modelValue":t[0]||(t[0]=i=>o.path=i),menu:o.menuOpen,"onUpdate:menu":t[1]||(t[1]=i=>o.menuOpen=i)},e.$attrs,{"aria-label":"Library folder",clearable:"","error-messages":e.formErrors,"full-width":"","hide-details":"auto",items:e.folders,"menu-props":{maxHeight:"370px"},"validate-on":"blur",variant:"filled",onBlur:u.onBlur,"onClick:clear":u.onClear,onKeydown:q(u.onKeyDownEnter,["enter"])}),{item:s(({item:i,props:c})=>[l(Y,P(c,{title:i.title,value:i.value,onClick:F=>u.onItemClick(i.value)}),null,16,["title","value","onClick"])]),_:1},16,["modelValue","menu","error-messages","items","onBlur","onClick:clear","onKeydown"]),l(C,{modelValue:o.showHidden,"onUpdate:modelValue":t[2]||(t[2]=i=>o.showHidden=i),density:"compact",class:"showHidden","hide-details":"auto",label:"Show Hidden Folders"},null,8,["modelValue"])])}const _e=k(fe,[["render",ye],["__scopeId","data-v-49f10642"]]),ge={name:"TimeTextField",data(){return{FORMAT:"DDD HH:mm:SS",timeRules:[e=>/^(\d{1,3} )?([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(e)||`Invalid time format ${this.FORMAT}`]}}};function we(e,t,p,f,o,u){return h(),T(ue,P({ref:"timeField",density:"compact",filled:"",hint:o.FORMAT,round:"",rules:o.timeRules},e.$attrs),null,16,["hint","rules"])}const ke=k(ge,[["render",we]]),N=["events","poll","pollEvery","groups"];Object.freeze(N);const I={path:"",events:!0,poll:!0,pollEvery:"01:00:00",groups:[]};Object.freeze(I);const L=(e,t)=>(e=e.replaceAll("\\","/"),t=t.replaceAll("\\","/"),e.endsWith("/")||(e+="/"),t.endsWith("/")||(t+="/"),t.startsWith(e)),Fe={name:"AdminLibraryCreateUpdateInputs",components:{AdminRelationPicker:se,AdminServerFolderPicker:_e,TimeTextField:ke},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{path:[e=>!!e||"Path is required",e=>{if(!e)return!1;for(const t of this.paths){if(L(t,e))return"Path is a child of an existing library";if(L(e,t))return"Path is a parent of an existing library"}return!0}]},row:D.cloneDeep(this.oldRow||I)}},computed:{...w(b,{groups:e=>e.groups,libraries:e=>e.libraries}),paths(){return this.nameSet(this.libraries,"path",this.oldRow,!1)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=D.cloneDeep(e)},deep:!0}},methods:{...v(b,["nameSet"])},UPDATE_KEYS:N,EMPTY_ROW:I},ve={key:1};function Pe(e,t,p,f,o,u){const i=m("AdminServerFolderPicker"),c=m("TimeTextField"),F=m("AdminRelationPicker");return h(),y(H,null,[p.oldRow?(h(),y("div",ve,g(p.oldRow.path),1)):(h(),T(i,{key:0,rules:o.rules.path,autofocus:"",label:"Library Folder",onChange:t[0]||(t[0]=n=>o.row.path=n)},null,8,["rules"])),l(C,{modelValue:o.row.events,"onUpdate:modelValue":t[1]||(t[1]=n=>o.row.events=n),"hide-details":"auto",hint:"Update Codex instantly when the filesystem changes",label:"Watch Filesystem Events","persistent-hint":!0},null,8,["modelValue"]),l(C,{modelValue:o.row.poll,"onUpdate:modelValue":t[2]||(t[2]=n=>o.row.poll=n),label:"Poll Filesystem Periodically","hide-details":"auto",hint:"Periodically poll the library for changes","persistent-hint":!0},null,8,["modelValue"]),l(c,{modelValue:o.row.pollEvery,"onUpdate:modelValue":t[3]||(t[3]=n=>o.row.pollEvery=n),label:"Poll Every",disabled:!o.row.poll},null,8,["modelValue","disabled"]),l(F,{modelValue:o.row.groups,"onUpdate:modelValue":t[4]||(t[4]=n=>o.row.groups=n),label:"Groups",objs:e.groups,"group-type":"","title-key":"name"},null,8,["modelValue","objs"])],64)}const Ce=k(Fe,[["render",Pe]]),Ie={name:"AdminFailedImportsPanel",components:{DateTimeColumn:$},data(){return{mdiBookAlert:Q,mdiOpenInNew:z}},computed:{...w(b,["failedImports"]),...J(b,["unseenFailedImports"])},created(){this.unseenFailedImports=!0}},_=e=>(B("data-v-a5fc117c"),e=e(),j(),e),Te={key:0,id:"failedImports"},Ae=_(()=>r("thead",null,[r("tr",null,[r("th",null,"Path"),r("th",null,"Created")])],-1)),Ve={class:"dateCol"},xe=_(()=>r("h4",null,"Failed Imports Help",-1)),De=_(()=>r("p",null," These are Comic archives that have failed to import. This list is updated every time the library updates. You should probably review these files and fix or remove them. ",-1)),Ee=_(()=>r("h4",null,"Fixing comics",-1)),Re=_(()=>r("p",null,[d(" Try using the zip fixer to fix comics: "),r("code",{class:"cli"},[d(" cp problem-comic.cbz /somewhere/safe/problem-comic.cbz.backup"),r("br"),d(" zip -F problem-comic.cbz --out fixed.zip"),r("br"),d(" mv fixed.zip problem-comic.cbz ")]),d(" You may also try "),r("code",null,"zip -FF"),d(" to fix comics which uses a different (not necissarily better) algorithm. If you fix some imports, and Codex does not immediately detect the change, poll the library which contains the fixed comics. ")],-1)),Oe=_(()=>r("h4",null,"Reporting Issues",-1)),Ue={href:"https://github.com/ajslater/codex/issues/",target:"_blank"},Se=_(()=>r("code",null,"config/logs/codex.log",-1));function Le(e,t,p,f,o,u){const i=m("DateTimeColumn");return e.failedImports&&e.failedImports.length>0?(h(),y("div",Te,[l(U,null,{default:s(()=>[l(E,{id:"failedImportsPanel",onClick:t[0]||(t[0]=c=>e.unseenFailedImports=!1)},{default:s(()=>[l(R,null,{default:s(()=>[r("h4",null,"Failed Imports: "+g(e.failedImports.length),1),e.unseenFailedImports?(h(),T(V,{key:0,id:"failedImportsIcon",title:"New Failed Imports"},{default:s(()=>[d(g(o.mdiBookAlert),1)]),_:1})):x("",!0)]),_:1}),l(O,null,{default:s(()=>[l(ce,{class:"highlight-table"},{default:s(()=>[Ae,r("tbody",null,[(h(!0),y(H,null,X(e.failedImports,c=>(h(),y("tr",{key:`fi:${c.path}`},[r("td",null,g(c.path),1),r("td",Ve,[l(i,{dttm:c.createdAt},null,8,["dttm"])])]))),128))])]),_:1}),l(U,null,{default:s(()=>[l(E,{id:"failedImportsHelp"},{default:s(()=>[l(R,null,{default:s(()=>[xe]),_:1}),l(O,null,{default:s(()=>[De,Ee,Re,Oe,r("p",null,[d(" If the comic looks good to you, but still shows up as a failed import, it might be Codex's fault for not importing it correctly. Please file an "),r("a",Ue,[d("Issue Report"),l(V,{size:"small"},{default:s(()=>[d(g(o.mdiOpenInNew),1)]),_:1})]),d(" and include the stack trace from the logs at "),Se,d(" if you can. ")])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])):x("",!0)}const He=k(Ie,[["render",Le],["__scopeId","data-v-a5fc117c"]]),ze={name:"AdminLibrariesTab",components:{AdminTable:ae,AdminDeleteRowDialog:ie,AdminFailedImportsPanel:He,AdminCreateUpdateDialog:ne,RelationChips:de,ConfirmDialog:he,DateTimeColumn:$},data(){return{lastUpdate:{pk:0,field:void 0},mdiDatabaseClockOutline:Z,mdiDatabaseSyncOutline:ee,mdiOpenInNew:z,AdminLibraryCreateUpdateInputs:te(Ce),headers:[{title:"Path",key:"path",align:"start"},{title:"Watch File Events",key:"events"},{title:"Poll Files Periodically",key:"poll"},{title:"Poll Every",key:"pollEvery"},{title:"Last Poll",key:"lastPoll"},{title:"Groups",key:"groups"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...w(b,{groups:e=>e.groups,libraries:e=>e.libraries,formErrors:e=>e.form.errors}),...w(me,{twentyFourHourTime:e=>e.settings.twentyFourHourTime})},mounted(){this.loadTables(["Group","Library","FailedImport"])},methods:{...v(b,["updateRow","clearErrors","librarianTask","loadTables"]),formatDateTime:e=>e?oe(e,(void 0).twentyFourHourTime):"",changeCol(e,t,p){this.lastUpdate.pk=e,this.lastUpdate.field=t;const f={[t]:p};this.updateRow("Library",e,f)},getFormErrors(e,t){if(e===this.lastUpdate.pk&&t===this.lastUpdate.field)return this.formErrors},poll(e){this.librarianTask("poll",`Poll Library ${e}`,e)},forcePoll(e){this.librarianTask("poll_force",`Force Poll Library ${e}`,e)}}},Be=e=>(B("data-v-ed190b94"),e=e(),j(),e),je={class:"tabHeader"},$e=Be(()=>r("td",{class:"adminNoData",colspan:"100%"}," Add a Library to start using Codex ",-1));function Ne(e,t,p,f,o,u){const i=m("AdminCreateUpdateDialog"),c=m("DateTimeColumn"),F=m("RelationChips"),n=m("ConfirmDialog"),W=m("AdminDeleteRowDialog"),K=m("AdminTable"),M=m("AdminFailedImportsPanel");return h(),y("div",null,[r("header",je,[l(i,{table:"Library",inputs:o.AdminLibraryCreateUpdateInputs},null,8,["inputs"])]),l(K,{headers:o.headers,items:e.libraries,"sort-by":[{key:"path",order:"asc"}]},{"no-data":s(()=>[$e]),"item.events":s(({item:a})=>[l(S,{"model-value":a.events,disabled:""},null,8,["model-value"])]),"item.poll":s(({item:a})=>[l(S,{"model-value":a.poll,disabled:""},null,8,["model-value"])]),"item.pollEvery":s(({item:a})=>[r("span",{class:re({disabled:!a.poll})},g(a.pollEvery),3)]),"item.lastPoll":s(({item:a})=>[l(c,{dttm:a.lastPoll},null,8,["dttm"])]),"item.groups":s(({item:a})=>[l(F,{pks:a.groups,objs:e.groups,"group-type":"","title-key":"name"},null,8,["pks","objs"])]),"item.actions":s(({item:a})=>[l(n,{icon:o.mdiDatabaseClockOutline,"title-text":"Poll for updated comics","object-name":a.path,"confirm-text":"Poll Library",size:"small",density:"compact",onConfirm:G=>u.poll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(n,{icon:o.mdiDatabaseSyncOutline,"title-text":"Force update every comic","object-name":a.path,"confirm-text":"Force Update",size:"small",density:"compact",onConfirm:G=>u.forcePoll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(i,{table:"Library","old-row":a,inputs:o.AdminLibraryCreateUpdateInputs,"max-width":"22em",size:"small",density:"compact"},null,8,["old-row","inputs"]),l(W,{table:"Library",pk:a.pk,name:a.path,size:"small",density:"compact"},null,8,["pk","name"])]),_:2},1032,["headers","items"]),l(le,null,{default:s(()=>[l(M)]),_:1})])}const at=k(ze,[["render",Ne],["__scopeId","data-v-ed190b94"]]);export{at as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as w,t as b,k as A,O as v,_ as k,R as h,aA as y,L as l,T as s,ak as Y,ap as P,bb as q,P as T,Q as m,ai as g,M as H,cv as Q,aG as z,bg as J,aK as r,ad as d,ah as V,aD as x,aB as X,aL as B,aM as j,cw as Z,cx as ee,bs as te,aU as oe,c7 as le,ae as re}from"./admin-drawer-panel-BNRI3VNZ.js";import{A as se,a as ae,b as ie,c as ne,R as de}from"./relation-chips-BoGgSbRW.js";import{a as D,u as me}from"./main-BJYrxs0x.js";import{V as pe}from"./VCombobox-CN1HkVdW.js";import{V as C}from"./VCheckbox-H0aBoP9N.js";import{V as ue}from"./VTextField-BzSMerR0.js";import{D as $}from"./datetime-column-Dbxk_0ER.js";import{V as E,a as R,b as O,c as U}from"./VExpansionPanels-BFGZaci1.js";import{V as ce}from"./VTable-icaTTwDw.js";import{C as he}from"./confirm-dialog-C4NOgXW9.js";import{V as S}from"./VCheckboxBtn-CTJ47tuf.js";import"./VDialog-DhRhufg-.js";import"./VSelect-DaalAg2L.js";import"./VSelectionControl-wVVkmChP.js";import"./VSlideGroup-DCfSQ-Vx.js";import"./filter-DrwUDlyj.js";const fe={name:"AdminServerFolderPicker",emits:["change","menu"],data(){return{path:"",originalPath:"",showHidden:!1,menuOpen:!1}},computed:{...w(b,{folders:e=>e.folderPicker.folders,rootFolder:e=>e.folderPicker.rootFolder}),...w(A,{formErrors:e=>e.form.errors}),appendOuterIcon(){return this.showHidden?this.mdiFolderHidden:this.mdiFolderOutline},showHiddenTooltipPrefix(){return this.showHidden?"Hide":"Show"}},watch:{menuOpen(e){e&&this.$emit("menu",e)}},created(){this.loadFolders().then(()=>(this.path=this.rootFolder,this.originalPath=this.rootFolder,!0)).catch(console.warn)},methods:{...v(b,["clearFolders","loadFolders"]),...v(A,["clearErrors"]),change(e){const t=e?e.startsWith("/")||e.startsWith("\\")?e:[this.rootFolder,e].join("/"):this.rootFolder,p=this.menuOpen;this.clearErrors(),this.loadFolders(t,this.showHidden).then(()=>{this.menuOpen=p;let f="";return this.formErrors.length===0&&(this.path=f=this.rootFolder),this.$emit("change",f)}).catch(console.warn)},onBlur(){this.menuOpen=!1,this.change(this.path)},onClear(){this.clearFolders(this.orignalPath).then(()=>this.change(this.orginalPath)).catch(console.error)},onKeyDownEnter(){this.change(this.path)},onItemClick(e){this.change(e)}}},be={id:"folderPicker"};function ye(e,t,p,f,o,u){return h(),y("div",be,[l(pe,P({modelValue:o.path,"onUpdate:modelValue":t[0]||(t[0]=i=>o.path=i),menu:o.menuOpen,"onUpdate:menu":t[1]||(t[1]=i=>o.menuOpen=i)},e.$attrs,{"aria-label":"Library folder",clearable:"","error-messages":e.formErrors,"full-width":"","hide-details":"auto",items:e.folders,"menu-props":{maxHeight:"370px"},"validate-on":"blur",variant:"filled",onBlur:u.onBlur,"onClick:clear":u.onClear,onKeydown:q(u.onKeyDownEnter,["enter"])}),{item:s(({item:i,props:c})=>[l(Y,P(c,{title:i.title,value:i.value,onClick:F=>u.onItemClick(i.value)}),null,16,["title","value","onClick"])]),_:1},16,["modelValue","menu","error-messages","items","onBlur","onClick:clear","onKeydown"]),l(C,{modelValue:o.showHidden,"onUpdate:modelValue":t[2]||(t[2]=i=>o.showHidden=i),density:"compact",class:"showHidden","hide-details":"auto",label:"Show Hidden Folders"},null,8,["modelValue"])])}const _e=k(fe,[["render",ye],["__scopeId","data-v-49f10642"]]),ge={name:"TimeTextField",data(){return{FORMAT:"DDD HH:mm:SS",timeRules:[e=>/^(\d{1,3} )?([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(e)||`Invalid time format ${this.FORMAT}`]}}};function we(e,t,p,f,o,u){return h(),T(ue,P({ref:"timeField",density:"compact",filled:"",hint:o.FORMAT,round:"",rules:o.timeRules},e.$attrs),null,16,["hint","rules"])}const ke=k(ge,[["render",we]]),N=["events","poll","pollEvery","groups"];Object.freeze(N);const I={path:"",events:!0,poll:!0,pollEvery:"01:00:00",groups:[]};Object.freeze(I);const L=(e,t)=>(e=e.replaceAll("\\","/"),t=t.replaceAll("\\","/"),e.endsWith("/")||(e+="/"),t.endsWith("/")||(t+="/"),t.startsWith(e)),Fe={name:"AdminLibraryCreateUpdateInputs",components:{AdminRelationPicker:se,AdminServerFolderPicker:_e,TimeTextField:ke},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{path:[e=>!!e||"Path is required",e=>{if(!e)return!1;for(const t of this.paths){if(L(t,e))return"Path is a child of an existing library";if(L(e,t))return"Path is a parent of an existing library"}return!0}]},row:D.cloneDeep(this.oldRow||I)}},computed:{...w(b,{groups:e=>e.groups,libraries:e=>e.libraries}),paths(){return this.nameSet(this.libraries,"path",this.oldRow,!1)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=D.cloneDeep(e)},deep:!0}},methods:{...v(b,["nameSet"])},UPDATE_KEYS:N,EMPTY_ROW:I},ve={key:1};function Pe(e,t,p,f,o,u){const i=m("AdminServerFolderPicker"),c=m("TimeTextField"),F=m("AdminRelationPicker");return h(),y(H,null,[p.oldRow?(h(),y("div",ve,g(p.oldRow.path),1)):(h(),T(i,{key:0,rules:o.rules.path,autofocus:"",label:"Library Folder",onChange:t[0]||(t[0]=n=>o.row.path=n)},null,8,["rules"])),l(C,{modelValue:o.row.events,"onUpdate:modelValue":t[1]||(t[1]=n=>o.row.events=n),"hide-details":"auto",hint:"Update Codex instantly when the filesystem changes",label:"Watch Filesystem Events","persistent-hint":!0},null,8,["modelValue"]),l(C,{modelValue:o.row.poll,"onUpdate:modelValue":t[2]||(t[2]=n=>o.row.poll=n),label:"Poll Filesystem Periodically","hide-details":"auto",hint:"Periodically poll the library for changes","persistent-hint":!0},null,8,["modelValue"]),l(c,{modelValue:o.row.pollEvery,"onUpdate:modelValue":t[3]||(t[3]=n=>o.row.pollEvery=n),label:"Poll Every",disabled:!o.row.poll},null,8,["modelValue","disabled"]),l(F,{modelValue:o.row.groups,"onUpdate:modelValue":t[4]||(t[4]=n=>o.row.groups=n),label:"Groups",objs:e.groups,"group-type":"","title-key":"name"},null,8,["modelValue","objs"])],64)}const Ce=k(Fe,[["render",Pe]]),Ie={name:"AdminFailedImportsPanel",components:{DateTimeColumn:$},data(){return{mdiBookAlert:Q,mdiOpenInNew:z}},computed:{...w(b,["failedImports"]),...J(b,["unseenFailedImports"])},created(){this.unseenFailedImports=!0}},_=e=>(B("data-v-a5fc117c"),e=e(),j(),e),Te={key:0,id:"failedImports"},Ae=_(()=>r("thead",null,[r("tr",null,[r("th",null,"Path"),r("th",null,"Created")])],-1)),Ve={class:"dateCol"},xe=_(()=>r("h4",null,"Failed Imports Help",-1)),De=_(()=>r("p",null," These are Comic archives that have failed to import. This list is updated every time the library updates. You should probably review these files and fix or remove them. ",-1)),Ee=_(()=>r("h4",null,"Fixing comics",-1)),Re=_(()=>r("p",null,[d(" Try using the zip fixer to fix comics: "),r("code",{class:"cli"},[d(" cp problem-comic.cbz /somewhere/safe/problem-comic.cbz.backup"),r("br"),d(" zip -F problem-comic.cbz --out fixed.zip"),r("br"),d(" mv fixed.zip problem-comic.cbz ")]),d(" You may also try "),r("code",null,"zip -FF"),d(" to fix comics which uses a different (not necissarily better) algorithm. If you fix some imports, and Codex does not immediately detect the change, poll the library which contains the fixed comics. ")],-1)),Oe=_(()=>r("h4",null,"Reporting Issues",-1)),Ue={href:"https://github.com/ajslater/codex/issues/",target:"_blank"},Se=_(()=>r("code",null,"config/logs/codex.log",-1));function Le(e,t,p,f,o,u){const i=m("DateTimeColumn");return e.failedImports&&e.failedImports.length>0?(h(),y("div",Te,[l(U,null,{default:s(()=>[l(E,{id:"failedImportsPanel",onClick:t[0]||(t[0]=c=>e.unseenFailedImports=!1)},{default:s(()=>[l(R,null,{default:s(()=>[r("h4",null,"Failed Imports: "+g(e.failedImports.length),1),e.unseenFailedImports?(h(),T(V,{key:0,id:"failedImportsIcon",title:"New Failed Imports"},{default:s(()=>[d(g(o.mdiBookAlert),1)]),_:1})):x("",!0)]),_:1}),l(O,null,{default:s(()=>[l(ce,{class:"highlight-table"},{default:s(()=>[Ae,r("tbody",null,[(h(!0),y(H,null,X(e.failedImports,c=>(h(),y("tr",{key:`fi:${c.path}`},[r("td",null,g(c.path),1),r("td",Ve,[l(i,{dttm:c.createdAt},null,8,["dttm"])])]))),128))])]),_:1}),l(U,null,{default:s(()=>[l(E,{id:"failedImportsHelp"},{default:s(()=>[l(R,null,{default:s(()=>[xe]),_:1}),l(O,null,{default:s(()=>[De,Ee,Re,Oe,r("p",null,[d(" If the comic looks good to you, but still shows up as a failed import, it might be Codex's fault for not importing it correctly. Please file an "),r("a",Ue,[d("Issue Report"),l(V,{size:"small"},{default:s(()=>[d(g(o.mdiOpenInNew),1)]),_:1})]),d(" and include the stack trace from the logs at "),Se,d(" if you can. ")])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])):x("",!0)}const He=k(Ie,[["render",Le],["__scopeId","data-v-a5fc117c"]]),ze={name:"AdminLibrariesTab",components:{AdminTable:ae,AdminDeleteRowDialog:ie,AdminFailedImportsPanel:He,AdminCreateUpdateDialog:ne,RelationChips:de,ConfirmDialog:he,DateTimeColumn:$},data(){return{lastUpdate:{pk:0,field:void 0},mdiDatabaseClockOutline:Z,mdiDatabaseSyncOutline:ee,mdiOpenInNew:z,AdminLibraryCreateUpdateInputs:te(Ce),headers:[{title:"Path",key:"path",align:"start"},{title:"Watch File Events",key:"events"},{title:"Poll Files Periodically",key:"poll"},{title:"Poll Every",key:"pollEvery"},{title:"Last Poll",key:"lastPoll"},{title:"Groups",key:"groups"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...w(b,{groups:e=>e.groups,libraries:e=>e.libraries,formErrors:e=>e.form.errors}),...w(me,{twentyFourHourTime:e=>e.settings.twentyFourHourTime})},mounted(){this.loadTables(["Group","Library","FailedImport"])},methods:{...v(b,["updateRow","clearErrors","librarianTask","loadTables"]),formatDateTime:e=>e?oe(e,(void 0).twentyFourHourTime):"",changeCol(e,t,p){this.lastUpdate.pk=e,this.lastUpdate.field=t;const f={[t]:p};this.updateRow("Library",e,f)},getFormErrors(e,t){if(e===this.lastUpdate.pk&&t===this.lastUpdate.field)return this.formErrors},poll(e){this.librarianTask("poll",`Poll Library ${e}`,e)},forcePoll(e){this.librarianTask("poll_force",`Force Poll Library ${e}`,e)}}},Be=e=>(B("data-v-ed190b94"),e=e(),j(),e),je={class:"tabHeader"},$e=Be(()=>r("td",{class:"adminNoData",colspan:"100%"}," Add a Library to start using Codex ",-1));function Ne(e,t,p,f,o,u){const i=m("AdminCreateUpdateDialog"),c=m("DateTimeColumn"),F=m("RelationChips"),n=m("ConfirmDialog"),W=m("AdminDeleteRowDialog"),K=m("AdminTable"),M=m("AdminFailedImportsPanel");return h(),y("div",null,[r("header",je,[l(i,{table:"Library",inputs:o.AdminLibraryCreateUpdateInputs},null,8,["inputs"])]),l(K,{headers:o.headers,items:e.libraries,"sort-by":[{key:"path",order:"asc"}]},{"no-data":s(()=>[$e]),"item.events":s(({item:a})=>[l(S,{"model-value":a.events,disabled:""},null,8,["model-value"])]),"item.poll":s(({item:a})=>[l(S,{"model-value":a.poll,disabled:""},null,8,["model-value"])]),"item.pollEvery":s(({item:a})=>[r("span",{class:re({disabled:!a.poll})},g(a.pollEvery),3)]),"item.lastPoll":s(({item:a})=>[l(c,{dttm:a.lastPoll},null,8,["dttm"])]),"item.groups":s(({item:a})=>[l(F,{pks:a.groups,objs:e.groups,"group-type":"","title-key":"name"},null,8,["pks","objs"])]),"item.actions":s(({item:a})=>[l(n,{icon:o.mdiDatabaseClockOutline,"title-text":"Poll for updated comics","object-name":a.path,"confirm-text":"Poll Library",size:"small",density:"compact",onConfirm:G=>u.poll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(n,{icon:o.mdiDatabaseSyncOutline,"title-text":"Force update every comic","object-name":a.path,"confirm-text":"Force Update",size:"small",density:"compact",onConfirm:G=>u.forcePoll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(i,{table:"Library","old-row":a,inputs:o.AdminLibraryCreateUpdateInputs,"max-width":"22em",size:"small",density:"compact"},null,8,["old-row","inputs"]),l(W,{table:"Library",pk:a.pk,name:a.path,size:"small",density:"compact"},null,8,["pk","name"])]),_:2},1032,["headers","items"]),l(le,null,{default:s(()=>[l(M)]),_:1})])}const at=k(ze,[["render",Ne],["__scopeId","data-v-ed190b94"]]);export{at as default};
|
|
1
|
+
import{N as w,t as b,k as A,O as v,_ as k,R as h,aA as y,L as l,T as s,ak as Y,ap as P,bb as q,P as T,Q as m,ai as g,M as H,cv as Q,aG as z,bg as J,aK as r,ad as d,ah as V,aD as x,aB as X,aL as B,aM as j,cw as Z,cx as ee,bs as te,aU as oe,c7 as le,ae as re}from"./admin-drawer-panel-B98ueC5c.js";import{A as se,a as ae,b as ie,c as ne,R as de}from"./relation-chips-LT1N5iCN.js";import{a as D,u as me}from"./main-BCYKxiL-.js";import{V as pe}from"./VCombobox-DJFO04Gk.js";import{V as C}from"./VCheckbox-CRu3BJ5D.js";import{V as ue}from"./VTextField-BEgIi5E-.js";import{D as $}from"./datetime-column-IeiZdinf.js";import{V as E,a as R,b as O,c as U}from"./VExpansionPanels-DP3HSBJj.js";import{V as ce}from"./VTable-D86x2F7y.js";import{C as he}from"./confirm-dialog-UnMzYsqN.js";import{V as S}from"./VCheckboxBtn-CAUrQoP4.js";import"./VDialog-BcnzrzZO.js";import"./VSelect-BIXGglsb.js";import"./VSelectionControl-gDbXN6J_.js";import"./VSlideGroup-D8FKczaP.js";import"./filter-BT3OCu_E.js";const fe={name:"AdminServerFolderPicker",emits:["change","menu"],data(){return{path:"",originalPath:"",showHidden:!1,menuOpen:!1}},computed:{...w(b,{folders:e=>e.folderPicker.folders,rootFolder:e=>e.folderPicker.rootFolder}),...w(A,{formErrors:e=>e.form.errors}),appendOuterIcon(){return this.showHidden?this.mdiFolderHidden:this.mdiFolderOutline},showHiddenTooltipPrefix(){return this.showHidden?"Hide":"Show"}},watch:{menuOpen(e){e&&this.$emit("menu",e)}},created(){this.loadFolders().then(()=>(this.path=this.rootFolder,this.originalPath=this.rootFolder,!0)).catch(console.warn)},methods:{...v(b,["clearFolders","loadFolders"]),...v(A,["clearErrors"]),change(e){const t=e?e.startsWith("/")||e.startsWith("\\")?e:[this.rootFolder,e].join("/"):this.rootFolder,p=this.menuOpen;this.clearErrors(),this.loadFolders(t,this.showHidden).then(()=>{this.menuOpen=p;let f="";return this.formErrors.length===0&&(this.path=f=this.rootFolder),this.$emit("change",f)}).catch(console.warn)},onBlur(){this.menuOpen=!1,this.change(this.path)},onClear(){this.clearFolders(this.orignalPath).then(()=>this.change(this.orginalPath)).catch(console.error)},onKeyDownEnter(){this.change(this.path)},onItemClick(e){this.change(e)}}},be={id:"folderPicker"};function ye(e,t,p,f,o,u){return h(),y("div",be,[l(pe,P({modelValue:o.path,"onUpdate:modelValue":t[0]||(t[0]=i=>o.path=i),menu:o.menuOpen,"onUpdate:menu":t[1]||(t[1]=i=>o.menuOpen=i)},e.$attrs,{"aria-label":"Library folder",clearable:"","error-messages":e.formErrors,"full-width":"","hide-details":"auto",items:e.folders,"menu-props":{maxHeight:"370px"},"validate-on":"blur",variant:"filled",onBlur:u.onBlur,"onClick:clear":u.onClear,onKeydown:q(u.onKeyDownEnter,["enter"])}),{item:s(({item:i,props:c})=>[l(Y,P(c,{title:i.title,value:i.value,onClick:F=>u.onItemClick(i.value)}),null,16,["title","value","onClick"])]),_:1},16,["modelValue","menu","error-messages","items","onBlur","onClick:clear","onKeydown"]),l(C,{modelValue:o.showHidden,"onUpdate:modelValue":t[2]||(t[2]=i=>o.showHidden=i),density:"compact",class:"showHidden","hide-details":"auto",label:"Show Hidden Folders"},null,8,["modelValue"])])}const _e=k(fe,[["render",ye],["__scopeId","data-v-49f10642"]]),ge={name:"TimeTextField",data(){return{FORMAT:"DDD HH:mm:SS",timeRules:[e=>/^(\d{1,3} )?([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(e)||`Invalid time format ${this.FORMAT}`]}}};function we(e,t,p,f,o,u){return h(),T(ue,P({ref:"timeField",density:"compact",filled:"",hint:o.FORMAT,round:"",rules:o.timeRules},e.$attrs),null,16,["hint","rules"])}const ke=k(ge,[["render",we]]),N=["events","poll","pollEvery","groups"];Object.freeze(N);const I={path:"",events:!0,poll:!0,pollEvery:"01:00:00",groups:[]};Object.freeze(I);const L=(e,t)=>(e=e.replaceAll("\\","/"),t=t.replaceAll("\\","/"),e.endsWith("/")||(e+="/"),t.endsWith("/")||(t+="/"),t.startsWith(e)),Fe={name:"AdminLibraryCreateUpdateInputs",components:{AdminRelationPicker:se,AdminServerFolderPicker:_e,TimeTextField:ke},props:{oldRow:{type:[Object,Boolean],default:!1}},emits:["change"],data(){return{rules:{path:[e=>!!e||"Path is required",e=>{if(!e)return!1;for(const t of this.paths){if(L(t,e))return"Path is a child of an existing library";if(L(e,t))return"Path is a parent of an existing library"}return!0}]},row:D.cloneDeep(this.oldRow||I)}},computed:{...w(b,{groups:e=>e.groups,libraries:e=>e.libraries}),paths(){return this.nameSet(this.libraries,"path",this.oldRow,!1)}},watch:{row:{handler(e){this.$emit("change",e)},deep:!0},oldRow:{handler(e){this.row=D.cloneDeep(e)},deep:!0}},methods:{...v(b,["nameSet"])},UPDATE_KEYS:N,EMPTY_ROW:I},ve={key:1};function Pe(e,t,p,f,o,u){const i=m("AdminServerFolderPicker"),c=m("TimeTextField"),F=m("AdminRelationPicker");return h(),y(H,null,[p.oldRow?(h(),y("div",ve,g(p.oldRow.path),1)):(h(),T(i,{key:0,rules:o.rules.path,autofocus:"",label:"Library Folder",onChange:t[0]||(t[0]=n=>o.row.path=n)},null,8,["rules"])),l(C,{modelValue:o.row.events,"onUpdate:modelValue":t[1]||(t[1]=n=>o.row.events=n),"hide-details":"auto",hint:"Update Codex instantly when the filesystem changes",label:"Watch Filesystem Events","persistent-hint":!0},null,8,["modelValue"]),l(C,{modelValue:o.row.poll,"onUpdate:modelValue":t[2]||(t[2]=n=>o.row.poll=n),label:"Poll Filesystem Periodically","hide-details":"auto",hint:"Periodically poll the library for changes","persistent-hint":!0},null,8,["modelValue"]),l(c,{modelValue:o.row.pollEvery,"onUpdate:modelValue":t[3]||(t[3]=n=>o.row.pollEvery=n),label:"Poll Every",disabled:!o.row.poll},null,8,["modelValue","disabled"]),l(F,{modelValue:o.row.groups,"onUpdate:modelValue":t[4]||(t[4]=n=>o.row.groups=n),label:"Groups",objs:e.groups,"group-type":"","title-key":"name"},null,8,["modelValue","objs"])],64)}const Ce=k(Fe,[["render",Pe]]),Ie={name:"AdminFailedImportsPanel",components:{DateTimeColumn:$},data(){return{mdiBookAlert:Q,mdiOpenInNew:z}},computed:{...w(b,["failedImports"]),...J(b,["unseenFailedImports"])},created(){this.unseenFailedImports=!0}},_=e=>(B("data-v-a5fc117c"),e=e(),j(),e),Te={key:0,id:"failedImports"},Ae=_(()=>r("thead",null,[r("tr",null,[r("th",null,"Path"),r("th",null,"Created")])],-1)),Ve={class:"dateCol"},xe=_(()=>r("h4",null,"Failed Imports Help",-1)),De=_(()=>r("p",null," These are Comic archives that have failed to import. This list is updated every time the library updates. You should probably review these files and fix or remove them. ",-1)),Ee=_(()=>r("h4",null,"Fixing comics",-1)),Re=_(()=>r("p",null,[d(" Try using the zip fixer to fix comics: "),r("code",{class:"cli"},[d(" cp problem-comic.cbz /somewhere/safe/problem-comic.cbz.backup"),r("br"),d(" zip -F problem-comic.cbz --out fixed.zip"),r("br"),d(" mv fixed.zip problem-comic.cbz ")]),d(" You may also try "),r("code",null,"zip -FF"),d(" to fix comics which uses a different (not necissarily better) algorithm. If you fix some imports, and Codex does not immediately detect the change, poll the library which contains the fixed comics. ")],-1)),Oe=_(()=>r("h4",null,"Reporting Issues",-1)),Ue={href:"https://github.com/ajslater/codex/issues/",target:"_blank"},Se=_(()=>r("code",null,"config/logs/codex.log",-1));function Le(e,t,p,f,o,u){const i=m("DateTimeColumn");return e.failedImports&&e.failedImports.length>0?(h(),y("div",Te,[l(U,null,{default:s(()=>[l(E,{id:"failedImportsPanel",onClick:t[0]||(t[0]=c=>e.unseenFailedImports=!1)},{default:s(()=>[l(R,null,{default:s(()=>[r("h4",null,"Failed Imports: "+g(e.failedImports.length),1),e.unseenFailedImports?(h(),T(V,{key:0,id:"failedImportsIcon",title:"New Failed Imports"},{default:s(()=>[d(g(o.mdiBookAlert),1)]),_:1})):x("",!0)]),_:1}),l(O,null,{default:s(()=>[l(ce,{class:"highlight-table"},{default:s(()=>[Ae,r("tbody",null,[(h(!0),y(H,null,X(e.failedImports,c=>(h(),y("tr",{key:`fi:${c.path}`},[r("td",null,g(c.path),1),r("td",Ve,[l(i,{dttm:c.createdAt},null,8,["dttm"])])]))),128))])]),_:1}),l(U,null,{default:s(()=>[l(E,{id:"failedImportsHelp"},{default:s(()=>[l(R,null,{default:s(()=>[xe]),_:1}),l(O,null,{default:s(()=>[De,Ee,Re,Oe,r("p",null,[d(" If the comic looks good to you, but still shows up as a failed import, it might be Codex's fault for not importing it correctly. Please file an "),r("a",Ue,[d("Issue Report"),l(V,{size:"small"},{default:s(()=>[d(g(o.mdiOpenInNew),1)]),_:1})]),d(" and include the stack trace from the logs at "),Se,d(" if you can. ")])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])):x("",!0)}const He=k(Ie,[["render",Le],["__scopeId","data-v-a5fc117c"]]),ze={name:"AdminLibrariesTab",components:{AdminTable:ae,AdminDeleteRowDialog:ie,AdminFailedImportsPanel:He,AdminCreateUpdateDialog:ne,RelationChips:de,ConfirmDialog:he,DateTimeColumn:$},data(){return{lastUpdate:{pk:0,field:void 0},mdiDatabaseClockOutline:Z,mdiDatabaseSyncOutline:ee,mdiOpenInNew:z,AdminLibraryCreateUpdateInputs:te(Ce),headers:[{title:"Path",key:"path",align:"start"},{title:"Watch File Events",key:"events"},{title:"Poll Files Periodically",key:"poll"},{title:"Poll Every",key:"pollEvery"},{title:"Last Poll",key:"lastPoll"},{title:"Groups",key:"groups"},{title:"Actions",key:"actions",sortable:!1}]}},computed:{...w(b,{groups:e=>e.groups,libraries:e=>e.libraries,formErrors:e=>e.form.errors}),...w(me,{twentyFourHourTime:e=>e.settings.twentyFourHourTime})},mounted(){this.loadTables(["Group","Library","FailedImport"])},methods:{...v(b,["updateRow","clearErrors","librarianTask","loadTables"]),formatDateTime:e=>e?oe(e,(void 0).twentyFourHourTime):"",changeCol(e,t,p){this.lastUpdate.pk=e,this.lastUpdate.field=t;const f={[t]:p};this.updateRow("Library",e,f)},getFormErrors(e,t){if(e===this.lastUpdate.pk&&t===this.lastUpdate.field)return this.formErrors},poll(e){this.librarianTask("poll",`Poll Library ${e}`,e)},forcePoll(e){this.librarianTask("poll_force",`Force Poll Library ${e}`,e)}}},Be=e=>(B("data-v-ed190b94"),e=e(),j(),e),je={class:"tabHeader"},$e=Be(()=>r("td",{class:"adminNoData",colspan:"100%"}," Add a Library to start using Codex ",-1));function Ne(e,t,p,f,o,u){const i=m("AdminCreateUpdateDialog"),c=m("DateTimeColumn"),F=m("RelationChips"),n=m("ConfirmDialog"),W=m("AdminDeleteRowDialog"),K=m("AdminTable"),M=m("AdminFailedImportsPanel");return h(),y("div",null,[r("header",je,[l(i,{table:"Library",inputs:o.AdminLibraryCreateUpdateInputs},null,8,["inputs"])]),l(K,{headers:o.headers,items:e.libraries,"sort-by":[{key:"path",order:"asc"}]},{"no-data":s(()=>[$e]),"item.events":s(({item:a})=>[l(S,{"model-value":a.events,disabled:""},null,8,["model-value"])]),"item.poll":s(({item:a})=>[l(S,{"model-value":a.poll,disabled:""},null,8,["model-value"])]),"item.pollEvery":s(({item:a})=>[r("span",{class:re({disabled:!a.poll})},g(a.pollEvery),3)]),"item.lastPoll":s(({item:a})=>[l(c,{dttm:a.lastPoll},null,8,["dttm"])]),"item.groups":s(({item:a})=>[l(F,{pks:a.groups,objs:e.groups,"group-type":"","title-key":"name"},null,8,["pks","objs"])]),"item.actions":s(({item:a})=>[l(n,{icon:o.mdiDatabaseClockOutline,"title-text":"Poll for updated comics","object-name":a.path,"confirm-text":"Poll Library",size:"small",density:"compact",onConfirm:G=>u.poll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(n,{icon:o.mdiDatabaseSyncOutline,"title-text":"Force update every comic","object-name":a.path,"confirm-text":"Force Update",size:"small",density:"compact",onConfirm:G=>u.forcePoll(a.pk)},null,8,["icon","object-name","onConfirm"]),l(i,{table:"Library","old-row":a,inputs:o.AdminLibraryCreateUpdateInputs,"max-width":"22em",size:"small",density:"compact"},null,8,["old-row","inputs"]),l(W,{table:"Library",pk:a.pk,name:a.path,size:"small",density:"compact"},null,8,["pk","name"])]),_:2},1032,["headers","items"]),l(le,null,{default:s(()=>[l(M)]),_:1})])}const at=k(ze,[["render",Ne],["__scopeId","data-v-ed190b94"]]);export{at as default};
|
|
Binary file
|
|
Binary file
|