@saooti/octopus-sdk 42.3.0 → 42.3.1
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.
- package/dist/{AdvancedSearch-DEh3iiuK.mjs → AdvancedSearch-BTbYmlMm.mjs} +8 -8
- package/dist/AdvancedSearch-C6BJzvGT.mjs.map +1 -0
- package/dist/AdvancedSearch-ChnJq71j.mjs.map +1 -0
- package/dist/AdvancedSearch-ChtUj3vS.mjs.map +1 -0
- package/dist/AdvancedSearch-D-9o5KzI.mjs.map +1 -0
- package/dist/AdvancedSearch-DH5YTENK.mjs.map +1 -0
- package/dist/AdvancedSearch-DN3WFduh.mjs.map +1 -0
- package/dist/AdvancedSearch-EpYd6K3d.mjs.map +1 -0
- package/dist/AdvancedSearch-PRJyRSID.mjs.map +1 -0
- package/dist/AdvancedSearch-_E2nwQ-A.mjs.map +1 -0
- package/dist/AdvancedSearch-cLjakm-6.mjs.map +1 -0
- package/dist/AdvancedSearch-k-fQfSBk.mjs.map +1 -0
- package/dist/AdvancedSearch-zFJq-WlO.mjs.map +1 -0
- package/dist/CategoryChooser-CSUjIA0D.mjs.map +1 -0
- package/dist/{CategoryChooser-CeF4n-nw.mjs → CategoryChooser-fAUMJNHu.mjs} +1 -1
- package/dist/CategoryFilter-B0S_nCvS.mjs.map +1 -0
- package/dist/CategoryFilter-BVrLO_pV.mjs.map +1 -0
- package/dist/{CategoryFilter-Djmal5bY.mjs → CategoryFilter-CsYCvEnz.mjs} +3 -3
- package/dist/CategoryFilter-DVwCpHLx.mjs.map +1 -0
- package/dist/CategoryList-B_9GG6Z9.mjs.map +1 -0
- package/dist/{CategoryList-Dksp79Lm.mjs → CategoryList-CDoIfrDw.mjs} +2 -2
- package/dist/CategoryList-CUae_phb.mjs.map +1 -0
- package/dist/CategoryList-DxR0fpKd.mjs.map +1 -0
- package/dist/CategoryPage-C7aKDtgs.mjs.map +1 -0
- package/dist/{CategoryPage-DC8fMny_.mjs → CategoryPage-Cl5Yuxnu.mjs} +2 -2
- package/dist/CategoryPage-DlnAp05t.mjs.map +1 -0
- package/dist/CategoryPage-Dlq5XQBS.mjs.map +1 -0
- package/dist/{CategorySearchFilter-KVYBscdd.mjs → CategorySearchFilter-Cce5zxZB.mjs} +1 -1
- package/dist/CategorySearchFilter-EULpSE2e.mjs.map +1 -0
- package/dist/ChapteringModal-BplEGZj2.mjs.map +1 -0
- package/dist/ChapteringModal-C9yuW_IU.mjs.map +1 -0
- package/dist/{ChapteringModal-Be9FF1yz.mjs → ChapteringModal-DiiVSG7s.mjs} +1 -1
- package/dist/{CheckIdentityModal-nMszYOsW.mjs → CheckIdentityModal-BrnYeGdk.mjs} +3 -3
- package/dist/CheckIdentityModal-BtGdsv2v.mjs.map +1 -0
- package/dist/CheckIdentityModal-CpRO7ehH.mjs.map +1 -0
- package/dist/CheckIdentityModal-Cry9ra4J.mjs.map +1 -0
- package/dist/ClassicDatePicker--q1yYb-S.mjs.map +1 -0
- package/dist/ClassicDatePicker-4ouU5ov9.mjs.map +1 -0
- package/dist/ClassicDatePicker-B8bI9QfF.mjs.map +1 -0
- package/dist/ClassicDatePicker-BTJWityQ.mjs +186 -0
- package/dist/ClassicDatePicker-CChR9LBd.mjs.map +1 -0
- package/dist/ClassicDatePicker-CopJVkF0.mjs.map +1 -0
- package/dist/ClassicDatePicker-DgcJCevR.mjs.map +1 -0
- package/dist/ClassicDatePicker-NxGNQxHE.mjs.map +1 -0
- package/dist/ClassicDatePicker-dgdGXcRk.mjs.map +1 -0
- package/dist/{ClassicEmojiPicker-B4TAlZvo.mjs → ClassicEmojiPicker-C0gm-DA2.mjs} +1 -1
- package/dist/ClassicEmojiPicker-CJZD8H7L.mjs.map +1 -0
- package/dist/{ClassicHelpButton-DT7T8tMe.mjs → ClassicHelpButton-BnRLmYuh.mjs} +1 -1
- package/dist/ClassicHelpButton-Qb4AwvWI.mjs.map +1 -0
- package/dist/{ClassicInputText-DJ5kURGM.mjs → ClassicInputText-YsntJkHk.mjs} +1 -1
- package/dist/ClassicInputText-npkVSUoH.mjs.map +1 -0
- package/dist/ClassicMultiselect-2I2K-o4R.mjs.map +1 -0
- package/dist/{ClassicMultiselect-CDHdJjjV.mjs → ClassicMultiselect-C0yzVQ8Y.mjs} +1 -1
- package/dist/{ClassicNotifications-DEpVRRHg.mjs → ClassicNotifications-8CVfGSqL.mjs} +1 -1
- package/dist/ClassicNotifications-BFQ-R6kO.mjs.map +1 -0
- package/dist/ClassicNotifications-DR0PM1Xp.mjs.map +1 -0
- package/dist/{ClassicPopover-DWR50Nxi.mjs → ClassicPopover-BUb-1WMB.mjs} +1 -1
- package/dist/ClassicPopover-BhMY2SMo.mjs.map +1 -0
- package/dist/ClipboardModal-B_SZ6jDk.mjs.map +1 -0
- package/dist/{ClipboardModal-BUKwZYOf.mjs → ClipboardModal-ByVXPcKD.mjs} +1 -1
- package/dist/ClipboardModal-DjrZQRtY.mjs.map +1 -0
- package/dist/{CommentInput-US8ZtNj1.mjs → CommentInput-CrRstzua.mjs} +4 -4
- package/dist/CommentInput-DPMj47uE.mjs.map +1 -0
- package/dist/CommentInput-DbhOyi7c.mjs.map +1 -0
- package/dist/CommentInput-I97yysBW.mjs.map +1 -0
- package/dist/CommentItem-AItzrTBi.mjs.map +1 -0
- package/dist/CommentItem-B7vvJwZI.mjs.map +1 -0
- package/dist/{CommentItem-CqWZPmbj.mjs → CommentItem-BYU67TIu.mjs} +4 -4
- package/dist/CommentItem-CvNbH7Hf.mjs.map +1 -0
- package/dist/CommentList-BTyyCcX4.mjs.map +1 -0
- package/dist/CommentList-CWrf45Di.mjs.map +1 -0
- package/dist/CommentList-DP6wk4PD.mjs.map +1 -0
- package/dist/{CommentList-CSYpqgNM.mjs → CommentList-snIIudVC.mjs} +2 -2
- package/dist/CommentMoreActions-BNajG7wk.mjs.map +1 -0
- package/dist/CommentMoreActions-C1l4Y_HY.mjs.map +1 -0
- package/dist/CommentMoreActions-DPbJnEEV.mjs.map +1 -0
- package/dist/{CommentMoreActions-T5RN6BGq.mjs → CommentMoreActions-y202UxL5.mjs} +3 -3
- package/dist/{CommentName-DslRo9jg.mjs → CommentName-CHBlEM7I.mjs} +3 -3
- package/dist/CommentName-D5HN8bGE.mjs.map +1 -0
- package/dist/CommentName-DMom_kwo.mjs.map +1 -0
- package/dist/CommentName-OJrxjSxu.mjs.map +1 -0
- package/dist/CommentParentInfo-DWVF5Ewh.mjs.map +1 -0
- package/dist/CommentParentInfo-Do3IlO95.mjs.map +1 -0
- package/dist/{CommentParentInfo-DMX3nkCb.mjs → CommentParentInfo-DoEeaQGU.mjs} +2 -2
- package/dist/CommentParentInfo-DqHfDpKs.mjs.map +1 -0
- package/dist/{CommentPlayer-D3JEVPKX.mjs → CommentPlayer-B4MXG-gG.mjs} +2 -2
- package/dist/CommentPlayer-B67saxPf.mjs.map +1 -0
- package/dist/CommentPlayer-BUtEvkoV.mjs.map +1 -0
- package/dist/CommentSection-BIZMRePu.mjs.map +1 -0
- package/dist/CommentSection-CSehg6MD.mjs.map +1 -0
- package/dist/{CommentSection-Brn0VQcc.mjs → CommentSection-DZf04NxT.mjs} +3 -3
- package/dist/CommentSection-MDKioQWf.mjs.map +1 -0
- package/dist/CommentStore-BBm8MjxW.mjs.map +1 -0
- package/dist/{CommentStore-hPTYaDGr.mjs → CommentStore-CysGkBHp.mjs} +8 -8
- package/dist/CommentStore-F5MVSrDw.mjs.map +1 -0
- package/dist/ContractPreviewModal-CFSkXgB4.mjs.map +1 -0
- package/dist/ContractPreviewModal-CKL6Rb_V.mjs.map +1 -0
- package/dist/{ContractPreviewModal-48Je4Wuy.mjs → ContractPreviewModal-Dd-1KasR.mjs} +2 -2
- package/dist/DateFilter-BwYSwGc-.mjs.map +1 -0
- package/dist/DateFilter-CGTz76bp.mjs.map +1 -0
- package/dist/DateFilter-CfeYepTO.mjs.map +1 -0
- package/dist/{DateFilter-DztHuPm8.mjs → DateFilter-Cnb_S8Up.mjs} +1 -1
- package/dist/DateFilter-DFw66D2V.mjs.map +1 -0
- package/dist/DateFilter-DMOUMeCh.mjs.map +1 -0
- package/dist/DateFilter-DdbvVu9Q.mjs.map +1 -0
- package/dist/DateFilter-Dr1nRuvZ.mjs.map +1 -0
- package/dist/DateFilter-QGaXHkcu.mjs.map +1 -0
- package/dist/{DownloadPodcastButton-BYWuLoNg.mjs → DownloadPodcastButton-6HtR84aE.mjs} +2 -2
- package/dist/DownloadPodcastButton-D2qeKDPT.mjs.map +1 -0
- package/dist/DownloadPodcastButton-Tr_Y4qMu.mjs.map +1 -0
- package/dist/{EditCommentModal-DacFxzLx.mjs → EditCommentModal-BQ03B6LC.mjs} +2 -2
- package/dist/EditCommentModal-BZitN0Ir.mjs.map +1 -0
- package/dist/EditCommentModal-CcmCx_My.mjs.map +1 -0
- package/dist/EditCommentModal-sj0yXd7-.mjs.map +1 -0
- package/dist/EmissionGroupChooser--428fdeK.mjs.map +1 -0
- package/dist/EmissionGroupChooser-BJCKekKM.mjs.map +1 -0
- package/dist/EmissionGroupChooser-ByqGmsGw.mjs.map +1 -0
- package/dist/EmissionGroupChooser-Cb3CF0uc.mjs.map +1 -0
- package/dist/EmissionGroupChooser-D4vMQH8g.mjs.map +1 -0
- package/dist/{EmissionGroupChooser-KmzQjp7d.mjs → EmissionGroupChooser-De_IpEhW.mjs} +2 -2
- package/dist/EmissionInlineList-CdHQBjfR.mjs.map +1 -0
- package/dist/EmissionInlineList-CnA0d_k2.mjs.map +1 -0
- package/dist/EmissionInlineList-DLUvPBNl.mjs.map +1 -0
- package/dist/{EmissionInlineList-BoEIAbLu.mjs → EmissionInlineList-dlb4gUOP.mjs} +5 -5
- package/dist/EmissionItem-B39oFnXF.mjs.map +1 -0
- package/dist/EmissionItem-BkPLFhAo.mjs.map +1 -0
- package/dist/EmissionItem-CjAUdLb7.mjs.map +1 -0
- package/dist/{EmissionItem-BeQWw-UT.mjs → EmissionItem-Dm_IGNkw.mjs} +4 -4
- package/dist/EmissionList-B0UntYdC.mjs.map +1 -0
- package/dist/EmissionList-BQSI4xbi.mjs.map +1 -0
- package/dist/{EmissionList-DB7O1nj5.mjs → EmissionList-C4JEYLyK.mjs} +4 -4
- package/dist/EmissionList-C7lQBdlW.mjs.map +1 -0
- package/dist/EmissionPage-BF6s2ySo.mjs.map +1 -0
- package/dist/EmissionPage-B_-nDP5x.mjs.map +1 -0
- package/dist/EmissionPage-C-ESprrZ.mjs.map +1 -0
- package/dist/{EmissionPage-CNYJ1Puo.mjs → EmissionPage-C4XUdzzm.mjs} +10 -10
- package/dist/EmissionPage-CPXcNHGS.mjs.map +1 -0
- package/dist/EmissionPage-EMgXCVhK.mjs.map +1 -0
- package/dist/EmissionPage-mXbUqOh9.mjs.map +1 -0
- package/dist/{EmissionPlayerItem-S_yqupad.mjs → EmissionPlayerItem-BLIdolRe.mjs} +3 -3
- package/dist/EmissionPlayerItem-C27zJBhY.mjs.map +1 -0
- package/dist/EmissionPlayerItem-C3fkgEaL.mjs.map +1 -0
- package/dist/EmissionPlayerItem-DxXG20G1.mjs.map +1 -0
- package/dist/EmissionPresentationItem-BNnDSWGQ.mjs.map +1 -0
- package/dist/EmissionPresentationItem-BeETY65I.mjs.map +1 -0
- package/dist/{EmissionPresentationItem-kJgKN7Ju.mjs → EmissionPresentationItem-DYDwfqwp.mjs} +1 -1
- package/dist/EmissionPresentationList-BD7rIUok.mjs.map +1 -0
- package/dist/EmissionPresentationList-CGMyY_iu.mjs.map +1 -0
- package/dist/{EmissionPresentationList-Bg9X3CJP.mjs → EmissionPresentationList-Cxi7QnIs.mjs} +3 -3
- package/dist/EmissionsPage-4To0aRBA.mjs.map +1 -0
- package/dist/{EmissionsPage-BLpGH_PR.mjs → EmissionsPage-B0bXLncg.mjs} +5 -5
- package/dist/EmissionsPage-BIspB5uq.mjs.map +1 -0
- package/dist/EmissionsPage-BhUjdpEu.mjs.map +1 -0
- package/dist/EmissionsPage-Bn1R_ipo.mjs.map +1 -0
- package/dist/EmissionsPage-CNXwdJuV.mjs.map +1 -0
- package/dist/EmissionsPage-CPmhIbFf.mjs.map +1 -0
- package/dist/EmissionsPage-Cgzvn2h8.mjs.map +1 -0
- package/dist/EmissionsPage-D09zTpGb.mjs.map +1 -0
- package/dist/EmissionsPage-Dl7qaQT1.mjs.map +1 -0
- package/dist/EmissionsPage-DyleZtu_.mjs.map +1 -0
- package/dist/EmissionsPage-OVpc7k1Z.mjs.map +1 -0
- package/dist/EmissionsPage-wjKBLFM6.mjs.map +1 -0
- package/dist/Error403Page-B6Q7ijY3.mjs.map +1 -0
- package/dist/Error403Page-DF08mgCL.mjs.map +1 -0
- package/dist/{Error403Page-BB69doEn.mjs → Error403Page-DVmC5AOd.mjs} +2 -2
- package/dist/FooterGarSection-BWahCyz0.mjs.map +1 -0
- package/dist/{FooterGarSection-B9nsnpfF.mjs → FooterGarSection-BqPggI3o.mjs} +3 -3
- package/dist/FooterGarSection-CN8ZfO7e.mjs.map +1 -0
- package/dist/FooterSection-BOjr1LRb.mjs.map +1 -0
- package/dist/{FooterSection-DdGtlbk-.mjs → FooterSection-C5FEIJlU.mjs} +11 -11
- package/dist/FooterSection-nVRzKSYN.mjs.map +1 -0
- package/dist/HomeDropdown-3fl_xltN.mjs.map +1 -0
- package/dist/HomeDropdown-DGNkJhG2.mjs.map +1 -0
- package/dist/{HomeDropdown-BqwwLStt.mjs → HomeDropdown-Fx6kQAuH.mjs} +3 -3
- package/dist/HomeDropdown-PvmOUzYb.mjs.map +1 -0
- package/dist/{HomePage-JOUAKKfP.mjs → HomePage-7PT7HmHs.mjs} +3 -3
- package/dist/HomePage-D0Pbu_h1.mjs.map +1 -0
- package/dist/HomePage-D6_D1f33.mjs.map +1 -0
- package/dist/HomePage-ry0NfX1M.mjs.map +1 -0
- package/dist/InlineRubriqueList-BdpS1pVc.mjs.map +1 -0
- package/dist/InlineRubriqueList-BlcjQ4wR.mjs.map +1 -0
- package/dist/{InlineRubriqueList-BzcHKvM4.mjs → InlineRubriqueList-ezgexR-O.mjs} +1 -1
- package/dist/{LikeSection-MmbHMunb.mjs → LikeSection-CGu4yOCr.mjs} +3 -3
- package/dist/LikeSection-Cqj4y7qZ.mjs.map +1 -0
- package/dist/LikeSection-D95IMsZE.mjs.map +1 -0
- package/dist/LikeSection-HJla-zgI.mjs.map +1 -0
- package/dist/{ListPaginate-5uRK_QKJ.mjs → ListPaginate-BPdnBcpe.mjs} +2 -2
- package/dist/ListPaginate-DYzRnp-2.mjs.map +1 -0
- package/dist/ListPaginate-DyR7HLIc.mjs.map +1 -0
- package/dist/LiveHorizontalList-Bqe351Ut.mjs.map +1 -0
- package/dist/{LiveHorizontalList-CpoIRd4C.mjs → LiveHorizontalList-Bs-Rz5Ws.mjs} +3 -3
- package/dist/LiveHorizontalList-CaujYMT3.mjs.map +1 -0
- package/dist/LiveHorizontalList-DhsOZPT3.mjs.map +1 -0
- package/dist/{LiveList-DYFBrNgg.mjs → LiveList-BVOEnAEc.mjs} +5 -5
- package/dist/LiveList-DMB3FxUM.mjs.map +1 -0
- package/dist/LiveList-DOi4GV1x.mjs.map +1 -0
- package/dist/LiveList-Dh1mJVs7.mjs.map +1 -0
- package/dist/LivesPage-BvDLscOE.mjs.map +1 -0
- package/dist/{LivesPage-FSkmBdVw.mjs → LivesPage-DG5VY4HF.mjs} +2 -2
- package/dist/LivesPage-DmSlg7iH.mjs.map +1 -0
- package/dist/LivesPage-yy_5pI8R.mjs.map +1 -0
- package/dist/MapPage-3n-rigBK.mjs.map +1 -0
- package/dist/MapPage-5GwE8Z4E.mjs.map +1 -0
- package/dist/{MapPage-DpBt2gWF.mjs → MapPage-bIe2a9O1.mjs} +2 -2
- package/dist/MobileMenu-BSos17v3.mjs.map +1 -0
- package/dist/{MobileMenu-CjNMfHUP.mjs → MobileMenu-BZ5nOrYw.mjs} +5 -5
- package/dist/MobileMenu-C6W37oJg.mjs.map +1 -0
- package/dist/MobileMenu-K0rNwrW1.mjs.map +1 -0
- package/dist/NewsletterModal-CFGXBtID.mjs.map +1 -0
- package/dist/NewsletterModal-CZNwpCK5.mjs.map +1 -0
- package/dist/{NewsletterModal-BurqHTFc.mjs → NewsletterModal-DZk0mSVC.mjs} +1 -1
- package/dist/OctopusMultiselect-CFUGyzeM.mjs.map +1 -0
- package/dist/OctopusMultiselect-Cn1lqbQo.mjs.map +1 -0
- package/dist/OctopusMultiselect-esu8BY0J.mjs.map +1 -0
- package/dist/{OctopusMultiselect-C8qljiaH.mjs → OctopusMultiselect-noQPQMZQ.mjs} +7 -5
- package/dist/OrganisationChooser-BKfXLT4G.mjs.map +1 -0
- package/dist/{OrganisationChooser-Dx-OT7MW.mjs → OrganisationChooser-C48cWqbY.mjs} +3 -3
- package/dist/OrganisationChooser-PpO7MD7f.mjs.map +1 -0
- package/dist/OrganisationChooser-Y_jO6oXv.mjs.map +1 -0
- package/dist/{OrganisationChooserLight-BF5fT5pV.mjs → OrganisationChooserLight-Bcltbv-v.mjs} +1 -1
- package/dist/OrganisationChooserLight-Dh7wMH40.mjs.map +1 -0
- package/dist/OrganisationChooserLight-Dx_rkvpP.mjs.map +1 -0
- package/dist/PageNotFound-DeW-K_hL.mjs.map +1 -0
- package/dist/{PageNotFound-Cj-3Gv8T.mjs → PageNotFound-DogaoIFX.mjs} +2 -2
- package/dist/PageNotFound-gRuMWYCp.mjs.map +1 -0
- package/dist/ParticipantInlineList-CY_s6aJm.mjs.map +1 -0
- package/dist/{ParticipantInlineList-DEWqM1Io.mjs → ParticipantInlineList-D9pkOlvP.mjs} +4 -4
- package/dist/ParticipantInlineList-DSatB75C.mjs.map +1 -0
- package/dist/ParticipantItem-BG7yqRvD.mjs.map +1 -0
- package/dist/ParticipantItem-BTK25HID.mjs.map +1 -0
- package/dist/{ParticipantItem-BZAUIeSR.mjs → ParticipantItem-CbHOfVon.mjs} +3 -3
- package/dist/ParticipantPage-B4VnV8Yc.mjs.map +1 -0
- package/dist/ParticipantPage-B6Gzg6ul.mjs.map +1 -0
- package/dist/ParticipantPage-CNRNKTtC.mjs.map +1 -0
- package/dist/ParticipantPage-CpkhQjN2.mjs.map +1 -0
- package/dist/ParticipantPage-D61CCIqy.mjs.map +1 -0
- package/dist/ParticipantPage-Dh4JJCmJ.mjs.map +1 -0
- package/dist/{ParticipantPage-CzaHoWij.mjs → ParticipantPage-nTp2MbgB.mjs} +6 -6
- package/dist/{ParticipantsPage-goxJZQZZ.mjs → ParticipantsPage-Bbz9lQ_0.mjs} +6 -6
- package/dist/ParticipantsPage-COaQrVID.mjs.map +1 -0
- package/dist/ParticipantsPage-DRVVU7qp.mjs.map +1 -0
- package/dist/ParticipantsPage-DhKCWwKE.mjs.map +1 -0
- package/dist/{PlayerAnonymousModal-By96BtpA.mjs → PlayerAnonymousModal-B1iZ34O8.mjs} +2 -2
- package/dist/PlayerAnonymousModal-CBZStK-L.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-Cq6-Dn49.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-Cu2GGoAh.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-DiXWtNmM.mjs.map +1 -0
- package/dist/PlayerAnonymousModal-DrQvDDym.mjs.map +1 -0
- package/dist/PlayerCompact-B9oeGx_g.mjs.map +1 -0
- package/dist/PlayerCompact-DtMginEc.mjs.map +1 -0
- package/dist/PlayerCompact-E8ydrdJ4.mjs.map +1 -0
- package/dist/{PlayerCompact-CjU8xxVH.mjs → PlayerCompact-_39FpkWo.mjs} +4 -4
- package/dist/PlayerComponent-4Wj5XlrS.mjs.map +1 -0
- package/dist/{PlayerComponent-B58O6U6i.mjs → PlayerComponent-B1RsmSf0.mjs} +47 -47
- package/dist/PlayerComponent-BGVzhVz9.mjs.map +1 -0
- package/dist/PlayerComponent-BIshvul2.mjs.map +1 -0
- package/dist/PlayerComponent-BO7wUL2M.mjs.map +1 -0
- package/dist/PlayerComponent-C222I0kT.mjs.map +1 -0
- package/dist/PlayerComponent-CjNZNKKz.mjs.map +1 -0
- package/dist/PlayerComponent-UG_c6_yr.mjs.map +1 -0
- package/dist/{PlayerLarge-CWL5SDzD.mjs → PlayerLarge-BxdyYLOt.mjs} +5 -5
- package/dist/PlayerLarge-CPUAoR9q.mjs.map +1 -0
- package/dist/PlayerLarge-DP7RsA83.mjs.map +1 -0
- package/dist/PlayerLarge-DpiFO7gk.mjs.map +1 -0
- package/dist/PlayerLarge-Dwtmu4gz.mjs.map +1 -0
- package/dist/PlayerLarge-HvRHSw4j.mjs.map +1 -0
- package/dist/PlayerLarge-X5uYCbyS.mjs.map +1 -0
- package/dist/PlayerLarge-qwr3iWSX.mjs.map +1 -0
- package/dist/{PlayerPlayButton-DmvV2YDi.mjs → PlayerPlayButton-BIsfgj0d.mjs} +4 -4
- package/dist/PlayerPlayButton-BQ4zJOrE.mjs.map +1 -0
- package/dist/PlayerPlayButton-kh4ZCdWh.mjs.map +1 -0
- package/dist/PlayerProgressBar-C-I3dk3l.mjs.map +1 -0
- package/dist/PlayerProgressBar-Dr-aFk7O.mjs.map +1 -0
- package/dist/{PlayerProgressBar-Cl_mF4nD.mjs → PlayerProgressBar-dSschgez.mjs} +2 -2
- package/dist/PlayerProgressBar-xc1ZFPJY.mjs.map +1 -0
- package/dist/PlayerStore-Aq_ukXXS.mjs.map +1 -0
- package/dist/PlayerStore-C_QCHbT3.mjs.map +1 -0
- package/dist/{PlayerStore-CKprkxa0.mjs → PlayerStore-DggKki80.mjs} +1 -1
- package/dist/PlayerVideo-BNfhaNUn.mjs.map +1 -0
- package/dist/{PlayerVideo-CVUU7nHT.mjs → PlayerVideo-BWyvKlJT.mjs} +3 -3
- package/dist/PlayerVideo-Bhok6qYS.mjs.map +1 -0
- package/dist/PlayerVideo-CN609whx.mjs.map +1 -0
- package/dist/PlayerVideo-DXG_PsWA.mjs.map +1 -0
- package/dist/PlayerVideo-DzUapxuZ.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-B1rRVLzy.mjs.map +1 -0
- package/dist/PlayerVideoDigiteka-B6qODy7b.mjs.map +1 -0
- package/dist/{PlayerVideoDigiteka-DZIqqN8a.mjs → PlayerVideoDigiteka-Dxx63XHI.mjs} +2 -2
- package/dist/PlayerVideoHls-BoAbvi2b.mjs.map +1 -0
- package/dist/PlayerVideoHls-BsHaaJB-.mjs.map +1 -0
- package/dist/PlayerVideoHls-C0ddorEn.mjs.map +1 -0
- package/dist/PlayerVideoHls-DBODDRmV.mjs.map +1 -0
- package/dist/PlayerVideoHls-DVNHm_O2.mjs.map +1 -0
- package/dist/{PlayerVideoHls-BirHOkZD.mjs → PlayerVideoHls-DzbyXZsQ.mjs} +9 -7
- package/dist/{PlaylistPage-DljbABur.mjs → PlaylistPage-BdbqXFwR.mjs} +35 -35
- package/dist/PlaylistPage-BgUaPJet.mjs.map +1 -0
- package/dist/PlaylistPage-BwF2VdGb.mjs.map +1 -0
- package/dist/PlaylistPage-CINwx3zE.mjs.map +1 -0
- package/dist/PlaylistPage-CPB647jC.mjs.map +1 -0
- package/dist/PlaylistPage-DDzE5GQs.mjs.map +1 -0
- package/dist/PlaylistPage-bm1nWKMg.mjs.map +1 -0
- package/dist/PlaylistsPage-BwkVSYIp.mjs.map +1 -0
- package/dist/PlaylistsPage-C62NUvz4.mjs.map +1 -0
- package/dist/{PlaylistsPage-BSW-uPWF.mjs → PlaylistsPage-D08i24b2.mjs} +13 -13
- package/dist/PlaylistsPage-Dvh77ql6.mjs.map +1 -0
- package/dist/PodcastFilterList-BBhzOM64.mjs.map +1 -0
- package/dist/PodcastFilterList-BKBjd36i.mjs.map +1 -0
- package/dist/{PodcastFilterList-YM90eN60.mjs → PodcastFilterList-CL5ebQ69.mjs} +3 -3
- package/dist/PodcastFilterList-D9NTYS1v.mjs.map +1 -0
- package/dist/{PodcastImage-BtiQlrb3.mjs → PodcastImage-BFA22TgZ.mjs} +6 -6
- package/dist/PodcastImage-BhQKB5te.mjs.map +1 -0
- package/dist/PodcastImage-CHx3bUzt.mjs.map +1 -0
- package/dist/PodcastInlineList-CcNd_Hbs.mjs.map +1 -0
- package/dist/{PodcastInlineList-B32BSFqN.mjs → PodcastInlineList-H6BxXx0A.mjs} +1 -1
- package/dist/PodcastInlineList-akLivgog.mjs.map +1 -0
- package/dist/PodcastInlineList-jI2EvXSo.mjs.map +1 -0
- package/dist/{PodcastInlineListTemplate-DTrS1UiG.mjs → PodcastInlineListTemplate-Chbi8aME.mjs} +3 -3
- package/dist/PodcastInlineListTemplate-DT9ZRs61.mjs.map +1 -0
- package/dist/PodcastInlineListTemplate-Dh1xF6xT.mjs.map +1 -0
- package/dist/PodcastIsPlaying-C0jcpBQd.mjs.map +1 -0
- package/dist/PodcastIsPlaying-H6P1CHAI.mjs.map +1 -0
- package/dist/{PodcastIsPlaying-BtmHnQi9.mjs → PodcastIsPlaying-ugHcefCy.mjs} +1 -1
- package/dist/{PodcastItem-TdtzApJ6.mjs → PodcastItem-Baki7W0q.mjs} +6 -6
- package/dist/PodcastItem-BfvK4ion.mjs.map +1 -0
- package/dist/PodcastItem-DEhA78z9.mjs.map +1 -0
- package/dist/PodcastItem-DwK_Yu1G.mjs.map +1 -0
- package/dist/PodcastList-B4ic6Cij.mjs.map +1 -0
- package/dist/PodcastList-C2R92m6S.mjs.map +1 -0
- package/dist/PodcastList-DWl6zz_z.mjs.map +1 -0
- package/dist/PodcastList-Dbt4nmKg.mjs.map +1 -0
- package/dist/PodcastList-KaQBRbR9.mjs.map +1 -0
- package/dist/{PodcastList-BAOJhQ7G.mjs → PodcastList-N_XOE-hI.mjs} +5 -5
- package/dist/PodcastList-d3SGLPvF.mjs.map +1 -0
- package/dist/{PodcastList-Bbe3yWiu.mjs → PodcastList-yjd_exFg.mjs} +4 -4
- package/dist/PodcastPage-B0pbZ5o_.mjs.map +1 -0
- package/dist/PodcastPage-BOA44Us4.mjs.map +1 -0
- package/dist/PodcastPage-Bs1wz-0E.mjs.map +1 -0
- package/dist/PodcastPage-C37Wa-qH.mjs.map +1 -0
- package/dist/PodcastPage-D0HYJxaK.mjs.map +1 -0
- package/dist/PodcastPage-D0U6-etV.mjs.map +1 -0
- package/dist/PodcastPage-DwMPY4po.mjs.map +1 -0
- package/dist/{PodcastPage-CAxub2do.mjs → PodcastPage-SUEm-Enm.mjs} +26 -26
- package/dist/PodcastPlayBar-Bo-W_dSK.mjs.map +1 -0
- package/dist/PodcastPlayBar-CBtMWlVc.mjs.map +1 -0
- package/dist/{PodcastPlayBar-gAEttclo.mjs → PodcastPlayBar-COU17bnm.mjs} +3 -3
- package/dist/PodcastPlayBar-Cpr3Ff7J.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-BvJPrxpI.mjs.map +1 -0
- package/dist/PodcastPlayBasicButton-CS5TNlmX.mjs.map +1 -0
- package/dist/{PodcastPlayBasicButton-7w91y2ow.mjs → PodcastPlayBasicButton-CVXhEUHB.mjs} +1 -1
- package/dist/{PodcastPlayButton-CQY0d6f-.mjs → PodcastPlayButton--gjzxW0o.mjs} +3 -3
- package/dist/PodcastPlayButton-BqvE4ZUl.mjs.map +1 -0
- package/dist/PodcastPlayButton-DW5Feest.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-BV31HaB2.mjs.map +1 -0
- package/dist/PodcastPlaylistInlineList-C-WYs6aE.mjs.map +1 -0
- package/dist/{PodcastPlaylistInlineList-BE5L8pSP.mjs → PodcastPlaylistInlineList-DsEHaYGZ.mjs} +7 -7
- package/dist/PodcastPlaylistInlineList-HEdFAq1l.mjs.map +1 -0
- package/dist/{PodcastPresentationList-DH6Rq0Z4.mjs → PodcastPresentationList-B9vORr36.mjs} +4 -4
- package/dist/PodcastPresentationList-ChqvdXY0.mjs.map +1 -0
- package/dist/PodcastPresentationList-Dit6HvJr.mjs.map +1 -0
- package/dist/{PodcastProgressBar-DoeG7lDj.mjs → PodcastProgressBar-B0FwZOTT.mjs} +3 -3
- package/dist/PodcastProgressBar-B8ONWq-Z.mjs.map +1 -0
- package/dist/PodcastProgressBar-BoGtJPAa.mjs.map +1 -0
- package/dist/PodcastProgressBar-DTRhKzW-.mjs.map +1 -0
- package/dist/{PodcastRawTranscript-Cktqtbcg.mjs → PodcastRawTranscript-BiuftXu-.mjs} +2 -2
- package/dist/PodcastRawTranscript-C8SJcaQE.mjs.map +1 -0
- package/dist/PodcastRawTranscript-nfzHM0k_.mjs.map +1 -0
- package/dist/PodcastRawTranscript-r5pRtZDg.mjs.map +1 -0
- package/dist/{PodcastSwiperList-DZ26-8xy.mjs → PodcastSwiperList-BKOYhrsH.mjs} +4 -4
- package/dist/PodcastSwiperList-Bsg0q89o.mjs.map +1 -0
- package/dist/PodcastSwiperList-BxsEv7_8.mjs.map +1 -0
- package/dist/PodcastSwiperList-Cju5VHcH.mjs.map +1 -0
- package/dist/PodcastmakerHeader-6fIwE70J.mjs.map +1 -0
- package/dist/PodcastmakerHeader-BBPEy__r.mjs.map +1 -0
- package/dist/{PodcastmakerHeader-MhdOrssb.mjs → PodcastmakerHeader-CIoJwm1L.mjs} +1 -1
- package/dist/PodcastsPage-967SI8kL.mjs.map +1 -0
- package/dist/{PodcastsPage-BXjTDNhn.mjs → PodcastsPage-B5NwPMyn.mjs} +5 -5
- package/dist/PodcastsPage-B7j2XxPZ.mjs.map +1 -0
- package/dist/PodcastsPage-BOzszXpc.mjs.map +1 -0
- package/dist/PodcastsPage-Bw0tzWoX.mjs.map +1 -0
- package/dist/PodcastsPage-D3TAYJV8.mjs.map +1 -0
- package/dist/PodcastsPage-DJsgHs7V.mjs.map +1 -0
- package/dist/PodcastsPage-DKWHzNNA.mjs.map +1 -0
- package/dist/PodcastsPage-DONqoMkB.mjs.map +1 -0
- package/dist/PodcastsPage-DUcfPeLD.mjs.map +1 -0
- package/dist/PodcastsPage-DWBgwD6o.mjs.map +1 -0
- package/dist/PodcastsPage-DZO4H1Ff.mjs.map +1 -0
- package/dist/PodcastsPage-DhEMPqCT.mjs.map +1 -0
- package/dist/ProductorSearch-BgmV_RCq.mjs.map +1 -0
- package/dist/{ProductorSearch-Z36zTZK4.mjs → ProductorSearch-BiUEs7mG.mjs} +3 -3
- package/dist/ProductorSearch-C4Nv2HzS.mjs.map +1 -0
- package/dist/ProductorSearch-DtVe_rU9.mjs.map +1 -0
- package/dist/ProgressBar-BMeSiueh.mjs.map +1 -0
- package/dist/ProgressBar-C15ih0uL.mjs.map +1 -0
- package/dist/{ProgressBar-CTOa-MDz.mjs → ProgressBar-CXB5q3-H.mjs} +2 -2
- package/dist/ProgressBar-DAUOWol1.mjs.map +1 -0
- package/dist/QrCode-BYLxjhwi.mjs.map +1 -0
- package/dist/QrCode-CCigeTaZ.mjs +109 -0
- package/dist/QrCode-CaXoOjo-.mjs.map +1 -0
- package/dist/QrCode-CcQR60hB.mjs.map +1 -0
- package/dist/QrCode-S_eLVZoz.mjs.map +1 -0
- package/dist/QrCode-XZMMiaX5.mjs.map +1 -0
- package/dist/QrCodeModal-BJOu1pAV.mjs.map +1 -0
- package/dist/QrCodeModal-BjT-0P0w.mjs.map +1 -0
- package/dist/QrCodeModal-BrabSTzq.mjs.map +1 -0
- package/dist/QrCodeModal-CjvbRYLW.mjs.map +1 -0
- package/dist/{QrCodeModal-DE3juCsN.mjs → QrCodeModal-Dpw_tCQ6.mjs} +1 -1
- package/dist/QrCodeModal-N2fjbP4S.mjs.map +1 -0
- package/dist/RadioCurrently-B_b8DV2w.mjs.map +1 -0
- package/dist/RadioCurrently-DufvDqm1.mjs.map +1 -0
- package/dist/{RadioCurrently-BlAhcc9E.mjs → RadioCurrently-ysRKhxKU.mjs} +3 -3
- package/dist/RadioHistory-B03bYMxm.mjs.map +1 -0
- package/dist/{RadioHistory-C7S79sZD.mjs → RadioHistory-DjsqvRgH.mjs} +2 -2
- package/dist/RadioHistory-Dv4gt9TM.mjs.map +1 -0
- package/dist/RadioImage-BFdiGgi_.mjs.map +1 -0
- package/dist/{RadioImage-BTn2Lquc.mjs → RadioImage-CSseYIVb.mjs} +4 -4
- package/dist/RadioImage-CrtD33dM.mjs.map +1 -0
- package/dist/RadioList--f7RDhHJ.mjs.map +1 -0
- package/dist/{RadioList-BD3zNwmk.mjs → RadioList-BZFFAobk.mjs} +4 -4
- package/dist/RadioList-De9NQ23Q.mjs.map +1 -0
- package/dist/RadioPage-BK1N--Kr.mjs.map +1 -0
- package/dist/RadioPage-BTtNFJI2.mjs.map +1 -0
- package/dist/RadioPage-CcK0y_5s.mjs.map +1 -0
- package/dist/RadioPage-Cqas0JX6.mjs.map +1 -0
- package/dist/{RadioPage-Bv3oupa1.mjs → RadioPage-Cwooj0wF.mjs} +4 -4
- package/dist/RadioPage-DhSB0sX5.mjs.map +1 -0
- package/dist/RadioPage-DlahFXYC.mjs.map +1 -0
- package/dist/RadioPlanning-BU1E8i4t.mjs.map +1 -0
- package/dist/{RadioPlanning-nkv_Mb_t.mjs → RadioPlanning-BmIxuUBI.mjs} +2 -2
- package/dist/RadioPlanning-Bx-N-xqX.mjs.map +1 -0
- package/dist/RadioProgressBar-0XM3ZTGU.mjs.map +1 -0
- package/dist/{RadioProgressBar-B2EgCOrK.mjs → RadioProgressBar-CQRGuPpC.mjs} +1 -1
- package/dist/RadioProgressBar-oyeS56mV.mjs.map +1 -0
- package/dist/{RecaptchaModal-w-9MlZ45.mjs → RecaptchaModal-BdW4xNlX.mjs} +1 -1
- package/dist/RecaptchaModal-DFlFQcHs.mjs.map +1 -0
- package/dist/RecaptchaModal-iLQ4UYOL.mjs.map +1 -0
- package/dist/ReportAbuseModal-BaPt2DLK.mjs.map +1 -0
- package/dist/ReportAbuseModal-BdZRe29L.mjs.map +1 -0
- package/dist/ReportAbuseModal-CH7Y153n.mjs.map +1 -0
- package/dist/{ReportAbuseModal-O1K7j7NV.mjs → ReportAbuseModal-jjGeXbB9.mjs} +4 -4
- package/dist/RightsIndicator-4pUsBq5j.mjs.map +1 -0
- package/dist/RightsIndicator-BH3jm_1O.mjs.map +1 -0
- package/dist/{RightsIndicator-D0cSu8j2.mjs → RightsIndicator-CPzWpH5Z.mjs} +1 -1
- package/dist/RightsIndicator-d8ffUFIj.mjs.map +1 -0
- package/dist/{RightsWrapper-BUj_1bwR.mjs → RightsWrapper-BTQ8GGUi.mjs} +5 -5
- package/dist/RightsWrapper-C3BRHqqo.mjs.map +1 -0
- package/dist/RightsWrapper-DJG9Ds6c.mjs.map +1 -0
- package/dist/RightsWrapper-nBURBTJX.mjs.map +1 -0
- package/dist/{RubriqueChoice-DaTWiDbl.mjs → RubriqueChoice-C-S-veJJ.mjs} +1 -1
- package/dist/RubriqueChoice-DsmnrUNs.mjs.map +1 -0
- package/dist/{RubriqueChooser-C33LorHa.mjs → RubriqueChooser-CNGn8LcP.mjs} +1 -1
- package/dist/RubriqueChooser-WmzcajTt.mjs.map +1 -0
- package/dist/RubriqueFilter-C9C_OiF5.mjs.map +1 -0
- package/dist/RubriqueFilter-DDI7DjMR.mjs.map +1 -0
- package/dist/RubriqueFilter-_8V1n9-x.mjs.map +1 -0
- package/dist/{RubriqueFilter-RgardNnQ.mjs → RubriqueFilter-rxiG8Wci.mjs} +3 -3
- package/dist/RubriqueList-99-nWSvq.mjs.map +1 -0
- package/dist/RubriqueList-BiRimk17.mjs.map +1 -0
- package/dist/RubriqueList-H_NHILuj.mjs.map +1 -0
- package/dist/{RubriqueList-DA9OYqUl.mjs → RubriqueList-rJj2IycY.mjs} +4 -4
- package/dist/RubriquePage-6KFPBPz8.mjs.map +1 -0
- package/dist/{RubriquePage-xgTOce7c.mjs → RubriquePage-BNEWnk3-.mjs} +4 -4
- package/dist/RubriquePage-Bpt-x7IK.mjs.map +1 -0
- package/dist/RubriquePage-Cwz9OqLO.mjs.map +1 -0
- package/dist/SearchPage-BtZnj3sA.mjs.map +1 -0
- package/dist/SearchPage-CbbbcXxs.mjs.map +1 -0
- package/dist/SearchPage-DMIV2AgJ.mjs.map +1 -0
- package/dist/{SearchPage-C3o5RPP0.mjs → SearchPage-DsZzPoEw.mjs} +2 -2
- package/dist/ShareAnonymous-BeSQozvM.mjs.map +1 -0
- package/dist/ShareAnonymous-BgsR6Ahp.mjs.map +1 -0
- package/dist/ShareAnonymous-CNWR1v6X.mjs.map +1 -0
- package/dist/{ShareAnonymous-bOwwEjPv.mjs → ShareAnonymous-DK2rnLl1.mjs} +3 -3
- package/dist/ShareAnonymous-DVpKBKbi.mjs.map +1 -0
- package/dist/ShareAnonymous-DWArDFT0.mjs.map +1 -0
- package/dist/ShareAnonymous-IaVbb-rp.mjs.map +1 -0
- package/dist/ShareModalPlayer-BHmsvxXF.mjs.map +1 -0
- package/dist/{ShareModalPlayer-D2oBrSly.mjs → ShareModalPlayer-Cfnk68-U.mjs} +1 -1
- package/dist/ShareModalPlayer-DLBU3lsU.mjs.map +1 -0
- package/dist/ShareModalPlayer-O-CmDObW.mjs.map +1 -0
- package/dist/ShareModalPlayer-QYu8Q9ks.mjs.map +1 -0
- package/dist/ShareModalPlayer-Vga-96DM.mjs.map +1 -0
- package/dist/{ShareNewsletter-CNw1LziN.mjs → ShareNewsletter-BWIAt47D.mjs} +1 -1
- package/dist/ShareNewsletter-BhFk6ARk.mjs.map +1 -0
- package/dist/ShareNewsletter-JCO4h7rk.mjs.map +1 -0
- package/dist/SharePlayer-C-RgIOh1.mjs.map +1 -0
- package/dist/{SharePlayer-CRri0YED.mjs → SharePlayer-C0aveOwy.mjs} +2 -2
- package/dist/SharePlayer-CNXrUj8M.mjs.map +1 -0
- package/dist/SharePlayer-D0-qY2dS.mjs.map +1 -0
- package/dist/SharePlayer-DQoFa7iv.mjs.map +1 -0
- package/dist/SharePlayer-DwNl3E7o.mjs.map +1 -0
- package/dist/{SharePlayerRadio-DVsegQMu.mjs → SharePlayerRadio-BqaeyEls.mjs} +2 -2
- package/dist/SharePlayerRadio-CHvCtKdZ.mjs.map +1 -0
- package/dist/SharePlayerRadio-CIsy-rCC.mjs.map +1 -0
- package/dist/SharePlayerRadio-ChfNulnf.mjs.map +1 -0
- package/dist/SharePlayerRadio-DA-W-306.mjs.map +1 -0
- package/dist/SharePlayerRadio-DwPeLUsk.mjs.map +1 -0
- package/dist/SharePlayerTypes-CeMV4n10.mjs.map +1 -0
- package/dist/SharePlayerTypes-DdyoQZDi.mjs.map +1 -0
- package/dist/{SharePlayerTypes-BxkEoBSL.mjs → SharePlayerTypes-DyrqFDVJ.mjs} +1 -1
- package/dist/ShareSocialsButtons-BHWzJVne.mjs.map +1 -0
- package/dist/ShareSocialsButtons-Bjx2ONvj.mjs.map +1 -0
- package/dist/{ShareSocialsButtons-BJ3DqvIO.mjs → ShareSocialsButtons-PqMXhFEk.mjs} +1 -1
- package/dist/{SimpleLayout-BJlcQjx9.mjs → SimpleLayout-9O9FZ69Q.mjs} +2 -2
- package/dist/SimpleLayout-B-QSfHeQ.mjs.map +1 -0
- package/dist/SimpleLayout-BauUacaf.mjs.map +1 -0
- package/dist/SimpleLayout-C29bPtbd.mjs.map +1 -0
- package/dist/SimpleLayout-Cjc3Q9Mb.mjs.map +1 -0
- package/dist/SimpleLayout-D4sVjQGu.mjs.map +1 -0
- package/dist/SimpleLayout-DaoXS--3.mjs.map +1 -0
- package/dist/SimpleLayout-vkWEZHLi.mjs.map +1 -0
- package/dist/{SmartLinkPage-DpD90wc7.mjs → SmartLinkPage-6HgX8LDv.mjs} +16 -16
- package/dist/SmartLinkPage-BcQmox7e.mjs.map +1 -0
- package/dist/SmartLinkPage-M_zB_Xp1.mjs.map +1 -0
- package/dist/SubscribeButtons-CyGYD1B1.mjs.map +1 -0
- package/dist/SubscribeButtons-DjjZQfOU.mjs.map +1 -0
- package/dist/{SubscribeButtons-zlRDGEzS.mjs → SubscribeButtons-IpzqDGIn.mjs} +3 -3
- package/dist/SubscribeButtons-yA2wowFc.mjs.map +1 -0
- package/dist/SwiperList-BNODHhLF.mjs.map +1 -0
- package/dist/SwiperList-Cqklwlg9.mjs.map +1 -0
- package/dist/{SwiperList-BlF3rPq5.mjs → SwiperList-O8nUg87R.mjs} +1 -1
- package/dist/TagList-4RDriU1J.mjs.map +1 -0
- package/dist/TagList-B5JPfT6j.mjs.map +1 -0
- package/dist/TagList-DVjqXiaA.mjs.map +1 -0
- package/dist/{TagList-BBHyaKp-.mjs → TagList-V9fAFATL.mjs} +2 -2
- package/dist/TagPage-BOsz6Bot.mjs.map +1 -0
- package/dist/TagPage-CALmJwxW.mjs.map +1 -0
- package/dist/{TagPage-DLpNBBjP.mjs → TagPage-CsFwN4sE.mjs} +3 -3
- package/dist/TagPage-DMuxYu6y.mjs.map +1 -0
- package/dist/{TopBar-CLWWRgr7.mjs → TopBar-0oG6YPlW.mjs} +37 -37
- package/dist/TopBar-CUCBss7X.mjs.map +1 -0
- package/dist/TopBar-CeQQ1hgH.mjs.map +1 -0
- package/dist/TopBar-DdxThCLR.mjs.map +1 -0
- package/dist/{UserButtonContent-BR3Rlqwp.mjs → UserButtonContent--VK68UsY.mjs} +6 -6
- package/dist/UserButtonContent-067qGenf.mjs.map +1 -0
- package/dist/UserButtonContent-Dqgyrgzv.mjs.map +1 -0
- package/dist/VideoModuleBox-9QgBI-Q-.mjs.map +1 -0
- package/dist/{VideoModuleBox-DxYJVwy3.mjs → VideoModuleBox-Bcqman6a.mjs} +1 -1
- package/dist/VideoModuleBox-BrVK2bDZ.mjs.map +1 -0
- package/dist/VideoModuleBox-DWO47_bZ.mjs.map +1 -0
- package/dist/VideoPage-4MB4zmnA.mjs.map +1 -0
- package/dist/VideoPage-BDGvtr1o.mjs.map +1 -0
- package/dist/{VideoPage-BaeTduNB.mjs → VideoPage-BjlaP2DU.mjs} +6 -6
- package/dist/VideoPage-C-yjvvhl.mjs.map +1 -0
- package/dist/VideoPage-C0_t7XMC.mjs.map +1 -0
- package/dist/VideoPage-CIDpzbkb.mjs.map +1 -0
- package/dist/VideoPage-D2V1oXGC.mjs.map +1 -0
- package/dist/VideoPage-DEJSfeFy.mjs.map +1 -0
- package/dist/{classicApi-pmODlqv5.mjs → classicApi-CGipMqf7.mjs} +267 -256
- package/dist/classicApi-CW1Z-HoF.mjs.map +1 -0
- package/dist/classicApi-OzToKuW1.mjs.map +1 -0
- package/dist/{downloadHelper-BAI-eqgA.mjs → downloadHelper-C3QooCxr.mjs} +1 -1
- package/dist/downloadHelper-D7dUpp5l.mjs.map +1 -0
- package/dist/downloadHelper-DwV3Mmd3.mjs.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.mjs +183 -183
- package/dist/src/components/form/ClassicDatePicker.vue.d.ts +24 -14
- package/dist/src/components/form/OctopusMultiselect.vue.d.ts +2 -0
- package/dist/src/i18n.d.ts +2 -0
- package/dist/tests.mjs +2 -2
- package/dist/useAdvancedParamInit-BKw9VZ53.mjs.map +1 -0
- package/dist/useAdvancedParamInit-CyRmbqqe.mjs.map +1 -0
- package/dist/{useAdvancedParamInit-Bgvt8758.mjs → useAdvancedParamInit-D5roUdHI.mjs} +10 -10
- package/dist/useDayjs-BKBB00TF.mjs.map +1 -0
- package/dist/useDayjs-UQLGUbw5.mjs.map +1 -0
- package/dist/{useDayjs-DGb3L4kJ.mjs → useDayjs-VUs19G9T.mjs} +1 -1
- package/dist/useErrorHandler-BKN3lhJ5.mjs.map +1 -0
- package/dist/useErrorHandler-C3XnRTmp.mjs.map +1 -0
- package/dist/{useErrorHandler-D9W2BURn.mjs → useErrorHandler-x9sjDYSz.mjs} +1 -1
- package/dist/useImageProxy-AEcmDpvW.mjs.map +1 -0
- package/dist/useImageProxy-BzTG_GCn.mjs.map +1 -0
- package/dist/{useImageProxy-8ndy_oTo.mjs → useImageProxy-CCpDzPmQ.mjs} +1 -1
- package/dist/useOrgaComputed-4PduqYTq.mjs.map +1 -0
- package/dist/useOrgaComputed-C2n0FBbv.mjs.map +1 -0
- package/dist/{useOrgaComputed-CBJ5sDOm.mjs → useOrgaComputed-D81Jihm-.mjs} +2 -2
- package/dist/{usePlayerLogicProgress-C2L7cMdd.mjs → usePlayerLogicProgress-BybmSAcs.mjs} +2 -2
- package/dist/usePlayerLogicProgress-CKoCod6g.mjs.map +1 -0
- package/dist/usePlayerLogicProgress-DZaPRo6p.mjs.map +1 -0
- package/dist/usePodcastView-B-2HPFAo.mjs.map +1 -0
- package/dist/{usePodcastView-CoDJJr6Y.mjs → usePodcastView-CkM-n6iO.mjs} +3 -3
- package/dist/usePodcastView-jdYTK1cW.mjs.map +1 -0
- package/dist/{usePresentationItem-DZZVm3hh.mjs → usePresentationItem-CLEGZwI3.mjs} +3 -3
- package/dist/usePresentationItem-Com4i40U.mjs.map +1 -0
- package/dist/usePresentationItem-OpMean0v.mjs.map +1 -0
- package/dist/{useRights-DOXtpjv5.mjs → useRights-BI2tXXjR.mjs} +1 -1
- package/dist/useRights-Bsv9hr7w.mjs.map +1 -0
- package/dist/useRights-DfudFDI6.mjs.map +1 -0
- package/dist/{useRubriquesFilterComputed-DoUOqOrJ.mjs → useRubriquesFilterComputed-D1yqLnK4.mjs} +1 -1
- package/dist/useRubriquesFilterComputed-DGDJp2gc.mjs.map +1 -0
- package/dist/useRubriquesFilterComputed-NNE-FElk.mjs.map +1 -0
- package/dist/{useRubriquesFilterParam-BE8BbmAQ.mjs → useRubriquesFilterParam-2eMd5ND7.mjs} +1 -1
- package/dist/useRubriquesFilterParam-DE5dYl6c.mjs.map +1 -0
- package/dist/useRubriquesFilterParam-DXYD4G0D.mjs.map +1 -0
- package/dist/useSharePlatforms-CrQ8r5vT.mjs.map +1 -0
- package/dist/useSharePlatforms-D124fJ_v.mjs.map +1 -0
- package/dist/{useSharePlatforms-ZWYDJZBy.mjs → useSharePlatforms-sXgVxsL5.mjs} +5 -5
- package/dist/{useSimplePageParam-DFKSEyiE.mjs → useSimplePageParam-BrtYXOUt.mjs} +1 -1
- package/dist/useSimplePageParam-CruL7rLG.mjs.map +1 -0
- package/dist/useSimplePageParam-SaBaPhb8.mjs.map +1 -0
- package/dist/{useTranslation-Dr7KU7Y4.mjs → useTranslation-BVQwv02Q.mjs} +9 -9
- package/dist/useTranslation-Bf2zP_6C.mjs.map +1 -0
- package/dist/useTranslation-BuhzZoI8.mjs.map +1 -0
- package/dist/useTranslation-OWqckMEl.mjs.map +1 -0
- package/dist/usefetchRadioData-D01ws733.mjs.map +1 -0
- package/dist/usefetchRadioData-DDRPoD4s.mjs.map +1 -0
- package/dist/{usefetchRadioData-SLWfXkYt.mjs → usefetchRadioData-zyQNqiV3.mjs} +1 -1
- package/package.json +1 -1
- package/src/components/composable/useTranslation.ts +2 -2
- package/src/components/display/sharing/QrCode.vue +63 -64
- package/src/components/form/ClassicDatePicker.vue +32 -20
- package/src/components/form/OctopusMultiselect.vue +3 -4
- package/src/components/misc/ClassicPopover.vue +1 -1
- package/src/components/misc/player/video/PlayerVideoHls.vue +160 -159
- package/src/i18n.ts +38 -29
- package/tests/components/form/ClassicDatePicker.spec.ts +32 -0
- package/tests/components/form/OctopusMultiselect.spec.ts +5 -4
- package/dist/ClassicDatePicker-B7UA9CqR.mjs +0 -187
- package/dist/QrCode-DuScZ7PD.mjs +0 -105
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Dy4uBu1J.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { i as t, j as n, r, x as ee } from "./classicApi-CGipMqf7.mjs";
|
|
3
3
|
import { t as i } from "./GeneralStore-Darfv4af.mjs";
|
|
4
4
|
import { t as a } from "./types-B-L_HwcA.mjs";
|
|
5
|
-
import { t as o } from "./useOrgaComputed-
|
|
6
|
-
import { t as s } from "./useRubriquesFilterParam-
|
|
7
|
-
import { t as c } from "./EmissionGroupChooser-
|
|
5
|
+
import { t as o } from "./useOrgaComputed-D81Jihm-.mjs";
|
|
6
|
+
import { t as s } from "./useRubriquesFilterParam-2eMd5ND7.mjs";
|
|
7
|
+
import { t as c } from "./EmissionGroupChooser-De_IpEhW.mjs";
|
|
8
8
|
import { Transition as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createVNode as h, defineAsyncComponent as g, defineComponent as _, normalizeClass as te, onMounted as ne, openBlock as v, ref as y, toDisplayString as b, unref as x, vShow as S, watch as C, withCtx as w, withDirectives as T } from "vue";
|
|
9
9
|
import { useI18n as E } from "vue-i18n";
|
|
10
10
|
import re from "vue-material-design-icons/ChevronDown.vue";
|
|
@@ -62,13 +62,13 @@ var ie = {
|
|
|
62
62
|
"update:only-my-episodes"
|
|
63
63
|
],
|
|
64
64
|
setup(e, { emit: _ }) {
|
|
65
|
-
let D = g(() => import("./MonetizableFilter-B7NHzXEY.mjs")), O = g(() => import("./CategorySearchFilter-
|
|
65
|
+
let D = g(() => import("./MonetizableFilter-B7NHzXEY.mjs")), O = g(() => import("./CategorySearchFilter-Cce5zxZB.mjs")), k = g(() => import("./RubriqueFilter-rxiG8Wci.mjs")), A = g(() => import("./ClassicSelect-BpA0jKN6.mjs").then((e) => e.n)), j = g(() => import("./ClassicTagInput-DiRwA8CF.mjs")), M = g(() => import("./ClassicCheckbox-xPu56Drn.mjs").then((e) => e.n)), N = g(() => import("./DateFilter-Cnb_S8Up.mjs")), P = g(() => import("./SearchOrder-D_dAhj9M.mjs")), F = e, I = _, L = y(!1), R = y(!1), z = y(!1), { t: B } = E(), { isPodcastmaker: V, isEditRights: H } = o(), { stringifyRubriquesFilter: U, updateRouteParamAdvanced: W } = s(), fe = i(), G = r(), K = t();
|
|
66
66
|
ne(async () => {
|
|
67
67
|
if (F.hideEmissionGroups) {
|
|
68
68
|
z.value = !1;
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
|
-
let e = await
|
|
71
|
+
let e = await ee.count({ organisationIds: [F.organisationId] });
|
|
72
72
|
z.value = e > 0;
|
|
73
73
|
});
|
|
74
74
|
let q = u(() => H(F.organisationId)), J = u(() => F.organisationId ?? G.filterOrgaId), pe = u(() => F.isEmission ? B("Consider podcasts no visible") : B("See podcasts no visible")), Y = u(() => J.value !== void 0 && q.value && (K.isRoleContribution || K.isRolePublication) && !V.value && !F.isEmission && F.includeHidden), me = u(() => K.authOrganisation.attributes["beneficiaries.enabled"] === "true");
|
|
@@ -142,7 +142,7 @@ var ie = {
|
|
|
142
142
|
function we() {
|
|
143
143
|
R.value ||= !0, L.value = !L.value;
|
|
144
144
|
}
|
|
145
|
-
return (
|
|
145
|
+
return (t, r) => (v(), p("div", ie, [m("button", {
|
|
146
146
|
class: "d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent",
|
|
147
147
|
onClick: we
|
|
148
148
|
}, [m("div", null, b(x(B)("Advanced filters")), 1), h(re, { class: te({ "arrow-transform": L.value }) }, null, 8, ["class"])]), h(l, { name: "advanced-search" }, {
|
|
@@ -154,7 +154,7 @@ var ie = {
|
|
|
154
154
|
monetisable: e.monetisable,
|
|
155
155
|
"onUpdate:monetisable": he
|
|
156
156
|
}, null, 8, ["is-emission", "monetisable"])) : f("", !0),
|
|
157
|
-
x(
|
|
157
|
+
x(n).advancedSearch?.disableIabFiltering === !0 ? f("", !0) : (v(), d(x(O), {
|
|
158
158
|
key: 1,
|
|
159
159
|
"iab-id": e.iabId,
|
|
160
160
|
class: "mb-3",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdvancedSearch-C6BJzvGT.mjs","names":["_openBlock","_createElementBlock","_createCommentVNode","_createElementVNode","_toDisplayString","_createVNode","_normalizeClass","_Transition","_withCtx","_withDirectives","_createBlock","_vShow","_sfc_main"],"sources":["../src/components/display/filter/AdvancedSearch.vue","../src/components/display/filter/AdvancedSearch.vue"],"sourcesContent":["<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter\n v-if=\"state.advancedSearch?.disableIabFiltering !== true\"\n :iab-id=\"iabId\"\n class=\"mb-3\"\n @update:iab-id=\"updateIab\"\n />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { state } from \"@/stores/ParamSdkStore\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n","<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter\n v-if=\"state.advancedSearch?.disableIabFiltering !== true\"\n :iab-id=\"iabId\"\n class=\"mb-3\"\n @update:iab-id=\"updateIab\"\n />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { state } from \"@/stores/ParamSdkStore\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdvancedSearch-ChnJq71j.mjs","names":["_openBlock","_createElementBlock","_createCommentVNode","_createElementVNode","_toDisplayString","_createVNode","_normalizeClass","_Transition","_withCtx","_withDirectives","_createBlock","_vShow","_sfc_main"],"sources":["../src/components/display/filter/AdvancedSearch.vue","../src/components/display/filter/AdvancedSearch.vue"],"sourcesContent":["<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter\n v-if=\"state.advancedSearch?.disableIabFiltering !== true\"\n :iab-id=\"iabId\"\n class=\"mb-3\"\n @update:iab-id=\"updateIab\"\n />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { state } from \"@/stores/ParamSdkStore\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n","<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter\n v-if=\"state.advancedSearch?.disableIabFiltering !== true\"\n :iab-id=\"iabId\"\n class=\"mb-3\"\n @update:iab-id=\"updateIab\"\n />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { state } from \"@/stores/ParamSdkStore\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdvancedSearch-ChtUj3vS.mjs","names":["_openBlock","_createElementBlock","_createCommentVNode","_createElementVNode","_toDisplayString","_createVNode","_normalizeClass","_Transition","_withCtx","_withDirectives","_createBlock","_vShow","_sfc_main"],"sources":["../src/components/display/filter/AdvancedSearch.vue","../src/components/display/filter/AdvancedSearch.vue"],"sourcesContent":["<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter\n v-if=\"state.advancedSearch?.disableIabFiltering !== true\"\n :iab-id=\"iabId\"\n class=\"mb-3\"\n @update:iab-id=\"updateIab\"\n />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { state } from \"@/stores/ParamSdkStore\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n","<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter\n v-if=\"state.advancedSearch?.disableIabFiltering !== true\"\n :iab-id=\"iabId\"\n class=\"mb-3\"\n @update:iab-id=\"updateIab\"\n />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { state } from \"@/stores/ParamSdkStore\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdvancedSearch-D-9o5KzI.mjs","names":["_openBlock","_createElementBlock","_createCommentVNode","_createElementVNode","_toDisplayString","_createVNode","_normalizeClass","_Transition","_withCtx","_withDirectives","_createBlock","_vShow","_sfc_main"],"sources":["../src/components/display/filter/AdvancedSearch.vue","../src/components/display/filter/AdvancedSearch.vue"],"sourcesContent":["<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter\n v-if=\"state.advancedSearch?.disableIabFiltering !== true\"\n :iab-id=\"iabId\"\n class=\"mb-3\"\n @update:iab-id=\"updateIab\"\n />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { state } from \"@/stores/ParamSdkStore\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n","<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter\n v-if=\"state.advancedSearch?.disableIabFiltering !== true\"\n :iab-id=\"iabId\"\n class=\"mb-3\"\n @update:iab-id=\"updateIab\"\n />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { state } from \"@/stores/ParamSdkStore\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdvancedSearch-DH5YTENK.mjs","names":["_openBlock","_createElementBlock","_createCommentVNode","_createElementVNode","_toDisplayString","_createVNode","_normalizeClass","_Transition","_withCtx","_withDirectives","_createBlock","_vShow","_sfc_main"],"sources":["../src/components/display/filter/AdvancedSearch.vue","../src/components/display/filter/AdvancedSearch.vue"],"sourcesContent":["<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter\n v-if=\"state.advancedSearch?.disableIabFiltering !== true\"\n :iab-id=\"iabId\"\n class=\"mb-3\"\n @update:iab-id=\"updateIab\"\n />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { state } from \"@/stores/ParamSdkStore\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n","<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter\n v-if=\"state.advancedSearch?.disableIabFiltering !== true\"\n :iab-id=\"iabId\"\n class=\"mb-3\"\n @update:iab-id=\"updateIab\"\n />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nimport { state } from \"@/stores/ParamSdkStore\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n"],"mappings":"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"}
|