@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdvancedSearch-DN3WFduh.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-EpYd6K3d.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-PRJyRSID.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-_E2nwQ-A.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6JA,MAAM,oBAAoB,2BAChB,OAAO,mCACjB;EACA,MAAM,uBAAuB,2BACnB,OAAO,sCACjB;EACA,MAAM,iBAAiB,2BACb,OAAO,gCACjB;EACA,MAAM,gBAAgB,2BACZ,OAAO,+BACjB,CAAA,MAAA,MAAA,EAAA,CAAA,CAAA;EACA,MAAM,kBAAkB,2BACd,OAAO,iCACjB;EACA,MAAM,kBAAkB,2BACd,OAAO,iCACjB,CAAA,MAAA,MAAA,EAAA,CAAA,CAAA;EACA,MAAM,aAAa,2BAA2B,OAAO,4BAAmB;EACxE,MAAM,cAAc,2BAA2B,OAAO,6BAAoB;EAM1E,MAAM,QAAQ;EA8Bd,MAAM,OAAO;EAgBb,MAAM,cAAc,IAAI,KAAK;EAC7B,MAAM,cAAc,IAAI,KAAK;EAC7B,MAAM,qBAAqB,IAAI,KAAK;EAGpC,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,gBAAgB,iBAAiB,gBAAgB;EACzD,MAAM,EAAE,0BAAyB,6BAA6B,wBAAwB;EACtF,MAAM,eAAe,gBAAgB;EACrC,MAAM,cAAc,eAAe;EACnC,MAAM,YAAY,aAAa;EAE/B,UAAU,YAAW;GACjB,IAAI,MAAM,oBAAoB;IAC1B,mBAAmB,QAAQ;IAC3B;GACJ;GAEA,MAAM,WAAW,MAAM,UAAU,MAAM,EACnC,iBAAiB,CAAC,MAAM,cAAc,EAC1C,CAAC;GACD,mBAAmB,QAAQ,WAAW;EAC1C,CAAC;EAGD,MAAM,oBAAoB,eAAe,aAAa,MAAM,cAAc,CAAC;EAC3E,MAAM,eAAe,eAAe,MAAM,kBAAkB,YAAY,YAAY;EACpF,MAAM,iBAAiB,eAAe,MAAM,aAAa,EAAE,8BAA8B,IAAG,EAAE,yBAAyB,CAAC;EACxH,MAAM,mBAAmB,eAAe;GACpC,OACI,KAAA,MAAc,aAAa,SAC3B,kBAAkB,UACjB,UAAU,sBAAsB,UAAU,sBAC3C,CAAC,eAAe,SAChB,CAAC,MAAM,cACP,MAAM;EAEd,CAAC;;EAGD,MAAM,uBAAuB,eAAe;GACxC,OAAO,UAAU,iBAAiB,WAAW,6BAA6B;EAC9E,CAAC;EAGD,MAAM,cAAc,YAAY;GAC5B,MAAM,SAAS,KAAA,MAAc,aAAa,SAAS,kBAAkB,SAAS,CAAC,MAAM;GACrF,IAAI,WAAW,MAAM,eACjB,oBAAoB,MAAM;EAElC,CAAC;EAED,YAAU,MAAM,gBAAgB,UAAkB;GAC9C,MAAM,SAAS,MAAM,KAAK;GAC1B,IAAI,UAAU;GACd,IAAG,OAAO,UAAU,GAChB,UAAU,MAAM,aAAY,sBAAsB;GAEtD,yBAAyB;IACrB,GAAG,OAAO,SAAS,SAAS,KAAA;IAC5B,GAAG;GACP,CAAC;EACL,CAAC;EAGD,SAAS,kBAAkB,OAAqB;GAC5C,KAAK,sBAAsB,KAAK;GAChC,yBAAyB,EAAE,GAAG,gBAAgB,QAAQ,QAAQ,KAAA,EAAU,CAAC;EAC7E;EAEA,SAAS,UAAU,OAA2B;GAC1C,KAAK,gBAAgB,MAAM,QAAQ,QAAQ,KAAA,CAAS;GACpD,IAAI,YAAY,CAAC;GACjB,IAAI,YAAY,aAAa,YAAY,UAAU,OAAO,OACtD,YAAY,EAAE,OAAO,KAAA,EAAU;GAEnC,yBAAyB;IAChB,GAAG,QAAQ,MAAM,SAAS,IAAI,KAAA;IACnC,GAAG;GACP,CAAC;EACL;EAEA,SAAS,WAAW,OAAe;GAC/B,KAAK,eAAe,KAAK;GACzB,yBAAyB,EAAE,GAAG,MAAM,CAAC;EACzC;EAEA,SAAS,oBAAoB,OAAgB;GACzC,KAAK,wBAAwB,KAAK;GAClC,yBAAyB,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC;EACpD;EAEA,SAAS,eAAe,OAAgB;GACpC,KAAK,mBAAmB,KAAK;GAC7B,yBAAyB,EAAE,IAAI,MAAM,SAAS,EAAE,CAAC;EACrD;EAEA,SAAS,gBAAgB,OAAgB;GACrC,KAAK,oBAAoB,KAAK;GAC9B,yBAAyB,EAAE,GAAG,QAAQ,SAAS,KAAA,EAAU,CAAC;EAC9D;EAEA,SAAS,YAAY,OAGZ;GACL,KAAK,mBAAmB,MAAM,IAAI;GAClC,KAAK,iBAAiB,MAAM,EAAE;GAC9B,yBAAyB;IAAE,MAAM,MAAM;IAAM,IAAI,MAAM;GAAG,CAAC;EAC/D;EAEA,SAAS,uBAAuB,OAAgC;GAC5D,KAAK,yBAAyB,KAAK;GACnC,IAAI,kBAAkB,CAAC;GACvB,MAAM,cAAc,yBAAyB,KAAK;GAClD,IACI,YAAY,eAAe,UAC3B,yBAAyB,YAAY,cAAc,MAAM,aAEzD,kBAAkB,EAAE,aAAa,KAAA,EAAU;GAE/C,yBAAyB;IACrB,GAAG,YAAY,SAAS,cAAc,KAAA;IACtC,GAAG;GACP,CAAC;EACL;;EAGA,MAAM,wBAAwB,SAAS;GACnC,MAAe;IACX,OAAO,MAAM,mBAAmB,KAAA,KAAa,MAAM,mBAAmB;GAC1E;GACA,IAAI,OAAsB;IACtB,IAAI,OACA,0BAA0B,CAAC,CAAC;SAE5B,0BAA0B,KAAA,CAAS;GAE3C;EACJ,CAAC;;EAGD,SAAS,0BAA0B,QAA8C;GAC7E,IAAI,WAAW,KAAA,KAAa,OAAO,WAAW,GAC1C,KAAK,0BAA0B,CAAC,CAAC;QAC9B;IACH,yBAAyB,GACpB,aAAa,iBAAiB,QAAQ,KAAI,MAAK,EAAE,OAAO,EAC7D,CAAC;IACD,KAAK,0BAA0B,MAAM;GACzC;EACJ;;EAGA,SAAS,oBAAoB,OAAiC;GAC1D,KAAK,wBAAwB,KAAK;GAClC,IAAI,UAAU,KAAA,GACV,yBAAyB,GAAG,aAAa,gBAAgB,KAAA,EAAU,CAAC;QAEpE,yBAAyB,GAAG,aAAa,gBAAgB,MAAM,CAAC;EAExE;;EAGA,SAAS,4BAA4B,OAAsB;GACvD,IAAI,UAAU,MACV,KAAK,wBAAwB,CAAC,CAAC;QAE/B,oBAAoB,KAAA,CAAS;EAErC;;EAGA,SAAS,uBAAuB,OAAsB;GAClD,KAAK,2BAA2B,KAAK;GACrC,yBAAyB,GACpB,aAAa,iBAAiB,SAAS,KAAA,EAC5C,CAAC;EACL;EAEA,SAAS,mBAAyB;GAC9B,IAAI,CAAC,YAAY,OACb,YAAY,QAAQ;GAExB,YAAY,QAAQ,CAAC,YAAY;EACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CC5ZS,IAAG;CAAkB,OAAM;;;;CAepB,OAAM;;AAEI,IAAA,aAAA,EAAA,OAAM,iCAAgC;AACpC,IAAA,aAAA,EAAA,OAAM,oBAAmB;;;CAqBF,OAAM;;;;CA0BJ,OAAM;;;;CAkBI,OAAM;;;;CAY7C,OAAM;;;CA/F1B,OAAAA,UAAA,GAAAC,mBA8IM,OA9IN,YA8IM;EA7IFC,mBAAA,uCAAA;EACAC,mBAMS,UAAA;GALL,OAAM;GACL,SAAO,OAAA;EAER,GAAA,CAAAA,mBAAsC,OAAA,MAAAC,gBAA9B,OAAA,EAAC,kBAAA,CAAA,GAAA,CAAA,GACTC,YAA+D,OAAA,oBAAA,EAA7C,OAAKC,eAAA,EAAA,mBAAuB,OAAA,YAAW,CAAA,EAAA,GAAA,MAAA,GAAA,CAAA,OAAA,CAAA,CAAA,CAAA;EAG7DJ,mBAAA,WAAA;EACAG,YAkIaE,YAAA,EAlID,MAAK,kBAAiB,GAAA;GAC9B,SAAAC,cAgIM,CA/HI,OAAA,cADVC,gBAAAT,UAAA,GAAAC,mBAgIM,OAhIN,YAgIM;IA3HFE,mBAmHW,YAnHX,YAmHW;KAlHPA,mBAES,UAFT,YAESC,gBADF,OAAA,EAAC,QAAA,CAAA,GAAA,CAAA;KAGG,CAAA,OAAA,kBAAc,CAAK,OAAA,aAAa,qBAD3CJ,UAAA,GAAAU,YAKE,OAAA,sBAAA;;MAHG,eAAa,OAAA;MACb,aAAa,OAAA;MACb,wBAAoB,OAAA;;KAGf,OAAA,MAAM,gBAAgB,wBAAmB,QADnDV,UAAA,GAAAU,YAKE,OAAA,yBAAA;;MAHG,UAAQ,OAAA;MACT,OAAM;MACL,kBAAe,OAAA;;KAEpBL,YAGE,OAAA,mBAAA;MAFG,mBAAiB,OAAA;MACjB,2BAAwB,OAAA;;KAG7BH,mBAAA,iBAAA;KACW,OAAA,sBAAXF,UAAA,GAAAC,mBAeM,OAfN,YAeM,CAdFI,YAKE,OAAA,oBAAA;MAJU,aAAW,OAAA;MAAA,qBAAA,OAAA,OAAA,OAAA,MAAA,WAAA,OAAA,wBAAqB;MACxC,OAAM;MACN,eAAY;MACX,OAAO,OAAA,EAAC,2BAAA;KAIH,GAAA,MAAA,GAAA,CAAA,aAAA,OAAA,CAAA,GAAA,OAAA,yBADVL,UAAA,GAAAU,YAME,OAAA,yBAAA;;MAJE,OAAM;MACL,mBAAiB,OAAA;MACjB,QAAQ,OAAA;MACR,mBAAe,OAAA;;KAIxBR,mBAAA,QAAA;KACAG,YAKE,OAAA,eAAA;MAJG,eAAa,OAAA;MACb,aAAW,OAAA;MACX,WAAS,OAAA;MACT,eAAY,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,YAAY,MAAM;;;;;;KAGrCH,mBAAA,gCAAA;KACW,OAAA,wBAAXF,UAAA,GAAAC,mBAeM,OAfN,YAeM,CAdFI,YAME,OAAA,oBAAA;MALG,aAAW,OAAA,kBAAa,QAAa,OAAA,kBAAkB,KAAA;MACxD,OAAM;MACN,eAAY;MACX,OAAO,OAAA,EAAC,yBAAA;MACR,qBAAkB,OAAA;KAIb,GAAA,MAAA,GAAA,CAAA,aAAA,OAAA,CAAA,GAAA,OAAA,kBAAa,QAAa,OAAA,kBAAkB,KAAA,KADtDL,UAAA,GAAAU,YAKE,OAAA,oBAAA;;MAHE,OAAM;MACL,MAAM,OAAA;MACN,iBAAa,OAAA;;KAItBR,mBAAA,4BAAA;KACY,CAAA,OAAA,cAAU,CAAK,OAAA,kBAA3BF,UAAA,GAAAC,mBAQM,OARN,YAQM,CAPFI,YAME,OAAA,oBAAA;MALG,aAAW,OAAA;MACZ,OAAM;MACN,eAAY;MACX,OAAO,OAAA,EAAC,4BAAA;MACR,qBAAkB,OAAA;;KAKjB,OAAA,gBAAgB,OAAA,qBAAiB,CAAK,OAAA,kBADhDL,UAAA,GAAAC,mBAYM,OAZN,YAYM,CARFI,YAOE,OAAA,oBAAA;MANG,aAAW,OAAA;MACZ,OAAM;MACN,eAAY;MACX,OAAO,OAAA;MACP,eAAa,OAAA,oBAAgB,WAAa,OAAA;MAC1C,qBAAkB,OAAA;;;;;;KAKjB,OAAA,oBADVL,UAAA,GAAAU,YAcE,OAAA,kBAAA;;MAZG,aAAW,OAAA;MACZ,aAAU;MACT,OAAO,OAAA,EAAC,sBAAA,IAAA;MACR,iBAAe;MAChB,eAAY;MACZ,OAAM;MACL,SAAO;OAAyC;QAAA,OAAA,OAAA,EAAC,mCAAA;QAAA,OAAA;OAAA;OAA8F;QAAA,OAAA,OAAA,EAAC,8BAAA;QAAA,OAAA;OAAA;OAAoF;QAAA,OAAA,OAAA,EAAC,qCAAA;QAAA,OAAA;OAAA;;MAKrO,qBAAkB,OAAA;;;;;;KAGvBR,mBAAA,mBAAA;KAEW,CAAA,OAAA,cADXF,UAAA,GAAAU,YAOE,OAAA,oBAAA;;MALG,aAAW,OAAA;MACZ,OAAM;MACN,eAAY;MACX,OAAO,OAAA,EAAC,+BAAA;MACR,qBAAkB,OAAA;;;IAI3BR,mBAAA,QAAA;IACAG,YAIE,OAAA,gBAAA;KAHG,eAAa,OAAA;KACb,MAAM,OAAA;KACN,iBAAa,OAAA;;GA5HV,GAAA,GAAA,IAAA,CAAA,CAAAM,OAAA,OAAA,WAAW,CAAA,CAAA,IAAAT,mBAAA,QAAA,IAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdvancedSearch-cLjakm-6.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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"}
|