@taon-dev/cms 21.0.16 → 21.0.18
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/VERIFIED-BUILD-DATA.jsonc +3 -3
- package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-BVtSn2fs.mjs +31 -0
- package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.de-DE.i18n.data-BVtSn2fs.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.en-US.i18n.data-BSUcs0Id.mjs +31 -0
- package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.en-US.i18n.data-BSUcs0Id.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-dwvVUvD1.mjs +31 -0
- package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.html.pl-PL.i18n.data-dwvVUvD1.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-B48c-CYU.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.de-DE.i18n.data-B48c-CYU.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.en-US.i18n.data-D9BCToFT.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.en-US.i18n.data-D9BCToFT.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DsqGl3cF.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-DsqGl3cF.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-BuXLlArJ.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-BuXLlArJ.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.en-US.i18n.data-BdtTQ_Jl.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.en-US.i18n.data-BdtTQ_Jl.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-CoDrYDRK.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-CoDrYDRK.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-V7WX2R2o.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-V7WX2R2o.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-MGwWRhfj.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-MGwWRhfj.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-7gEiqQTu.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-7gEiqQTu.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.de-DE.i18n.data-B5x4stX6.mjs +16 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.de-DE.i18n.data-B5x4stX6.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.en-US.i18n.data-DthWh8nt.mjs +16 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.en-US.i18n.data-DthWh8nt.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.pl-PL.i18n.data-iT7Urr8M.mjs +16 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.html.pl-PL.i18n.data-iT7Urr8M.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.de-DE.i18n.data-D-UQjC58.mjs +10 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.de-DE.i18n.data-D-UQjC58.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.en-US.i18n.data-CoKyFRC0.mjs +10 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.en-US.i18n.data-CoKyFRC0.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.pl-PL.i18n.data-Bly4iRV_.mjs +10 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.component.ts.pl-PL.i18n.data-Bly4iRV_.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DF2t3FGq.mjs +31 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DF2t3FGq.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-HaVV1PUK.mjs +31 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.en-US.i18n.data-HaVV1PUK.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-CM8U1Jru.mjs +31 -0
- package/browser/fesm2022/cms-browser-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-CM8U1Jru.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-CmIHY-Qb.mjs +16 -0
- package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.de-DE.i18n.data-CmIHY-Qb.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.en-US.i18n.data-B3p2KGMd.mjs +16 -0
- package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.en-US.i18n.data-B3p2KGMd.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-BmIn1qix.mjs +16 -0
- package/browser/fesm2022/cms-browser-taon-cms-category.controller.ts.pl-PL.i18n.data-BmIn1qix.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-category.repository.ts.de-DE.i18n.data-zcPs4FvI.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-category.repository.ts.de-DE.i18n.data-zcPs4FvI.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-category.repository.ts.en-US.i18n.data-DAaZJ_9F.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-category.repository.ts.en-US.i18n.data-DAaZJ_9F.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-category.repository.ts.pl-PL.i18n.data-CVvSGHBy.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-category.repository.ts.pl-PL.i18n.data-CVvSGHBy.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-DcMMeJhf.mjs +16 -0
- package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.de-DE.i18n.data-DcMMeJhf.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.en-US.i18n.data-Gx0bf2nC.mjs +16 -0
- package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.en-US.i18n.data-Gx0bf2nC.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-DzObZW39.mjs +16 -0
- package/browser/fesm2022/cms-browser-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-DzObZW39.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-post.component.html.de-DE.i18n.data-_sQHaM7p.mjs +325 -0
- package/browser/fesm2022/cms-browser-taon-cms-post.component.html.de-DE.i18n.data-_sQHaM7p.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-post.component.html.en-US.i18n.data-CAAYTQWn.mjs +325 -0
- package/browser/fesm2022/cms-browser-taon-cms-post.component.html.en-US.i18n.data-CAAYTQWn.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-5tuvjPPZ.mjs +325 -0
- package/browser/fesm2022/cms-browser-taon-cms-post.component.html.pl-PL.i18n.data-5tuvjPPZ.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-PjXxw70Q.mjs +175 -0
- package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.de-DE.i18n.data-PjXxw70Q.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.en-US.i18n.data-n_jdOSMO.mjs +172 -0
- package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.en-US.i18n.data-n_jdOSMO.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-747DKNI9.mjs +175 -0
- package/browser/fesm2022/cms-browser-taon-cms-post.component.ts.pl-PL.i18n.data-747DKNI9.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-PTv8IVQS.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-PTv8IVQS.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.en-US.i18n.data-D1XI6u8V.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.en-US.i18n.data-D1XI6u8V.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-Sv8mvv7F.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-Sv8mvv7F.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-XC6VHQ4p.mjs +70 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-XC6VHQ4p.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-DdTJ6jBq.mjs +70 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-DdTJ6jBq.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-VmJCCpyW.mjs +70 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-VmJCCpyW.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DR3QDl8i.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-DR3QDl8i.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BMHc1eXs.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BMHc1eXs.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-D6vB4Elu.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-D6vB4Elu.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-0-FosMdd.mjs +71 -0
- package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.de-DE.i18n.data-0-FosMdd.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.en-US.i18n.data-CdG7f6f1.mjs +71 -0
- package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.en-US.i18n.data-CdG7f6f1.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-BRJitr3A.mjs +71 -0
- package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-BRJitr3A.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BWfc44Gu.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BWfc44Gu.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.en-US.i18n.data-C2H_Eckx.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.en-US.i18n.data-C2H_Eckx.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-qQEyNc_O.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-qQEyNc_O.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.de-DE.i18n.data-C1Dm6TEf.mjs +16 -0
- package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.de-DE.i18n.data-C1Dm6TEf.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.en-US.i18n.data-B-j9Oo0W.mjs +16 -0
- package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.en-US.i18n.data-B-j9Oo0W.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.pl-PL.i18n.data-1Ou1o4gZ.mjs +16 -0
- package/browser/fesm2022/cms-browser-taon-cms-tag.controller.ts.pl-PL.i18n.data-1Ou1o4gZ.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.de-DE.i18n.data-DhAUtQSa.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.de-DE.i18n.data-DhAUtQSa.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.en-US.i18n.data-Dq7PnSmq.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.en-US.i18n.data-Dq7PnSmq.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.pl-PL.i18n.data-CsT5vExK.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-cms-tag.repository.ts.pl-PL.i18n.data-CsT5vExK.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DX6YHkgg.mjs +91 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DX6YHkgg.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-Ccmf9_pZ.mjs +91 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-Ccmf9_pZ.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-B849p720.mjs +91 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-B849p720.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-BQYY3Beh.mjs +76 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-BQYY3Beh.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-BS97U_dV.mjs +76 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-BS97U_dV.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-DkguMZ1c.mjs +76 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-DkguMZ1c.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-7qzkXXtn.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-7qzkXXtn.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy.validation.ts.en-US.i18n.data-D1eP5S95.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy.validation.ts.en-US.i18n.data-D1eP5S95.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-Cc6hut5r.mjs +26 -0
- package/browser/fesm2022/cms-browser-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-Cc6hut5r.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-D0T-rq7s.mjs +46 -0
- package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.de-DE.i18n.data-D0T-rq7s.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.en-US.i18n.data-mZeFTFaF.mjs +46 -0
- package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.en-US.i18n.data-mZeFTFaF.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-D7X5-yeN.mjs +46 -0
- package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.html.pl-PL.i18n.data-D7X5-yeN.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-D2tZ4gOm.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.de-DE.i18n.data-D2tZ4gOm.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.en-US.i18n.data-B5vaympv.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.en-US.i18n.data-B5vaympv.mjs.map +1 -0
- package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CZxR2iCt.mjs +21 -0
- package/browser/fesm2022/cms-browser-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CZxR2iCt.mjs.map +1 -0
- package/browser/fesm2022/cms-browser.mjs +2754 -542
- package/browser/fesm2022/cms-browser.mjs.map +1 -1
- package/browser/package.json +1 -1
- package/browser/types/cms-browser.d.ts +395 -145
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-Cnee0qF_.mjs +31 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-Cnee0qF_.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-BnfBa5FP.mjs +31 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-BnfBa5FP.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CI9R_TWY.mjs +31 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-CI9R_TWY.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-CuJ1DFEy.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-CuJ1DFEy.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-COrEvH90.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-COrEvH90.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-IX85Hp7B.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-IX85Hp7B.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-DJo4v6QY.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-DJo4v6QY.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-B866wa9u.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-B866wa9u.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BY-OWFhb.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BY-OWFhb.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CsC2V1RP.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-CsC2V1RP.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-CDumPCL3.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-CDumPCL3.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CnlTu58H.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CnlTu58H.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-CqIu3bBE.mjs +16 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-CqIu3bBE.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.en-US.i18n.data-q7WqXEJw.mjs +16 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.en-US.i18n.data-q7WqXEJw.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-BSwBNQpH.mjs +16 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-BSwBNQpH.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CvbuuDAa.mjs +10 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CvbuuDAa.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BdhGIeUK.mjs +10 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BdhGIeUK.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-BVwuFYPF.mjs +10 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-BVwuFYPF.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-BbCjJoVh.mjs +31 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-BbCjJoVh.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-BUBi6h_q.mjs +31 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-BUBi6h_q.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-BJ03B4ix.mjs +31 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-BJ03B4ix.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CDUBs36X.mjs +16 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CDUBs36X.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-Ckuw2o-a.mjs +16 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.en-US.i18n.data-Ckuw2o-a.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-CP8q0EDA.mjs +16 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-CP8q0EDA.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.repository.ts.de-DE.i18n.data-BAt9wXhq.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.repository.ts.de-DE.i18n.data-BAt9wXhq.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.repository.ts.en-US.i18n.data-DEDAUHCN.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.repository.ts.en-US.i18n.data-DEDAUHCN.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-vfVCRZ0l.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-vfVCRZ0l.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-CCMZ2Grc.mjs +16 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-CCMZ2Grc.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CfETMKWw.mjs +16 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CfETMKWw.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BJUC-bxd.mjs +16 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BJUC-bxd.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-BaPmxkoJ.mjs +325 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.de-DE.i18n.data-BaPmxkoJ.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-WYUL_IjF.mjs +325 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.en-US.i18n.data-WYUL_IjF.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-B1zLXqUZ.mjs +325 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.html.pl-PL.i18n.data-B1zLXqUZ.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-qu1MSO3K.mjs +175 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.de-DE.i18n.data-qu1MSO3K.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-CbSJQ1ae.mjs +172 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.en-US.i18n.data-CbSJQ1ae.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-8FEfL47i.mjs +175 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-post.component.ts.pl-PL.i18n.data-8FEfL47i.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-_vYyLJO0.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-_vYyLJO0.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-C7o8B-38.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-C7o8B-38.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DHsO0ILx.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-DHsO0ILx.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B6oI0NXX.mjs +70 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B6oI0NXX.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-CE7oFpqW.mjs +70 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-CE7oFpqW.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DN7jpzXv.mjs +70 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-DN7jpzXv.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CvRKVC5m.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CvRKVC5m.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BGx0VfEv.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-BGx0VfEv.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CJyoZejS.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CJyoZejS.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-jYWuVaax.mjs +71 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-jYWuVaax.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-NF4fmGLN.mjs +71 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-NF4fmGLN.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-C5g2G3jI.mjs +71 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-C5g2G3jI.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BfluLtxD.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-BfluLtxD.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-CiAd1cu4.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-CiAd1cu4.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-C2pNRLNK.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-C2pNRLNK.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-mHMHPrI-.mjs +16 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-mHMHPrI-.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-3oxZelGB.mjs +16 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.en-US.i18n.data-3oxZelGB.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-z6ufNE6q.mjs +16 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-z6ufNE6q.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.de-DE.i18n.data-CY1yB1IT.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.de-DE.i18n.data-CY1yB1IT.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.en-US.i18n.data-StHinq7f.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.en-US.i18n.data-StHinq7f.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-DYbKxB3P.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-DYbKxB3P.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DJmJnTy1.mjs +91 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DJmJnTy1.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-B9egtKwh.mjs +91 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-B9egtKwh.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-DSWzgw_0.mjs +91 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-DSWzgw_0.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-CCcCm4XG.mjs +76 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-CCcCm4XG.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-DOFKJuxr.mjs +76 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-DOFKJuxr.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-DUfeE0cw.mjs +76 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-DUfeE0cw.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-CEKXSxan.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-CEKXSxan.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-BjGkpdq6.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-BjGkpdq6.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CzWbeuv5.mjs +26 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CzWbeuv5.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-ByAMAthp.mjs +46 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-ByAMAthp.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.en-US.i18n.data-BN-WdlzW.mjs +46 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.en-US.i18n.data-BN-WdlzW.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-DzGNKH0I.mjs +46 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-DzGNKH0I.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-CeRmjGOX.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-CeRmjGOX.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-CNpn80st.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-CNpn80st.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BL0v395O.mjs +21 -0
- package/browser-prod/fesm2022/cms-browser-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BL0v395O.mjs.map +1 -0
- package/browser-prod/fesm2022/cms-browser-prod.mjs +2675 -463
- package/browser-prod/fesm2022/cms-browser-prod.mjs.map +1 -1
- package/browser-prod/package.json +1 -1
- package/browser-prod/types/cms-browser-prod.d.ts +395 -145
- package/full-dts/build-info._auto-generated_.d.ts +1 -1
- package/full-dts/decorators/taon-cms-authorization.d.ts +4 -0
- package/full-dts/index._auto-generated_.d.ts +6 -1
- package/full-dts/migrations/1792579000000_postPermissionInheritance.d.ts +7 -0
- package/full-dts/migrations/1793043000000_postThumbnails.d.ts +7 -0
- package/full-dts/migrations/index.d.ts +10 -1
- package/full-dts/migrations/migrations_index._auto-generated_.d.ts +4 -0
- package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +20 -0
- package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +20 -0
- package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +20 -0
- package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +18 -0
- package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +18 -0
- package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +18 -0
- package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +19 -0
- package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +19 -0
- package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +19 -0
- package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +19 -0
- package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +19 -0
- package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +19 -0
- package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +15 -0
- package/full-dts/taon-cms-assets-backoffice/taon-cms-asset-preview.component.d.ts +17 -0
- package/full-dts/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.d.ts +15 -6
- package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
- package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
- package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
- package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +9 -0
- package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +9 -0
- package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +9 -0
- package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +20 -0
- package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +20 -0
- package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +20 -0
- package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +12 -0
- package/full-dts/taon-cms-backoffice/taon-cms-backoffice.component.d.ts +2 -0
- package/full-dts/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.d.ts +17 -0
- package/full-dts/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.d.ts +17 -0
- package/full-dts/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.d.ts +17 -0
- package/full-dts/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.d.ts +19 -0
- package/full-dts/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.d.ts +19 -0
- package/full-dts/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.d.ts +19 -0
- package/full-dts/taon-cms-category/i18n/taon-cms-category.translation.d.ts +12 -0
- package/full-dts/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.d.ts +19 -0
- package/full-dts/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.d.ts +19 -0
- package/full-dts/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.d.ts +19 -0
- package/full-dts/taon-cms-category/taon-cms-category-api.service.d.ts +3 -0
- package/full-dts/taon-cms-category/taon-cms-category.controller.d.ts +7 -1
- package/full-dts/taon-cms-category/taon-cms-category.repository.d.ts +3 -0
- package/full-dts/taon-cms-category/taon-cms-taxonomy.validation.d.ts +15 -0
- package/full-dts/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +17 -0
- package/full-dts/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +17 -0
- package/full-dts/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +17 -0
- package/full-dts/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +22 -0
- package/full-dts/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +6 -0
- package/full-dts/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +6 -0
- package/full-dts/taon-cms-content/i18n/taon-cms-content.translation.d.ts +5 -1
- package/full-dts/taon-cms-content/taon-cms-content-api.service.d.ts +21 -2
- package/full-dts/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
- package/full-dts/taon-cms-content/taon-cms-content.controller.d.ts +15 -1
- package/full-dts/taon-cms-content/taon-cms-content.entity.d.ts +2 -0
- package/full-dts/taon-cms-content/taon-cms-content.models.d.ts +10 -0
- package/full-dts/taon-cms-content/taon-cms-content.repository.d.ts +11 -1
- package/full-dts/taon-cms-content/taon-cms-upload-progress.d.ts +2 -0
- package/full-dts/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.d.ts +17 -0
- package/full-dts/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.d.ts +17 -0
- package/full-dts/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.d.ts +17 -0
- package/full-dts/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.d.ts +18 -0
- package/full-dts/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.d.ts +18 -0
- package/full-dts/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.d.ts +18 -0
- package/full-dts/taon-cms-tag/i18n/taon-cms-tag.translation.d.ts +9 -0
- package/full-dts/taon-cms-tag/taon-cms-tag-api.service.d.ts +6 -0
- package/full-dts/taon-cms-tag/taon-cms-tag.controller.d.ts +7 -1
- package/full-dts/taon-cms-tag/taon-cms-tag.repository.d.ts +3 -0
- package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.d.ts +32 -0
- package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.d.ts +32 -0
- package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.d.ts +32 -0
- package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.d.ts +28 -0
- package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.d.ts +28 -0
- package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.d.ts +28 -0
- package/full-dts/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.d.ts +9 -0
- package/full-dts/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.d.ts +48 -0
- package/full-dts/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.d.ts +4 -0
- package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +74 -0
- package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +74 -0
- package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +74 -0
- package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +52 -0
- package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +52 -0
- package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +52 -0
- package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +9 -0
- package/full-dts/taon-posts/taon-cms-post/taon-cms-post.component.d.ts +58 -6
- package/full-dts/taon-posts/taon-cms-post/taon-cms-post.models.d.ts +2 -1
- package/full-dts/taon-posts/taon-cms-post/taon-cms-thumbnail.d.ts +6 -0
- package/full-dts/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.d.ts +17 -0
- package/full-dts/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.d.ts +17 -0
- package/full-dts/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.d.ts +17 -0
- package/full-dts/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +6 -0
- package/full-dts/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.d.ts +11 -1
- package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
- package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
- package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
- package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +32 -0
- package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +32 -0
- package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +32 -0
- package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +18 -0
- package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +18 -0
- package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +18 -0
- package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +12 -0
- package/full-dts/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.d.ts +5 -3
- package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +27 -0
- package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +27 -0
- package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +27 -0
- package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +19 -0
- package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +19 -0
- package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +19 -0
- package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +9 -0
- package/full-dts/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.d.ts +3 -0
- package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +22 -0
- package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +22 -0
- package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +22 -0
- package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
- package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
- package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
- package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +9 -0
- package/full-dts/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.d.ts +2 -0
- package/html/app/baseline-backoffice/taon-baseline-backoffice.component.html +2 -2
- package/html/app/cms-example/cms-example.component.html +1 -1
- package/html/app/session-example/session-example.component.html +1 -1
- package/html/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +44 -0
- package/html/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +29 -0
- package/html/lib/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
- package/html/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html +104 -0
- package/html/lib/taon-posts/taon-cms-post/taon-cms-post.component.html +518 -92
- package/html/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
- package/html/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
- package/html/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
- package/i18n/app.ts.de-DE.i18n.data.d.ts +38 -0
- package/i18n/app.ts.de-DE.i18n.data.js +2 -0
- package/i18n/app.ts.de-DE.i18n.data.js.map +1 -0
- package/i18n/app.ts.en-US.i18n.data.d.ts +10 -0
- package/i18n/app.ts.pl-PL.i18n.data.d.ts +10 -0
- package/i18n/src.translation.d.ts +2 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/decorators/taon-cms-authorization.d.ts +4 -0
- package/lib/decorators/taon-cms-authorization.js +10 -0
- package/lib/decorators/taon-cms-authorization.js.map +1 -1
- package/lib/index._auto-generated_.d.ts +3 -0
- package/lib/index._auto-generated_.js +6 -1
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/migrations/1792579000000_postPermissionInheritance.d.ts +6 -0
- package/lib/migrations/1792579000000_postPermissionInheritance.js +37 -0
- package/lib/migrations/1792579000000_postPermissionInheritance.js.map +1 -0
- package/lib/migrations/1793043000000_postThumbnails.d.ts +6 -0
- package/lib/migrations/1793043000000_postThumbnails.js +35 -0
- package/lib/migrations/1793043000000_postThumbnails.js.map +1 -0
- package/lib/migrations/index.d.ts +9 -0
- package/lib/migrations/index.js +11 -0
- package/lib/migrations/index.js.map +1 -1
- package/lib/migrations/migrations_index._auto-generated_.d.ts +4 -0
- package/lib/migrations/migrations_index._auto-generated_.js +4 -0
- package/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/lib/package.json +1 -1
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +19 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +31 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +19 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js +31 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +19 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +31 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +17 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +21 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +17 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js +21 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +17 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +21 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +26 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js +26 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +26 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +26 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js +26 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +26 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +14 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js +5 -0
- package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js.map +1 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +16 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js +16 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +16 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js +16 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +16 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js +16 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +8 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js +10 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +8 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js +10 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +8 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js +10 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +19 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +31 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +19 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +31 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +19 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +31 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +11 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js +5 -0
- package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js.map +1 -0
- package/lib/taon-cms-backoffice/index.d.ts +1 -1
- package/lib/taon-cms-backoffice/index.js +2 -2
- package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.d.ts +16 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js +16 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.d.ts +16 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js +16 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.d.ts +16 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js +16 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.d.ts +18 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.js +26 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.d.ts +18 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.js +26 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.d.ts +18 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.js +26 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.translation.d.ts +11 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.translation.js +5 -0
- package/lib/taon-cms-category/i18n/taon-cms-category.translation.js.map +1 -0
- package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.d.ts +18 -0
- package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.js +26 -0
- package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.d.ts +18 -0
- package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.js +26 -0
- package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.d.ts +18 -0
- package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.js +26 -0
- package/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-category/taon-cms-category.controller.d.ts +7 -1
- package/lib/taon-cms-category/taon-cms-category.controller.js +46 -1
- package/lib/taon-cms-category/taon-cms-category.controller.js.map +1 -1
- package/lib/taon-cms-category/taon-cms-category.repository.d.ts +3 -0
- package/lib/taon-cms-category/taon-cms-category.repository.js +57 -0
- package/lib/taon-cms-category/taon-cms-category.repository.js.map +1 -1
- package/lib/taon-cms-category/taon-cms-taxonomy.validation.d.ts +14 -0
- package/lib/taon-cms-category/taon-cms-taxonomy.validation.js +36 -0
- package/lib/taon-cms-category/taon-cms-taxonomy.validation.js.map +1 -0
- package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +16 -0
- package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +16 -0
- package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +16 -0
- package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +16 -0
- package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +16 -0
- package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +16 -0
- package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +21 -0
- package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +41 -0
- package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +6 -0
- package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +27 -1
- package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js.map +1 -1
- package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +6 -0
- package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +27 -1
- package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
- package/lib/taon-cms-content/i18n/taon-cms-content.translation.d.ts +5 -1
- package/lib/taon-cms-content/i18n/taon-cms-content.translation.js.map +1 -1
- package/lib/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
- package/lib/taon-cms-content/taon-cms-content-storage.controller.js +103 -10
- package/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
- package/lib/taon-cms-content/taon-cms-content.constants.js +1 -0
- package/lib/taon-cms-content/taon-cms-content.constants.js.map +1 -1
- package/lib/taon-cms-content/taon-cms-content.controller.d.ts +15 -1
- package/lib/taon-cms-content/taon-cms-content.controller.js +280 -4
- package/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
- package/lib/taon-cms-content/taon-cms-content.entity.d.ts +2 -0
- package/lib/taon-cms-content/taon-cms-content.entity.js +18 -0
- package/lib/taon-cms-content/taon-cms-content.entity.js.map +1 -1
- package/lib/taon-cms-content/taon-cms-content.models.d.ts +11 -1
- package/lib/taon-cms-content/taon-cms-content.models.js.map +1 -1
- package/lib/taon-cms-content/taon-cms-content.repository.d.ts +11 -1
- package/lib/taon-cms-content/taon-cms-content.repository.js +220 -29
- package/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
- package/lib/taon-cms-content/taon-cms-content.validation.js +10 -1
- package/lib/taon-cms-content/taon-cms-content.validation.js.map +1 -1
- package/lib/taon-cms-content/taon-cms-upload-progress.d.ts +1 -0
- package/lib/taon-cms-content/taon-cms-upload-progress.js +80 -0
- package/lib/taon-cms-content/taon-cms-upload-progress.js.map +1 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.d.ts +16 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js +16 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.d.ts +16 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js +16 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.d.ts +16 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js +16 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.d.ts +17 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.js +21 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.d.ts +17 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.js +21 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.d.ts +17 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js +21 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.translation.d.ts +8 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.translation.js +5 -0
- package/lib/taon-cms-tag/i18n/taon-cms-tag.translation.js.map +1 -0
- package/lib/taon-cms-tag/taon-cms-tag.controller.d.ts +7 -1
- package/lib/taon-cms-tag/taon-cms-tag.controller.js +40 -1
- package/lib/taon-cms-tag/taon-cms-tag.controller.js.map +1 -1
- package/lib/taon-cms-tag/taon-cms-tag.repository.d.ts +3 -0
- package/lib/taon-cms-tag/taon-cms-tag.repository.js +45 -0
- package/lib/taon-cms-tag/taon-cms-tag.repository.js.map +1 -1
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.d.ts +31 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.js +91 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.d.ts +31 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.js +91 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.d.ts +31 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.js +91 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.d.ts +27 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.js +76 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.d.ts +27 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.js +76 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.d.ts +27 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.js +76 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.d.ts +8 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.js +5 -0
- package/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.js.map +1 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +73 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +325 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +73 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +325 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +73 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +325 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +51 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +175 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +51 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +172 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +51 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +175 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +8 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js +5 -0
- package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js.map +1 -0
- package/lib/taon-posts/taon-cms-post/index.d.ts +1 -1
- package/lib/taon-posts/taon-cms-post/index.js +2 -2
- package/lib/taon-posts/taon-cms-post/taon-cms-post.models.d.ts +2 -1
- package/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.d.ts +5 -0
- package/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.js +144 -0
- package/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.js.map +1 -0
- package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.d.ts +16 -0
- package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js +16 -0
- package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.d.ts +16 -0
- package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js +16 -0
- package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.d.ts +16 -0
- package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js +16 -0
- package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +5 -0
- package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js +5 -0
- package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js.map +1 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +21 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js +21 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +21 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +31 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +70 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +31 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +70 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +31 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +70 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +21 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js +21 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +21 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +11 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js +5 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -0
- package/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
- package/lib/taon-posts/taon-cms-posts-backoffice/index.js +2 -2
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +26 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +71 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +26 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js +71 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +26 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +71 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +26 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js +26 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +26 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +8 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js +5 -0
- package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js.map +1 -0
- package/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
- package/lib/taon-posts/taon-cms-revision-chooser/index.js +2 -2
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +21 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +46 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +21 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +46 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +21 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +46 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +17 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +21 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +17 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js +21 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +17 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +21 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +8 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js +5 -0
- package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js.map +1 -0
- package/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
- package/lib/taon-posts/taon-related-post-chooser/index.js +2 -2
- package/lib-esm/i18n/app.ts.de-DE.i18n.data.d.ts +0 -0
- package/lib-esm/i18n/app.ts.de-DE.i18n.data.js +2 -0
- package/lib-esm/i18n/app.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib-esm/lib/build-info._auto-generated_.js +1 -1
- package/lib-esm/lib/decorators/taon-cms-authorization.d.ts +4 -0
- package/lib-esm/lib/decorators/taon-cms-authorization.js +10 -0
- package/lib-esm/lib/decorators/taon-cms-authorization.js.map +1 -1
- package/lib-esm/lib/index._auto-generated_.d.ts +3 -0
- package/lib-esm/lib/index._auto-generated_.js +6 -1
- package/lib-esm/lib/index._auto-generated_.js.map +1 -1
- package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.d.ts +6 -0
- package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.js +28 -0
- package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.js.map +1 -0
- package/lib-esm/lib/migrations/1793043000000_postThumbnails.d.ts +6 -0
- package/lib-esm/lib/migrations/1793043000000_postThumbnails.js +26 -0
- package/lib-esm/lib/migrations/1793043000000_postThumbnails.js.map +1 -0
- package/lib-esm/lib/migrations/index.d.ts +9 -0
- package/lib-esm/lib/migrations/index.js +10 -0
- package/lib-esm/lib/migrations/index.js.map +1 -1
- package/lib-esm/lib/migrations/migrations_index._auto-generated_.d.ts +4 -0
- package/lib-esm/lib/migrations/migrations_index._auto-generated_.js +4 -0
- package/lib-esm/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +19 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +29 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +19 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js +29 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +19 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +29 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +19 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js +19 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +19 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +24 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js +24 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +24 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +24 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js +24 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +24 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +14 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js +4 -0
- package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js.map +1 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js +14 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js +14 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js +14 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +8 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js +8 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +8 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js +8 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +8 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js +8 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +19 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +29 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +19 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +29 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +19 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +29 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +11 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js +4 -0
- package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js.map +1 -0
- package/lib-esm/lib/taon-cms-backoffice/index.d.ts +1 -1
- package/lib-esm/lib/taon-cms-backoffice/index.js +1 -1
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js +14 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js +14 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js +14 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.js +24 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.js +24 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.js +24 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.translation.d.ts +11 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.translation.js +4 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-category.translation.js.map +1 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.js +24 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.js +24 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.js +24 -0
- package/lib-esm/lib/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.d.ts +7 -1
- package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.js +41 -2
- package/lib-esm/lib/taon-cms-category/taon-cms-category.controller.js.map +1 -1
- package/lib-esm/lib/taon-cms-category/taon-cms-category.repository.d.ts +3 -0
- package/lib-esm/lib/taon-cms-category/taon-cms-category.repository.js +57 -0
- package/lib-esm/lib/taon-cms-category/taon-cms-category.repository.js.map +1 -1
- package/lib-esm/lib/taon-cms-category/taon-cms-taxonomy.validation.d.ts +14 -0
- package/lib-esm/lib/taon-cms-category/taon-cms-taxonomy.validation.js +32 -0
- package/lib-esm/lib/taon-cms-category/taon-cms-taxonomy.validation.js.map +1 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +14 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +14 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +14 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +21 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +39 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +6 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +27 -1
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js.map +1 -1
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +6 -0
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +27 -1
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.translation.d.ts +5 -1
- package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.translation.js.map +1 -1
- package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
- package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js +101 -8
- package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
- package/lib-esm/lib/taon-cms-content/taon-cms-content.constants.js +1 -0
- package/lib-esm/lib/taon-cms-content/taon-cms-content.constants.js.map +1 -1
- package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.d.ts +15 -1
- package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js +280 -4
- package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
- package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.d.ts +2 -0
- package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.js +18 -0
- package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.js.map +1 -1
- package/lib-esm/lib/taon-cms-content/taon-cms-content.models.d.ts +10 -0
- package/lib-esm/lib/taon-cms-content/taon-cms-content.models.js.map +1 -1
- package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.d.ts +11 -1
- package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js +220 -29
- package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
- package/lib-esm/lib/taon-cms-content/taon-cms-content.validation.js +10 -1
- package/lib-esm/lib/taon-cms-content/taon-cms-content.validation.js.map +1 -1
- package/lib-esm/lib/taon-cms-content/taon-cms-upload-progress.d.ts +1 -0
- package/lib-esm/lib/taon-cms-content/taon-cms-upload-progress.js +77 -0
- package/lib-esm/lib/taon-cms-content/taon-cms-upload-progress.js.map +1 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js +14 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js +14 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js +14 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.js +19 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.js +19 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js +19 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.translation.d.ts +8 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.translation.js +4 -0
- package/lib-esm/lib/taon-cms-tag/i18n/taon-cms-tag.translation.js.map +1 -0
- package/lib-esm/lib/taon-cms-tag/taon-cms-tag.controller.d.ts +7 -1
- package/lib-esm/lib/taon-cms-tag/taon-cms-tag.controller.js +41 -2
- package/lib-esm/lib/taon-cms-tag/taon-cms-tag.controller.js.map +1 -1
- package/lib-esm/lib/taon-cms-tag/taon-cms-tag.repository.d.ts +3 -0
- package/lib-esm/lib/taon-cms-tag/taon-cms-tag.repository.js +45 -0
- package/lib-esm/lib/taon-cms-tag/taon-cms-tag.repository.js.map +1 -1
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.d.ts +31 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.js +89 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.d.ts +31 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.js +89 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.d.ts +31 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.js +89 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.d.ts +27 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.js +74 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.d.ts +27 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.js +74 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.d.ts +27 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.js +74 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.d.ts +8 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.js +4 -0
- package/lib-esm/lib/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +73 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +323 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +73 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +323 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +73 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +323 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +51 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +173 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +51 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +170 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +51 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +173 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +8 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js +4 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/index.d.ts +1 -1
- package/lib-esm/lib/taon-posts/taon-cms-post/index.js +1 -1
- package/lib-esm/lib/taon-posts/taon-cms-post/taon-cms-post.models.d.ts +2 -1
- package/lib-esm/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.d.ts +5 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.js +138 -0
- package/lib-esm/lib/taon-posts/taon-cms-post/taon-cms-thumbnail.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js +14 -0
- package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js +14 -0
- package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.d.ts +16 -0
- package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js +14 -0
- package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +5 -0
- package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js +4 -0
- package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +19 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js +19 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +19 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +31 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +68 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +31 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +68 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +31 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +68 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +19 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js +19 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +19 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +11 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js +4 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
- package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.js +1 -1
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +26 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +69 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +26 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js +69 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +26 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +69 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +24 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js +24 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +24 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +8 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js +4 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
- package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.js +1 -1
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +21 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +44 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +21 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +44 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +21 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +44 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +19 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js +19 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +17 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +19 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +8 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js +4 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js.map +1 -0
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
- package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.js +1 -1
- package/lib-prod/build-info._auto-generated_.d.ts +1 -1
- package/lib-prod/build-info._auto-generated_.js +1 -1
- package/lib-prod/decorators/taon-cms-authorization.d.ts +4 -0
- package/lib-prod/decorators/taon-cms-authorization.js +10 -0
- package/lib-prod/decorators/taon-cms-authorization.js.map +1 -1
- package/lib-prod/index._auto-generated_.d.ts +3 -0
- package/lib-prod/index._auto-generated_.js +6 -1
- package/lib-prod/index._auto-generated_.js.map +1 -1
- package/lib-prod/migrations/1792579000000_postPermissionInheritance.d.ts +6 -0
- package/lib-prod/migrations/1792579000000_postPermissionInheritance.js +28 -0
- package/lib-prod/migrations/1792579000000_postPermissionInheritance.js.map +1 -0
- package/lib-prod/migrations/1793043000000_postThumbnails.d.ts +6 -0
- package/lib-prod/migrations/1793043000000_postThumbnails.js +26 -0
- package/lib-prod/migrations/1793043000000_postThumbnails.js.map +1 -0
- package/lib-prod/migrations/index.d.ts +9 -0
- package/lib-prod/migrations/index.js +10 -0
- package/lib-prod/migrations/index.js.map +1 -1
- package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +4 -0
- package/lib-prod/migrations/migrations_index._auto-generated_.js +4 -0
- package/lib-prod/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/lib-prod/package.json +1 -1
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +19 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +29 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +19 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js +29 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +19 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +29 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +17 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +19 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +17 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js +19 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +17 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +19 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +24 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js +24 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +24 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +24 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js +24 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +24 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +14 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js +4 -0
- package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js.map +1 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +16 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js +14 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +16 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js +14 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +16 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js +14 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +8 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js +8 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +8 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js +8 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +8 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js +8 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +19 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +29 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +19 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +29 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +19 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +29 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +11 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js +4 -0
- package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js.map +1 -0
- package/lib-prod/taon-cms-backoffice/index.d.ts +1 -1
- package/lib-prod/taon-cms-backoffice/index.js +1 -1
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.d.ts +16 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js +14 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.d.ts +16 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js +14 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.d.ts +16 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js +14 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.d.ts +18 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.js +24 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.d.ts +18 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.js +24 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.d.ts +18 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.js +24 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.translation.d.ts +11 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.translation.js +4 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-category.translation.js.map +1 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.d.ts +18 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.js +24 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.d.ts +18 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.js +24 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.d.ts +18 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.js +24 -0
- package/lib-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-category/taon-cms-category.controller.d.ts +7 -1
- package/lib-prod/taon-cms-category/taon-cms-category.controller.js +41 -2
- package/lib-prod/taon-cms-category/taon-cms-category.controller.js.map +1 -1
- package/lib-prod/taon-cms-category/taon-cms-category.repository.d.ts +3 -0
- package/lib-prod/taon-cms-category/taon-cms-category.repository.js +57 -0
- package/lib-prod/taon-cms-category/taon-cms-category.repository.js.map +1 -1
- package/lib-prod/taon-cms-category/taon-cms-taxonomy.validation.d.ts +14 -0
- package/lib-prod/taon-cms-category/taon-cms-taxonomy.validation.js +32 -0
- package/lib-prod/taon-cms-category/taon-cms-taxonomy.validation.js.map +1 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +16 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +14 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +16 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +14 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +16 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +14 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +21 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +39 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +6 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +27 -1
- package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js.map +1 -1
- package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +6 -0
- package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +27 -1
- package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -1
- package/lib-prod/taon-cms-content/i18n/taon-cms-content.translation.d.ts +5 -1
- package/lib-prod/taon-cms-content/i18n/taon-cms-content.translation.js.map +1 -1
- package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
- package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js +101 -8
- package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
- package/lib-prod/taon-cms-content/taon-cms-content.constants.js +1 -0
- package/lib-prod/taon-cms-content/taon-cms-content.constants.js.map +1 -1
- package/lib-prod/taon-cms-content/taon-cms-content.controller.d.ts +15 -1
- package/lib-prod/taon-cms-content/taon-cms-content.controller.js +280 -4
- package/lib-prod/taon-cms-content/taon-cms-content.controller.js.map +1 -1
- package/lib-prod/taon-cms-content/taon-cms-content.entity.d.ts +2 -0
- package/lib-prod/taon-cms-content/taon-cms-content.entity.js +18 -0
- package/lib-prod/taon-cms-content/taon-cms-content.entity.js.map +1 -1
- package/lib-prod/taon-cms-content/taon-cms-content.models.d.ts +10 -0
- package/lib-prod/taon-cms-content/taon-cms-content.models.js.map +1 -1
- package/lib-prod/taon-cms-content/taon-cms-content.repository.d.ts +11 -1
- package/lib-prod/taon-cms-content/taon-cms-content.repository.js +220 -29
- package/lib-prod/taon-cms-content/taon-cms-content.repository.js.map +1 -1
- package/lib-prod/taon-cms-content/taon-cms-content.validation.js +10 -1
- package/lib-prod/taon-cms-content/taon-cms-content.validation.js.map +1 -1
- package/lib-prod/taon-cms-content/taon-cms-upload-progress.d.ts +1 -0
- package/lib-prod/taon-cms-content/taon-cms-upload-progress.js +77 -0
- package/lib-prod/taon-cms-content/taon-cms-upload-progress.js.map +1 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.d.ts +16 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js +14 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.d.ts +16 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js +14 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.d.ts +16 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js +14 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.d.ts +17 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.js +19 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.d.ts +17 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.js +19 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.d.ts +17 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js +19 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.translation.d.ts +8 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.translation.js +4 -0
- package/lib-prod/taon-cms-tag/i18n/taon-cms-tag.translation.js.map +1 -0
- package/lib-prod/taon-cms-tag/taon-cms-tag.controller.d.ts +7 -1
- package/lib-prod/taon-cms-tag/taon-cms-tag.controller.js +41 -2
- package/lib-prod/taon-cms-tag/taon-cms-tag.controller.js.map +1 -1
- package/lib-prod/taon-cms-tag/taon-cms-tag.repository.d.ts +3 -0
- package/lib-prod/taon-cms-tag/taon-cms-tag.repository.js +45 -0
- package/lib-prod/taon-cms-tag/taon-cms-tag.repository.js.map +1 -1
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.d.ts +31 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.js +89 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.d.ts +31 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.js +89 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.d.ts +31 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.js +89 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.d.ts +27 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.js +74 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.d.ts +27 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.js +74 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.d.ts +27 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.js +74 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.d.ts +8 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.js +4 -0
- package/lib-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +73 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +323 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +73 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +323 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +73 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +323 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +51 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +173 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +51 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +170 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +51 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +173 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +8 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js +4 -0
- package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-post/index.d.ts +1 -1
- package/lib-prod/taon-posts/taon-cms-post/index.js +1 -1
- package/lib-prod/taon-posts/taon-cms-post/taon-cms-post.models.d.ts +2 -1
- package/lib-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.d.ts +5 -0
- package/lib-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.js +138 -0
- package/lib-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.d.ts +16 -0
- package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js +14 -0
- package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.d.ts +16 -0
- package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js +14 -0
- package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.d.ts +16 -0
- package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js +14 -0
- package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +5 -0
- package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js +4 -0
- package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +19 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js +19 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +19 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +31 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +68 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +31 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +68 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +31 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +68 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +19 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js +19 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +19 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +11 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js +4 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
- package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.js +1 -1
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +26 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +69 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +26 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js +69 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +26 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +69 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +24 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js +24 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +24 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +8 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js +4 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js.map +1 -0
- package/lib-prod/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
- package/lib-prod/taon-posts/taon-cms-revision-chooser/index.js +1 -1
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +21 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +44 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +21 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +44 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +21 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +44 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +17 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +19 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +17 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js +19 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +17 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +19 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +8 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js +4 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js.map +1 -0
- package/lib-prod/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
- package/lib-prod/taon-posts/taon-related-post-chooser/index.js +1 -1
- package/package.json +1 -1
- package/scss/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss +11 -0
- package/scss/lib/taon-posts/taon-cms-post/taon-cms-post.component.scss +21 -0
- package/ts-source/browser-code/build-info._auto-generated_.ts +1 -1
- package/ts-source/browser-code/decorators/taon-cms-authorization.ts +4 -0
- package/ts-source/browser-code/index._auto-generated_.ts +6 -1
- package/ts-source/browser-code/migrations/1792579000000_postPermissionInheritance.ts +36 -0
- package/ts-source/browser-code/migrations/1793043000000_postThumbnails.ts +34 -0
- package/ts-source/browser-code/migrations/index.ts +10 -0
- package/ts-source/browser-code/migrations/migrations_index._auto-generated_.ts +4 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
- package/ts-source/{websql-code-prod/taon-posts/taon-cms-post-edit-dialog/index.ts → browser-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss} +12 -3
- package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
- package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +59 -18
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +47 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +21 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +47 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +21 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +47 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +21 -0
- package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
- package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
- package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.component.ts +4 -0
- package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.routes.ts +21 -2
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +9 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +9 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +9 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.po +17 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.po +17 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.po +17 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-category.translation.ts +24 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.po +17 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.po +17 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.po +17 -0
- package/ts-source/browser-code/taon-cms-category/taon-cms-category-api.service.ts +13 -0
- package/ts-source/browser-code/taon-cms-category/taon-cms-category.controller.ts +25 -2
- package/ts-source/browser-code/taon-cms-category/taon-cms-category.repository.ts +12 -0
- package/ts-source/browser-code/taon-cms-category/taon-cms-taxonomy.validation.ts +56 -0
- package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
- package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
- package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
- package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
- package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
- package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +32 -1
- package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +22 -2
- package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +32 -1
- package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +22 -2
- package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.translation.ts +5 -1
- package/ts-source/browser-code/taon-cms-content/taon-cms-content-api.service.ts +92 -9
- package/ts-source/browser-code/taon-cms-content/taon-cms-content-storage.controller.ts +38 -7
- package/ts-source/browser-code/taon-cms-content/taon-cms-content.constants.ts +1 -0
- package/ts-source/browser-code/taon-cms-content/taon-cms-content.controller.ts +88 -2
- package/ts-source/browser-code/taon-cms-content/taon-cms-content.entity.ts +2 -0
- package/ts-source/browser-code/taon-cms-content/taon-cms-content.models.ts +10 -0
- package/ts-source/browser-code/taon-cms-content/taon-cms-content.repository.ts +43 -3
- package/ts-source/browser-code/taon-cms-content/taon-cms-content.validation.ts +10 -1
- package/ts-source/browser-code/taon-cms-content/taon-cms-upload-progress.ts +85 -0
- package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +9 -0
- package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +9 -0
- package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +9 -0
- package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.po +13 -0
- package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.po +13 -0
- package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +13 -0
- package/ts-source/browser-code/taon-cms-tag/i18n/taon-cms-tag.translation.ts +21 -0
- package/ts-source/browser-code/taon-cms-tag/taon-cms-tag-api.service.ts +19 -0
- package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.controller.ts +25 -2
- package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.repository.ts +12 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.ts +119 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.po +69 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.ts +119 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.po +69 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.ts +119 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.po +69 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.ts +100 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.po +54 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.ts +100 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.po +54 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.ts +100 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.po +54 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.ts +21 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html +117 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts +249 -0
- package/ts-source/browser-code/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.ts +27 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +391 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +230 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +391 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +230 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +391 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +230 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +219 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +134 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +216 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +134 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +219 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +134 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.html +518 -92
- package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.scss +21 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.ts +495 -39
- package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.models.ts +2 -1
- package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-thumbnail.ts +148 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.po +9 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.po +9 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.po +9 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
- package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +36 -5
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +94 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +53 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +94 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +53 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +94 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +53 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +43 -37
- package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +10 -2
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.ts +94 -0
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.ts +94 -0
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.ts +94 -0
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
- package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +22 -8
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +64 -0
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.ts +64 -0
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +64 -0
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
- package/ts-source/browser-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +6 -2
- package/ts-source/browser-code-prod/build-info._auto-generated_.ts +1 -1
- package/ts-source/browser-code-prod/decorators/taon-cms-authorization.ts +4 -0
- package/ts-source/browser-code-prod/index._auto-generated_.ts +6 -1
- package/ts-source/browser-code-prod/migrations/1792579000000_postPermissionInheritance.ts +36 -0
- package/ts-source/browser-code-prod/migrations/1793043000000_postThumbnails.ts +34 -0
- package/ts-source/browser-code-prod/migrations/index.ts +10 -0
- package/ts-source/browser-code-prod/migrations/migrations_index._auto-generated_.ts +4 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
- package/ts-source/{browser-code/taon-posts/taon-cms-post-edit-dialog/index.ts → browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss} +12 -3
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
- package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +59 -18
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +47 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +21 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +47 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +21 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +47 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +21 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
- package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.ts +4 -0
- package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.routes.ts +21 -2
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +9 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +9 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +9 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.po +17 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.po +17 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.po +17 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.translation.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-category.translation.ts +24 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.po +17 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.po +17 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.po +17 -0
- package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category-api.service.ts +13 -0
- package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.controller.ts +25 -2
- package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.repository.ts +12 -0
- package/ts-source/browser-code-prod/taon-cms-category/taon-cms-taxonomy.validation.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-cms-category/taon-cms-taxonomy.validation.ts +56 -0
- package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
- package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
- package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
- package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
- package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
- package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +32 -1
- package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +22 -2
- package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +32 -1
- package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +22 -2
- package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.translation.ts +5 -1
- package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content-api.service.ts +92 -9
- package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content-storage.controller.ts +38 -7
- package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.constants.ts +1 -0
- package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.controller.ts +88 -2
- package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.entity.ts +2 -0
- package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.models.ts +10 -0
- package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.repository.ts +43 -3
- package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.validation.ts +10 -1
- package/ts-source/browser-code-prod/taon-cms-content/taon-cms-upload-progress.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-cms-content/taon-cms-upload-progress.ts +85 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +9 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +9 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +9 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.po +13 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.po +13 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +13 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.translation.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-cms-tag/i18n/taon-cms-tag.translation.ts +21 -0
- package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag-api.service.ts +19 -0
- package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.controller.ts +25 -2
- package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.repository.ts +12 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.ts +119 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.po +69 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.ts +119 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.po +69 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.ts +119 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.po +69 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.ts +100 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.po +54 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.ts +100 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.po +54 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.ts +100 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.po +54 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.ts +21 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html +117 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts +249 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.ts +27 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +391 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +230 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +391 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +230 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +391 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +230 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +219 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +134 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +216 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +134 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +219 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +134 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.html +518 -92
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.scss +21 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.ts +495 -39
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.models.ts +2 -1
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.ts +148 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.po +9 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.po +9 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.po +9 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +36 -5
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +94 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +53 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +94 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +53 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +94 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +53 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +43 -37
- package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +10 -2
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.ts +94 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.ts +94 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.ts +94 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
- package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +22 -8
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +64 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.ts +64 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +64 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.split-namespaces.json +4 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
- package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +6 -2
- package/ts-source/websql-code/build-info._auto-generated_.ts +1 -1
- package/ts-source/websql-code/decorators/taon-cms-authorization.ts +10 -0
- package/ts-source/websql-code/index._auto-generated_.ts +6 -1
- package/ts-source/websql-code/migrations/1792579000000_postPermissionInheritance.ts +36 -0
- package/ts-source/websql-code/migrations/1793043000000_postThumbnails.ts +34 -0
- package/ts-source/websql-code/migrations/index.ts +10 -0
- package/ts-source/websql-code/migrations/migrations_index._auto-generated_.ts +4 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
- package/ts-source/websql-code/{taon-posts/taon-cms-post-edit-dialog/index.ts → taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss} +12 -3
- package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
- package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +59 -18
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +47 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +21 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +47 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +21 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +47 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +21 -0
- package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
- package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
- package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.component.ts +4 -0
- package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.routes.ts +21 -2
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +9 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +9 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +9 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.po +17 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.po +17 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.po +17 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-category.translation.ts +24 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.po +17 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.po +17 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.po +17 -0
- package/ts-source/websql-code/taon-cms-category/taon-cms-category-api.service.ts +13 -0
- package/ts-source/websql-code/taon-cms-category/taon-cms-category.controller.ts +25 -2
- package/ts-source/websql-code/taon-cms-category/taon-cms-category.repository.ts +54 -0
- package/ts-source/websql-code/taon-cms-category/taon-cms-taxonomy.validation.ts +56 -0
- package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
- package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
- package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
- package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
- package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
- package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +32 -1
- package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +22 -2
- package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +32 -1
- package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +22 -2
- package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.translation.ts +5 -1
- package/ts-source/websql-code/taon-cms-content/taon-cms-content-api.service.ts +92 -9
- package/ts-source/websql-code/taon-cms-content/taon-cms-content-storage.controller.ts +54 -7
- package/ts-source/websql-code/taon-cms-content/taon-cms-content.constants.ts +1 -0
- package/ts-source/websql-code/taon-cms-content/taon-cms-content.controller.ts +151 -4
- package/ts-source/websql-code/taon-cms-content/taon-cms-content.entity.ts +4 -0
- package/ts-source/websql-code/taon-cms-content/taon-cms-content.models.ts +10 -0
- package/ts-source/websql-code/taon-cms-content/taon-cms-content.repository.ts +198 -30
- package/ts-source/websql-code/taon-cms-content/taon-cms-content.validation.ts +10 -1
- package/ts-source/websql-code/taon-cms-content/taon-cms-upload-progress.ts +85 -0
- package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +9 -0
- package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +9 -0
- package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +9 -0
- package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.po +13 -0
- package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.po +13 -0
- package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +13 -0
- package/ts-source/websql-code/taon-cms-tag/i18n/taon-cms-tag.translation.ts +21 -0
- package/ts-source/websql-code/taon-cms-tag/taon-cms-tag-api.service.ts +19 -0
- package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.controller.ts +25 -2
- package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.repository.ts +42 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.ts +119 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.po +69 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.ts +119 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.po +69 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.ts +119 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.po +69 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.ts +100 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.po +54 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.ts +100 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.po +54 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.ts +100 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.po +54 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.ts +21 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html +117 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts +249 -0
- package/ts-source/websql-code/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.ts +27 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +391 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +230 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +391 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +230 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +391 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +230 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +219 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +134 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +216 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +134 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +219 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +134 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.html +518 -92
- package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.scss +21 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.ts +495 -39
- package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.models.ts +2 -1
- package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-thumbnail.ts +148 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.po +9 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.po +9 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.po +9 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
- package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +36 -5
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +94 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +53 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +94 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +53 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +94 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +53 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +43 -37
- package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +10 -2
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.ts +94 -0
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.ts +94 -0
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.ts +94 -0
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
- package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +22 -8
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +64 -0
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.ts +64 -0
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +64 -0
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
- package/ts-source/websql-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +6 -2
- package/ts-source/websql-code-prod/build-info._auto-generated_.ts +1 -1
- package/ts-source/websql-code-prod/decorators/taon-cms-authorization.ts +10 -0
- package/ts-source/websql-code-prod/index._auto-generated_.ts +6 -1
- package/ts-source/websql-code-prod/migrations/1792579000000_postPermissionInheritance.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/migrations/1792579000000_postPermissionInheritance.ts +36 -0
- package/ts-source/websql-code-prod/migrations/1793043000000_postThumbnails.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/migrations/1793043000000_postThumbnails.ts +34 -0
- package/ts-source/websql-code-prod/migrations/index.ts +10 -0
- package/ts-source/websql-code-prod/migrations/migrations_index._auto-generated_.ts +4 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
- package/ts-source/{browser-code-prod/taon-posts/taon-cms-post-edit-dialog/index.ts → websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss} +12 -3
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
- package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +59 -18
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +47 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +21 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +47 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +21 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +47 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +21 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
- package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.ts +4 -0
- package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.routes.ts +21 -2
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.de-DE.po +9 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.en-US.po +9 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.controller.ts.pl-PL.po +9 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.de-DE.po +17 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.en-US.po +17 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.repository.ts.pl-PL.po +17 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.translation.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-category.translation.ts +24 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.de-DE.po +17 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.en-US.po +17 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-cms-category/i18n/taon-cms-taxonomy.validation.ts.pl-PL.po +17 -0
- package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category-api.service.ts +13 -0
- package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.controller.ts +25 -2
- package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.repository.ts +54 -0
- package/ts-source/websql-code-prod/taon-cms-category/taon-cms-taxonomy.validation.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-cms-category/taon-cms-taxonomy.validation.ts +56 -0
- package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
- package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
- package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
- package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
- package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
- package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +32 -1
- package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +22 -2
- package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +32 -1
- package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +22 -2
- package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.translation.ts +5 -1
- package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content-api.service.ts +92 -9
- package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content-storage.controller.ts +54 -7
- package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.constants.ts +1 -0
- package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.controller.ts +151 -4
- package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.entity.ts +4 -0
- package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.models.ts +10 -0
- package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.repository.ts +198 -30
- package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.validation.ts +10 -1
- package/ts-source/websql-code-prod/taon-cms-content/taon-cms-upload-progress.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-cms-content/taon-cms-upload-progress.ts +85 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.de-DE.po +9 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.en-US.po +9 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.controller.ts.pl-PL.po +9 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.de-DE.po +13 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.en-US.po +13 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.repository.ts.pl-PL.po +13 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.translation.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-cms-tag/i18n/taon-cms-tag.translation.ts +21 -0
- package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag-api.service.ts +19 -0
- package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.controller.ts +25 -2
- package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.repository.ts +42 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data.ts +119 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.de-DE.po +69 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data.ts +119 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.en-US.po +69 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data.ts +119 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.html.pl-PL.po +69 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data.ts +100 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.de-DE.po +54 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data.ts +100 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.en-US.po +54 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data.ts +100 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.component.ts.pl-PL.po +54 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/i18n/taon-cms-taxonomy-backoffice.translation.ts +21 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html +117 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts +249 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.routes.ts +27 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +391 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +230 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +391 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +230 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +391 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +230 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +219 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +134 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +216 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +134 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +219 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +134 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.html +518 -92
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.scss +21 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.ts +495 -39
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.models.ts +2 -1
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-thumbnail.ts +148 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.po +9 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.po +9 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.ts +29 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.po +9 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +36 -5
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.ts +94 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +53 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.ts +94 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +53 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.ts +94 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +53 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +43 -37
- package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +10 -2
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.ts +94 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.ts +94 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.ts +94 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.ts +41 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
- package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +22 -8
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.ts +64 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.ts +64 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.ts +64 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.ts +35 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.split-namespaces.json +4 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
- package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +6 -2
- package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-CrTGrY98.mjs +31 -0
- package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-CrTGrY98.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.en-US.i18n.data-BJxrA1qp.mjs +31 -0
- package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.en-US.i18n.data-BJxrA1qp.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-C_6GO-6u.mjs +31 -0
- package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-C_6GO-6u.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-KGtM_c5b.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-KGtM_c5b.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.en-US.i18n.data-BHDb5flk.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.en-US.i18n.data-BHDb5flk.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CuPekC-p.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CuPekC-p.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-CffxG4KA.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-CffxG4KA.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Zh8YZeJc.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Zh8YZeJc.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BN0WE84V.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-BN0WE84V.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-ByT4yNe3.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-ByT4yNe3.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Dx3lg2D8.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Dx3lg2D8.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CvZI0J4F.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-CvZI0J4F.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.de-DE.i18n.data-D8iRvIyP.mjs +16 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.de-DE.i18n.data-D8iRvIyP.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.en-US.i18n.data-BcXsjPgL.mjs +16 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.en-US.i18n.data-BcXsjPgL.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.pl-PL.i18n.data-AgLZxi-R.mjs +16 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.pl-PL.i18n.data-AgLZxi-R.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.de-DE.i18n.data-BdZAX0Ty.mjs +10 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.de-DE.i18n.data-BdZAX0Ty.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.en-US.i18n.data-Dp8u4MhM.mjs +10 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.en-US.i18n.data-Dp8u4MhM.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.pl-PL.i18n.data-CibwQg__.mjs +10 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.pl-PL.i18n.data-CibwQg__.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-CzlFxoey.mjs +31 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-CzlFxoey.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-Ddj2dMat.mjs +31 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-Ddj2dMat.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-B4LHmo9Z.mjs +31 -0
- package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-B4LHmo9Z.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.de-DE.i18n.data-BTSefyOU.mjs +16 -0
- package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.de-DE.i18n.data-BTSefyOU.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.en-US.i18n.data-sk17Oud1.mjs +16 -0
- package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.en-US.i18n.data-sk17Oud1.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.pl-PL.i18n.data-CU3deuam.mjs +16 -0
- package/websql/fesm2022/cms-websql-taon-cms-category.controller.ts.pl-PL.i18n.data-CU3deuam.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-category.repository.ts.de-DE.i18n.data-b-MJViKD.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-category.repository.ts.de-DE.i18n.data-b-MJViKD.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-category.repository.ts.en-US.i18n.data-CpNHhbea.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-category.repository.ts.en-US.i18n.data-CpNHhbea.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-category.repository.ts.pl-PL.i18n.data-76d2FPM7.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-category.repository.ts.pl-PL.i18n.data-76d2FPM7.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-Bgztmv1T.mjs +16 -0
- package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-Bgztmv1T.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.en-US.i18n.data-BHclr-Mp.mjs +16 -0
- package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.en-US.i18n.data-BHclr-Mp.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CP6e8qJA.mjs +16 -0
- package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CP6e8qJA.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-DW1n5Ozp.mjs +325 -0
- package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-DW1n5Ozp.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-Dzy3apgE.mjs +325 -0
- package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-Dzy3apgE.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-DrmyJ9lw.mjs +325 -0
- package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-DrmyJ9lw.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-C1N9Zgdi.mjs +175 -0
- package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-C1N9Zgdi.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-Demtpm74.mjs +172 -0
- package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-Demtpm74.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-oFM6Hko5.mjs +175 -0
- package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-oFM6Hko5.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-D2WxrzSb.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-D2WxrzSb.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.en-US.i18n.data-MKa7Bg7x.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.en-US.i18n.data-MKa7Bg7x.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-CgoD8Vbu.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-CgoD8Vbu.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-l5tJy98a.mjs +70 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-l5tJy98a.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-aSYNKmBN.mjs +70 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-aSYNKmBN.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWSMhDtu.mjs +70 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWSMhDtu.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BdZ28aPt.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-BdZ28aPt.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-B8Dx0w7R.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-B8Dx0w7R.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-Cb6fpkBc.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-Cb6fpkBc.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-D3SqNlkz.mjs +71 -0
- package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-D3SqNlkz.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.en-US.i18n.data-DJ0utYrm.mjs +71 -0
- package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.en-US.i18n.data-DJ0utYrm.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-bW3Mgb29.mjs +71 -0
- package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-bW3Mgb29.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-Dv-fdvwp.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-Dv-fdvwp.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.en-US.i18n.data-CM00oZ5c.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.en-US.i18n.data-CM00oZ5c.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-CTV6RgOp.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-CTV6RgOp.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.de-DE.i18n.data-CoARqE22.mjs +16 -0
- package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.de-DE.i18n.data-CoARqE22.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.en-US.i18n.data-CeImcANT.mjs +16 -0
- package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.en-US.i18n.data-CeImcANT.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.pl-PL.i18n.data-Bq0l9GAF.mjs +16 -0
- package/websql/fesm2022/cms-websql-taon-cms-tag.controller.ts.pl-PL.i18n.data-Bq0l9GAF.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.de-DE.i18n.data-XJ-DJ487.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.de-DE.i18n.data-XJ-DJ487.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.en-US.i18n.data-CteIjY45.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.en-US.i18n.data-CteIjY45.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.pl-PL.i18n.data-BQS3WOJE.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-cms-tag.repository.ts.pl-PL.i18n.data-BQS3WOJE.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DZu5K15E.mjs +91 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DZu5K15E.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-CRkCojjy.mjs +91 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-CRkCojjy.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-BXqAixFd.mjs +91 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-BXqAixFd.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-DKshuSiD.mjs +76 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-DKshuSiD.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-DKOIhHgw.mjs +76 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-DKOIhHgw.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-N4dA3kVZ.mjs +76 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-N4dA3kVZ.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-mXyxAtms.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-mXyxAtms.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy.validation.ts.en-US.i18n.data-6BvlMJFs.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy.validation.ts.en-US.i18n.data-6BvlMJFs.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-D7qY_5ba.mjs +26 -0
- package/websql/fesm2022/cms-websql-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-D7qY_5ba.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-CdkLKona.mjs +46 -0
- package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-CdkLKona.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.en-US.i18n.data-Ccs4aAAa.mjs +46 -0
- package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.en-US.i18n.data-Ccs4aAAa.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-BJUDZW0d.mjs +46 -0
- package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-BJUDZW0d.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-y_x66BLv.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-y_x66BLv.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.en-US.i18n.data-D5CUfAg0.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.en-US.i18n.data-D5CUfAg0.mjs.map +1 -0
- package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CrFrEqfR.mjs +21 -0
- package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CrFrEqfR.mjs.map +1 -0
- package/websql/fesm2022/cms-websql.mjs +2573 -466
- package/websql/fesm2022/cms-websql.mjs.map +1 -1
- package/websql/package.json +1 -1
- package/websql/types/cms-websql.d.ts +395 -145
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-D-t_ndXn.mjs +31 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-D-t_ndXn.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-CHC8Rpav.mjs +31 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-CHC8Rpav.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-Dsra3EeZ.mjs +31 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-Dsra3EeZ.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DT7qFf7D.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DT7qFf7D.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-N_2QUNLq.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-N_2QUNLq.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BqRkgB92.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BqRkgB92.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-ByVH6z2Z.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-ByVH6z2Z.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-DSG7SK4m.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-DSG7SK4m.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bs8amcIs.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bs8amcIs.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-DGADylre.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-DGADylre.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-DjKWwkMP.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-DjKWwkMP.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Cvak6-ec.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Cvak6-ec.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-C9czRdlm.mjs +16 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-C9czRdlm.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.en-US.i18n.data-C64eFnqr.mjs +16 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.en-US.i18n.data-C64eFnqr.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-Cm-otof5.mjs +16 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-Cm-otof5.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CSA7g7KN.mjs +10 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CSA7g7KN.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BqWMae53.mjs +10 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BqWMae53.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-DpAcVBSp.mjs +10 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-DpAcVBSp.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-El7DeGTg.mjs +31 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-El7DeGTg.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CzYi31y6.mjs +31 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CzYi31y6.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data--hNK9Xkt.mjs +31 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data--hNK9Xkt.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CExlN4WS.mjs +16 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CExlN4WS.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-B_PYr-6x.mjs +16 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-B_PYr-6x.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-mQb8xdX1.mjs +16 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-mQb8xdX1.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.repository.ts.de-DE.i18n.data-C22PmYTv.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.repository.ts.de-DE.i18n.data-C22PmYTv.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.repository.ts.en-US.i18n.data-azzI-zfY.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.repository.ts.en-US.i18n.data-azzI-zfY.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-DStaGZRY.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-DStaGZRY.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-BLkIVWeD.mjs +16 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-BLkIVWeD.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-BlZyHTVD.mjs +16 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-BlZyHTVD.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CbIqWbm3.mjs +16 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CbIqWbm3.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-BxcX3l2T.mjs +325 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-BxcX3l2T.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-g9lHRbOQ.mjs +325 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-g9lHRbOQ.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-Cg4a0vHn.mjs +325 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-Cg4a0vHn.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-BwRnTGxe.mjs +175 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-BwRnTGxe.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-R5nOhvtu.mjs +172 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-R5nOhvtu.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-VmobXbTc.mjs +175 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-VmobXbTc.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CgN5IPiF.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CgN5IPiF.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-BHayrvIT.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-BHayrvIT.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-D20weGEY.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-D20weGEY.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B4suZvEh.mjs +70 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B4suZvEh.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BF3C9IWs.mjs +70 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BF3C9IWs.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWwu-KCW.mjs +70 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWwu-KCW.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-5LisKXGn.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-5LisKXGn.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ChhV8nE4.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ChhV8nE4.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CEEZs_nF.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CEEZs_nF.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-s-UFLYqy.mjs +71 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-s-UFLYqy.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-yxnI4hZm.mjs +71 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-yxnI4hZm.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-LaD1B9nr.mjs +71 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-LaD1B9nr.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-DIl-O_Xe.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-DIl-O_Xe.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-QJOWjM3u.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-QJOWjM3u.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-D7CkcVJ3.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-D7CkcVJ3.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DeQB5uhd.mjs +16 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DeQB5uhd.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.en-US.i18n.data-Dvq54oiB.mjs +16 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.en-US.i18n.data-Dvq54oiB.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-CXyb5AME.mjs +16 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-CXyb5AME.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.de-DE.i18n.data-xcmOlBF8.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.de-DE.i18n.data-xcmOlBF8.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.en-US.i18n.data-_HdJ-Rax.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.en-US.i18n.data-_HdJ-Rax.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-xYvTZmo4.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-xYvTZmo4.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DflSG3A7.mjs +91 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DflSG3A7.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-CSzz-qCe.mjs +91 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-CSzz-qCe.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-Dx0k2Yyc.mjs +91 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-Dx0k2Yyc.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-DKDYzSnl.mjs +76 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-DKDYzSnl.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-MEvkiD1i.mjs +76 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-MEvkiD1i.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-CQhJ8ksS.mjs +76 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-CQhJ8ksS.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-C5DRXeX_.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-C5DRXeX_.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-DkyJwBie.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-DkyJwBie.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CFSqXG-_.mjs +26 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CFSqXG-_.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-BkJG3Jev.mjs +46 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-BkJG3Jev.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-D5F4Gof4.mjs +46 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-D5F4Gof4.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-CupgNbP7.mjs +46 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-CupgNbP7.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-O04abirC.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-O04abirC.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-Bq84gw3j.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-Bq84gw3j.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BIhfEto8.mjs +21 -0
- package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BIhfEto8.mjs.map +1 -0
- package/websql-prod/fesm2022/cms-websql-prod.mjs +2571 -464
- package/websql-prod/fesm2022/cms-websql-prod.mjs.map +1 -1
- package/websql-prod/package.json +1 -1
- package/websql-prod/types/cms-websql-prod.d.ts +395 -145
- package/full-dts/taon-posts/taon-cms-post-edit-dialog/index.d.ts +0 -2
- package/full-dts/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.d.ts +0 -16
- package/html/lib/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +0 -12
- package/lib/taon-posts/taon-cms-post-edit-dialog/index.d.ts +0 -1
- package/lib/taon-posts/taon-cms-post-edit-dialog/index.js +0 -5
- package/lib/taon-posts/taon-cms-post-edit-dialog/index.js.map +0 -1
- package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/index.d.ts +0 -1
- package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/index.js +0 -2
- package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/index.js.map +0 -1
- package/lib-prod/taon-posts/taon-cms-post-edit-dialog/index.d.ts +0 -1
- package/lib-prod/taon-posts/taon-cms-post-edit-dialog/index.js +0 -2
- package/lib-prod/taon-posts/taon-cms-post-edit-dialog/index.js.map +0 -1
- package/scss/lib/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +0 -19
- package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +0 -25
- package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +0 -30
- package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +0 -43
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +0 -25
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +0 -30
- package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +0 -43
- package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +0 -25
- package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +0 -30
- package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +0 -43
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +0 -25
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +0 -30
- package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +0 -43
- /package/ts-source/browser-code-prod/{taon-posts/taon-cms-post-edit-dialog/index.split-namespaces.json → migrations/1792579000000_postPermissionInheritance.split-namespaces.json} +0 -0
- /package/ts-source/browser-code-prod/{taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.split-namespaces.json → migrations/1793043000000_postThumbnails.split-namespaces.json} +0 -0
- /package/ts-source/{websql-code-prod/taon-posts/taon-cms-post-edit-dialog/index.split-namespaces.json → browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.split-namespaces.json} +0 -0
- /package/ts-source/{websql-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.split-namespaces.json → browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.split-namespaces.json} +0 -0
|
@@ -1,33 +1,42 @@
|
|
|
1
1
|
import { __decorate, __metadata, __param } from 'tslib';
|
|
2
|
-
import { TaonBaseEntity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn, TaonEntity, ManyToMany, JoinTable, TaonBaseMigration, ClassHelpers__NS__getName, TaonMigration, TaonBaseAbstractEntity, Taon__NS__error, TaonBaseRepository,
|
|
3
|
-
import { TaonPermissionEntity, TaonSessionCoreGroups as TaonSessionCoreGroups$1, TaonSessionCoreRoles as TaonSessionCoreRoles$1, TaonSessionCorePermissions as TaonSessionCorePermissions$1, TaonAuthContextEntity as TaonAuthContextEntity$1, TaonAuthContextHasAccess as TaonAuthContextHasAccess$1, TaonAuthContextRepository as TaonAuthContextRepository$1, MIGRATIONS_CLASSES_FOR_SessionContext, TaonSessionRepository, TaonSessionAbstractContext, TaonPermissionApiService } from '@taon-dev/session/websql-prod';
|
|
4
|
-
import { Table, Raw, In } from 'taon-typeorm/websql-prod';
|
|
5
|
-
import { UtilsJson__NS__getValue } from 'tnp-core/websql-prod';
|
|
2
|
+
import { TaonBaseEntity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn, TaonEntity, ManyToMany, JoinTable, TaonBaseMigration, ClassHelpers__NS__getName, TaonMigration, TaonBaseAbstractEntity, TaonRepository, Taon__NS__error, TaonBaseRepository, TaonBaseCrudController, POST, Query, Body, DELETE, TaonController, TaonBaseProvider, TaonProvider, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber, createContext, TaonBaseContext, GET, TaonBaseStorageController, PUT, TaonBaseAngularService } from 'taon/websql-prod';
|
|
3
|
+
import { TaonPermissionEntity, TaonSessionCoreGroups as TaonSessionCoreGroups$1, TaonSessionCoreRoles as TaonSessionCoreRoles$1, TaonSessionCorePermissions as TaonSessionCorePermissions$1, TaonAuthContextEntity as TaonAuthContextEntity$1, TaonAuthContextHasAccess as TaonAuthContextHasAccess$1, TaonAuthContextRepository as TaonAuthContextRepository$1, MIGRATIONS_CLASSES_FOR_SessionContext, TaonSessionRepository, TaonSessionProvider, TaonSessionAbstractContext, TaonPermissionApiService } from '@taon-dev/session/websql-prod';
|
|
4
|
+
import { Table, TableColumn, Raw, In } from 'taon-typeorm/websql-prod';
|
|
5
|
+
import { UtilsJson__NS__getValue, ___NS__first } from 'tnp-core/websql-prod';
|
|
6
6
|
import { BaseCommandLineFeature } from 'tnp-helpers/websql-prod';
|
|
7
|
+
import { Translation } from '@taon-dev/i18n/websql-prod';
|
|
7
8
|
import * as i0 from '@angular/core';
|
|
8
|
-
import { Injectable, ChangeDetectionStrategy, Component,
|
|
9
|
-
import { MtxGrid } from '@ng-matero/extensions/grid';
|
|
10
|
-
import { AsyncPipe, DatePipe } from '@angular/common';
|
|
11
|
-
import { RouterOutlet, ActivatedRoute, RouterLink, Router } from '@angular/router';
|
|
12
|
-
import { adminLazyRoute as adminLazyRoute$1, TaonConfirmDialogComponent, TaonDatatableComponent } from '@taon-dev/ui/websql-prod';
|
|
13
|
-
import { map, catchError } from 'rxjs/operators';
|
|
14
|
-
import { of, finalize, map as map$1, Subject, takeUntil } from 'rxjs';
|
|
15
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
16
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
9
|
+
import { Injectable, inject, DestroyRef, signal, Input, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, SecurityContext, HostListener, Output, Directive, computed, input, model, output, effect, untracked, ViewChild } from '@angular/core';
|
|
17
10
|
import * as i1 from '@angular/material/button';
|
|
18
11
|
import { MatButtonModule } from '@angular/material/button';
|
|
19
|
-
import
|
|
20
|
-
import {
|
|
12
|
+
import { Observable, of, map as map$1, finalize, forkJoin, firstValueFrom } from 'rxjs';
|
|
13
|
+
import { map, catchError } from 'rxjs/operators';
|
|
14
|
+
import { Resource__NS__methodsInterceptors } from 'ng2-rest/websql-prod';
|
|
15
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
16
|
+
import { TaonDatatableComponent, adminLazyRoute as adminLazyRoute$1, TaonConfirmDialogComponent } from '@taon-dev/ui/websql-prod';
|
|
17
|
+
import { AsyncPipe, DatePipe } from '@angular/common';
|
|
18
|
+
import { RouterOutlet, ActivatedRoute, Router, RouterLink } from '@angular/router';
|
|
19
|
+
import * as i1$1 from '@angular/forms';
|
|
20
|
+
import { FormsModule } from '@angular/forms';
|
|
21
21
|
import * as i2 from '@angular/material/dialog';
|
|
22
|
-
import { MAT_DIALOG_DATA, MatDialogRef, MatDialogModule
|
|
23
|
-
import * as i3
|
|
22
|
+
import { MatDialog, MAT_DIALOG_DATA, MatDialogRef, MatDialogModule } from '@angular/material/dialog';
|
|
23
|
+
import * as i3 from '@angular/material/form-field';
|
|
24
24
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
25
|
-
import * as i4 from '@angular/material/
|
|
25
|
+
import * as i4 from '@angular/material/input';
|
|
26
|
+
import { MatInputModule } from '@angular/material/input';
|
|
27
|
+
import * as i5 from '@angular/material/select';
|
|
28
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
29
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
30
|
+
import * as i2$1 from '@angular/material/checkbox';
|
|
31
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
32
|
+
import * as i4$1 from '@angular/material/icon';
|
|
26
33
|
import { MatIconModule } from '@angular/material/icon';
|
|
27
|
-
import * as
|
|
34
|
+
import * as i6 from '@angular/material/chips';
|
|
35
|
+
import { MatChipsModule } from '@angular/material/chips';
|
|
36
|
+
import * as i7 from '@angular/material/progress-bar';
|
|
37
|
+
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
38
|
+
import * as i3$1 from '@angular/material/radio';
|
|
28
39
|
import { MatRadioModule } from '@angular/material/radio';
|
|
29
|
-
import * as i6 from '@angular/material/select';
|
|
30
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
31
40
|
|
|
32
41
|
let TaonCmsApplicationHookEntity = class TaonCmsApplicationHookEntity extends TaonBaseEntity {
|
|
33
42
|
};
|
|
@@ -75,11 +84,15 @@ let TaonCmsContentEntity = class TaonCmsContentEntity extends TaonBaseEntity {
|
|
|
75
84
|
//#region @websql
|
|
76
85
|
this.type = TaonCmsContentType.Normal;
|
|
77
86
|
//#region @websql
|
|
87
|
+
this.applyPermissionsToRelatedPosts = false;
|
|
88
|
+
//#region @websql
|
|
78
89
|
this.videoKey = null;
|
|
79
90
|
//#region @websql
|
|
80
91
|
this.audioKey = null;
|
|
81
92
|
//#region @websql
|
|
82
93
|
this.attachmentKey = null;
|
|
94
|
+
//#region @websql
|
|
95
|
+
this.thumbnailKey = null;
|
|
83
96
|
}
|
|
84
97
|
};
|
|
85
98
|
__decorate([
|
|
@@ -140,6 +153,12 @@ __decorate([
|
|
|
140
153
|
,
|
|
141
154
|
__metadata("design:type", Array)
|
|
142
155
|
], TaonCmsContentEntity.prototype, "permissions", void 0);
|
|
156
|
+
__decorate([
|
|
157
|
+
Column({ type: 'boolean', default: false })
|
|
158
|
+
//#endregion
|
|
159
|
+
,
|
|
160
|
+
__metadata("design:type", Boolean)
|
|
161
|
+
], TaonCmsContentEntity.prototype, "applyPermissionsToRelatedPosts", void 0);
|
|
143
162
|
__decorate([
|
|
144
163
|
Column({ type: 'text', nullable: true })
|
|
145
164
|
//#endregion
|
|
@@ -170,6 +189,12 @@ __decorate([
|
|
|
170
189
|
,
|
|
171
190
|
__metadata("design:type", String)
|
|
172
191
|
], TaonCmsContentEntity.prototype, "attachmentKey", void 0);
|
|
192
|
+
__decorate([
|
|
193
|
+
Column({ type: 'varchar', nullable: true })
|
|
194
|
+
//#endregion
|
|
195
|
+
,
|
|
196
|
+
__metadata("design:type", String)
|
|
197
|
+
], TaonCmsContentEntity.prototype, "thumbnailKey", void 0);
|
|
173
198
|
__decorate([
|
|
174
199
|
Column({ type: 'integer', nullable: true })
|
|
175
200
|
//#endregion
|
|
@@ -294,14 +319,67 @@ CmsContext_1792506757808_applicaitonHooks = __decorate([
|
|
|
294
319
|
], CmsContext_1792506757808_applicaitonHooks);
|
|
295
320
|
//#endregion
|
|
296
321
|
|
|
322
|
+
let CmsContext_1792579000000_postPermissionInheritance = class CmsContext_1792579000000_postPermissionInheritance extends TaonBaseMigration {
|
|
323
|
+
async up(queryRunner) {
|
|
324
|
+
const table = ClassHelpers__NS__getName(TaonCmsContentEntity);
|
|
325
|
+
if (!(await queryRunner.hasColumn(table, 'applyPermissionsToRelatedPosts'))) {
|
|
326
|
+
await queryRunner.addColumn(table, new TableColumn({
|
|
327
|
+
name: 'applyPermissionsToRelatedPosts',
|
|
328
|
+
type: 'boolean',
|
|
329
|
+
default: false,
|
|
330
|
+
}));
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
async down(queryRunner) {
|
|
334
|
+
const table = ClassHelpers__NS__getName(TaonCmsContentEntity);
|
|
335
|
+
if (await queryRunner.hasColumn(table, 'applyPermissionsToRelatedPosts')) {
|
|
336
|
+
await queryRunner.dropColumn(table, 'applyPermissionsToRelatedPosts');
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
};
|
|
340
|
+
CmsContext_1792579000000_postPermissionInheritance = __decorate([
|
|
341
|
+
TaonMigration({
|
|
342
|
+
className: 'CmsContext_1792579000000_postPermissionInheritance',
|
|
343
|
+
})
|
|
344
|
+
], CmsContext_1792579000000_postPermissionInheritance);
|
|
345
|
+
|
|
346
|
+
let CmsContext_1793043000000_postThumbnails = class CmsContext_1793043000000_postThumbnails extends TaonBaseMigration {
|
|
347
|
+
async up(queryRunner) {
|
|
348
|
+
const table = ClassHelpers__NS__getName(TaonCmsContentEntity);
|
|
349
|
+
if (!(await queryRunner.hasColumn(table, 'thumbnailKey'))) {
|
|
350
|
+
await queryRunner.addColumn(table, new TableColumn({
|
|
351
|
+
name: 'thumbnailKey',
|
|
352
|
+
type: 'varchar',
|
|
353
|
+
isNullable: true,
|
|
354
|
+
}));
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
async down(queryRunner) {
|
|
358
|
+
const table = ClassHelpers__NS__getName(TaonCmsContentEntity);
|
|
359
|
+
if (await queryRunner.hasColumn(table, 'thumbnailKey')) {
|
|
360
|
+
await queryRunner.dropColumn(table, 'thumbnailKey');
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
};
|
|
364
|
+
CmsContext_1793043000000_postThumbnails = __decorate([
|
|
365
|
+
TaonMigration({ className: 'CmsContext_1793043000000_postThumbnails' })
|
|
366
|
+
], CmsContext_1793043000000_postThumbnails);
|
|
367
|
+
|
|
297
368
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
298
369
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
299
|
-
const MIGRATIONS_CLASSES_FOR_CmsContext = {
|
|
370
|
+
const MIGRATIONS_CLASSES_FOR_CmsContext$1 = {
|
|
300
371
|
/* 20-10-2026 16:32:37 */ CmsContext_1792506757808_applicaitonHooks,
|
|
372
|
+
/* 21-10-2026 12:36:40 */ CmsContext_1792579000000_postPermissionInheritance,
|
|
373
|
+
/* 26-10-2026 20:30:00 */ CmsContext_1793043000000_postThumbnails,
|
|
301
374
|
};
|
|
302
375
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
303
376
|
|
|
304
377
|
//@ts-nocheck
|
|
378
|
+
const MIGRATIONS_CLASSES_FOR_CmsContext = {
|
|
379
|
+
...MIGRATIONS_CLASSES_FOR_CmsContext$1,
|
|
380
|
+
CmsContext_1792579000000_postPermissionInheritance,
|
|
381
|
+
CmsContext_1793043000000_postThumbnails,
|
|
382
|
+
};
|
|
305
383
|
|
|
306
384
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
307
385
|
/**
|
|
@@ -327,7 +405,7 @@ const CURRENT_PACKAGE_TAON_VERSION = 'v21';
|
|
|
327
405
|
/**
|
|
328
406
|
* Autogenerated by current cli tool. Use *tnp release* to bump version.
|
|
329
407
|
*/
|
|
330
|
-
const CURRENT_PACKAGE_VERSION = '21.0.
|
|
408
|
+
const CURRENT_PACKAGE_VERSION = '21.0.18';
|
|
331
409
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
332
410
|
|
|
333
411
|
//#region tnp-helpers cli template
|
|
@@ -459,6 +537,111 @@ TaonCmsCategoryEntity = __decorate([
|
|
|
459
537
|
})
|
|
460
538
|
], TaonCmsCategoryEntity);
|
|
461
539
|
|
|
540
|
+
//#region taon auth decorator
|
|
541
|
+
const TaonSessionCoreGroups = {
|
|
542
|
+
...TaonSessionCoreGroups$1,
|
|
543
|
+
Manager: 'manager',
|
|
544
|
+
};
|
|
545
|
+
const TaonSessionCoreRoles = {
|
|
546
|
+
...TaonSessionCoreRoles$1,
|
|
547
|
+
/**
|
|
548
|
+
* Can manage roles and permissions assigned directly to users.
|
|
549
|
+
* Does NOT allow changing user groups.
|
|
550
|
+
*/
|
|
551
|
+
PostsManager: 'posts-manager',
|
|
552
|
+
PremiumUser1: 'premium-user-1',
|
|
553
|
+
PremiumUser2: 'premium-user-2',
|
|
554
|
+
};
|
|
555
|
+
const TaonSessionCorePermissions = {
|
|
556
|
+
...TaonSessionCorePermissions$1,
|
|
557
|
+
ViewPrivateVideo1: 'view-private-video-1',
|
|
558
|
+
ViewPrivateVideo2: 'view-private-video-2',
|
|
559
|
+
};
|
|
560
|
+
let TaonAuthContextEntity = class TaonAuthContextEntity extends TaonAuthContextEntity$1 {
|
|
561
|
+
// @ts-ignore
|
|
562
|
+
get hasAccess() {
|
|
563
|
+
return this.injectClass(TaonAuthContextHasAccess, this);
|
|
564
|
+
}
|
|
565
|
+
};
|
|
566
|
+
TaonAuthContextEntity = __decorate([
|
|
567
|
+
TaonEntity({
|
|
568
|
+
className: 'TaonAuthContextEntity',
|
|
569
|
+
createTable: false,
|
|
570
|
+
})
|
|
571
|
+
], TaonAuthContextEntity);
|
|
572
|
+
class TaonAuthContextHasAccess extends TaonAuthContextHasAccess$1 {
|
|
573
|
+
get toManagePosts() {
|
|
574
|
+
//#region @browserFunc
|
|
575
|
+
return this.context.snapshoot.toManagePosts;
|
|
576
|
+
//#endregion
|
|
577
|
+
//#region @websqlFunc
|
|
578
|
+
return (this.context.isSuperUser ||
|
|
579
|
+
this.context.hasRole(TaonSessionCoreRoles.PostsManager));
|
|
580
|
+
//#endregion
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
let TaonAuthContextRepository = class TaonAuthContextRepository extends TaonAuthContextRepository$1 {
|
|
584
|
+
constructor() {
|
|
585
|
+
super(...arguments);
|
|
586
|
+
// @ts-ignore
|
|
587
|
+
this.entityClassResolveFn = () => TaonAuthContextEntity;
|
|
588
|
+
}
|
|
589
|
+
};
|
|
590
|
+
TaonAuthContextRepository = __decorate([
|
|
591
|
+
TaonRepository({
|
|
592
|
+
className: 'TaonAuthContextRepository',
|
|
593
|
+
})
|
|
594
|
+
], TaonAuthContextRepository);
|
|
595
|
+
let CmsContext_1791132517217_initial = class CmsContext_1791132517217_initial extends MIGRATIONS_CLASSES_FOR_SessionContext.SessionContext_1791132517216_initial {
|
|
596
|
+
async persistTree() {
|
|
597
|
+
//#region @websqlFunc
|
|
598
|
+
await this.taonAuthContextRepository.persistTree({
|
|
599
|
+
authorization: {
|
|
600
|
+
groups: TaonSessionCoreGroups,
|
|
601
|
+
roles: TaonSessionCoreRoles,
|
|
602
|
+
permissions: TaonSessionCorePermissions,
|
|
603
|
+
},
|
|
604
|
+
tree: {
|
|
605
|
+
groupAndRoles: {
|
|
606
|
+
// Administrators receive all core administrative roles.
|
|
607
|
+
[TaonSessionCoreGroups.Administrator]: '*',
|
|
608
|
+
// Normal customers receive no administrative roles by default.
|
|
609
|
+
[TaonSessionCoreGroups.Customers]: [],
|
|
610
|
+
[TaonSessionCoreGroups.Manager]: [TaonSessionCoreRoles.PostsManager],
|
|
611
|
+
},
|
|
612
|
+
rolesAndPermissions: {
|
|
613
|
+
[TaonSessionCoreRoles.AuthorizationManager]: [
|
|
614
|
+
TaonSessionCorePermissions.ViewUsers,
|
|
615
|
+
TaonSessionCorePermissions.ViewUserAuthorization,
|
|
616
|
+
TaonSessionCorePermissions.ManageUserRoles,
|
|
617
|
+
TaonSessionCorePermissions.ManageUserPermissions,
|
|
618
|
+
],
|
|
619
|
+
[TaonSessionCoreRoles.PostsManager]: [],
|
|
620
|
+
[TaonSessionCoreRoles.PremiumUser1]: [
|
|
621
|
+
TaonSessionCorePermissions.ViewPrivateVideo1,
|
|
622
|
+
],
|
|
623
|
+
[TaonSessionCoreRoles.PremiumUser2]: [
|
|
624
|
+
TaonSessionCorePermissions.ViewPrivateVideo2,
|
|
625
|
+
],
|
|
626
|
+
[TaonSessionCoreRoles.UserManager]: [
|
|
627
|
+
TaonSessionCorePermissions.ViewUsers,
|
|
628
|
+
TaonSessionCorePermissions.ManageUsers,
|
|
629
|
+
TaonSessionCorePermissions.ViewSessions,
|
|
630
|
+
TaonSessionCorePermissions.RevokeSessions,
|
|
631
|
+
],
|
|
632
|
+
},
|
|
633
|
+
},
|
|
634
|
+
});
|
|
635
|
+
//#endregion
|
|
636
|
+
}
|
|
637
|
+
};
|
|
638
|
+
CmsContext_1791132517217_initial = __decorate([
|
|
639
|
+
TaonMigration({
|
|
640
|
+
className: 'CmsContext_1791132517217_initial',
|
|
641
|
+
})
|
|
642
|
+
], CmsContext_1791132517217_initial);
|
|
643
|
+
//#endregion
|
|
644
|
+
|
|
462
645
|
function contentError(message, status = 400) {
|
|
463
646
|
Taon__NS__error({ message, status });
|
|
464
647
|
throw new Error(message);
|
|
@@ -489,7 +672,12 @@ function validateContentInput(input, creating = false) {
|
|
|
489
672
|
}
|
|
490
673
|
}
|
|
491
674
|
for (const field of [
|
|
492
|
-
'body',
|
|
675
|
+
'body',
|
|
676
|
+
'excerpt',
|
|
677
|
+
'videoKey',
|
|
678
|
+
'audioKey',
|
|
679
|
+
'attachmentKey',
|
|
680
|
+
'thumbnailKey',
|
|
493
681
|
]) {
|
|
494
682
|
if (input[field] !== undefined &&
|
|
495
683
|
input[field] !== null &&
|
|
@@ -502,6 +690,10 @@ function validateContentInput(input, creating = false) {
|
|
|
502
690
|
requireContentId(input[field], field);
|
|
503
691
|
}
|
|
504
692
|
}
|
|
693
|
+
if (input.applyPermissionsToRelatedPosts !== undefined &&
|
|
694
|
+
typeof input.applyPermissionsToRelatedPosts !== 'boolean') {
|
|
695
|
+
contentError('applyPermissionsToRelatedPosts must be a boolean.');
|
|
696
|
+
}
|
|
505
697
|
if (input.status !== undefined &&
|
|
506
698
|
!['draft', 'published', 'archived'].includes(input.status)) {
|
|
507
699
|
contentError('status must be draft, published, or archived.');
|
|
@@ -530,12 +722,95 @@ function validateContentInput(input, creating = false) {
|
|
|
530
722
|
}
|
|
531
723
|
}
|
|
532
724
|
|
|
725
|
+
const t$d = Translation.for('src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts', { "src/lib/taon-cms-category/taon-cms-category.controller.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-B_PYr-6x.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-mQb8xdX1.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CExlN4WS.mjs')).default }, "src/lib/taon-cms-category/taon-cms-category.repository.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-category.repository.ts.en-US.i18n.data-azzI-zfY.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-DStaGZRY.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-category.repository.ts.de-DE.i18n.data-C22PmYTv.mjs')).default }, "src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-DkyJwBie.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CFSqXG-_.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-C5DRXeX_.mjs')).default } });
|
|
726
|
+
function validateTaxonomy(input) {
|
|
727
|
+
if (!input ||
|
|
728
|
+
typeof input.name !== 'string' ||
|
|
729
|
+
!input.name.trim() ||
|
|
730
|
+
typeof input.slug !== 'string' ||
|
|
731
|
+
!input.slug.trim() ||
|
|
732
|
+
(input.description !== null && typeof input.description !== 'string')) {
|
|
733
|
+
contentError(t$d.gettext('Name, slug, and a valid description are required.'));
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
function validateCategoryHierarchy(id, parentId, categories) {
|
|
737
|
+
const visited = new Set();
|
|
738
|
+
if (id !== null) {
|
|
739
|
+
visited.add(id);
|
|
740
|
+
}
|
|
741
|
+
let current = parentId;
|
|
742
|
+
while (current !== null) {
|
|
743
|
+
if (visited.has(current)) {
|
|
744
|
+
contentError(t$d.gettext('A category cannot be its own ancestor.'));
|
|
745
|
+
}
|
|
746
|
+
visited.add(current);
|
|
747
|
+
const parent = categories.find(category => category.id === current);
|
|
748
|
+
if (!parent) {
|
|
749
|
+
contentError(t$d.gettext('The parent category does not exist.'));
|
|
750
|
+
}
|
|
751
|
+
current = parent.parentCategoryId;
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
|
|
533
755
|
//#endregion
|
|
756
|
+
const t$c = Translation.for('src/lib/taon-cms-category/taon-cms-category.repository.ts', { "src/lib/taon-cms-category/taon-cms-category.controller.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-category.controller.ts.en-US.i18n.data-B_PYr-6x.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-category.controller.ts.pl-PL.i18n.data-mQb8xdX1.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-category.controller.ts.de-DE.i18n.data-CExlN4WS.mjs')).default }, "src/lib/taon-cms-category/taon-cms-category.repository.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-category.repository.ts.en-US.i18n.data-azzI-zfY.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-category.repository.ts.pl-PL.i18n.data-DStaGZRY.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-category.repository.ts.de-DE.i18n.data-C22PmYTv.mjs')).default }, "src/lib/taon-cms-category/taon-cms-taxonomy.validation.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-taxonomy.validation.ts.en-US.i18n.data-DkyJwBie.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-taxonomy.validation.ts.pl-PL.i18n.data-CFSqXG-_.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-taxonomy.validation.ts.de-DE.i18n.data-C5DRXeX_.mjs')).default } });
|
|
534
757
|
let TaonCmsCategoryRepository = class TaonCmsCategoryRepository extends TaonBaseRepository {
|
|
535
758
|
constructor() {
|
|
536
759
|
super(...arguments);
|
|
537
760
|
this.entityClassResolveFn = () => TaonCmsCategoryEntity;
|
|
538
761
|
}
|
|
762
|
+
async saveCategory(id, input) {
|
|
763
|
+
//#region @websqlFunc
|
|
764
|
+
validateTaxonomy(input);
|
|
765
|
+
if (!Number.isSafeInteger(input.sortOrder)) {
|
|
766
|
+
contentError(t$c.gettext('Sort order must be an integer.'));
|
|
767
|
+
}
|
|
768
|
+
if (id !== null) {
|
|
769
|
+
requireContentId(id);
|
|
770
|
+
}
|
|
771
|
+
if (input.parentCategoryId !== null) {
|
|
772
|
+
requireContentId(input.parentCategoryId);
|
|
773
|
+
}
|
|
774
|
+
return this.connection.transaction('SERIALIZABLE', async (manager) => {
|
|
775
|
+
const repository = manager.getRepository(TaonCmsCategoryEntity);
|
|
776
|
+
if (id !== null) {
|
|
777
|
+
await this.requireCategory(id, manager);
|
|
778
|
+
}
|
|
779
|
+
validateCategoryHierarchy(id, input.parentCategoryId, await repository.find());
|
|
780
|
+
const slug = input.slug.trim();
|
|
781
|
+
const existing = await repository.findOneBy({ slug });
|
|
782
|
+
if (existing && existing.id !== id) {
|
|
783
|
+
contentError(t$c.gettext('This category slug is already in use.'), 409);
|
|
784
|
+
}
|
|
785
|
+
return repository.save(repository.create({
|
|
786
|
+
...(id === null ? {} : { id }),
|
|
787
|
+
name: input.name.trim(),
|
|
788
|
+
slug,
|
|
789
|
+
description: input.description,
|
|
790
|
+
sortOrder: input.sortOrder,
|
|
791
|
+
parentCategoryId: input.parentCategoryId,
|
|
792
|
+
}));
|
|
793
|
+
});
|
|
794
|
+
//#endregion
|
|
795
|
+
}
|
|
796
|
+
async deleteCategory(id) {
|
|
797
|
+
//#region @websqlFunc
|
|
798
|
+
requireContentId(id);
|
|
799
|
+
await this.connection.transaction('SERIALIZABLE', async (manager) => {
|
|
800
|
+
await this.requireCategory(id, manager);
|
|
801
|
+
const children = await manager
|
|
802
|
+
.getRepository(TaonCmsCategoryEntity)
|
|
803
|
+
.countBy({ parentCategoryId: id });
|
|
804
|
+
const posts = await manager
|
|
805
|
+
.getRepository(TaonCmsContentEntity)
|
|
806
|
+
.countBy({ categoryId: id });
|
|
807
|
+
if (children || posts) {
|
|
808
|
+
contentError(t$c.gettext('Reassign child categories and posts before deleting this category.'), 409);
|
|
809
|
+
}
|
|
810
|
+
await manager.getRepository(TaonCmsCategoryEntity).delete(id);
|
|
811
|
+
});
|
|
812
|
+
//#endregion
|
|
813
|
+
}
|
|
539
814
|
async requireCategory(id, manager) {
|
|
540
815
|
//#region @websqlFunc
|
|
541
816
|
const category = await manager
|
|
@@ -559,12 +834,48 @@ let TaonCmsCategoryController = class TaonCmsCategoryController extends TaonBase
|
|
|
559
834
|
super(...arguments);
|
|
560
835
|
this.entityClassResolveFn = () => TaonCmsCategoryEntity;
|
|
561
836
|
this.taonCmsCategoryRepository = this.injectCustomRepo(TaonCmsCategoryRepository);
|
|
837
|
+
this.sessions = this.injectCustomRepo(TaonSessionRepository);
|
|
838
|
+
this.auth = this.injectCustomRepo(TaonAuthContextRepository);
|
|
839
|
+
}
|
|
840
|
+
async beforeEachRequest({ req, res, t, }) {
|
|
841
|
+
/* */
|
|
842
|
+
/* */
|
|
843
|
+
/* */
|
|
844
|
+
/* */
|
|
845
|
+
/* */
|
|
846
|
+
/* */
|
|
847
|
+
return (void 0);
|
|
848
|
+
}
|
|
849
|
+
saveCategory(id, input) {
|
|
850
|
+
//#region @websqlFunc
|
|
851
|
+
return () => this.taonCmsCategoryRepository.saveCategory(id ?? null, input);
|
|
852
|
+
//#endregion
|
|
853
|
+
}
|
|
854
|
+
deleteCategory(id) {
|
|
855
|
+
//#region @websqlFunc
|
|
856
|
+
return () => this.taonCmsCategoryRepository.deleteCategory(id);
|
|
857
|
+
//#endregion
|
|
562
858
|
}
|
|
563
859
|
};
|
|
860
|
+
__decorate([
|
|
861
|
+
POST(),
|
|
862
|
+
__param(0, Query('id')),
|
|
863
|
+
__param(1, Body()),
|
|
864
|
+
__metadata("design:type", Function),
|
|
865
|
+
__metadata("design:paramtypes", [Number, Object]),
|
|
866
|
+
__metadata("design:returntype", Object)
|
|
867
|
+
], TaonCmsCategoryController.prototype, "saveCategory", null);
|
|
868
|
+
__decorate([
|
|
869
|
+
DELETE(),
|
|
870
|
+
__param(0, Query('id')),
|
|
871
|
+
__metadata("design:type", Function),
|
|
872
|
+
__metadata("design:paramtypes", [Number]),
|
|
873
|
+
__metadata("design:returntype", Object)
|
|
874
|
+
], TaonCmsCategoryController.prototype, "deleteCategory", null);
|
|
564
875
|
TaonCmsCategoryController = __decorate([
|
|
565
876
|
TaonController({
|
|
566
877
|
className: 'TaonCmsCategoryController',
|
|
567
|
-
allowedMethods: [],
|
|
878
|
+
allowedMethods: ['getAll', 'saveCategory', 'deleteCategory'],
|
|
568
879
|
})
|
|
569
880
|
], TaonCmsCategoryController);
|
|
570
881
|
|
|
@@ -1143,11 +1454,52 @@ TaonCmsTagEntity = __decorate([
|
|
|
1143
1454
|
], TaonCmsTagEntity);
|
|
1144
1455
|
|
|
1145
1456
|
//#endregion
|
|
1457
|
+
const t$b = Translation.for('src/lib/taon-cms-tag/taon-cms-tag.repository.ts', { "src/lib/taon-cms-tag/taon-cms-tag.controller.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-tag.controller.ts.en-US.i18n.data-Dvq54oiB.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-tag.controller.ts.pl-PL.i18n.data-CXyb5AME.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-tag.controller.ts.de-DE.i18n.data-DeQB5uhd.mjs')).default }, "src/lib/taon-cms-tag/taon-cms-tag.repository.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-tag.repository.ts.en-US.i18n.data-_HdJ-Rax.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-tag.repository.ts.pl-PL.i18n.data-xYvTZmo4.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-tag.repository.ts.de-DE.i18n.data-xcmOlBF8.mjs')).default } });
|
|
1146
1458
|
let TaonCmsTagRepository = class TaonCmsTagRepository extends TaonBaseRepository {
|
|
1147
1459
|
constructor() {
|
|
1148
1460
|
super(...arguments);
|
|
1149
1461
|
this.entityClassResolveFn = () => TaonCmsTagEntity;
|
|
1150
1462
|
}
|
|
1463
|
+
async saveTag(id, input) {
|
|
1464
|
+
//#region @websqlFunc
|
|
1465
|
+
validateTaxonomy(input);
|
|
1466
|
+
if (id !== null) {
|
|
1467
|
+
requireContentId(id);
|
|
1468
|
+
}
|
|
1469
|
+
return this.connection.transaction('SERIALIZABLE', async (manager) => {
|
|
1470
|
+
const repository = manager.getRepository(TaonCmsTagEntity);
|
|
1471
|
+
if (id !== null) {
|
|
1472
|
+
await this.requireTags([id], manager);
|
|
1473
|
+
}
|
|
1474
|
+
const name = input.name.trim();
|
|
1475
|
+
const slug = input.slug.trim();
|
|
1476
|
+
const existing = await repository.find({ where: [{ name }, { slug }] });
|
|
1477
|
+
if (existing.some(tag => tag.id !== id)) {
|
|
1478
|
+
contentError(t$b.gettext('This tag name or slug is already in use.'), 409);
|
|
1479
|
+
}
|
|
1480
|
+
return repository.save(repository.create({
|
|
1481
|
+
...(id === null ? {} : { id }),
|
|
1482
|
+
name,
|
|
1483
|
+
slug,
|
|
1484
|
+
description: input.description,
|
|
1485
|
+
}));
|
|
1486
|
+
});
|
|
1487
|
+
//#endregion
|
|
1488
|
+
}
|
|
1489
|
+
async deleteTag(id) {
|
|
1490
|
+
//#region @websqlFunc
|
|
1491
|
+
requireContentId(id);
|
|
1492
|
+
await this.connection.transaction('SERIALIZABLE', async (manager) => {
|
|
1493
|
+
await this.requireTags([id], manager);
|
|
1494
|
+
if (await manager
|
|
1495
|
+
.getRepository(TaonCmsContentTagEntity)
|
|
1496
|
+
.countBy({ tagId: id })) {
|
|
1497
|
+
contentError(t$b.gettext('Remove this tag from posts before deleting it.'), 409);
|
|
1498
|
+
}
|
|
1499
|
+
await manager.getRepository(TaonCmsTagEntity).delete(id);
|
|
1500
|
+
});
|
|
1501
|
+
//#endregion
|
|
1502
|
+
}
|
|
1151
1503
|
async requireTags(ids, manager) {
|
|
1152
1504
|
//#region @websqlFunc
|
|
1153
1505
|
for (const id of new Set(ids)) {
|
|
@@ -1187,6 +1539,27 @@ let TaonCmsTagController = TaonCmsTagController_1 = class TaonCmsTagController e
|
|
|
1187
1539
|
super(...arguments);
|
|
1188
1540
|
this.entityClassResolveFn = () => TaonCmsTagEntity;
|
|
1189
1541
|
this.taonCmsTagRepository = this.injectCustomRepo(TaonCmsTagRepository);
|
|
1542
|
+
this.sessions = this.injectCustomRepo(TaonSessionRepository);
|
|
1543
|
+
this.auth = this.injectCustomRepo(TaonAuthContextRepository);
|
|
1544
|
+
//#endregion
|
|
1545
|
+
}
|
|
1546
|
+
async beforeEachRequest({ req, res, t, }) {
|
|
1547
|
+
/* */
|
|
1548
|
+
/* */
|
|
1549
|
+
/* */
|
|
1550
|
+
/* */
|
|
1551
|
+
/* */
|
|
1552
|
+
/* */
|
|
1553
|
+
return (void 0);
|
|
1554
|
+
}
|
|
1555
|
+
saveTag(id, input) {
|
|
1556
|
+
//#region @websqlFunc
|
|
1557
|
+
return () => this.taonCmsTagRepository.saveTag(id ?? null, input);
|
|
1558
|
+
//#endregion
|
|
1559
|
+
}
|
|
1560
|
+
deleteTag(id) {
|
|
1561
|
+
//#region @websqlFunc
|
|
1562
|
+
return () => this.taonCmsTagRepository.deleteTag(id);
|
|
1190
1563
|
//#endregion
|
|
1191
1564
|
}
|
|
1192
1565
|
//#region methods & getters / hello world
|
|
@@ -1206,6 +1579,21 @@ let TaonCmsTagController = TaonCmsTagController_1 = class TaonCmsTagController e
|
|
|
1206
1579
|
//#endregion
|
|
1207
1580
|
}
|
|
1208
1581
|
};
|
|
1582
|
+
__decorate([
|
|
1583
|
+
POST(),
|
|
1584
|
+
__param(0, Query('id')),
|
|
1585
|
+
__param(1, Body()),
|
|
1586
|
+
__metadata("design:type", Function),
|
|
1587
|
+
__metadata("design:paramtypes", [Number, Object]),
|
|
1588
|
+
__metadata("design:returntype", Object)
|
|
1589
|
+
], TaonCmsTagController.prototype, "saveTag", null);
|
|
1590
|
+
__decorate([
|
|
1591
|
+
DELETE(),
|
|
1592
|
+
__param(0, Query('id')),
|
|
1593
|
+
__metadata("design:type", Function),
|
|
1594
|
+
__metadata("design:paramtypes", [Number]),
|
|
1595
|
+
__metadata("design:returntype", Object)
|
|
1596
|
+
], TaonCmsTagController.prototype, "deleteTag", null);
|
|
1209
1597
|
__decorate([
|
|
1210
1598
|
GET(),
|
|
1211
1599
|
__param(0, Query('yourName')),
|
|
@@ -1216,7 +1604,7 @@ __decorate([
|
|
|
1216
1604
|
TaonCmsTagController = TaonCmsTagController_1 = __decorate([
|
|
1217
1605
|
TaonController({
|
|
1218
1606
|
className: 'TaonCmsTagController',
|
|
1219
|
-
allowedMethods: []
|
|
1607
|
+
allowedMethods: ['getAll', 'saveTag', 'deleteTag'],
|
|
1220
1608
|
})
|
|
1221
1609
|
], TaonCmsTagController);
|
|
1222
1610
|
|
|
@@ -1275,101 +1663,6 @@ const TaonCmsTagAbstractContext = createContext(() => ({
|
|
|
1275
1663
|
subscribers: { TaonCmsTagSubscriber },
|
|
1276
1664
|
}));
|
|
1277
1665
|
|
|
1278
|
-
//#region taon auth decorator
|
|
1279
|
-
const TaonSessionCoreGroups = {
|
|
1280
|
-
...TaonSessionCoreGroups$1,
|
|
1281
|
-
Manager: 'manager',
|
|
1282
|
-
};
|
|
1283
|
-
const TaonSessionCoreRoles = {
|
|
1284
|
-
...TaonSessionCoreRoles$1,
|
|
1285
|
-
/**
|
|
1286
|
-
* Can manage roles and permissions assigned directly to users.
|
|
1287
|
-
* Does NOT allow changing user groups.
|
|
1288
|
-
*/
|
|
1289
|
-
PostsManager: 'posts-manager',
|
|
1290
|
-
};
|
|
1291
|
-
const TaonSessionCorePermissions = {
|
|
1292
|
-
...TaonSessionCorePermissions$1,
|
|
1293
|
-
};
|
|
1294
|
-
let TaonAuthContextEntity = class TaonAuthContextEntity extends TaonAuthContextEntity$1 {
|
|
1295
|
-
// @ts-ignore
|
|
1296
|
-
get hasAccess() {
|
|
1297
|
-
return this.injectClass(TaonAuthContextHasAccess, this);
|
|
1298
|
-
}
|
|
1299
|
-
};
|
|
1300
|
-
TaonAuthContextEntity = __decorate([
|
|
1301
|
-
TaonEntity({
|
|
1302
|
-
className: 'TaonAuthContextEntity',
|
|
1303
|
-
createTable: false,
|
|
1304
|
-
})
|
|
1305
|
-
], TaonAuthContextEntity);
|
|
1306
|
-
class TaonAuthContextHasAccess extends TaonAuthContextHasAccess$1 {
|
|
1307
|
-
get toManagePosts() {
|
|
1308
|
-
//#region @browserFunc
|
|
1309
|
-
return this.context.snapshoot.toManagePosts;
|
|
1310
|
-
//#endregion
|
|
1311
|
-
//#region @websqlFunc
|
|
1312
|
-
return (this.context.isSuperUser ||
|
|
1313
|
-
this.context.hasRole(TaonSessionCoreRoles.PostsManager));
|
|
1314
|
-
//#endregion
|
|
1315
|
-
}
|
|
1316
|
-
}
|
|
1317
|
-
let TaonAuthContextRepository = class TaonAuthContextRepository extends TaonAuthContextRepository$1 {
|
|
1318
|
-
constructor() {
|
|
1319
|
-
super(...arguments);
|
|
1320
|
-
// @ts-ignore
|
|
1321
|
-
this.entityClassResolveFn = () => TaonAuthContextEntity;
|
|
1322
|
-
}
|
|
1323
|
-
};
|
|
1324
|
-
TaonAuthContextRepository = __decorate([
|
|
1325
|
-
TaonRepository({
|
|
1326
|
-
className: 'TaonAuthContextRepository',
|
|
1327
|
-
})
|
|
1328
|
-
], TaonAuthContextRepository);
|
|
1329
|
-
let CmsContext_1791132517217_initial = class CmsContext_1791132517217_initial extends MIGRATIONS_CLASSES_FOR_SessionContext.SessionContext_1791132517216_initial {
|
|
1330
|
-
async persistTree() {
|
|
1331
|
-
//#region @websqlFunc
|
|
1332
|
-
await this.taonAuthContextRepository.persistTree({
|
|
1333
|
-
authorization: {
|
|
1334
|
-
groups: TaonSessionCoreGroups,
|
|
1335
|
-
roles: TaonSessionCoreRoles,
|
|
1336
|
-
permissions: TaonSessionCorePermissions,
|
|
1337
|
-
},
|
|
1338
|
-
tree: {
|
|
1339
|
-
groupAndRoles: {
|
|
1340
|
-
// Administrators receive all core administrative roles.
|
|
1341
|
-
[TaonSessionCoreGroups.Administrator]: '*',
|
|
1342
|
-
// Normal customers receive no administrative roles by default.
|
|
1343
|
-
[TaonSessionCoreGroups.Customers]: [],
|
|
1344
|
-
[TaonSessionCoreGroups.Manager]: [TaonSessionCoreRoles.PostsManager],
|
|
1345
|
-
},
|
|
1346
|
-
rolesAndPermissions: {
|
|
1347
|
-
[TaonSessionCoreRoles.AuthorizationManager]: [
|
|
1348
|
-
TaonSessionCorePermissions.ViewUsers,
|
|
1349
|
-
TaonSessionCorePermissions.ViewUserAuthorization,
|
|
1350
|
-
TaonSessionCorePermissions.ManageUserRoles,
|
|
1351
|
-
TaonSessionCorePermissions.ManageUserPermissions,
|
|
1352
|
-
],
|
|
1353
|
-
[TaonSessionCoreRoles.PostsManager]: [],
|
|
1354
|
-
[TaonSessionCoreRoles.UserManager]: [
|
|
1355
|
-
TaonSessionCorePermissions.ViewUsers,
|
|
1356
|
-
TaonSessionCorePermissions.ManageUsers,
|
|
1357
|
-
TaonSessionCorePermissions.ViewSessions,
|
|
1358
|
-
TaonSessionCorePermissions.RevokeSessions,
|
|
1359
|
-
],
|
|
1360
|
-
},
|
|
1361
|
-
},
|
|
1362
|
-
});
|
|
1363
|
-
//#endregion
|
|
1364
|
-
}
|
|
1365
|
-
};
|
|
1366
|
-
CmsContext_1791132517217_initial = __decorate([
|
|
1367
|
-
TaonMigration({
|
|
1368
|
-
className: 'CmsContext_1791132517217_initial',
|
|
1369
|
-
})
|
|
1370
|
-
], CmsContext_1791132517217_initial);
|
|
1371
|
-
//#endregion
|
|
1372
|
-
|
|
1373
1666
|
//#endregion
|
|
1374
1667
|
let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRepository {
|
|
1375
1668
|
constructor() {
|
|
@@ -1380,39 +1673,89 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
|
|
|
1380
1673
|
this.taonCmsCategoryRepository = this.injectCustomRepo(TaonCmsCategoryRepository);
|
|
1381
1674
|
this.tags = this.injectCustomRepo(TaonCmsTagRepository);
|
|
1382
1675
|
}
|
|
1676
|
+
async listTagIds(id) {
|
|
1677
|
+
//#region @websqlFunc
|
|
1678
|
+
requireContentId(id);
|
|
1679
|
+
return this.connection.transaction(async (manager) => {
|
|
1680
|
+
await this.requireContent(id, manager);
|
|
1681
|
+
return this.taonCmsContentTagRepository.findTagIds(id, manager);
|
|
1682
|
+
});
|
|
1683
|
+
//#endregion
|
|
1684
|
+
}
|
|
1383
1685
|
async createContent(input) {
|
|
1384
1686
|
//#region @websqlFunc
|
|
1385
1687
|
validateContentInput(input, true);
|
|
1386
|
-
return this.connection.transaction(
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1688
|
+
return this.connection.transaction('SERIALIZABLE', manager => this.createContentWithManager(input, manager));
|
|
1689
|
+
//#endregion
|
|
1690
|
+
}
|
|
1691
|
+
async duplicateContent(id) {
|
|
1692
|
+
//#region @websqlFunc
|
|
1693
|
+
requireContentId(id);
|
|
1694
|
+
return this.connection.transaction('SERIALIZABLE', async (manager) => {
|
|
1695
|
+
const source = await this.requireContent(id, manager);
|
|
1696
|
+
const snapshot = await this.snapshotOf(source, manager);
|
|
1697
|
+
const configuration = await this.resolvePermissionConfiguration(source, manager);
|
|
1698
|
+
const titleSuffix = source.title.match(/\s+COPY(\d+)$/i);
|
|
1699
|
+
const slugSuffix = source.slug.match(/-copy(\d+)$/i);
|
|
1700
|
+
const baseTitle = source.title.replace(/(?:\s+COPY\d+)+$/i, '');
|
|
1701
|
+
const baseSlug = source.slug.replace(/(?:-copy\d+)+$/i, '');
|
|
1702
|
+
let number = Math.max(Number(titleSuffix?.[1] ?? 0), Number(slugSuffix?.[1] ?? 0)) +
|
|
1703
|
+
1;
|
|
1393
1704
|
const repository = manager.getRepository(this.target);
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1705
|
+
while (Number.isSafeInteger(number)) {
|
|
1706
|
+
const title = `${baseTitle} COPY${number}`;
|
|
1707
|
+
const slug = `${baseSlug}-copy${number}`;
|
|
1708
|
+
const existing = await repository.findOne({
|
|
1709
|
+
where: [{ title }, { slug }],
|
|
1710
|
+
});
|
|
1711
|
+
if (!existing) {
|
|
1712
|
+
return this.createContentWithManager({
|
|
1713
|
+
...snapshot,
|
|
1714
|
+
title,
|
|
1715
|
+
slug,
|
|
1716
|
+
relatedPostIds: [],
|
|
1717
|
+
applicationHook: null,
|
|
1718
|
+
// Inherited permissions become independent without related links.
|
|
1719
|
+
permissionIds: configuration.permissions.map(permission => permission.id),
|
|
1720
|
+
}, manager);
|
|
1721
|
+
}
|
|
1722
|
+
number += 1;
|
|
1723
|
+
}
|
|
1724
|
+
contentError('No available copy number could be generated.', 409);
|
|
1407
1725
|
});
|
|
1408
1726
|
//#endregion
|
|
1409
1727
|
}
|
|
1728
|
+
async createContentWithManager(input, manager) {
|
|
1729
|
+
//#region @websqlFunc
|
|
1730
|
+
const fields = this.contentFields(input);
|
|
1731
|
+
const tagIds = [...new Set(input.tagIds ?? [])];
|
|
1732
|
+
const relatedPostIds = [...new Set(input.relatedPostIds ?? [])];
|
|
1733
|
+
const permissionIds = [...new Set(input.permissionIds ?? [])];
|
|
1734
|
+
await this.validateReferences(fields, tagIds, permissionIds, manager);
|
|
1735
|
+
await this.requireAvailableSlug(fields.slug, manager);
|
|
1736
|
+
const repository = manager.getRepository(this.target);
|
|
1737
|
+
const now = new Date();
|
|
1738
|
+
const content = await repository.save(repository.create({
|
|
1739
|
+
...fields,
|
|
1740
|
+
version: 1,
|
|
1741
|
+
createdAt: now,
|
|
1742
|
+
updatedAt: now,
|
|
1743
|
+
}));
|
|
1744
|
+
await this.taonCmsContentTagRepository.replaceTags(content.id, tagIds, manager);
|
|
1745
|
+
await this.replaceRelatedPosts(content.id, relatedPostIds, [], manager);
|
|
1746
|
+
await this.validatePermissionInheritance(manager);
|
|
1747
|
+
await this.replacePermissions(content.id, permissionIds, [], manager);
|
|
1748
|
+
await this.replaceApplicationHook(content.id, input.applicationHook ?? null, manager);
|
|
1749
|
+
await this.taonCmsContentRevisionRepository.recordContent(content, { ...fields, tagIds, relatedPostIds, permissionIds }, manager);
|
|
1750
|
+
return this.requireContent(content.id, manager);
|
|
1751
|
+
//#endregion
|
|
1752
|
+
}
|
|
1410
1753
|
async updateContent(id, input) {
|
|
1411
1754
|
//#region @websqlFunc
|
|
1412
1755
|
requireContentId(id);
|
|
1413
1756
|
validateContentInput(input);
|
|
1414
1757
|
requireContentVersion(input.expectedVersion);
|
|
1415
|
-
return this.connection.transaction(async (manager) => {
|
|
1758
|
+
return this.connection.transaction('SERIALIZABLE', async (manager) => {
|
|
1416
1759
|
const current = await this.requireContent(id, manager);
|
|
1417
1760
|
const snapshot = await this.snapshotOf(current, manager);
|
|
1418
1761
|
const fields = this.contentFields(input, snapshot);
|
|
@@ -1442,7 +1785,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
|
|
|
1442
1785
|
}
|
|
1443
1786
|
requireContentVersion(input.revisionNumber, 'revisionNumber');
|
|
1444
1787
|
requireContentVersion(input.expectedVersion);
|
|
1445
|
-
return this.connection.transaction(async (manager) => {
|
|
1788
|
+
return this.connection.transaction('SERIALIZABLE', async (manager) => {
|
|
1446
1789
|
const current = await this.requireContent(id, manager);
|
|
1447
1790
|
const revision = await this.taonCmsContentRevisionRepository.requireRevision(id, input.revisionNumber, manager);
|
|
1448
1791
|
if (!revision.snapshot) {
|
|
@@ -1494,7 +1837,89 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
|
|
|
1494
1837
|
async listPermissions(id) {
|
|
1495
1838
|
//#region @websqlFunc
|
|
1496
1839
|
requireContentId(id);
|
|
1497
|
-
return
|
|
1840
|
+
return (await this.getPermissionConfiguration(id)).permissions;
|
|
1841
|
+
//#endregion
|
|
1842
|
+
}
|
|
1843
|
+
async getPermissionConfiguration(id) {
|
|
1844
|
+
//#region @websqlFunc
|
|
1845
|
+
requireContentId(id);
|
|
1846
|
+
return this.connection.transaction(async (manager) => {
|
|
1847
|
+
const post = await this.requireContent(id, manager);
|
|
1848
|
+
return this.resolvePermissionConfiguration(post, manager);
|
|
1849
|
+
});
|
|
1850
|
+
//#endregion
|
|
1851
|
+
}
|
|
1852
|
+
async resolvePermissionConfiguration(post, manager) {
|
|
1853
|
+
//#region @websqlFunc
|
|
1854
|
+
const repository = manager.getRepository(this.target);
|
|
1855
|
+
let source = post;
|
|
1856
|
+
const visited = new Set();
|
|
1857
|
+
while (true) {
|
|
1858
|
+
if (visited.has(source.id)) {
|
|
1859
|
+
contentError('Permission inheritance contains a cycle.', 409);
|
|
1860
|
+
}
|
|
1861
|
+
visited.add(source.id);
|
|
1862
|
+
const parents = await repository.find({
|
|
1863
|
+
where: {
|
|
1864
|
+
applyPermissionsToRelatedPosts: true,
|
|
1865
|
+
relatedPosts: { id: source.id },
|
|
1866
|
+
},
|
|
1867
|
+
relations: { permissions: true },
|
|
1868
|
+
});
|
|
1869
|
+
if (parents.length > 1) {
|
|
1870
|
+
contentError('A post cannot inherit permissions from multiple sources.', 409);
|
|
1871
|
+
}
|
|
1872
|
+
if (!parents.length) {
|
|
1873
|
+
return {
|
|
1874
|
+
permissions: source.permissions,
|
|
1875
|
+
source: source.id === post.id
|
|
1876
|
+
? null
|
|
1877
|
+
: { id: source.id, title: source.title },
|
|
1878
|
+
};
|
|
1879
|
+
}
|
|
1880
|
+
source = parents[0];
|
|
1881
|
+
}
|
|
1882
|
+
//#endregion
|
|
1883
|
+
}
|
|
1884
|
+
async validatePermissionInheritance(manager) {
|
|
1885
|
+
//#region @websqlFunc
|
|
1886
|
+
const parents = await manager
|
|
1887
|
+
.getRepository(this.target)
|
|
1888
|
+
.find({
|
|
1889
|
+
where: { applyPermissionsToRelatedPosts: true },
|
|
1890
|
+
relations: { relatedPosts: true },
|
|
1891
|
+
});
|
|
1892
|
+
const sources = new Map();
|
|
1893
|
+
for (const parent of parents) {
|
|
1894
|
+
for (const child of parent.relatedPosts) {
|
|
1895
|
+
if (sources.has(child.id)) {
|
|
1896
|
+
contentError(`Content ${child.id} would inherit permissions from multiple sources.`, 409);
|
|
1897
|
+
}
|
|
1898
|
+
sources.set(child.id, parent.id);
|
|
1899
|
+
}
|
|
1900
|
+
}
|
|
1901
|
+
for (const id of sources.keys()) {
|
|
1902
|
+
const visited = new Set();
|
|
1903
|
+
let current = id;
|
|
1904
|
+
while (current !== undefined) {
|
|
1905
|
+
if (visited.has(current)) {
|
|
1906
|
+
contentError('Permission inheritance cannot contain cycles.', 409);
|
|
1907
|
+
}
|
|
1908
|
+
visited.add(current);
|
|
1909
|
+
current = sources.get(current);
|
|
1910
|
+
}
|
|
1911
|
+
}
|
|
1912
|
+
//#endregion
|
|
1913
|
+
}
|
|
1914
|
+
async requireOwnPermissionEdit(id, permissionIds, current, manager) {
|
|
1915
|
+
//#region @websqlFunc
|
|
1916
|
+
const configuration = await this.resolvePermissionConfiguration(current, manager);
|
|
1917
|
+
const ownIds = new Set(current.permissions.map(permission => permission.id));
|
|
1918
|
+
if (configuration.source &&
|
|
1919
|
+
(ownIds.size !== new Set(permissionIds).size ||
|
|
1920
|
+
permissionIds.some(permissionId => !ownIds.has(permissionId)))) {
|
|
1921
|
+
contentError(`Content ${id} inherits permissions; edit the source post instead.`, 409);
|
|
1922
|
+
}
|
|
1498
1923
|
//#endregion
|
|
1499
1924
|
}
|
|
1500
1925
|
async listApplicationHooks() {
|
|
@@ -1505,6 +1930,11 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
|
|
|
1505
1930
|
//#endregion
|
|
1506
1931
|
}
|
|
1507
1932
|
async getContentByHook(hook) {
|
|
1933
|
+
//#region @websqlFunc
|
|
1934
|
+
return (await this.getContentForHook(hook))?.body ?? '';
|
|
1935
|
+
//#endregion
|
|
1936
|
+
}
|
|
1937
|
+
async getContentForHook(hook) {
|
|
1508
1938
|
//#region @websqlFunc
|
|
1509
1939
|
if (!hook) {
|
|
1510
1940
|
contentError('Application hook is required.');
|
|
@@ -1513,11 +1943,52 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
|
|
|
1513
1943
|
.getRepository(TaonCmsApplicationHookEntity)
|
|
1514
1944
|
.findOne({
|
|
1515
1945
|
where: { hook: hook },
|
|
1516
|
-
relations: { content: true },
|
|
1946
|
+
relations: { content: { permissions: true } },
|
|
1947
|
+
});
|
|
1948
|
+
return applicationHook?.content ?? null;
|
|
1949
|
+
//#endregion
|
|
1950
|
+
}
|
|
1951
|
+
//#region methods / media access
|
|
1952
|
+
async getContentBySlugForMedia(slug) {
|
|
1953
|
+
//#region @websqlFunc
|
|
1954
|
+
if (!slug) {
|
|
1955
|
+
contentError('Content slug is required.');
|
|
1956
|
+
}
|
|
1957
|
+
return this.connection
|
|
1958
|
+
.getRepository(this.target)
|
|
1959
|
+
.findOne({
|
|
1960
|
+
where: { slug },
|
|
1961
|
+
relations: { permissions: true },
|
|
1962
|
+
});
|
|
1963
|
+
//#endregion
|
|
1964
|
+
}
|
|
1965
|
+
async isPublicMediaKey(key) {
|
|
1966
|
+
//#region @websqlFunc
|
|
1967
|
+
const contents = await this.connection
|
|
1968
|
+
.getRepository(this.target)
|
|
1969
|
+
.find({
|
|
1970
|
+
where: [
|
|
1971
|
+
{ videoKey: key },
|
|
1972
|
+
{ audioKey: key },
|
|
1973
|
+
{ attachmentKey: key },
|
|
1974
|
+
{ thumbnailKey: key },
|
|
1975
|
+
],
|
|
1976
|
+
relations: { permissions: true },
|
|
1517
1977
|
});
|
|
1518
|
-
|
|
1978
|
+
if (!contents.length) {
|
|
1979
|
+
return false;
|
|
1980
|
+
}
|
|
1981
|
+
for (const content of contents) {
|
|
1982
|
+
if (content.status !== 'published' ||
|
|
1983
|
+
(await this.getPermissionConfiguration(content.id)).permissions.length >
|
|
1984
|
+
0) {
|
|
1985
|
+
return false;
|
|
1986
|
+
}
|
|
1987
|
+
}
|
|
1988
|
+
return true;
|
|
1519
1989
|
//#endregion
|
|
1520
1990
|
}
|
|
1991
|
+
//#endregion
|
|
1521
1992
|
async addRelatedPost(id, relatedPostId, expectedVersion) {
|
|
1522
1993
|
//#region @websqlFunc
|
|
1523
1994
|
return this.changeRelatedPost(id, relatedPostId, expectedVersion, true);
|
|
@@ -1536,7 +2007,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
|
|
|
1536
2007
|
if (id === relatedPostId) {
|
|
1537
2008
|
contentError('A post cannot relate to itself.');
|
|
1538
2009
|
}
|
|
1539
|
-
return this.connection.transaction(async (manager) => {
|
|
2010
|
+
return this.connection.transaction('SERIALIZABLE', async (manager) => {
|
|
1540
2011
|
const current = await this.requireContent(id, manager);
|
|
1541
2012
|
await this.requireContent(relatedPostId, manager);
|
|
1542
2013
|
const snapshot = await this.snapshotOf(current, manager);
|
|
@@ -1581,11 +2052,18 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
|
|
|
1581
2052
|
title,
|
|
1582
2053
|
slug,
|
|
1583
2054
|
body: input.body === undefined ? (current?.body ?? null) : input.body,
|
|
1584
|
-
videoKey: input.videoKey === undefined
|
|
1585
|
-
|
|
2055
|
+
videoKey: input.videoKey === undefined
|
|
2056
|
+
? (current?.videoKey ?? null)
|
|
2057
|
+
: input.videoKey,
|
|
2058
|
+
audioKey: input.audioKey === undefined
|
|
2059
|
+
? (current?.audioKey ?? null)
|
|
2060
|
+
: input.audioKey,
|
|
1586
2061
|
attachmentKey: input.attachmentKey === undefined
|
|
1587
2062
|
? (current?.attachmentKey ?? null)
|
|
1588
2063
|
: input.attachmentKey,
|
|
2064
|
+
thumbnailKey: input.thumbnailKey === undefined
|
|
2065
|
+
? (current?.thumbnailKey ?? null)
|
|
2066
|
+
: input.thumbnailKey,
|
|
1589
2067
|
excerpt: input.excerpt === undefined
|
|
1590
2068
|
? (current?.excerpt ?? null)
|
|
1591
2069
|
: input.excerpt,
|
|
@@ -1597,6 +2075,9 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
|
|
|
1597
2075
|
: input.authorUserId,
|
|
1598
2076
|
status: input.status ?? current?.status ?? 'draft',
|
|
1599
2077
|
publishedAt: publishedAt === null ? null : new Date(publishedAt),
|
|
2078
|
+
applyPermissionsToRelatedPosts: input.applyPermissionsToRelatedPosts ??
|
|
2079
|
+
current?.applyPermissionsToRelatedPosts ??
|
|
2080
|
+
false,
|
|
1600
2081
|
};
|
|
1601
2082
|
}
|
|
1602
2083
|
async snapshotOf(content, manager) {
|
|
@@ -1669,7 +2150,8 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
|
|
|
1669
2150
|
const added = relatedPostIds.filter(postId => !previousIds.includes(postId));
|
|
1670
2151
|
const removed = previousIds.filter(postId => !relatedPostIds.includes(postId));
|
|
1671
2152
|
if (added.length || removed.length) {
|
|
1672
|
-
await repository
|
|
2153
|
+
await repository
|
|
2154
|
+
.createQueryBuilder()
|
|
1673
2155
|
.relation('relatedPosts')
|
|
1674
2156
|
.of(id)
|
|
1675
2157
|
.addAndRemove(added, removed);
|
|
@@ -1724,6 +2206,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
|
|
|
1724
2206
|
if (current.version !== expectedVersion) {
|
|
1725
2207
|
contentError('Content has changed. Reload it before editing.', 409);
|
|
1726
2208
|
}
|
|
2209
|
+
await this.requireOwnPermissionEdit(current.id, snapshot.permissionIds, current, manager);
|
|
1727
2210
|
await this.validateReferences(snapshot, snapshot.tagIds, snapshot.permissionIds, manager);
|
|
1728
2211
|
await this.requireAvailableSlug(snapshot.slug, manager, current.id);
|
|
1729
2212
|
// Preserve the first pre-API version before replacing it.
|
|
@@ -1739,6 +2222,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
|
|
|
1739
2222
|
}
|
|
1740
2223
|
await this.taonCmsContentTagRepository.replaceTags(current.id, snapshot.tagIds, manager);
|
|
1741
2224
|
await this.replaceRelatedPosts(current.id, [...new Set(snapshot.relatedPostIds ?? [])], current.relatedPosts.map(post => post.id), manager);
|
|
2225
|
+
await this.validatePermissionInheritance(manager);
|
|
1742
2226
|
await this.replacePermissions(current.id, [...new Set(snapshot.permissionIds ?? [])], current.permissions.map(permission => permission.id), manager);
|
|
1743
2227
|
if (applicationHook !== undefined) {
|
|
1744
2228
|
await this.replaceApplicationHook(current.id, applicationHook, manager);
|
|
@@ -1774,13 +2258,13 @@ TaonCmsContentRepository = __decorate([
|
|
|
1774
2258
|
], TaonCmsContentRepository);
|
|
1775
2259
|
|
|
1776
2260
|
//#endregion
|
|
1777
|
-
let
|
|
2261
|
+
let TaonCmsContentStorageController = class TaonCmsContentStorageController extends TaonBaseStorageController {
|
|
1778
2262
|
constructor() {
|
|
1779
2263
|
super(...arguments);
|
|
1780
|
-
this.entityClassResolveFn = () => TaonCmsContentEntity;
|
|
1781
|
-
this.taonCmsContentRepository = this.injectCustomRepo(TaonCmsContentRepository);
|
|
1782
2264
|
this.taonSessionRepository = this.injectCustomRepo(TaonSessionRepository);
|
|
1783
2265
|
this.taonAuthContextRepository = this.injectCustomRepo(TaonAuthContextRepository);
|
|
2266
|
+
this.taonCmsContentRepository = this.injectCustomRepo(TaonCmsContentRepository);
|
|
2267
|
+
this.taonSessionProvider = this.injectProvider(TaonSessionProvider);
|
|
1784
2268
|
}
|
|
1785
2269
|
async beforeEachRequest({ req, res, methodConfig, t, }) {
|
|
1786
2270
|
/* */
|
|
@@ -1798,83 +2282,480 @@ let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCr
|
|
|
1798
2282
|
/* */
|
|
1799
2283
|
/* */
|
|
1800
2284
|
/* */
|
|
2285
|
+
/* */
|
|
1801
2286
|
return (void 0);
|
|
1802
2287
|
}
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
2288
|
+
async handleUploadFiles(files, queryParams, req, res) {
|
|
2289
|
+
/* */
|
|
2290
|
+
/* */
|
|
2291
|
+
/* */
|
|
2292
|
+
/* */
|
|
2293
|
+
/* */
|
|
2294
|
+
/* */
|
|
2295
|
+
/* */
|
|
2296
|
+
/* */
|
|
2297
|
+
/* */
|
|
2298
|
+
/* */
|
|
2299
|
+
/* */
|
|
2300
|
+
/* */
|
|
2301
|
+
/* */
|
|
2302
|
+
/* */
|
|
2303
|
+
/* */
|
|
2304
|
+
/* */
|
|
2305
|
+
/* */
|
|
2306
|
+
/* */
|
|
2307
|
+
/* */
|
|
2308
|
+
/* */
|
|
2309
|
+
/* */
|
|
2310
|
+
/* */
|
|
2311
|
+
/* */
|
|
2312
|
+
/* */
|
|
2313
|
+
/* */
|
|
2314
|
+
/* */
|
|
2315
|
+
/* */
|
|
2316
|
+
/* */
|
|
2317
|
+
/* */
|
|
2318
|
+
/* */
|
|
2319
|
+
/* */
|
|
2320
|
+
/* */
|
|
2321
|
+
/* */
|
|
2322
|
+
/* */
|
|
2323
|
+
/* */
|
|
2324
|
+
return (void 0);
|
|
1821
2325
|
}
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
2326
|
+
afterFileUploadHook() { }
|
|
2327
|
+
async isMediaObjectAvailable(key) {
|
|
2328
|
+
/* */
|
|
2329
|
+
/* */
|
|
2330
|
+
return (void 0);
|
|
1826
2331
|
}
|
|
1827
|
-
|
|
2332
|
+
buildStorageDownloadUrl(options) {
|
|
1828
2333
|
//#region @websqlFunc
|
|
1829
|
-
|
|
2334
|
+
if (!this.ctx) {
|
|
2335
|
+
console.trace(`[buildStorageDownloadUrl] accessing without context`);
|
|
2336
|
+
return;
|
|
2337
|
+
}
|
|
2338
|
+
const isLocalhost = this.ctx.frontendHostUri.origin.includes('://localhost:');
|
|
2339
|
+
const urlFromMehtod = this.getThisControllerMethodFullUrl('download');
|
|
2340
|
+
// console.log({ urlFromMehtod });
|
|
2341
|
+
const url = new URL(urlFromMehtod);
|
|
2342
|
+
url.search = '';
|
|
2343
|
+
url.searchParams.set('key', options.key);
|
|
2344
|
+
if (options.token) {
|
|
2345
|
+
url.searchParams.set('token', options.token);
|
|
2346
|
+
}
|
|
2347
|
+
if (options.download) {
|
|
2348
|
+
url.searchParams.set('download', 'true');
|
|
2349
|
+
}
|
|
2350
|
+
return (`${isLocalhost ? this.ctx.uri.origin : this.ctx.frontendHostUri.origin}` +
|
|
2351
|
+
`${url.pathname}${url.search}`);
|
|
1830
2352
|
//#endregion
|
|
1831
2353
|
}
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
2354
|
+
async createStorageDownloadToken(options) {
|
|
2355
|
+
/* */
|
|
2356
|
+
/* */
|
|
2357
|
+
/* */
|
|
2358
|
+
/* */
|
|
2359
|
+
/* */
|
|
2360
|
+
/* */
|
|
2361
|
+
/* */
|
|
2362
|
+
/* */
|
|
2363
|
+
/* */
|
|
2364
|
+
/* */
|
|
2365
|
+
/* */
|
|
2366
|
+
/* */
|
|
2367
|
+
/* */
|
|
2368
|
+
/* */
|
|
2369
|
+
/* */
|
|
2370
|
+
/* */
|
|
2371
|
+
return (void 0);
|
|
1836
2372
|
}
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
2373
|
+
async verifyStorageDownloadToken(options) {
|
|
2374
|
+
/* */
|
|
2375
|
+
/* */
|
|
2376
|
+
/* */
|
|
2377
|
+
/* */
|
|
2378
|
+
/* */
|
|
2379
|
+
/* */
|
|
2380
|
+
/* */
|
|
2381
|
+
/* */
|
|
2382
|
+
/* */
|
|
2383
|
+
/* */
|
|
2384
|
+
/* */
|
|
2385
|
+
/* */
|
|
2386
|
+
/* */
|
|
2387
|
+
/* */
|
|
2388
|
+
/* */
|
|
2389
|
+
return (void 0);
|
|
2390
|
+
}
|
|
2391
|
+
async isPublicStorageKey(key) {
|
|
2392
|
+
/* */
|
|
2393
|
+
/* */
|
|
2394
|
+
return (void 0);
|
|
2395
|
+
}
|
|
2396
|
+
};
|
|
2397
|
+
TaonCmsContentStorageController = __decorate([
|
|
2398
|
+
TaonController({
|
|
2399
|
+
className: 'TaonCmsContentStorageController',
|
|
2400
|
+
// allowedMethods: ['download', 'uploadFormDataToServer'],
|
|
2401
|
+
})
|
|
2402
|
+
], TaonCmsContentStorageController);
|
|
2403
|
+
|
|
2404
|
+
//#endregion
|
|
2405
|
+
let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCrudController {
|
|
2406
|
+
constructor() {
|
|
2407
|
+
super(...arguments);
|
|
2408
|
+
//#region fields & getters
|
|
2409
|
+
this.entityClassResolveFn = () => TaonCmsContentEntity;
|
|
2410
|
+
this.taonCmsContentRepository = this.injectCustomRepo(TaonCmsContentRepository);
|
|
2411
|
+
this.taonSessionRepository = this.injectCustomRepo(TaonSessionRepository);
|
|
2412
|
+
this.taonAuthContextRepository = this.injectCustomRepo(TaonAuthContextRepository);
|
|
2413
|
+
this.taonCmsContentStorageController = this.injectController(TaonCmsContentStorageController);
|
|
2414
|
+
//#endregion
|
|
2415
|
+
}
|
|
2416
|
+
//#endregion
|
|
2417
|
+
//#region methods / before each request
|
|
2418
|
+
async beforeEachRequest({ req, res, methodConfig, t, }) {
|
|
2419
|
+
/* */
|
|
2420
|
+
/* */
|
|
2421
|
+
/* */
|
|
2422
|
+
/* */
|
|
2423
|
+
/* */
|
|
2424
|
+
/* */
|
|
2425
|
+
/* */
|
|
2426
|
+
/* */
|
|
2427
|
+
/* */
|
|
2428
|
+
/* */
|
|
2429
|
+
/* */
|
|
2430
|
+
/* */
|
|
2431
|
+
/* */
|
|
2432
|
+
/* */
|
|
2433
|
+
/* */
|
|
2434
|
+
/* */
|
|
2435
|
+
/* */
|
|
2436
|
+
/* */
|
|
2437
|
+
/* */
|
|
2438
|
+
/* */
|
|
2439
|
+
/* */
|
|
2440
|
+
/* */
|
|
2441
|
+
/* */
|
|
2442
|
+
/* */
|
|
2443
|
+
/* */
|
|
2444
|
+
/* */
|
|
2445
|
+
/* */
|
|
2446
|
+
/* */
|
|
2447
|
+
/* */
|
|
2448
|
+
/* */
|
|
2449
|
+
/* */
|
|
2450
|
+
/* */
|
|
2451
|
+
return (void 0);
|
|
2452
|
+
}
|
|
2453
|
+
//#endregion
|
|
2454
|
+
//#region methods / get video link by slug
|
|
2455
|
+
getVideoLinkBySlug(slug) {
|
|
2456
|
+
//#region @websqlFunc
|
|
2457
|
+
return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'video', false, req, t);
|
|
2458
|
+
//#endregion
|
|
2459
|
+
}
|
|
2460
|
+
//#region methods / get public video link by slug
|
|
2461
|
+
getPublicVideoLinkBySlug(slug) {
|
|
2462
|
+
//#region @websqlFunc
|
|
2463
|
+
return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'video', true, req, t);
|
|
2464
|
+
//#endregion
|
|
2465
|
+
}
|
|
2466
|
+
//#endregion
|
|
2467
|
+
//#region methods / get audio link by slug
|
|
2468
|
+
getAudioLinkBySlug(slug) {
|
|
2469
|
+
//#region @websqlFunc
|
|
2470
|
+
return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'audio', false, req, t);
|
|
2471
|
+
//#endregion
|
|
2472
|
+
}
|
|
2473
|
+
//#endregion
|
|
2474
|
+
//#region methods / get public audio link by slug
|
|
2475
|
+
getPublicAudioLinkBySlug(slug) {
|
|
2476
|
+
//#region @websqlFunc
|
|
2477
|
+
return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'audio', true, req, t);
|
|
2478
|
+
//#endregion
|
|
2479
|
+
}
|
|
2480
|
+
//#endregion
|
|
2481
|
+
//#region methods / get attachment link by slug
|
|
2482
|
+
getAttachmentLinkBySlug(slug) {
|
|
2483
|
+
//#region @websqlFunc
|
|
2484
|
+
return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'attachment', false, req, t);
|
|
2485
|
+
//#endregion
|
|
2486
|
+
}
|
|
2487
|
+
//#endregion
|
|
2488
|
+
//#region methods / get public attachment link by slug
|
|
2489
|
+
getPublicAttachmentLinkBySlug(slug) {
|
|
2490
|
+
//#region @websqlFunc
|
|
2491
|
+
return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'attachment', true, req, t);
|
|
2492
|
+
//#endregion
|
|
2493
|
+
}
|
|
2494
|
+
//#endregion
|
|
2495
|
+
//#endregion
|
|
2496
|
+
//#region methods / get media link
|
|
2497
|
+
getThumbnailLinkBySlug(slug) {
|
|
2498
|
+
//#region @websqlFunc
|
|
2499
|
+
return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'thumbnail', false, req, t);
|
|
2500
|
+
//#endregion
|
|
2501
|
+
}
|
|
2502
|
+
getPublicThumbnailLinkBySlug(slug) {
|
|
2503
|
+
//#region @websqlFunc
|
|
2504
|
+
return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'thumbnail', true, req, t);
|
|
2505
|
+
//#endregion
|
|
2506
|
+
}
|
|
2507
|
+
listTagIds(id) {
|
|
2508
|
+
//#region @websqlFunc
|
|
2509
|
+
return async () => this.taonCmsContentRepository.listTagIds(id);
|
|
2510
|
+
//#endregion
|
|
2511
|
+
}
|
|
2512
|
+
async getMediaLinkBySlug(slug, type, publicOnly, req, t) {
|
|
2513
|
+
//#region @websqlFunc
|
|
2514
|
+
const content = await this.taonCmsContentRepository.getContentBySlugForMedia(slug);
|
|
2515
|
+
if (!content) {
|
|
2516
|
+
contentError(t.gettext('Content was not found.'), 404);
|
|
2517
|
+
}
|
|
2518
|
+
const field = type === 'video'
|
|
2519
|
+
? 'videoKey'
|
|
2520
|
+
: type === 'audio'
|
|
2521
|
+
? 'audioKey'
|
|
2522
|
+
: type === 'thumbnail'
|
|
2523
|
+
? 'thumbnailKey'
|
|
2524
|
+
: 'attachmentKey';
|
|
2525
|
+
const key = content[field];
|
|
2526
|
+
if (!key) {
|
|
2527
|
+
contentError(t.gettext('Content has no [[ type ]] media.', { type }), 404);
|
|
2528
|
+
}
|
|
2529
|
+
if (!(await this.taonCmsContentStorageController.isMediaObjectAvailable(key))) {
|
|
2530
|
+
contentError(t.gettext('The media file was not found in storage.'), 404);
|
|
2531
|
+
}
|
|
2532
|
+
await this.requireReadAccess(content, publicOnly, req, t);
|
|
2533
|
+
const isPrivate = !publicOnly;
|
|
2534
|
+
const token = isPrivate
|
|
2535
|
+
? await this.taonCmsContentStorageController.createStorageDownloadToken({
|
|
2536
|
+
key: key,
|
|
2537
|
+
expiresAt: Date.now() + 5 * 60 * 1000,
|
|
2538
|
+
})
|
|
2539
|
+
: undefined;
|
|
2540
|
+
return this.taonCmsContentStorageController.buildStorageDownloadUrl({
|
|
2541
|
+
req,
|
|
2542
|
+
key: key,
|
|
2543
|
+
private: isPrivate,
|
|
2544
|
+
token,
|
|
2545
|
+
download: type === 'attachment',
|
|
2546
|
+
});
|
|
2547
|
+
//#endregion
|
|
2548
|
+
}
|
|
2549
|
+
//#region methods / require read access
|
|
2550
|
+
async requireReadAccess(content, publicOnly, req, t) {
|
|
2551
|
+
//#region @websqlFunc
|
|
2552
|
+
const { permissions } = await this.taonCmsContentRepository.getPermissionConfiguration(content.id);
|
|
2553
|
+
const isPublic = content.status === 'published' && permissions.length === 0;
|
|
2554
|
+
if (publicOnly) {
|
|
2555
|
+
if (!isPublic) {
|
|
2556
|
+
contentError(t.gettext('This content is not publicly accessible.'), 403);
|
|
2557
|
+
}
|
|
2558
|
+
}
|
|
2559
|
+
else {
|
|
2560
|
+
await this.taonSessionRepository.throwIfNotAuthenticated({ req });
|
|
2561
|
+
const context = await this.taonAuthContextRepository.getContext(req.userId, req.sessionId);
|
|
2562
|
+
const userPermissionCodes = new Set(context?.permissions ?? []);
|
|
2563
|
+
const hasPermission = permissions.some(permission => userPermissionCodes.has(permission.code));
|
|
2564
|
+
if (!context?.isSuperUser && !isPublic && !hasPermission) {
|
|
2565
|
+
contentError(t.gettext('You do not have access to this content.'), 403);
|
|
2566
|
+
}
|
|
2567
|
+
}
|
|
2568
|
+
//#endregion
|
|
2569
|
+
}
|
|
2570
|
+
//#endregion
|
|
2571
|
+
//#endregion
|
|
2572
|
+
//#region methods / get by id
|
|
2573
|
+
getBySlug(slug) {
|
|
2574
|
+
//#region @websqlFunc
|
|
2575
|
+
return async () => {
|
|
2576
|
+
const model = await this.db.findOne({
|
|
2577
|
+
where: {
|
|
2578
|
+
slug,
|
|
2579
|
+
},
|
|
2580
|
+
});
|
|
2581
|
+
return model;
|
|
2582
|
+
};
|
|
2583
|
+
//#endregion
|
|
2584
|
+
}
|
|
2585
|
+
//#endregion
|
|
2586
|
+
//#region methods / create content
|
|
2587
|
+
createContent(input) {
|
|
2588
|
+
//#region @websqlFunc
|
|
2589
|
+
return async () => this.taonCmsContentRepository.createContent(input);
|
|
2590
|
+
//#endregion
|
|
2591
|
+
}
|
|
2592
|
+
//#endregion
|
|
2593
|
+
//#region methods / update content
|
|
2594
|
+
updateContent(id, input) {
|
|
2595
|
+
//#region @websqlFunc
|
|
2596
|
+
return async () => this.taonCmsContentRepository.updateContent(id, input);
|
|
1840
2597
|
//#endregion
|
|
1841
2598
|
}
|
|
2599
|
+
//#endregion
|
|
2600
|
+
duplicateContent(id) {
|
|
2601
|
+
//#region @websqlFunc
|
|
2602
|
+
return async () => this.taonCmsContentRepository.duplicateContent(id);
|
|
2603
|
+
//#endregion
|
|
2604
|
+
}
|
|
2605
|
+
//#region methods / delete content
|
|
2606
|
+
deleteContent(id, expectedVersion) {
|
|
2607
|
+
//#region @websqlFunc
|
|
2608
|
+
return async () => this.taonCmsContentRepository.archiveContent(id, expectedVersion);
|
|
2609
|
+
//#endregion
|
|
2610
|
+
}
|
|
2611
|
+
//#endregion
|
|
2612
|
+
//#region methods / restore content
|
|
2613
|
+
restoreContent(id, input) {
|
|
2614
|
+
//#region @websqlFunc
|
|
2615
|
+
return async () => this.taonCmsContentRepository.restoreContent(id, input);
|
|
2616
|
+
//#endregion
|
|
2617
|
+
}
|
|
2618
|
+
//#endregion
|
|
2619
|
+
//#region methods / list related posts
|
|
2620
|
+
listRelatedPosts(id) {
|
|
2621
|
+
//#region @websqlFunc
|
|
2622
|
+
return async () => this.taonCmsContentRepository.listRelatedPosts(id);
|
|
2623
|
+
//#endregion
|
|
2624
|
+
}
|
|
2625
|
+
//#endregion
|
|
2626
|
+
//#region methods / list permissions
|
|
1842
2627
|
listPermissions(id) {
|
|
1843
2628
|
//#region @websqlFunc
|
|
1844
2629
|
return async () => this.taonCmsContentRepository.listPermissions(id);
|
|
1845
2630
|
//#endregion
|
|
1846
2631
|
}
|
|
2632
|
+
//#endregion
|
|
2633
|
+
//#region methods / get permission configuration
|
|
2634
|
+
getPermissionConfiguration(id) {
|
|
2635
|
+
//#region @websqlFunc
|
|
2636
|
+
return async () => this.taonCmsContentRepository.getPermissionConfiguration(id);
|
|
2637
|
+
//#endregion
|
|
2638
|
+
}
|
|
2639
|
+
//#endregion
|
|
2640
|
+
//#region methods / list application hooks
|
|
1847
2641
|
listApplicationHooks() {
|
|
1848
2642
|
//#region @websqlFunc
|
|
1849
2643
|
return async () => this.taonCmsContentRepository.listApplicationHooks();
|
|
1850
2644
|
//#endregion
|
|
1851
2645
|
}
|
|
2646
|
+
//#endregion
|
|
2647
|
+
//#region methods / get content by hook
|
|
1852
2648
|
getContentByHook(hook) {
|
|
1853
2649
|
//#region @websqlFunc
|
|
1854
|
-
return async () =>
|
|
2650
|
+
return async (req, _res, { t }) => {
|
|
2651
|
+
const content = await this.taonCmsContentRepository.getContentForHook(hook);
|
|
2652
|
+
if (!content) {
|
|
2653
|
+
return '';
|
|
2654
|
+
}
|
|
2655
|
+
await this.requireReadAccess(content, false, req, t);
|
|
2656
|
+
return content.body ?? '';
|
|
2657
|
+
};
|
|
1855
2658
|
//#endregion
|
|
1856
2659
|
}
|
|
2660
|
+
//#endregion
|
|
2661
|
+
//#region methods / get public content by hook
|
|
1857
2662
|
getPublicContentByHook(hook) {
|
|
1858
2663
|
//#region @websqlFunc
|
|
1859
|
-
return async () =>
|
|
2664
|
+
return async (req, _res, { t }) => {
|
|
2665
|
+
const content = await this.taonCmsContentRepository.getContentForHook(hook);
|
|
2666
|
+
if (!content) {
|
|
2667
|
+
return '';
|
|
2668
|
+
}
|
|
2669
|
+
await this.requireReadAccess(content, true, req, t);
|
|
2670
|
+
return content.body ?? '';
|
|
2671
|
+
};
|
|
1860
2672
|
//#endregion
|
|
1861
2673
|
}
|
|
2674
|
+
//#endregion
|
|
2675
|
+
//#region methods / add related post
|
|
1862
2676
|
addRelatedPost(id, relatedPostId, expectedVersion) {
|
|
1863
2677
|
//#region @websqlFunc
|
|
1864
2678
|
return async () => this.taonCmsContentRepository.addRelatedPost(id, relatedPostId, expectedVersion);
|
|
1865
2679
|
//#endregion
|
|
1866
2680
|
}
|
|
2681
|
+
//#endregion
|
|
2682
|
+
//#region methods / delete related post
|
|
1867
2683
|
deleteRelatedPost(id, relatedPostId, expectedVersion) {
|
|
1868
2684
|
//#region @websqlFunc
|
|
1869
2685
|
return async () => this.taonCmsContentRepository.deleteRelatedPost(id, relatedPostId, expectedVersion);
|
|
1870
2686
|
//#endregion
|
|
1871
2687
|
}
|
|
2688
|
+
//#endregion
|
|
2689
|
+
//#region methods / list revisions
|
|
1872
2690
|
listRevisions(id) {
|
|
1873
2691
|
//#region @websqlFunc
|
|
1874
2692
|
return async () => this.taonCmsContentRepository.listRevisions(id);
|
|
1875
2693
|
//#endregion
|
|
1876
2694
|
}
|
|
1877
2695
|
};
|
|
2696
|
+
__decorate([
|
|
2697
|
+
GET(),
|
|
2698
|
+
__param(0, Query('slug')),
|
|
2699
|
+
__metadata("design:type", Function),
|
|
2700
|
+
__metadata("design:paramtypes", [String]),
|
|
2701
|
+
__metadata("design:returntype", Object)
|
|
2702
|
+
], TaonCmsContentController.prototype, "getVideoLinkBySlug", null);
|
|
2703
|
+
__decorate([
|
|
2704
|
+
GET(),
|
|
2705
|
+
__param(0, Query('slug')),
|
|
2706
|
+
__metadata("design:type", Function),
|
|
2707
|
+
__metadata("design:paramtypes", [String]),
|
|
2708
|
+
__metadata("design:returntype", Object)
|
|
2709
|
+
], TaonCmsContentController.prototype, "getPublicVideoLinkBySlug", null);
|
|
2710
|
+
__decorate([
|
|
2711
|
+
GET(),
|
|
2712
|
+
__param(0, Query('slug')),
|
|
2713
|
+
__metadata("design:type", Function),
|
|
2714
|
+
__metadata("design:paramtypes", [String]),
|
|
2715
|
+
__metadata("design:returntype", Object)
|
|
2716
|
+
], TaonCmsContentController.prototype, "getAudioLinkBySlug", null);
|
|
2717
|
+
__decorate([
|
|
2718
|
+
GET(),
|
|
2719
|
+
__param(0, Query('slug')),
|
|
2720
|
+
__metadata("design:type", Function),
|
|
2721
|
+
__metadata("design:paramtypes", [String]),
|
|
2722
|
+
__metadata("design:returntype", Object)
|
|
2723
|
+
], TaonCmsContentController.prototype, "getPublicAudioLinkBySlug", null);
|
|
2724
|
+
__decorate([
|
|
2725
|
+
GET(),
|
|
2726
|
+
__param(0, Query('slug')),
|
|
2727
|
+
__metadata("design:type", Function),
|
|
2728
|
+
__metadata("design:paramtypes", [String]),
|
|
2729
|
+
__metadata("design:returntype", Object)
|
|
2730
|
+
], TaonCmsContentController.prototype, "getAttachmentLinkBySlug", null);
|
|
2731
|
+
__decorate([
|
|
2732
|
+
GET(),
|
|
2733
|
+
__param(0, Query('slug')),
|
|
2734
|
+
__metadata("design:type", Function),
|
|
2735
|
+
__metadata("design:paramtypes", [String]),
|
|
2736
|
+
__metadata("design:returntype", Object)
|
|
2737
|
+
], TaonCmsContentController.prototype, "getPublicAttachmentLinkBySlug", null);
|
|
2738
|
+
__decorate([
|
|
2739
|
+
GET(),
|
|
2740
|
+
__param(0, Query('slug')),
|
|
2741
|
+
__metadata("design:type", Function),
|
|
2742
|
+
__metadata("design:paramtypes", [String]),
|
|
2743
|
+
__metadata("design:returntype", Object)
|
|
2744
|
+
], TaonCmsContentController.prototype, "getThumbnailLinkBySlug", null);
|
|
2745
|
+
__decorate([
|
|
2746
|
+
GET(),
|
|
2747
|
+
__param(0, Query('slug')),
|
|
2748
|
+
__metadata("design:type", Function),
|
|
2749
|
+
__metadata("design:paramtypes", [String]),
|
|
2750
|
+
__metadata("design:returntype", Object)
|
|
2751
|
+
], TaonCmsContentController.prototype, "getPublicThumbnailLinkBySlug", null);
|
|
2752
|
+
__decorate([
|
|
2753
|
+
GET(),
|
|
2754
|
+
__param(0, Query('id')),
|
|
2755
|
+
__metadata("design:type", Function),
|
|
2756
|
+
__metadata("design:paramtypes", [Number]),
|
|
2757
|
+
__metadata("design:returntype", Object)
|
|
2758
|
+
], TaonCmsContentController.prototype, "listTagIds", null);
|
|
1878
2759
|
__decorate([
|
|
1879
2760
|
GET(),
|
|
1880
2761
|
__param(0, Query(`slug`)),
|
|
@@ -1897,6 +2778,13 @@ __decorate([
|
|
|
1897
2778
|
__metadata("design:paramtypes", [Number, Object]),
|
|
1898
2779
|
__metadata("design:returntype", Object)
|
|
1899
2780
|
], TaonCmsContentController.prototype, "updateContent", null);
|
|
2781
|
+
__decorate([
|
|
2782
|
+
POST(),
|
|
2783
|
+
__param(0, Query('id')),
|
|
2784
|
+
__metadata("design:type", Function),
|
|
2785
|
+
__metadata("design:paramtypes", [Number]),
|
|
2786
|
+
__metadata("design:returntype", Object)
|
|
2787
|
+
], TaonCmsContentController.prototype, "duplicateContent", null);
|
|
1900
2788
|
__decorate([
|
|
1901
2789
|
DELETE(),
|
|
1902
2790
|
__param(0, Query('id')),
|
|
@@ -1927,6 +2815,13 @@ __decorate([
|
|
|
1927
2815
|
__metadata("design:paramtypes", [Number]),
|
|
1928
2816
|
__metadata("design:returntype", Object)
|
|
1929
2817
|
], TaonCmsContentController.prototype, "listPermissions", null);
|
|
2818
|
+
__decorate([
|
|
2819
|
+
GET(),
|
|
2820
|
+
__param(0, Query('id')),
|
|
2821
|
+
__metadata("design:type", Function),
|
|
2822
|
+
__metadata("design:paramtypes", [Number]),
|
|
2823
|
+
__metadata("design:returntype", Object)
|
|
2824
|
+
], TaonCmsContentController.prototype, "getPermissionConfiguration", null);
|
|
1930
2825
|
__decorate([
|
|
1931
2826
|
GET(),
|
|
1932
2827
|
__metadata("design:type", Function),
|
|
@@ -1974,24 +2869,37 @@ __decorate([
|
|
|
1974
2869
|
], TaonCmsContentController.prototype, "listRevisions", null);
|
|
1975
2870
|
TaonCmsContentController = __decorate([
|
|
1976
2871
|
TaonController({
|
|
2872
|
+
//#region controller options
|
|
1977
2873
|
className: 'TaonCmsContentController',
|
|
1978
2874
|
allowedMethods: [
|
|
1979
2875
|
'getAll',
|
|
1980
2876
|
'getBy',
|
|
1981
2877
|
'createContent',
|
|
2878
|
+
'duplicateContent',
|
|
1982
2879
|
'updateContent',
|
|
1983
2880
|
'deleteContent',
|
|
1984
2881
|
'restoreContent',
|
|
1985
2882
|
'listRevisions',
|
|
1986
2883
|
'listRelatedPosts',
|
|
1987
2884
|
'listPermissions',
|
|
2885
|
+
'getPermissionConfiguration',
|
|
1988
2886
|
'listApplicationHooks',
|
|
1989
2887
|
'getContentByHook',
|
|
1990
2888
|
'getPublicContentByHook',
|
|
2889
|
+
'getVideoLinkBySlug',
|
|
2890
|
+
'getPublicVideoLinkBySlug',
|
|
2891
|
+
'getAudioLinkBySlug',
|
|
2892
|
+
'getPublicAudioLinkBySlug',
|
|
2893
|
+
'getAttachmentLinkBySlug',
|
|
2894
|
+
'getPublicAttachmentLinkBySlug',
|
|
2895
|
+
'getThumbnailLinkBySlug',
|
|
2896
|
+
'getPublicThumbnailLinkBySlug',
|
|
2897
|
+
'listTagIds',
|
|
1991
2898
|
'addRelatedPost',
|
|
1992
2899
|
'deleteRelatedPost',
|
|
1993
2900
|
'paginationQuery',
|
|
1994
2901
|
],
|
|
2902
|
+
//#endregion
|
|
1995
2903
|
})
|
|
1996
2904
|
], TaonCmsContentController);
|
|
1997
2905
|
|
|
@@ -2036,34 +2944,6 @@ TaonCmsContentSubscriber = __decorate([
|
|
|
2036
2944
|
})
|
|
2037
2945
|
], TaonCmsContentSubscriber);
|
|
2038
2946
|
|
|
2039
|
-
//#endregion
|
|
2040
|
-
let TaonCmsContentStorageController = class TaonCmsContentStorageController extends TaonBaseStorageController {
|
|
2041
|
-
async handleUploadFiles(files, queryParams, req, res) {
|
|
2042
|
-
/* */
|
|
2043
|
-
/* */
|
|
2044
|
-
/* */
|
|
2045
|
-
/* */
|
|
2046
|
-
/* */
|
|
2047
|
-
/* */
|
|
2048
|
-
/* */
|
|
2049
|
-
/* */
|
|
2050
|
-
return (void 0);
|
|
2051
|
-
}
|
|
2052
|
-
afterFileUploadHook() { }
|
|
2053
|
-
buildStorageDownloadUrl() {
|
|
2054
|
-
throw new Error('Use the download endpoint for CMS media.');
|
|
2055
|
-
}
|
|
2056
|
-
async createStorageDownloadToken() {
|
|
2057
|
-
throw new Error('CMS media download tokens are not enabled.');
|
|
2058
|
-
}
|
|
2059
|
-
};
|
|
2060
|
-
TaonCmsContentStorageController = __decorate([
|
|
2061
|
-
TaonController({
|
|
2062
|
-
className: 'TaonCmsContentStorageController',
|
|
2063
|
-
allowedMethods: ['exists', 'download', 'getMetadata', 'uploadFormDataToServer'],
|
|
2064
|
-
})
|
|
2065
|
-
], TaonCmsContentStorageController);
|
|
2066
|
-
|
|
2067
2947
|
//#region imports
|
|
2068
2948
|
//#endregion
|
|
2069
2949
|
const TaonCmsContentAbstractContext = createContext(() => ({
|
|
@@ -2482,34 +3362,426 @@ const TaonCmsAbstractContext = createContext(() => ({
|
|
|
2482
3362
|
}));
|
|
2483
3363
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
2484
3364
|
|
|
3365
|
+
const progressCallbacks = new WeakMap();
|
|
3366
|
+
// Keep Taon's middleware, retries and response decoding; replace only the
|
|
3367
|
+
// final Fetch transport for uploads that request browser upload events.
|
|
3368
|
+
function trackCmsUpload(url, body, onProgress) {
|
|
3369
|
+
const key = `cms-upload-progress-POST-${new URL(url).pathname}`;
|
|
3370
|
+
if (!Resource__NS__methodsInterceptors.has(key)) {
|
|
3371
|
+
Resource__NS__methodsInterceptors.set(key, {
|
|
3372
|
+
intercept: ({ req, next }) => {
|
|
3373
|
+
if (!(req.body instanceof FormData)) {
|
|
3374
|
+
return next.handle(req);
|
|
3375
|
+
}
|
|
3376
|
+
const uploadBody = req.body;
|
|
3377
|
+
const callback = progressCallbacks.get(uploadBody);
|
|
3378
|
+
if (!callback) {
|
|
3379
|
+
return next.handle(req);
|
|
3380
|
+
}
|
|
3381
|
+
return new Observable(subscriber => {
|
|
3382
|
+
const xhr = new XMLHttpRequest();
|
|
3383
|
+
xhr.open(req.method || 'POST', req.url);
|
|
3384
|
+
xhr.withCredentials = req.credentials === 'include';
|
|
3385
|
+
new Headers(req.headers).forEach((value, name) => {
|
|
3386
|
+
// The browser must supply the multipart boundary.
|
|
3387
|
+
if (name.toLowerCase() !== 'content-type') {
|
|
3388
|
+
xhr.setRequestHeader(name, value);
|
|
3389
|
+
}
|
|
3390
|
+
});
|
|
3391
|
+
xhr.upload.onprogress = event => {
|
|
3392
|
+
if (event.lengthComputable && event.total > 0) {
|
|
3393
|
+
callback(Math.min(100, Math.floor((event.loaded * 100) / event.total)));
|
|
3394
|
+
}
|
|
3395
|
+
};
|
|
3396
|
+
xhr.onload = () => {
|
|
3397
|
+
const headers = new Headers();
|
|
3398
|
+
for (const line of xhr
|
|
3399
|
+
.getAllResponseHeaders()
|
|
3400
|
+
.trim()
|
|
3401
|
+
.split(/[\r\n]+/)) {
|
|
3402
|
+
const separator = line.indexOf(':');
|
|
3403
|
+
if (separator > 0) {
|
|
3404
|
+
headers.append(line.slice(0, separator), line.slice(separator + 1).trim());
|
|
3405
|
+
}
|
|
3406
|
+
}
|
|
3407
|
+
subscriber.next(new Response([204, 205, 304].includes(xhr.status) ? null : xhr.responseText, {
|
|
3408
|
+
status: xhr.status,
|
|
3409
|
+
statusText: xhr.statusText,
|
|
3410
|
+
headers,
|
|
3411
|
+
}));
|
|
3412
|
+
subscriber.complete();
|
|
3413
|
+
};
|
|
3414
|
+
xhr.onerror = () => subscriber.error(new Error('Media upload network error.'));
|
|
3415
|
+
xhr.ontimeout = () => subscriber.error(new Error('Media upload timed out.'));
|
|
3416
|
+
xhr.onabort = () => subscriber.error(new Error('Media upload was cancelled.'));
|
|
3417
|
+
const abort = () => xhr.abort();
|
|
3418
|
+
req.signal?.addEventListener('abort', abort, { once: true });
|
|
3419
|
+
if (req.signal?.aborted) {
|
|
3420
|
+
subscriber.error(new Error('Media upload was cancelled.'));
|
|
3421
|
+
}
|
|
3422
|
+
else {
|
|
3423
|
+
callback(0);
|
|
3424
|
+
xhr.send(uploadBody);
|
|
3425
|
+
}
|
|
3426
|
+
return () => {
|
|
3427
|
+
req.signal?.removeEventListener('abort', abort);
|
|
3428
|
+
if (xhr.readyState !== XMLHttpRequest.DONE) {
|
|
3429
|
+
xhr.abort();
|
|
3430
|
+
}
|
|
3431
|
+
};
|
|
3432
|
+
});
|
|
3433
|
+
},
|
|
3434
|
+
});
|
|
3435
|
+
}
|
|
3436
|
+
progressCallbacks.set(body, onProgress);
|
|
3437
|
+
return () => progressCallbacks.delete(body);
|
|
3438
|
+
}
|
|
3439
|
+
|
|
3440
|
+
//#region imports
|
|
3441
|
+
//#endregion
|
|
3442
|
+
class TaonCmsContentApiService extends TaonBaseAngularService {
|
|
3443
|
+
constructor() {
|
|
3444
|
+
super(...arguments);
|
|
3445
|
+
//#region fields & getters
|
|
3446
|
+
this.taonCmsContentController = this.injectController(TaonCmsContentController);
|
|
3447
|
+
this.taonCmsContentStorageController = this.injectController(TaonCmsContentStorageController);
|
|
3448
|
+
}
|
|
3449
|
+
get crudController() {
|
|
3450
|
+
return this.taonCmsContentController;
|
|
3451
|
+
}
|
|
3452
|
+
//#endregion
|
|
3453
|
+
//#region API / get by id
|
|
3454
|
+
async getById(id) {
|
|
3455
|
+
return (await this.taonCmsContentController.getBy(id).request()).body.json;
|
|
3456
|
+
}
|
|
3457
|
+
//#endregion
|
|
3458
|
+
//#region API / get by slug
|
|
3459
|
+
async getBySlug(slug) {
|
|
3460
|
+
return (await this.taonCmsContentController.getBySlug(slug).request()).body
|
|
3461
|
+
.json;
|
|
3462
|
+
}
|
|
3463
|
+
//#endregion
|
|
3464
|
+
//#region API / get video link by slug
|
|
3465
|
+
/**
|
|
3466
|
+
* Get link to private video
|
|
3467
|
+
*/
|
|
3468
|
+
getVideoLinkBySlug(slug) {
|
|
3469
|
+
return this.taonCmsContentController
|
|
3470
|
+
.getVideoLinkBySlug(slug)
|
|
3471
|
+
.request()
|
|
3472
|
+
.observable.pipe(map(res => res.body.text), catchError(err => {
|
|
3473
|
+
console.error(err);
|
|
3474
|
+
return of('');
|
|
3475
|
+
}));
|
|
3476
|
+
}
|
|
3477
|
+
//#endregion
|
|
3478
|
+
//#region API / get public video link by slug
|
|
3479
|
+
async getPublicVideoLinkBySlug(slug) {
|
|
3480
|
+
return (await this.taonCmsContentController
|
|
3481
|
+
.getPublicVideoLinkBySlug(slug)
|
|
3482
|
+
.request()).body.text;
|
|
3483
|
+
}
|
|
3484
|
+
//#endregion
|
|
3485
|
+
//#region API / get audio link by slug
|
|
3486
|
+
getAudioLinkBySlug(slug) {
|
|
3487
|
+
return this.taonCmsContentController
|
|
3488
|
+
.getAudioLinkBySlug(slug)
|
|
3489
|
+
.request()
|
|
3490
|
+
.observable.pipe(map(res => res.body.text), catchError(err => {
|
|
3491
|
+
console.error(err);
|
|
3492
|
+
return of('');
|
|
3493
|
+
}));
|
|
3494
|
+
}
|
|
3495
|
+
//#endregion
|
|
3496
|
+
//#region API / get public audio link by slug
|
|
3497
|
+
async getPublicAudioLinkBySlug(slug) {
|
|
3498
|
+
return (await this.taonCmsContentController
|
|
3499
|
+
.getPublicAudioLinkBySlug(slug)
|
|
3500
|
+
.request()).body.text;
|
|
3501
|
+
}
|
|
3502
|
+
//#endregion
|
|
3503
|
+
//#region API / get attachment link by slug
|
|
3504
|
+
async getAttachmentLinkBySlug(slug) {
|
|
3505
|
+
return (await this.taonCmsContentController
|
|
3506
|
+
.getAttachmentLinkBySlug(slug)
|
|
3507
|
+
.request()).body.text;
|
|
3508
|
+
}
|
|
3509
|
+
//#endregion
|
|
3510
|
+
//#region API / get public attachment link by slug
|
|
3511
|
+
async getPublicAttachmentLinkBySlug(slug) {
|
|
3512
|
+
return (await this.taonCmsContentController
|
|
3513
|
+
.getPublicAttachmentLinkBySlug(slug)
|
|
3514
|
+
.request()).body.text;
|
|
3515
|
+
}
|
|
3516
|
+
//#endregion
|
|
3517
|
+
//#region API / get content by hook
|
|
3518
|
+
getContentByHook(hook) {
|
|
3519
|
+
return this.taonCmsContentController.getContentByHook(hook)
|
|
3520
|
+
.request().observable.pipe(map(res => res.body.text));
|
|
3521
|
+
}
|
|
3522
|
+
//#endregion
|
|
3523
|
+
//#region API / get public content by hook
|
|
3524
|
+
getPublicContentByHook(hook) {
|
|
3525
|
+
return this.taonCmsContentController.getPublicContentByHook(hook)
|
|
3526
|
+
.request().observable.pipe(map(res => res.body.text), catchError(() => of('---')));
|
|
3527
|
+
}
|
|
3528
|
+
//#endregion
|
|
3529
|
+
//#region API / list application hooks
|
|
3530
|
+
listApplicationHooks() {
|
|
3531
|
+
return this.taonCmsContentController.listApplicationHooks()
|
|
3532
|
+
.request().observable.pipe(map(res => res.body.json));
|
|
3533
|
+
}
|
|
3534
|
+
//#endregion
|
|
3535
|
+
//#region API / upload media
|
|
3536
|
+
async uploadMedia(file, onProgress) {
|
|
3537
|
+
const formData = new FormData();
|
|
3538
|
+
formData.append('file', file);
|
|
3539
|
+
const stopTracking = onProgress
|
|
3540
|
+
? trackCmsUpload(this.taonCmsContentStorageController.getThisControllerMethodFullUrl('uploadFormDataToServer'), formData, onProgress)
|
|
3541
|
+
: undefined;
|
|
3542
|
+
try {
|
|
3543
|
+
const response = await this.taonCmsContentStorageController
|
|
3544
|
+
.uploadFormDataToServer(formData)
|
|
3545
|
+
.request();
|
|
3546
|
+
const objects = response.body.json;
|
|
3547
|
+
if (!Array.isArray(objects) || objects.length !== 1 || !objects[0]?.key) {
|
|
3548
|
+
throw new Error('The upload did not return a media key.');
|
|
3549
|
+
}
|
|
3550
|
+
onProgress?.(100);
|
|
3551
|
+
return objects[0];
|
|
3552
|
+
}
|
|
3553
|
+
finally {
|
|
3554
|
+
stopTracking?.();
|
|
3555
|
+
}
|
|
3556
|
+
}
|
|
3557
|
+
//#endregion
|
|
3558
|
+
//#region API / list assets
|
|
3559
|
+
listAssets() {
|
|
3560
|
+
return this.taonCmsContentStorageController
|
|
3561
|
+
.list({})
|
|
3562
|
+
.request()
|
|
3563
|
+
.observable.pipe(map(res => res.body.json));
|
|
3564
|
+
}
|
|
3565
|
+
//#endregion
|
|
3566
|
+
//#region API / get asset url
|
|
3567
|
+
async getAssetUrl(key) {
|
|
3568
|
+
return (await this.taonCmsContentStorageController
|
|
3569
|
+
.getPrivateUrl(key, { expiresInSeconds: 5 * 60 })
|
|
3570
|
+
.request()).body.text;
|
|
3571
|
+
}
|
|
3572
|
+
//#endregion
|
|
3573
|
+
//#region API / create content
|
|
3574
|
+
listTagIds(id) {
|
|
3575
|
+
return this.taonCmsContentController
|
|
3576
|
+
.listTagIds(id)
|
|
3577
|
+
.request()
|
|
3578
|
+
.observable.pipe(map(res => res.body.json));
|
|
3579
|
+
}
|
|
3580
|
+
async getThumbnailLinkBySlug(slug, publicOnly = false) {
|
|
3581
|
+
const response = publicOnly
|
|
3582
|
+
? await this.taonCmsContentController
|
|
3583
|
+
.getPublicThumbnailLinkBySlug(slug)
|
|
3584
|
+
.request()
|
|
3585
|
+
: await this.taonCmsContentController
|
|
3586
|
+
.getThumbnailLinkBySlug(slug)
|
|
3587
|
+
.request();
|
|
3588
|
+
return response.body.text;
|
|
3589
|
+
}
|
|
3590
|
+
createContent(input) {
|
|
3591
|
+
return this.taonCmsContentController.createContent(input)
|
|
3592
|
+
.request().observable.pipe(map(res => res.body.json));
|
|
3593
|
+
}
|
|
3594
|
+
//#endregion
|
|
3595
|
+
//#region API / duplicate content
|
|
3596
|
+
duplicateContent(id) {
|
|
3597
|
+
return this.taonCmsContentController.duplicateContent(id)
|
|
3598
|
+
.request().observable.pipe(map(res => res.body.json));
|
|
3599
|
+
}
|
|
3600
|
+
//#endregion
|
|
3601
|
+
//#region API / update content
|
|
3602
|
+
updateContent(id, input) {
|
|
3603
|
+
return this.taonCmsContentController.updateContent(id, input)
|
|
3604
|
+
.request().observable.pipe(map(res => res.body.json));
|
|
3605
|
+
}
|
|
3606
|
+
//#endregion
|
|
3607
|
+
//#region API / delete content
|
|
3608
|
+
deleteContent(id, expectedVersion) {
|
|
3609
|
+
return this.taonCmsContentController.deleteContent(id, expectedVersion)
|
|
3610
|
+
.request().observable.pipe(map(res => res.body.json));
|
|
3611
|
+
}
|
|
3612
|
+
//#endregion
|
|
3613
|
+
//#region API / restore content
|
|
3614
|
+
restoreContent(id, input) {
|
|
3615
|
+
return this.taonCmsContentController.restoreContent(id, input)
|
|
3616
|
+
.request().observable.pipe(map(res => res.body.json));
|
|
3617
|
+
}
|
|
3618
|
+
//#endregion
|
|
3619
|
+
//#region API / list revisions
|
|
3620
|
+
listRevisions(id) {
|
|
3621
|
+
return this.taonCmsContentController.listRevisions(id)
|
|
3622
|
+
.request().observable.pipe(map(res => res.body.json));
|
|
3623
|
+
}
|
|
3624
|
+
//#endregion
|
|
3625
|
+
//#region API / list related posts
|
|
3626
|
+
listRelatedPosts(id) {
|
|
3627
|
+
return this.taonCmsContentController.listRelatedPosts(id)
|
|
3628
|
+
.request().observable.pipe(map(res => res.body.json));
|
|
3629
|
+
}
|
|
3630
|
+
//#endregion
|
|
3631
|
+
//#region API / list permissions
|
|
3632
|
+
listPermissions(id) {
|
|
3633
|
+
return this.taonCmsContentController.listPermissions(id)
|
|
3634
|
+
.request().observable.pipe(map(res => res.body.json));
|
|
3635
|
+
}
|
|
3636
|
+
//#endregion
|
|
3637
|
+
//#region API / get permission configuration
|
|
3638
|
+
getPermissionConfiguration(id) {
|
|
3639
|
+
return this.taonCmsContentController.getPermissionConfiguration(id)
|
|
3640
|
+
.request().observable.pipe(map(res => res.body.json));
|
|
3641
|
+
}
|
|
3642
|
+
//#endregion
|
|
3643
|
+
//#region API / add related post
|
|
3644
|
+
addRelatedPost(id, relatedPostId, expectedVersion) {
|
|
3645
|
+
return this.taonCmsContentController.addRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
|
|
3646
|
+
}
|
|
3647
|
+
//#endregion
|
|
3648
|
+
//#region API / delete related post
|
|
3649
|
+
deleteRelatedPost(id, relatedPostId, expectedVersion) {
|
|
3650
|
+
return this.taonCmsContentController.deleteRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
|
|
3651
|
+
}
|
|
3652
|
+
//#endregion
|
|
3653
|
+
//#region API / get all entites
|
|
3654
|
+
/**
|
|
3655
|
+
* TODO not good idea if manu posts - refactor later:
|
|
3656
|
+
* - add pagination for post selector
|
|
3657
|
+
*/
|
|
3658
|
+
get allMyEntities$() {
|
|
3659
|
+
return this.taonCmsContentController.getAll().request().observable.pipe(map(res => res.body?.json));
|
|
3660
|
+
}
|
|
3661
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3662
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService }); }
|
|
3663
|
+
}
|
|
3664
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, decorators: [{
|
|
3665
|
+
type: Injectable
|
|
3666
|
+
}] });
|
|
3667
|
+
|
|
3668
|
+
const t$a = Translation.for('src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts', { "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-CHC8Rpav.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-Dsra3EeZ.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-D-t_ndXn.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-N_2QUNLq.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BqRkgB92.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DT7qFf7D.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-DSG7SK4m.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bs8amcIs.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-ByVH6z2Z.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-DjKWwkMP.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Cvak6-ec.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-DGADylre.mjs')).default } });
|
|
3669
|
+
class TaonCmsAssetPreviewComponent {
|
|
3670
|
+
constructor() {
|
|
3671
|
+
this.t = t$a.for(this);
|
|
3672
|
+
this.api = inject(TaonCmsContentApiService);
|
|
3673
|
+
this.destroyRef = inject(DestroyRef);
|
|
3674
|
+
this.url = signal('', ...(ngDevMode ? [{ debugName: "url" }] : []));
|
|
3675
|
+
this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
|
|
3676
|
+
this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
|
|
3677
|
+
}
|
|
3678
|
+
get previewKind() {
|
|
3679
|
+
const contentType = this.asset.contentType?.trim().toLowerCase();
|
|
3680
|
+
if (contentType?.startsWith('video/')) {
|
|
3681
|
+
return 'video';
|
|
3682
|
+
}
|
|
3683
|
+
if (contentType?.startsWith('audio/')) {
|
|
3684
|
+
return 'audio';
|
|
3685
|
+
}
|
|
3686
|
+
return 'attachment';
|
|
3687
|
+
}
|
|
3688
|
+
ngOnInit() {
|
|
3689
|
+
void this.reload();
|
|
3690
|
+
}
|
|
3691
|
+
async reload() {
|
|
3692
|
+
if (this.loading()) {
|
|
3693
|
+
return;
|
|
3694
|
+
}
|
|
3695
|
+
this.loading.set(true);
|
|
3696
|
+
this.error.set('');
|
|
3697
|
+
this.url.set('');
|
|
3698
|
+
try {
|
|
3699
|
+
const url = new URL(await this.api.getAssetUrl(this.asset.key));
|
|
3700
|
+
if (this.previewKind === 'attachment') {
|
|
3701
|
+
url.searchParams.set('download', 'true');
|
|
3702
|
+
}
|
|
3703
|
+
if (!this.destroyRef.destroyed) {
|
|
3704
|
+
this.url.set(url.href);
|
|
3705
|
+
}
|
|
3706
|
+
}
|
|
3707
|
+
catch (error) {
|
|
3708
|
+
if (!this.destroyRef.destroyed) {
|
|
3709
|
+
console.error('[taon-cms-asset-preview] Unable to load asset URL', error);
|
|
3710
|
+
this.error.set(this.t.gettext('The asset could not be opened. Please retry.'));
|
|
3711
|
+
}
|
|
3712
|
+
}
|
|
3713
|
+
finally {
|
|
3714
|
+
if (!this.destroyRef.destroyed) {
|
|
3715
|
+
this.loading.set(false);
|
|
3716
|
+
}
|
|
3717
|
+
}
|
|
3718
|
+
}
|
|
3719
|
+
playbackError() {
|
|
3720
|
+
this.error.set(this.t.gettext('Playback failed or the preview link expired. Please retry.'));
|
|
3721
|
+
}
|
|
3722
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3723
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsAssetPreviewComponent, isStandalone: true, selector: "taon-cms-asset-preview", inputs: { asset: "asset" }, ngImport: i0, template: "@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading asset preview...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"loading()\"\n (click)=\"reload()\">\n {{ t.gettext('Retry preview') }}\n </button>\n}\n@if (url()) {\n @switch (previewKind) {\n @case ('video') {\n <video\n controls\n preload=\"none\"\n [src]=\"url()\"\n (error)=\"playbackError()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n }\n @case ('audio') {\n <audio\n controls\n preload=\"none\"\n [src]=\"url()\"\n (error)=\"playbackError()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n }\n @default {\n <a\n [href]=\"url()\"\n [attr.download]=\"asset.fileName\"\n target=\"_blank\"\n rel=\"noopener\">\n {{ asset.fileName || asset.key }}\n </a>\n }\n }\n}\n", styles: [":host{display:block;padding:16px}video{max-width:100%;max-height:400px!important}audio{max-width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3724
|
+
}
|
|
3725
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetPreviewComponent, decorators: [{
|
|
3726
|
+
type: Component,
|
|
3727
|
+
args: [{ selector: 'taon-cms-asset-preview', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule], template: "@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading asset preview...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"loading()\"\n (click)=\"reload()\">\n {{ t.gettext('Retry preview') }}\n </button>\n}\n@if (url()) {\n @switch (previewKind) {\n @case ('video') {\n <video\n controls\n preload=\"none\"\n [src]=\"url()\"\n (error)=\"playbackError()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n }\n @case ('audio') {\n <audio\n controls\n preload=\"none\"\n [src]=\"url()\"\n (error)=\"playbackError()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n }\n @default {\n <a\n [href]=\"url()\"\n [attr.download]=\"asset.fileName\"\n target=\"_blank\"\n rel=\"noopener\">\n {{ asset.fileName || asset.key }}\n </a>\n }\n }\n}\n", styles: [":host{display:block;padding:16px}video{max-width:100%;max-height:400px!important}audio{max-width:100%}\n"] }]
|
|
3728
|
+
}], propDecorators: { asset: [{
|
|
3729
|
+
type: Input,
|
|
3730
|
+
args: [{ required: true }]
|
|
3731
|
+
}] } });
|
|
3732
|
+
|
|
3733
|
+
const t$9 = Translation.for('src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts', { "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-CHC8Rpav.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-Dsra3EeZ.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-D-t_ndXn.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-N_2QUNLq.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-BqRkgB92.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-DT7qFf7D.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-DSG7SK4m.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bs8amcIs.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-ByVH6z2Z.mjs')).default }, "src/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-DjKWwkMP.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-Cvak6-ec.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-DGADylre.mjs')).default } });
|
|
2485
3734
|
class TaonCmsAssetsBackofficeComponent {
|
|
2486
3735
|
constructor() {
|
|
2487
|
-
this.
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
];
|
|
3736
|
+
this.t = t$9.for(this);
|
|
3737
|
+
this.api = inject(TaonCmsContentApiService);
|
|
3738
|
+
this.destroyRef = inject(DestroyRef);
|
|
3739
|
+
this.assets = signal([], ...(ngDevMode ? [{ debugName: "assets" }] : []));
|
|
3740
|
+
this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
|
|
3741
|
+
this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
|
|
2491
3742
|
this.columns = [
|
|
2492
|
-
{ header: 'ID', field: '
|
|
2493
|
-
{ header: '
|
|
3743
|
+
{ header: 'ID', field: 'keyVisible', sortable: true, showExpand: true },
|
|
3744
|
+
{ header: this.t.gettext('File Name'), field: 'fileName', sortable: true },
|
|
3745
|
+
{
|
|
3746
|
+
header: this.t.gettext('Content Type'),
|
|
3747
|
+
field: 'contentType',
|
|
3748
|
+
sortable: true,
|
|
3749
|
+
},
|
|
2494
3750
|
];
|
|
2495
3751
|
}
|
|
3752
|
+
ngOnInit() {
|
|
3753
|
+
this.reload();
|
|
3754
|
+
}
|
|
3755
|
+
reload() {
|
|
3756
|
+
if (this.loading()) {
|
|
3757
|
+
return;
|
|
3758
|
+
}
|
|
3759
|
+
this.loading.set(true);
|
|
3760
|
+
this.error.set('');
|
|
3761
|
+
this.api
|
|
3762
|
+
.listAssets()
|
|
3763
|
+
.pipe(map$1(c => c), takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false)))
|
|
3764
|
+
.subscribe({
|
|
3765
|
+
next: assets => this.assets.set(assets.map(c => {
|
|
3766
|
+
c.keyVisible = ___NS__first(c.key.split('__'));
|
|
3767
|
+
return c;
|
|
3768
|
+
})),
|
|
3769
|
+
error: (error) => {
|
|
3770
|
+
console.error('[taon-cms-assets-backoffice] Unable to load assets', error);
|
|
3771
|
+
this.error.set(this.t.gettext('Assets could not be loaded. Please try reloading.'));
|
|
3772
|
+
},
|
|
3773
|
+
});
|
|
3774
|
+
}
|
|
2496
3775
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2497
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2498
|
-
<h1>CMS assets</h1>
|
|
2499
|
-
<mtx-grid [data]="assets" [columns]="columns"></mtx-grid>
|
|
2500
|
-
`, isInline: true, dependencies: [{ kind: "component", type: MtxGrid, selector: "mtx-grid", inputs: ["displayedColumns", "columns", "data", "length", "loading", "trackBy", "columnResizable", "emptyValuePlaceholder", "pageOnFront", "showPaginator", "pageDisabled", "showFirstLastButtons", "pageIndex", "pageSize", "pageSizeOptions", "hidePageSize", "paginationTemplate", "sortOnFront", "sortActive", "sortDirection", "sortDisableClear", "sortDisabled", "sortStart", "rowHover", "rowStriped", "expandable", "expansionTemplate", "multiSelectable", "multiSelectionWithClick", "rowSelectable", "hideRowSelectionCheckbox", "disableRowClickSelection", "rowSelectionFormatter", "rowClassFormatter", "rowSelected", "cellSelectable", "showToolbar", "toolbarTitle", "toolbarTemplate", "columnHideable", "columnHideableChecked", "columnSortable", "columnPinnable", "columnPinOptions", "showColumnMenuButton", "columnMenuButtonText", "columnMenuButtonType", "columnMenuButtonColor", "columnMenuButtonClass", "columnMenuButtonIcon", "columnMenuButtonFontIcon", "columnMenuButtonSvgIcon", "showColumnMenuHeader", "columnMenuHeaderText", "columnMenuHeaderTemplate", "showColumnMenuFooter", "columnMenuFooterText", "columnMenuFooterTemplate", "noResultText", "noResultTemplate", "headerTemplate", "headerExtraTemplate", "cellTemplate", "useContentRowTemplate", "useContentHeaderRowTemplate", "useContentFooterRowTemplate", "showSummary", "summaryTemplate", "showSidebar", "sidebarTemplate", "showStatusbar", "statusbarTemplate"], outputs: ["page", "sortChange", "rowClick", "rowContextMenu", "expansionChange", "rowSelectedChange", "cellSelectedChange", "columnChange"], exportAs: ["mtxGrid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3776
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsAssetsBackofficeComponent, isStandalone: true, selector: "taon-cms-assets-backoffice", providers: [TaonCmsContentApiService], ngImport: i0, template: "<h1>{{ t.gettext('CMS assets') }}</h1>\n<button\n mat-button\n type=\"button\"\n [disabled]=\"loading()\"\n (click)=\"reload()\">\n {{ t.gettext('Reload assets') }}\n</button>\n@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading assets...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n\n<ng-template\n #preview\n let-asset>\n <taon-cms-asset-preview [asset]=\"asset\" />\n</ng-template>\n\n<taon-datatable\n [data]=\"assets()\"\n [columns]=\"columns\"\n [allowedColumns]=\"['key', 'fileName', 'contentType']\"\n [hideAddButton]=\"true\"\n [expansionTemplate]=\"preview\"\n searchMode=\"advanced\">\n</taon-datatable>\n", dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: TaonDatatableComponent, selector: "taon-datatable", inputs: ["pageNumber", "pageSize", "pageSizeOptions", "allowedColumns", "expansionTemplate", "entityCrudController", "columns", "hideSearch", "hideAddButton", "safe", "searchMode", "callQueryMethod", "data", "showPaginator"], outputs: ["expansionChange", "addingItem"] }, { kind: "component", type: TaonCmsAssetPreviewComponent, selector: "taon-cms-asset-preview", inputs: ["asset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2501
3777
|
}
|
|
2502
3778
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetsBackofficeComponent, decorators: [{
|
|
2503
3779
|
type: Component,
|
|
2504
|
-
args: [{
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
template:
|
|
2509
|
-
<h1>CMS assets</h1>
|
|
2510
|
-
<mtx-grid [data]="assets" [columns]="columns"></mtx-grid>
|
|
2511
|
-
`,
|
|
2512
|
-
}]
|
|
3780
|
+
args: [{ selector: 'taon-cms-assets-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
3781
|
+
MatButtonModule,
|
|
3782
|
+
TaonDatatableComponent,
|
|
3783
|
+
TaonCmsAssetPreviewComponent,
|
|
3784
|
+
], providers: [TaonCmsContentApiService], template: "<h1>{{ t.gettext('CMS assets') }}</h1>\n<button\n mat-button\n type=\"button\"\n [disabled]=\"loading()\"\n (click)=\"reload()\">\n {{ t.gettext('Reload assets') }}\n</button>\n@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading assets...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n\n<ng-template\n #preview\n let-asset>\n <taon-cms-asset-preview [asset]=\"asset\" />\n</ng-template>\n\n<taon-datatable\n [data]=\"assets()\"\n [columns]=\"columns\"\n [allowedColumns]=\"['key', 'fileName', 'contentType']\"\n [hideAddButton]=\"true\"\n [expansionTemplate]=\"preview\"\n searchMode=\"advanced\">\n</taon-datatable>\n" }]
|
|
2513
3785
|
}] });
|
|
2514
3786
|
|
|
2515
3787
|
var taonCmsAssetsBackoffice_component = /*#__PURE__*/Object.freeze({
|
|
@@ -2531,8 +3803,10 @@ var taonCmsAssetsBackoffice_routes = /*#__PURE__*/Object.freeze({
|
|
|
2531
3803
|
|
|
2532
3804
|
//#region imports
|
|
2533
3805
|
//#endregion
|
|
3806
|
+
const t$8 = Translation.for('src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts', { "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.html.en-US.i18n.data-C64eFnqr.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-Cm-otof5.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-C9czRdlm.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BqWMae53.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-DpAcVBSp.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CSA7g7KN.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CzYi31y6.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data--hNK9Xkt.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-El7DeGTg.mjs')).default } });
|
|
2534
3807
|
class TaonCmsBackofficeComponent {
|
|
2535
3808
|
constructor() {
|
|
3809
|
+
this.t = t$8.for(this);
|
|
2536
3810
|
this.componentLoaded = false;
|
|
2537
3811
|
}
|
|
2538
3812
|
onRouteActivate(component) {
|
|
@@ -2542,11 +3816,11 @@ class TaonCmsBackofficeComponent {
|
|
|
2542
3816
|
this.componentLoaded = false;
|
|
2543
3817
|
}
|
|
2544
3818
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2545
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsBackofficeComponent, isStandalone: true, selector: "app-taon-cms-backoffice", ngImport: i0, template: "@if (!componentLoaded) {\n <code>\n In CMS you can manage content and settings for your website
|
|
3819
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsBackofficeComponent, isStandalone: true, selector: "app-taon-cms-backoffice", ngImport: i0, template: "@if (!componentLoaded) {\n <code>\n {{\n t.gettext('In CMS you can manage content and settings for your website.')\n }}\n </code>\n}\n\n<router-outlet\n (activate)=\"onRouteActivate($event)\"\n (deactivate)=\"onRouteDeactivate($event)\"></router-outlet>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2546
3820
|
}
|
|
2547
3821
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsBackofficeComponent, decorators: [{
|
|
2548
3822
|
type: Component,
|
|
2549
|
-
args: [{ selector: 'app-taon-cms-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, RouterOutlet], template: "@if (!componentLoaded) {\n <code>\n In CMS you can manage content and settings for your website
|
|
3823
|
+
args: [{ selector: 'app-taon-cms-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, RouterOutlet], template: "@if (!componentLoaded) {\n <code>\n {{\n t.gettext('In CMS you can manage content and settings for your website.')\n }}\n </code>\n}\n\n<router-outlet\n (activate)=\"onRouteActivate($event)\"\n (deactivate)=\"onRouteDeactivate($event)\"></router-outlet>\n", styles: [":host{display:block}\n"] }]
|
|
2550
3824
|
}] });
|
|
2551
3825
|
|
|
2552
3826
|
var taonCmsBackoffice_component = /*#__PURE__*/Object.freeze({
|
|
@@ -2559,6 +3833,7 @@ var taonCmsBackoffice_component = /*#__PURE__*/Object.freeze({
|
|
|
2559
3833
|
|
|
2560
3834
|
//#endregion
|
|
2561
3835
|
const adminLazyRoute = (adminLazyRoute$1);
|
|
3836
|
+
const t$7 = Translation.for('src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts', { "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.html.en-US.i18n.data-C64eFnqr.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-Cm-otof5.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-C9czRdlm.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-BqWMae53.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-DpAcVBSp.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-CSA7g7KN.mjs')).default }, "src/lib/taon-cms-backoffice/taon-cms-backoffice.routes.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-CzYi31y6.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data--hNK9Xkt.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-El7DeGTg.mjs')).default } });
|
|
2562
3837
|
const TaonCmsBackofficeRoutes = [
|
|
2563
3838
|
{
|
|
2564
3839
|
path: '',
|
|
@@ -2570,7 +3845,7 @@ const TaonCmsBackofficeRoutes = [
|
|
|
2570
3845
|
return !context?.hasAccess.toManagePosts;
|
|
2571
3846
|
},
|
|
2572
3847
|
path: 'posts',
|
|
2573
|
-
menuItem: 'Posts',
|
|
3848
|
+
menuItem: t$7.gettext('Posts'),
|
|
2574
3849
|
expandable: true,
|
|
2575
3850
|
icon: 'edit',
|
|
2576
3851
|
loader: () => Promise.resolve().then(function () { return index$1; }).then(m => m.TaonCmsPostsBackofficeRoutes),
|
|
@@ -2578,11 +3853,27 @@ const TaonCmsBackofficeRoutes = [
|
|
|
2578
3853
|
adminLazyRoute({
|
|
2579
3854
|
isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
|
|
2580
3855
|
path: 'assets',
|
|
2581
|
-
menuItem: 'Assets',
|
|
3856
|
+
menuItem: t$7.gettext('Assets'),
|
|
2582
3857
|
expandable: false,
|
|
2583
3858
|
icon: 'perm_media',
|
|
2584
3859
|
loader: () => Promise.resolve().then(function () { return taonCmsAssetsBackoffice_routes; }).then(m => m.TaonCmsAssetsBackofficeRoutes),
|
|
2585
3860
|
}),
|
|
3861
|
+
adminLazyRoute({
|
|
3862
|
+
isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
|
|
3863
|
+
path: 'categories',
|
|
3864
|
+
menuItem: t$7.gettext('Categories'),
|
|
3865
|
+
expandable: false,
|
|
3866
|
+
icon: 'folder',
|
|
3867
|
+
loader: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_routes; }).then(m => m.TaonCmsCategoriesBackofficeRoutes),
|
|
3868
|
+
}),
|
|
3869
|
+
adminLazyRoute({
|
|
3870
|
+
isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
|
|
3871
|
+
path: 'tags',
|
|
3872
|
+
menuItem: t$7.gettext('Tags'),
|
|
3873
|
+
expandable: false,
|
|
3874
|
+
icon: 'label',
|
|
3875
|
+
loader: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_routes; }).then(m => m.TaonCmsTagsBackofficeRoutes),
|
|
3876
|
+
}),
|
|
2586
3877
|
// adminLazyRoute({
|
|
2587
3878
|
// path: 'dashboard',
|
|
2588
3879
|
// menuItem: 'Dashboard',
|
|
@@ -2609,6 +3900,18 @@ class TaonCmsCategoryApiService extends TaonBaseAngularService {
|
|
|
2609
3900
|
get allMyEntities$() {
|
|
2610
3901
|
return this.taonCmsCategoryController.getAll().request().observable.pipe(map(res => res.body?.json));
|
|
2611
3902
|
}
|
|
3903
|
+
save(id, input) {
|
|
3904
|
+
return this.taonCmsCategoryController
|
|
3905
|
+
.saveCategory(id, input)
|
|
3906
|
+
.request()
|
|
3907
|
+
.observable.pipe(map(res => res.body.json));
|
|
3908
|
+
}
|
|
3909
|
+
delete(id) {
|
|
3910
|
+
return this.taonCmsCategoryController
|
|
3911
|
+
.deleteCategory(id)
|
|
3912
|
+
.request()
|
|
3913
|
+
.observable.pipe(map(() => undefined));
|
|
3914
|
+
}
|
|
2612
3915
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCategoryApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2613
3916
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsCategoryApiService }); }
|
|
2614
3917
|
}
|
|
@@ -2670,92 +3973,6 @@ function TaonCmsCommentUtils__NS__isActive(state) {
|
|
|
2670
3973
|
}
|
|
2671
3974
|
//end of namespace TaonCmsCommentUtils
|
|
2672
3975
|
|
|
2673
|
-
//#region imports
|
|
2674
|
-
//#endregion
|
|
2675
|
-
class TaonCmsContentApiService extends TaonBaseAngularService {
|
|
2676
|
-
constructor() {
|
|
2677
|
-
super(...arguments);
|
|
2678
|
-
this.taonCmsContentController = this.injectController(TaonCmsContentController);
|
|
2679
|
-
this.taonCmsContentStorageController = this.injectController(TaonCmsContentStorageController);
|
|
2680
|
-
}
|
|
2681
|
-
get crudController() {
|
|
2682
|
-
return this.taonCmsContentController;
|
|
2683
|
-
}
|
|
2684
|
-
async getById(id) {
|
|
2685
|
-
return (await this.taonCmsContentController.getBy(id).request()).body.json;
|
|
2686
|
-
}
|
|
2687
|
-
async getBySlug(slug) {
|
|
2688
|
-
return (await this.taonCmsContentController.getBySlug(slug).request()).body
|
|
2689
|
-
.json;
|
|
2690
|
-
}
|
|
2691
|
-
getContentByHook(hook) {
|
|
2692
|
-
return this.taonCmsContentController.getContentByHook(hook)
|
|
2693
|
-
.request().observable.pipe(map(res => res.body.text));
|
|
2694
|
-
}
|
|
2695
|
-
getPublicContentByHook(hook) {
|
|
2696
|
-
return this.taonCmsContentController.getPublicContentByHook(hook)
|
|
2697
|
-
.request().observable.pipe(map(res => res.body.text), catchError(() => of('---')));
|
|
2698
|
-
}
|
|
2699
|
-
listApplicationHooks() {
|
|
2700
|
-
return this.taonCmsContentController.listApplicationHooks()
|
|
2701
|
-
.request().observable.pipe(map(res => res.body.json));
|
|
2702
|
-
}
|
|
2703
|
-
async uploadMedia(file) {
|
|
2704
|
-
const formData = new FormData();
|
|
2705
|
-
formData.append('file', file);
|
|
2706
|
-
const response = await this.taonCmsContentStorageController
|
|
2707
|
-
.uploadFormDataToServer(formData)
|
|
2708
|
-
.request();
|
|
2709
|
-
const objects = response.body.json;
|
|
2710
|
-
if (objects.length !== 1 || !objects[0].key) {
|
|
2711
|
-
throw new Error('The upload did not return a media key.');
|
|
2712
|
-
}
|
|
2713
|
-
return objects[0];
|
|
2714
|
-
}
|
|
2715
|
-
createContent(input) {
|
|
2716
|
-
return this.taonCmsContentController.createContent(input)
|
|
2717
|
-
.request().observable.pipe(map(res => res.body.json));
|
|
2718
|
-
}
|
|
2719
|
-
updateContent(id, input) {
|
|
2720
|
-
return this.taonCmsContentController.updateContent(id, input)
|
|
2721
|
-
.request().observable.pipe(map(res => res.body.json));
|
|
2722
|
-
}
|
|
2723
|
-
deleteContent(id, expectedVersion) {
|
|
2724
|
-
return this.taonCmsContentController.deleteContent(id, expectedVersion)
|
|
2725
|
-
.request().observable.pipe(map(res => res.body.json));
|
|
2726
|
-
}
|
|
2727
|
-
restoreContent(id, input) {
|
|
2728
|
-
return this.taonCmsContentController.restoreContent(id, input)
|
|
2729
|
-
.request().observable.pipe(map(res => res.body.json));
|
|
2730
|
-
}
|
|
2731
|
-
listRevisions(id) {
|
|
2732
|
-
return this.taonCmsContentController.listRevisions(id)
|
|
2733
|
-
.request().observable.pipe(map(res => res.body.json));
|
|
2734
|
-
}
|
|
2735
|
-
listRelatedPosts(id) {
|
|
2736
|
-
return this.taonCmsContentController.listRelatedPosts(id)
|
|
2737
|
-
.request().observable.pipe(map(res => res.body.json));
|
|
2738
|
-
}
|
|
2739
|
-
listPermissions(id) {
|
|
2740
|
-
return this.taonCmsContentController.listPermissions(id)
|
|
2741
|
-
.request().observable.pipe(map(res => res.body.json));
|
|
2742
|
-
}
|
|
2743
|
-
addRelatedPost(id, relatedPostId, expectedVersion) {
|
|
2744
|
-
return this.taonCmsContentController.addRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
|
|
2745
|
-
}
|
|
2746
|
-
deleteRelatedPost(id, relatedPostId, expectedVersion) {
|
|
2747
|
-
return this.taonCmsContentController.deleteRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
|
|
2748
|
-
}
|
|
2749
|
-
get allMyEntities$() {
|
|
2750
|
-
return this.taonCmsContentController.getAll().request().observable.pipe(map(res => res.body?.json));
|
|
2751
|
-
}
|
|
2752
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2753
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService }); }
|
|
2754
|
-
}
|
|
2755
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, decorators: [{
|
|
2756
|
-
type: Injectable
|
|
2757
|
-
}] });
|
|
2758
|
-
|
|
2759
3976
|
class TaonCmsContentConfigService extends TaonBaseAngularService {
|
|
2760
3977
|
constructor() {
|
|
2761
3978
|
super(...arguments);
|
|
@@ -2776,6 +3993,7 @@ const TaonCmsContentDefaultsValues = {
|
|
|
2776
3993
|
videoKey: null,
|
|
2777
3994
|
audioKey: null,
|
|
2778
3995
|
attachmentKey: null,
|
|
3996
|
+
thumbnailKey: null,
|
|
2779
3997
|
};
|
|
2780
3998
|
|
|
2781
3999
|
//namespace TaonCmsContentUtils
|
|
@@ -2940,6 +4158,24 @@ class TaonCmsTagApiService extends TaonBaseAngularService {
|
|
|
2940
4158
|
super(...arguments);
|
|
2941
4159
|
this.taonCmsTagController = this.injectController(TaonCmsTagController);
|
|
2942
4160
|
}
|
|
4161
|
+
get allMyEntities$() {
|
|
4162
|
+
return this.taonCmsTagController
|
|
4163
|
+
.getAll()
|
|
4164
|
+
.request()
|
|
4165
|
+
.observable.pipe(map(res => res.body.json));
|
|
4166
|
+
}
|
|
4167
|
+
save(id, input) {
|
|
4168
|
+
return this.taonCmsTagController
|
|
4169
|
+
.saveTag(id, input)
|
|
4170
|
+
.request()
|
|
4171
|
+
.observable.pipe(map(res => res.body.json));
|
|
4172
|
+
}
|
|
4173
|
+
delete(id) {
|
|
4174
|
+
return this.taonCmsTagController
|
|
4175
|
+
.deleteTag(id)
|
|
4176
|
+
.request()
|
|
4177
|
+
.observable.pipe(map(() => undefined));
|
|
4178
|
+
}
|
|
2943
4179
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTagApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2944
4180
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTagApiService }); }
|
|
2945
4181
|
}
|
|
@@ -2947,23 +4183,250 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
2947
4183
|
type: Injectable
|
|
2948
4184
|
}] });
|
|
2949
4185
|
|
|
2950
|
-
const TaonCmsTagDefaultsValues = {
|
|
2951
|
-
description: '',
|
|
2952
|
-
version: 0,
|
|
2953
|
-
id: void 0,
|
|
2954
|
-
};
|
|
4186
|
+
const TaonCmsTagDefaultsValues = {
|
|
4187
|
+
description: '',
|
|
4188
|
+
version: 0,
|
|
4189
|
+
id: void 0,
|
|
4190
|
+
};
|
|
4191
|
+
|
|
4192
|
+
var TaonCmsTagState;
|
|
4193
|
+
(function (TaonCmsTagState) {
|
|
4194
|
+
TaonCmsTagState["Active"] = "active";
|
|
4195
|
+
TaonCmsTagState["Inactive"] = "inactive";
|
|
4196
|
+
})(TaonCmsTagState || (TaonCmsTagState = {}));
|
|
4197
|
+
|
|
4198
|
+
//namespace TaonCmsTagUtils
|
|
4199
|
+
function TaonCmsTagUtils__NS__isActive(state) {
|
|
4200
|
+
return state === 'active';
|
|
4201
|
+
}
|
|
4202
|
+
//end of namespace TaonCmsTagUtils
|
|
4203
|
+
|
|
4204
|
+
const t$6 = Translation.for('src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts', { "src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.en-US.i18n.data-CSzz-qCe.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.pl-PL.i18n.data-Dx0k2Yyc.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-taxonomy-backoffice.component.html.de-DE.i18n.data-DflSG3A7.mjs')).default }, "src/lib/taon-cms-taxonomy-backoffice/taon-cms-taxonomy-backoffice.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.en-US.i18n.data-MEvkiD1i.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.pl-PL.i18n.data-CQhJ8ksS.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-taxonomy-backoffice.component.ts.de-DE.i18n.data-DKDYzSnl.mjs')).default } });
|
|
4205
|
+
class TaonCmsTaxonomyBackofficeComponent {
|
|
4206
|
+
constructor() {
|
|
4207
|
+
this.t = t$6.for(this);
|
|
4208
|
+
this.isCategory = inject(ActivatedRoute).snapshot.data['taxonomy'] === 'category';
|
|
4209
|
+
this.categories = inject(TaonCmsCategoryApiService);
|
|
4210
|
+
this.tags = inject(TaonCmsTagApiService);
|
|
4211
|
+
this.destroyRef = inject(DestroyRef);
|
|
4212
|
+
this.dialog = inject(MatDialog);
|
|
4213
|
+
this.rows = signal([], ...(ngDevMode ? [{ debugName: "rows" }] : []));
|
|
4214
|
+
this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
|
|
4215
|
+
this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
|
|
4216
|
+
this.editing = signal(false, ...(ngDevMode ? [{ debugName: "editing" }] : []));
|
|
4217
|
+
this.editingId = null;
|
|
4218
|
+
this.draft = this.emptyDraft();
|
|
4219
|
+
this.columns = [
|
|
4220
|
+
{ header: this.t.gettext('Name'), field: 'name', sortable: true },
|
|
4221
|
+
{ header: this.t.gettext('Slug'), field: 'slug', sortable: true },
|
|
4222
|
+
...(this.isCategory
|
|
4223
|
+
? [
|
|
4224
|
+
{
|
|
4225
|
+
header: this.t.gettext('Parent Category'),
|
|
4226
|
+
field: 'parentName',
|
|
4227
|
+
sortable: true,
|
|
4228
|
+
},
|
|
4229
|
+
{
|
|
4230
|
+
header: this.t.gettext('Sort Order'),
|
|
4231
|
+
field: 'sortOrder',
|
|
4232
|
+
sortable: true,
|
|
4233
|
+
},
|
|
4234
|
+
]
|
|
4235
|
+
: [
|
|
4236
|
+
{
|
|
4237
|
+
header: this.t.gettext('Description'),
|
|
4238
|
+
field: 'description',
|
|
4239
|
+
sortable: true,
|
|
4240
|
+
},
|
|
4241
|
+
]),
|
|
4242
|
+
{
|
|
4243
|
+
header: this.t.gettext('Actions'),
|
|
4244
|
+
field: 'actions',
|
|
4245
|
+
type: 'button',
|
|
4246
|
+
buttons: [
|
|
4247
|
+
{
|
|
4248
|
+
type: 'icon',
|
|
4249
|
+
icon: 'edit',
|
|
4250
|
+
tooltip: this.t.gettext('Edit'),
|
|
4251
|
+
disabled: () => this.busy(),
|
|
4252
|
+
click: (row) => this.edit(row),
|
|
4253
|
+
},
|
|
4254
|
+
{
|
|
4255
|
+
type: 'icon',
|
|
4256
|
+
icon: 'delete',
|
|
4257
|
+
tooltip: this.t.gettext('Delete'),
|
|
4258
|
+
disabled: () => this.busy(),
|
|
4259
|
+
click: (row) => this.delete(row),
|
|
4260
|
+
},
|
|
4261
|
+
],
|
|
4262
|
+
},
|
|
4263
|
+
];
|
|
4264
|
+
}
|
|
4265
|
+
ngOnInit() {
|
|
4266
|
+
this.reload();
|
|
4267
|
+
}
|
|
4268
|
+
reload() {
|
|
4269
|
+
if (this.busy()) {
|
|
4270
|
+
return;
|
|
4271
|
+
}
|
|
4272
|
+
const request = this.isCategory
|
|
4273
|
+
? this.categories.allMyEntities$
|
|
4274
|
+
: this.tags.allMyEntities$;
|
|
4275
|
+
this.run(request, rows => this.rows.set(rows));
|
|
4276
|
+
}
|
|
4277
|
+
tableRows() {
|
|
4278
|
+
return this.rows().map(row => ({
|
|
4279
|
+
...row,
|
|
4280
|
+
parentName: 'parentCategoryId' in row
|
|
4281
|
+
? (this.rows().find(parent => parent.id === row.parentCategoryId)
|
|
4282
|
+
?.name ?? '')
|
|
4283
|
+
: '',
|
|
4284
|
+
}));
|
|
4285
|
+
}
|
|
4286
|
+
parentOptions() {
|
|
4287
|
+
const categories = this.rows().filter((row) => 'parentCategoryId' in row);
|
|
4288
|
+
return categories.filter(category => {
|
|
4289
|
+
const visited = new Set();
|
|
4290
|
+
let current = category;
|
|
4291
|
+
while (current) {
|
|
4292
|
+
if (current.id === this.editingId || visited.has(current.id)) {
|
|
4293
|
+
return false;
|
|
4294
|
+
}
|
|
4295
|
+
visited.add(current.id);
|
|
4296
|
+
current = categories.find(parent => parent.id === current?.parentCategoryId);
|
|
4297
|
+
}
|
|
4298
|
+
return true;
|
|
4299
|
+
});
|
|
4300
|
+
}
|
|
4301
|
+
edit(row) {
|
|
4302
|
+
if (this.busy()) {
|
|
4303
|
+
return;
|
|
4304
|
+
}
|
|
4305
|
+
this.editingId = row?.id ?? null;
|
|
4306
|
+
this.draft = row
|
|
4307
|
+
? {
|
|
4308
|
+
name: row.name,
|
|
4309
|
+
slug: row.slug,
|
|
4310
|
+
description: row.description,
|
|
4311
|
+
parentCategoryId: 'parentCategoryId' in row ? row.parentCategoryId : null,
|
|
4312
|
+
sortOrder: 'sortOrder' in row ? row.sortOrder : 0,
|
|
4313
|
+
}
|
|
4314
|
+
: this.emptyDraft();
|
|
4315
|
+
this.error.set('');
|
|
4316
|
+
this.editing.set(true);
|
|
4317
|
+
}
|
|
4318
|
+
save() {
|
|
4319
|
+
if (this.busy()) {
|
|
4320
|
+
return;
|
|
4321
|
+
}
|
|
4322
|
+
const request = this.isCategory
|
|
4323
|
+
? this.categories.save(this.editingId, this.draft)
|
|
4324
|
+
: this.tags.save(this.editingId, this.draft);
|
|
4325
|
+
this.run(request, saved => {
|
|
4326
|
+
this.editing.set(false);
|
|
4327
|
+
this.rows.update(rows => [
|
|
4328
|
+
...rows.filter(row => row.id !== saved.id),
|
|
4329
|
+
saved,
|
|
4330
|
+
]);
|
|
4331
|
+
});
|
|
4332
|
+
}
|
|
4333
|
+
delete(row) {
|
|
4334
|
+
if (this.busy()) {
|
|
4335
|
+
return;
|
|
4336
|
+
}
|
|
4337
|
+
this.dialog
|
|
4338
|
+
.open(TaonConfirmDialogComponent, {
|
|
4339
|
+
data: {
|
|
4340
|
+
title: this.isCategory
|
|
4341
|
+
? this.t.gettext('Delete category?')
|
|
4342
|
+
: this.t.gettext('Delete tag?'),
|
|
4343
|
+
message: this.t.gettext('Only unused items can be deleted. This cannot be undone.'),
|
|
4344
|
+
confirmText: this.t.gettext('Delete'),
|
|
4345
|
+
},
|
|
4346
|
+
})
|
|
4347
|
+
.afterClosed()
|
|
4348
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
4349
|
+
.subscribe(confirmed => {
|
|
4350
|
+
if (confirmed) {
|
|
4351
|
+
this.run(this.isCategory
|
|
4352
|
+
? this.categories.delete(row.id)
|
|
4353
|
+
: this.tags.delete(row.id), () => {
|
|
4354
|
+
if (this.editingId === row.id) {
|
|
4355
|
+
this.editing.set(false);
|
|
4356
|
+
}
|
|
4357
|
+
this.rows.update(rows => rows.filter(item => item.id !== row.id));
|
|
4358
|
+
});
|
|
4359
|
+
}
|
|
4360
|
+
});
|
|
4361
|
+
}
|
|
4362
|
+
run(request, next) {
|
|
4363
|
+
if (this.busy()) {
|
|
4364
|
+
return;
|
|
4365
|
+
}
|
|
4366
|
+
this.busy.set(true);
|
|
4367
|
+
this.error.set('');
|
|
4368
|
+
request
|
|
4369
|
+
.pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.busy.set(false)))
|
|
4370
|
+
.subscribe({
|
|
4371
|
+
next: value => {
|
|
4372
|
+
this.busy.set(false);
|
|
4373
|
+
next(value);
|
|
4374
|
+
},
|
|
4375
|
+
error: (error) => {
|
|
4376
|
+
console.error('[taon-cms-taxonomy] Operation failed', error);
|
|
4377
|
+
this.error.set(this.t.gettext('The operation failed. Check for duplicate names or slugs, invalid parents, or items still used by posts or child categories, then reload and try again.'));
|
|
4378
|
+
},
|
|
4379
|
+
});
|
|
4380
|
+
}
|
|
4381
|
+
emptyDraft() {
|
|
4382
|
+
return {
|
|
4383
|
+
name: '',
|
|
4384
|
+
slug: '',
|
|
4385
|
+
description: '',
|
|
4386
|
+
parentCategoryId: null,
|
|
4387
|
+
sortOrder: 0,
|
|
4388
|
+
};
|
|
4389
|
+
}
|
|
4390
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTaxonomyBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4391
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsTaxonomyBackofficeComponent, isStandalone: true, selector: "taon-cms-taxonomy-backoffice", providers: [TaonCmsCategoryApiService, TaonCmsTagApiService], ngImport: i0, template: "<h1>{{ isCategory ? t.gettext('Categories') : t.gettext('Tags') }}</h1>\n<div class=\"actions\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"edit()\">\n {{ isCategory ? t.gettext('Create category') : t.gettext('Create tag') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"reload()\">\n {{ t.gettext('Reload') }}\n </button>\n</div>\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n@if (busy()) {\n <p role=\"status\">{{ t.gettext('Loading...') }}</p>\n}\n@if (editing()) {\n <form\n #form=\"ngForm\"\n (ngSubmit)=\"save()\">\n <h2>{{ editingId === null ? t.gettext('Create') : t.gettext('Edit') }}</h2>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Name') }}</mat-label>\n <input\n matInput\n name=\"name\"\n required\n [(ngModel)]=\"draft.name\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Slug') }}</mat-label>\n <input\n matInput\n name=\"slug\"\n required\n [(ngModel)]=\"draft.slug\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Description') }}</mat-label>\n <textarea\n matInput\n name=\"description\"\n [(ngModel)]=\"draft.description\"\n [disabled]=\"busy()\"></textarea>\n </mat-form-field>\n @if (isCategory) {\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Parent Category') }}</mat-label>\n <mat-select\n name=\"parentCategoryId\"\n [(ngModel)]=\"draft.parentCategoryId\"\n [disabled]=\"busy()\">\n <mat-option [value]=\"null\">{{ t.gettext('None') }}</mat-option>\n @for (category of parentOptions(); track category.id) {\n <mat-option [value]=\"category.id\">{{ category.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Sort Order') }}</mat-label>\n <input\n matInput\n name=\"sortOrder\"\n type=\"number\"\n step=\"1\"\n required\n [(ngModel)]=\"draft.sortOrder\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n }\n <div class=\"actions\">\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"\n busy() || form.invalid || !draft.name.trim() || !draft.slug.trim()\n \">\n {{ t.gettext('Save') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"editing.set(false)\">\n {{ t.gettext('Cancel') }}\n </button>\n </div>\n </form>\n}\n<taon-datatable\n [data]=\"tableRows()\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n searchMode=\"advanced\">\n</taon-datatable>\n", styles: [":host{display:block}form{display:grid;gap:1rem;max-width:640px;margin-block:1.5rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: TaonDatatableComponent, selector: "taon-datatable", inputs: ["pageNumber", "pageSize", "pageSizeOptions", "allowedColumns", "expansionTemplate", "entityCrudController", "columns", "hideSearch", "hideAddButton", "safe", "searchMode", "callQueryMethod", "data", "showPaginator"], outputs: ["expansionChange", "addingItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4392
|
+
}
|
|
4393
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTaxonomyBackofficeComponent, decorators: [{
|
|
4394
|
+
type: Component,
|
|
4395
|
+
args: [{ selector: 'taon-cms-taxonomy-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
4396
|
+
FormsModule,
|
|
4397
|
+
MatButtonModule,
|
|
4398
|
+
MatFormFieldModule,
|
|
4399
|
+
MatInputModule,
|
|
4400
|
+
MatSelectModule,
|
|
4401
|
+
TaonDatatableComponent,
|
|
4402
|
+
], providers: [TaonCmsCategoryApiService, TaonCmsTagApiService], template: "<h1>{{ isCategory ? t.gettext('Categories') : t.gettext('Tags') }}</h1>\n<div class=\"actions\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"edit()\">\n {{ isCategory ? t.gettext('Create category') : t.gettext('Create tag') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"reload()\">\n {{ t.gettext('Reload') }}\n </button>\n</div>\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n@if (busy()) {\n <p role=\"status\">{{ t.gettext('Loading...') }}</p>\n}\n@if (editing()) {\n <form\n #form=\"ngForm\"\n (ngSubmit)=\"save()\">\n <h2>{{ editingId === null ? t.gettext('Create') : t.gettext('Edit') }}</h2>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Name') }}</mat-label>\n <input\n matInput\n name=\"name\"\n required\n [(ngModel)]=\"draft.name\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Slug') }}</mat-label>\n <input\n matInput\n name=\"slug\"\n required\n [(ngModel)]=\"draft.slug\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Description') }}</mat-label>\n <textarea\n matInput\n name=\"description\"\n [(ngModel)]=\"draft.description\"\n [disabled]=\"busy()\"></textarea>\n </mat-form-field>\n @if (isCategory) {\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Parent Category') }}</mat-label>\n <mat-select\n name=\"parentCategoryId\"\n [(ngModel)]=\"draft.parentCategoryId\"\n [disabled]=\"busy()\">\n <mat-option [value]=\"null\">{{ t.gettext('None') }}</mat-option>\n @for (category of parentOptions(); track category.id) {\n <mat-option [value]=\"category.id\">{{ category.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Sort Order') }}</mat-label>\n <input\n matInput\n name=\"sortOrder\"\n type=\"number\"\n step=\"1\"\n required\n [(ngModel)]=\"draft.sortOrder\"\n [disabled]=\"busy()\" />\n </mat-form-field>\n }\n <div class=\"actions\">\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"\n busy() || form.invalid || !draft.name.trim() || !draft.slug.trim()\n \">\n {{ t.gettext('Save') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"editing.set(false)\">\n {{ t.gettext('Cancel') }}\n </button>\n </div>\n </form>\n}\n<taon-datatable\n [data]=\"tableRows()\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n searchMode=\"advanced\">\n</taon-datatable>\n", styles: [":host{display:block}form{display:grid;gap:1rem;max-width:640px;margin-block:1.5rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem}\n"] }]
|
|
4403
|
+
}] });
|
|
4404
|
+
|
|
4405
|
+
var taonCmsTaxonomyBackoffice_component = /*#__PURE__*/Object.freeze({
|
|
4406
|
+
__proto__: null,
|
|
4407
|
+
TaonCmsTaxonomyBackofficeComponent: TaonCmsTaxonomyBackofficeComponent
|
|
4408
|
+
});
|
|
2955
4409
|
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
4410
|
+
const TaonCmsCategoriesBackofficeRoutes = [
|
|
4411
|
+
{
|
|
4412
|
+
path: '',
|
|
4413
|
+
data: { taxonomy: 'category' },
|
|
4414
|
+
loadComponent: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_component; }).then(m => m.TaonCmsTaxonomyBackofficeComponent),
|
|
4415
|
+
},
|
|
4416
|
+
];
|
|
4417
|
+
const TaonCmsTagsBackofficeRoutes = [
|
|
4418
|
+
{
|
|
4419
|
+
path: '',
|
|
4420
|
+
data: { taxonomy: 'tag' },
|
|
4421
|
+
loadComponent: () => Promise.resolve().then(function () { return taonCmsTaxonomyBackoffice_component; }).then(m => m.TaonCmsTaxonomyBackofficeComponent),
|
|
4422
|
+
},
|
|
4423
|
+
];
|
|
2961
4424
|
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
4425
|
+
var taonCmsTaxonomyBackoffice_routes = /*#__PURE__*/Object.freeze({
|
|
4426
|
+
__proto__: null,
|
|
4427
|
+
TaonCmsCategoriesBackofficeRoutes: TaonCmsCategoriesBackofficeRoutes,
|
|
4428
|
+
TaonCmsTagsBackofficeRoutes: TaonCmsTagsBackofficeRoutes
|
|
4429
|
+
});
|
|
2967
4430
|
|
|
2968
4431
|
class TaonCmsEditableDirective {
|
|
2969
4432
|
constructor() {
|
|
@@ -3083,8 +4546,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
3083
4546
|
args: ['paste', ['$event']]
|
|
3084
4547
|
}] } });
|
|
3085
4548
|
|
|
4549
|
+
const t$5 = Translation.for('src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts', { "src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-yxnI4hZm.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-LaD1B9nr.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-s-UFLYqy.mjs')).default }, "src/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-QJOWjM3u.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-D7CkcVJ3.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-DIl-O_Xe.mjs')).default } });
|
|
3086
4550
|
class TaonCmsRevisionChooserComponent {
|
|
3087
4551
|
constructor() {
|
|
4552
|
+
this.t = t$5.for(this);
|
|
3088
4553
|
this.post = inject(MAT_DIALOG_DATA);
|
|
3089
4554
|
this.revisions = signal([], ...(ngDevMode ? [{ debugName: "revisions" }] : []));
|
|
3090
4555
|
this.selected = signal(null, ...(ngDevMode ? [{ debugName: "selected" }] : []));
|
|
@@ -3096,6 +4561,10 @@ class TaonCmsRevisionChooserComponent {
|
|
|
3096
4561
|
this.destroyRef = inject(DestroyRef);
|
|
3097
4562
|
this.load();
|
|
3098
4563
|
}
|
|
4564
|
+
onEscape(event) {
|
|
4565
|
+
event.stopPropagation();
|
|
4566
|
+
this.ref.close();
|
|
4567
|
+
}
|
|
3099
4568
|
load() {
|
|
3100
4569
|
if (this.loading() || this.applying()) {
|
|
3101
4570
|
return;
|
|
@@ -3103,11 +4572,14 @@ class TaonCmsRevisionChooserComponent {
|
|
|
3103
4572
|
this.selected.set(null);
|
|
3104
4573
|
this.loading.set(true);
|
|
3105
4574
|
this.error.set('');
|
|
3106
|
-
this.api
|
|
4575
|
+
this.api
|
|
4576
|
+
.listRevisions(this.post.id)
|
|
4577
|
+
.pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false)))
|
|
4578
|
+
.subscribe({
|
|
3107
4579
|
next: revisions => this.revisions.set([...revisions].sort((a, b) => b.revisionNumber - a.revisionNumber)),
|
|
3108
4580
|
error: (error) => {
|
|
3109
4581
|
console.error('[taon-cms-revision-chooser] Unable to load revisions', error);
|
|
3110
|
-
this.error.set('Revisions could not be loaded. Please try again.');
|
|
4582
|
+
this.error.set(this.t.gettext('Revisions could not be loaded. Please try again.'));
|
|
3111
4583
|
},
|
|
3112
4584
|
});
|
|
3113
4585
|
}
|
|
@@ -3117,20 +4589,22 @@ class TaonCmsRevisionChooserComponent {
|
|
|
3117
4589
|
return;
|
|
3118
4590
|
}
|
|
3119
4591
|
if (revisionNumber === null) {
|
|
3120
|
-
this.error.set('Select a revision to restore.');
|
|
4592
|
+
this.error.set(this.t.gettext('Select a revision to restore.'));
|
|
3121
4593
|
return;
|
|
3122
4594
|
}
|
|
3123
4595
|
this.applying.set(true);
|
|
3124
4596
|
this.error.set('');
|
|
3125
|
-
this.api
|
|
4597
|
+
this.api
|
|
4598
|
+
.restoreContent(this.post.id, {
|
|
3126
4599
|
revisionNumber,
|
|
3127
4600
|
expectedVersion: this.post.version,
|
|
3128
|
-
})
|
|
4601
|
+
})
|
|
4602
|
+
.pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.applying.set(false)))
|
|
4603
|
+
.subscribe({
|
|
3129
4604
|
next: post => this.ref.close(post),
|
|
3130
4605
|
error: (error) => {
|
|
3131
4606
|
console.error('[taon-cms-revision-chooser] Unable to restore revision', error);
|
|
3132
|
-
this.error.set('The revision could not be restored. If the post changed, close and '
|
|
3133
|
-
'reopen it to load its latest version.');
|
|
4607
|
+
this.error.set(this.t.gettext('The revision could not be restored. If the post changed, close and reopen it to load its latest version.'));
|
|
3134
4608
|
},
|
|
3135
4609
|
});
|
|
3136
4610
|
}
|
|
@@ -3140,15 +4614,20 @@ class TaonCmsRevisionChooserComponent {
|
|
|
3140
4614
|
}
|
|
3141
4615
|
}
|
|
3142
4616
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3143
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsRevisionChooserComponent, isStandalone: true, selector: "taon-cms-revision-chooser", providers: [TaonCmsContentRevisionApiService], ngImport: i0, template: "<h2 mat-dialog-title>Restore a revision</h2>\n<mat-dialog-content>\n <p
|
|
4617
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsRevisionChooserComponent, isStandalone: true, selector: "taon-cms-revision-chooser", host: { listeners: { "document:keydown.escape": "onEscape($event)" } }, providers: [TaonCmsContentRevisionApiService], ngImport: i0, template: "<h2 mat-dialog-title>{{ t.gettext('Restore a revision') }}</h2>\n<mat-dialog-content>\n <p>\n {{\n t.gettext(\n 'Restoring replaces the post, including its status, with the selected revision.'\n )\n }}\n </p>\n @if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading revisions...') }}</p>\n } @else {\n <mat-radio-group\n [attr.aria-label]=\"t.gettext('Post revisions')\"\n [value]=\"selected()\"\n (change)=\"selected.set($event.value)\"\n [disabled]=\"applying()\">\n @for (revision of revisions(); track revision.id) {\n <mat-radio-button\n [value]=\"revision.revisionNumber\"\n [disabled]=\"!revision.snapshot\">\n <strong>{{\n t.gettext('Revision [[ revisionNumber ]]', {\n revisionNumber: revision.revisionNumber,\n })\n }}</strong>\n <span>{{ revision.createdAt | date: 'medium' }}</span>\n @if (\n revision.createdByUserId !== null &&\n revision.createdByUserId !== undefined\n ) {\n <span>{{\n t.gettext('User [[ userId ]]', {\n userId: revision.createdByUserId,\n })\n }}</span>\n }\n @if (!revision.snapshot) {\n <span>{{ t.gettext('Legacy revision - cannot be restored') }}</span>\n }\n </mat-radio-button>\n } @empty {\n <p>{{ t.gettext('No revisions are available.') }}</p>\n }\n </mat-radio-group>\n }\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"loading() || applying()\"\n (click)=\"load()\">\n {{ t.gettext('Reload revisions') }}\n </button>\n }\n @if (applying()) {\n <p role=\"status\">{{ t.gettext('Restoring...') }}</p>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"applying()\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || applying() || selected() === null\"\n (click)=\"apply()\">\n {{ t.gettext('Apply') }}\n </button>\n</mat-dialog-actions>\n", styles: ["mat-radio-group{display:flex;flex-direction:column;gap:1rem}mat-radio-button span{display:block;font-size:.875rem;opacity:.7}[role=alert]{color:#b3261e}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3144
4618
|
}
|
|
3145
4619
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, decorators: [{
|
|
3146
4620
|
type: Component,
|
|
3147
|
-
args: [{ selector: 'taon-cms-revision-chooser', changeDetection: ChangeDetectionStrategy.OnPush, imports: [DatePipe, MatButtonModule, MatDialogModule, MatRadioModule], providers: [TaonCmsContentRevisionApiService], template: "<h2 mat-dialog-title>Restore a revision</h2>\n<mat-dialog-content>\n <p
|
|
3148
|
-
}], ctorParameters: () => []
|
|
4621
|
+
args: [{ selector: 'taon-cms-revision-chooser', changeDetection: ChangeDetectionStrategy.OnPush, imports: [DatePipe, MatButtonModule, MatDialogModule, MatRadioModule], providers: [TaonCmsContentRevisionApiService], template: "<h2 mat-dialog-title>{{ t.gettext('Restore a revision') }}</h2>\n<mat-dialog-content>\n <p>\n {{\n t.gettext(\n 'Restoring replaces the post, including its status, with the selected revision.'\n )\n }}\n </p>\n @if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading revisions...') }}</p>\n } @else {\n <mat-radio-group\n [attr.aria-label]=\"t.gettext('Post revisions')\"\n [value]=\"selected()\"\n (change)=\"selected.set($event.value)\"\n [disabled]=\"applying()\">\n @for (revision of revisions(); track revision.id) {\n <mat-radio-button\n [value]=\"revision.revisionNumber\"\n [disabled]=\"!revision.snapshot\">\n <strong>{{\n t.gettext('Revision [[ revisionNumber ]]', {\n revisionNumber: revision.revisionNumber,\n })\n }}</strong>\n <span>{{ revision.createdAt | date: 'medium' }}</span>\n @if (\n revision.createdByUserId !== null &&\n revision.createdByUserId !== undefined\n ) {\n <span>{{\n t.gettext('User [[ userId ]]', {\n userId: revision.createdByUserId,\n })\n }}</span>\n }\n @if (!revision.snapshot) {\n <span>{{ t.gettext('Legacy revision - cannot be restored') }}</span>\n }\n </mat-radio-button>\n } @empty {\n <p>{{ t.gettext('No revisions are available.') }}</p>\n }\n </mat-radio-group>\n }\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"loading() || applying()\"\n (click)=\"load()\">\n {{ t.gettext('Reload revisions') }}\n </button>\n }\n @if (applying()) {\n <p role=\"status\">{{ t.gettext('Restoring...') }}</p>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"applying()\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || applying() || selected() === null\"\n (click)=\"apply()\">\n {{ t.gettext('Apply') }}\n </button>\n</mat-dialog-actions>\n", styles: ["mat-radio-group{display:flex;flex-direction:column;gap:1rem}mat-radio-button span{display:block;font-size:.875rem;opacity:.7}[role=alert]{color:#b3261e}\n"] }]
|
|
4622
|
+
}], ctorParameters: () => [], propDecorators: { onEscape: [{
|
|
4623
|
+
type: HostListener,
|
|
4624
|
+
args: ['document:keydown.escape', ['$event']]
|
|
4625
|
+
}] } });
|
|
3149
4626
|
|
|
4627
|
+
const t$4 = Translation.for('src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts', { "src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-D5F4Gof4.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-CupgNbP7.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-BkJG3Jev.mjs')).default }, "src/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-Bq84gw3j.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-BIhfEto8.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-O04abirC.mjs')).default } });
|
|
3150
4628
|
class TaonRelatedPostChooserComponent {
|
|
3151
4629
|
constructor() {
|
|
4630
|
+
this.t = t$4.for(this);
|
|
3152
4631
|
this.data = inject(MAT_DIALOG_DATA);
|
|
3153
4632
|
this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
|
|
3154
4633
|
this.selected = signal(null, ...(ngDevMode ? [{ debugName: "selected" }] : []));
|
|
@@ -3179,7 +4658,7 @@ class TaonRelatedPostChooserComponent {
|
|
|
3179
4658
|
next: posts => this.posts.set(posts),
|
|
3180
4659
|
error: (error) => {
|
|
3181
4660
|
console.error('[taon-related-post-chooser] Unable to load posts', error);
|
|
3182
|
-
this.error.set('Posts could not be loaded. Please try again.');
|
|
4661
|
+
this.error.set(this.t.gettext('Posts could not be loaded. Please try again.'));
|
|
3183
4662
|
},
|
|
3184
4663
|
});
|
|
3185
4664
|
}
|
|
@@ -3195,7 +4674,7 @@ class TaonRelatedPostChooserComponent {
|
|
|
3195
4674
|
}
|
|
3196
4675
|
const post = this.filteredPosts().find(post => post.id === this.selected());
|
|
3197
4676
|
if (!post) {
|
|
3198
|
-
this.error.set('Select a related post.');
|
|
4677
|
+
this.error.set(this.t.gettext('Select a related post.'));
|
|
3199
4678
|
return;
|
|
3200
4679
|
}
|
|
3201
4680
|
this.ref.close(post);
|
|
@@ -3204,26 +4683,169 @@ class TaonRelatedPostChooserComponent {
|
|
|
3204
4683
|
this.ref.close();
|
|
3205
4684
|
}
|
|
3206
4685
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3207
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonRelatedPostChooserComponent, isStandalone: true, selector: "taon-related-post-chooser", providers: [TaonCmsContentApiService], ngImport: i0, template: "<h2 mat-dialog-title>Add related post</h2>\n<mat-dialog-content>\n <label class=\"search-field\">\n <span>Search posts</span>\n <input
|
|
4686
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonRelatedPostChooserComponent, isStandalone: true, selector: "taon-related-post-chooser", providers: [TaonCmsContentApiService], ngImport: i0, template: "<h2 mat-dialog-title>{{ t.gettext('Add related post') }}</h2>\n<mat-dialog-content>\n <label class=\"search-field\">\n <span>{{ t.gettext('Search posts') }}</span>\n <input\n type=\"search\"\n [attr.aria-label]=\"t.gettext('Search posts by ID, title or slug')\"\n [value]=\"query()\"\n [disabled]=\"loading()\"\n (input)=\"search($event)\" />\n </label>\n @if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading posts...') }}</p>\n } @else if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n mat-button\n type=\"button\"\n (click)=\"load()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <mat-radio-group\n [attr.aria-label]=\"t.gettext('Related post')\"\n [value]=\"selected()\"\n (change)=\"selected.set($event.value)\">\n @for (post of filteredPosts(); track post.id) {\n <mat-radio-button [value]=\"post.id\">\n #{{ post.id }} - {{ post.title }}\n <span class=\"slug\">{{ post.slug }}</span>\n </mat-radio-button>\n } @empty {\n <p>{{ t.gettext('No matching posts available.') }}</p>\n }\n </mat-radio-group>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || !!error() || selected() === null\"\n (click)=\"choose()\">\n {{ t.gettext('Add related post') }}\n </button>\n</mat-dialog-actions>\n", styles: [".search-field,mat-radio-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.search-field input{padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.slug{display:block;opacity:.7;overflow-wrap:anywhere}.error{color:#b3261e}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3208
4687
|
}
|
|
3209
4688
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, decorators: [{
|
|
3210
4689
|
type: Component,
|
|
3211
|
-
args: [{ selector: 'taon-related-post-chooser', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, MatDialogModule, MatRadioModule], providers: [TaonCmsContentApiService], template: "<h2 mat-dialog-title>Add related post</h2>\n<mat-dialog-content>\n <label class=\"search-field\">\n <span>Search posts</span>\n <input
|
|
4690
|
+
args: [{ selector: 'taon-related-post-chooser', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, MatDialogModule, MatRadioModule], providers: [TaonCmsContentApiService], template: "<h2 mat-dialog-title>{{ t.gettext('Add related post') }}</h2>\n<mat-dialog-content>\n <label class=\"search-field\">\n <span>{{ t.gettext('Search posts') }}</span>\n <input\n type=\"search\"\n [attr.aria-label]=\"t.gettext('Search posts by ID, title or slug')\"\n [value]=\"query()\"\n [disabled]=\"loading()\"\n (input)=\"search($event)\" />\n </label>\n @if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading posts...') }}</p>\n } @else if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n mat-button\n type=\"button\"\n (click)=\"load()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <mat-radio-group\n [attr.aria-label]=\"t.gettext('Related post')\"\n [value]=\"selected()\"\n (change)=\"selected.set($event.value)\">\n @for (post of filteredPosts(); track post.id) {\n <mat-radio-button [value]=\"post.id\">\n #{{ post.id }} - {{ post.title }}\n <span class=\"slug\">{{ post.slug }}</span>\n </mat-radio-button>\n } @empty {\n <p>{{ t.gettext('No matching posts available.') }}</p>\n }\n </mat-radio-group>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || !!error() || selected() === null\"\n (click)=\"choose()\">\n {{ t.gettext('Add related post') }}\n </button>\n</mat-dialog-actions>\n", styles: [".search-field,mat-radio-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.search-field input{padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.slug{display:block;opacity:.7;overflow-wrap:anywhere}.error{color:#b3261e}\n"] }]
|
|
3212
4691
|
}], ctorParameters: () => [] });
|
|
3213
4692
|
|
|
4693
|
+
function defaultThumbnailKey(type) {
|
|
4694
|
+
return `cms-placeholder:${type}`;
|
|
4695
|
+
}
|
|
4696
|
+
function defaultThumbnailUrl(key) {
|
|
4697
|
+
const type = Object.values(TaonCmsContentType).find(value => key === defaultThumbnailKey(value));
|
|
4698
|
+
if (!type) {
|
|
4699
|
+
return null;
|
|
4700
|
+
}
|
|
4701
|
+
const shapes = {
|
|
4702
|
+
normal: '<path d="M260 126h120v112H260z M280 152h80m-80 20h80m-80 20h52" />',
|
|
4703
|
+
video: '<rect x="248" y="132" width="144" height="100" rx="16"/><path d="m308 158 40 24-40 24z"/>',
|
|
4704
|
+
audio: '<path d="M280 164v40m20-60v80m20-98v116m20-98v80m20-60v40"/>',
|
|
4705
|
+
attachment: '<path d="M276 124h60l32 32v84h-92z M336 124v36h32m-70 30h48m-48 22h36"/>',
|
|
4706
|
+
};
|
|
4707
|
+
const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="640" height="360" viewBox="0 0 640 360"><defs><linearGradient id="bg" x2="1" y2="1"><stop stop-color="#eaf0ff"/><stop offset="1" stop-color="#e4f5f0"/></linearGradient></defs><rect width="640" height="360" rx="24" fill="url(#bg)"/><circle cx="320" cy="180" r="112" fill="#fff" opacity=".65"/><g fill="none" stroke="#52669a" stroke-width="7" stroke-linecap="round" stroke-linejoin="round">${shapes[type]}</g></svg>`;
|
|
4708
|
+
return `data:image/svg+xml,${encodeURIComponent(svg)}`;
|
|
4709
|
+
}
|
|
4710
|
+
function visiblePixelRatio(pixels) {
|
|
4711
|
+
let visible = 0;
|
|
4712
|
+
for (let index = 0; index < pixels.length; index += 4) {
|
|
4713
|
+
const luminance = 0.2126 * pixels[index] +
|
|
4714
|
+
0.7152 * pixels[index + 1] +
|
|
4715
|
+
0.0722 * pixels[index + 2];
|
|
4716
|
+
if (luminance > 18) {
|
|
4717
|
+
visible += 1;
|
|
4718
|
+
}
|
|
4719
|
+
}
|
|
4720
|
+
return pixels.length ? visible / (pixels.length / 4) : 0;
|
|
4721
|
+
}
|
|
4722
|
+
function videoEvent(video, event, action) {
|
|
4723
|
+
return new Promise((resolve, reject) => {
|
|
4724
|
+
const cleanup = () => {
|
|
4725
|
+
clearTimeout(timeout);
|
|
4726
|
+
video.removeEventListener(event, done);
|
|
4727
|
+
video.removeEventListener('error', failed);
|
|
4728
|
+
};
|
|
4729
|
+
const done = () => {
|
|
4730
|
+
cleanup();
|
|
4731
|
+
resolve();
|
|
4732
|
+
};
|
|
4733
|
+
const failed = () => {
|
|
4734
|
+
cleanup();
|
|
4735
|
+
reject(new Error(video.error?.message || 'Video decoding failed.'));
|
|
4736
|
+
};
|
|
4737
|
+
const timeout = setTimeout(() => {
|
|
4738
|
+
cleanup();
|
|
4739
|
+
reject(new Error('Video decoding timed out.'));
|
|
4740
|
+
}, 15000);
|
|
4741
|
+
video.addEventListener(event, done, { once: true });
|
|
4742
|
+
video.addEventListener('error', failed, { once: true });
|
|
4743
|
+
try {
|
|
4744
|
+
action();
|
|
4745
|
+
}
|
|
4746
|
+
catch (error) {
|
|
4747
|
+
cleanup();
|
|
4748
|
+
reject(error);
|
|
4749
|
+
}
|
|
4750
|
+
});
|
|
4751
|
+
}
|
|
4752
|
+
async function generateVideoThumbnail(file) {
|
|
4753
|
+
const video = document.createElement('video');
|
|
4754
|
+
const url = URL.createObjectURL(file);
|
|
4755
|
+
try {
|
|
4756
|
+
video.muted = true;
|
|
4757
|
+
video.playsInline = true;
|
|
4758
|
+
video.preload = 'auto';
|
|
4759
|
+
await videoEvent(video, 'loadeddata', () => {
|
|
4760
|
+
video.src = url;
|
|
4761
|
+
video.load();
|
|
4762
|
+
});
|
|
4763
|
+
if (!video.videoWidth || !video.videoHeight) {
|
|
4764
|
+
throw new Error('The video has no decodable dimensions.');
|
|
4765
|
+
}
|
|
4766
|
+
const analysis = document.createElement('canvas');
|
|
4767
|
+
analysis.width = 64;
|
|
4768
|
+
analysis.height = Math.max(1, Math.round((64 * video.videoHeight) / video.videoWidth));
|
|
4769
|
+
const context = analysis.getContext('2d', { willReadFrequently: true });
|
|
4770
|
+
if (!context) {
|
|
4771
|
+
throw new Error('Canvas is unavailable.');
|
|
4772
|
+
}
|
|
4773
|
+
const seek = async (time) => {
|
|
4774
|
+
if (Math.abs(video.currentTime - time) > 0.001) {
|
|
4775
|
+
await videoEvent(video, 'seeked', () => {
|
|
4776
|
+
video.currentTime = time;
|
|
4777
|
+
});
|
|
4778
|
+
}
|
|
4779
|
+
};
|
|
4780
|
+
const end = Number.isFinite(video.duration)
|
|
4781
|
+
? Math.min(5, Math.max(0, video.duration - 0.01))
|
|
4782
|
+
: 5;
|
|
4783
|
+
let bestTime = 0;
|
|
4784
|
+
let bestRatio = -1;
|
|
4785
|
+
let found = false;
|
|
4786
|
+
for (let time = 0; time <= end; time += 0.25) {
|
|
4787
|
+
await seek(time);
|
|
4788
|
+
context.drawImage(video, 0, 0, analysis.width, analysis.height);
|
|
4789
|
+
const ratio = visiblePixelRatio(context.getImageData(0, 0, analysis.width, analysis.height).data);
|
|
4790
|
+
if (ratio > bestRatio) {
|
|
4791
|
+
bestRatio = ratio;
|
|
4792
|
+
bestTime = time;
|
|
4793
|
+
}
|
|
4794
|
+
// Small highlights or a subject in a dark scene are enough.
|
|
4795
|
+
if (ratio >= 0.02) {
|
|
4796
|
+
found = true;
|
|
4797
|
+
break;
|
|
4798
|
+
}
|
|
4799
|
+
}
|
|
4800
|
+
if (!found) {
|
|
4801
|
+
await seek(bestTime);
|
|
4802
|
+
}
|
|
4803
|
+
const canvas = document.createElement('canvas');
|
|
4804
|
+
const scale = Math.min(1, 1280 / video.videoWidth, 720 / video.videoHeight);
|
|
4805
|
+
canvas.width = Math.max(1, Math.round(video.videoWidth * scale));
|
|
4806
|
+
canvas.height = Math.max(1, Math.round(video.videoHeight * scale));
|
|
4807
|
+
const output = canvas.getContext('2d');
|
|
4808
|
+
if (!output) {
|
|
4809
|
+
throw new Error('Canvas is unavailable.');
|
|
4810
|
+
}
|
|
4811
|
+
output.drawImage(video, 0, 0, canvas.width, canvas.height);
|
|
4812
|
+
return await new Promise((resolve, reject) => {
|
|
4813
|
+
canvas.toBlob(blob => blob
|
|
4814
|
+
? resolve(blob)
|
|
4815
|
+
: reject(new Error('Thumbnail encoding failed.')), 'image/webp', 0.85);
|
|
4816
|
+
});
|
|
4817
|
+
}
|
|
4818
|
+
finally {
|
|
4819
|
+
try {
|
|
4820
|
+
video.pause();
|
|
4821
|
+
video.removeAttribute('src');
|
|
4822
|
+
video.load();
|
|
4823
|
+
}
|
|
4824
|
+
finally {
|
|
4825
|
+
URL.revokeObjectURL(url);
|
|
4826
|
+
}
|
|
4827
|
+
}
|
|
4828
|
+
}
|
|
4829
|
+
|
|
3214
4830
|
//#region imports
|
|
3215
4831
|
//#endregion
|
|
4832
|
+
const t$3 = Translation.for('src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts', { "src/lib/taon-posts/taon-cms-post/taon-cms-post.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-g9lHRbOQ.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-Cg4a0vHn.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-BxcX3l2T.mjs')).default }, "src/lib/taon-posts/taon-cms-post/taon-cms-post.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-R5nOhvtu.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-VmobXbTc.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-BwRnTGxe.mjs')).default } });
|
|
3216
4833
|
class TaonCmsPostComponent {
|
|
3217
4834
|
//#endregion
|
|
3218
4835
|
//#region constructor
|
|
3219
4836
|
constructor() {
|
|
4837
|
+
this.t = t$3.for(this);
|
|
3220
4838
|
//#region fields and getters
|
|
3221
4839
|
this.post = input(null, ...(ngDevMode ? [{ debugName: "post" }] : []));
|
|
3222
4840
|
this.mode = model('view', ...(ngDevMode ? [{ debugName: "mode" }] : []));
|
|
3223
4841
|
this.changed = output();
|
|
3224
4842
|
this.deleted = output();
|
|
4843
|
+
this.duplicated = output();
|
|
3225
4844
|
this.cancelled = output();
|
|
3226
4845
|
this.currentPost = signal(null, ...(ngDevMode ? [{ debugName: "currentPost" }] : []));
|
|
4846
|
+
this.placeholderShortIntro = this.t.signal.gettext('A short introduction...');
|
|
4847
|
+
this.placeholderTitle = this.t.signal.gettext('Title');
|
|
4848
|
+
this.placeholderTellYourStory = this.t.signal.gettext('Tell your story...');
|
|
3227
4849
|
this.draft = signal({
|
|
3228
4850
|
type: TaonCmsContentType.Normal,
|
|
3229
4851
|
title: '',
|
|
@@ -3233,39 +4855,76 @@ class TaonCmsPostComponent {
|
|
|
3233
4855
|
videoKey: null,
|
|
3234
4856
|
audioKey: null,
|
|
3235
4857
|
attachmentKey: null,
|
|
4858
|
+
thumbnailKey: null,
|
|
4859
|
+
categoryId: null,
|
|
4860
|
+
tagIds: [],
|
|
3236
4861
|
}, ...(ngDevMode ? [{ debugName: "draft" }] : []));
|
|
3237
4862
|
this.postTypes = [
|
|
3238
|
-
{
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
4863
|
+
{
|
|
4864
|
+
value: TaonCmsContentType.Normal,
|
|
4865
|
+
label: this.t.gettext('Normal post'),
|
|
4866
|
+
},
|
|
4867
|
+
{ value: TaonCmsContentType.Video, label: this.t.gettext('Video post') },
|
|
4868
|
+
{ value: TaonCmsContentType.Audio, label: this.t.gettext('Audio post') },
|
|
4869
|
+
{
|
|
4870
|
+
value: TaonCmsContentType.Attachment,
|
|
4871
|
+
label: this.t.gettext('Attachment post'),
|
|
4872
|
+
},
|
|
3242
4873
|
];
|
|
3243
4874
|
this.mediaAttachments = [
|
|
3244
4875
|
{
|
|
3245
4876
|
type: TaonCmsContentType.Video,
|
|
3246
4877
|
key: 'videoKey',
|
|
3247
|
-
heading: 'Video Attachment',
|
|
3248
|
-
uploadLabel: 'Upload video',
|
|
4878
|
+
heading: this.t.gettext('Video Attachment'),
|
|
4879
|
+
uploadLabel: this.t.gettext('Upload video'),
|
|
3249
4880
|
accept: 'video/*',
|
|
3250
4881
|
},
|
|
3251
4882
|
{
|
|
3252
4883
|
type: TaonCmsContentType.Audio,
|
|
3253
4884
|
key: 'audioKey',
|
|
3254
|
-
heading: 'Audio Attachment',
|
|
3255
|
-
uploadLabel: 'Upload audio',
|
|
4885
|
+
heading: this.t.gettext('Audio Attachment'),
|
|
4886
|
+
uploadLabel: this.t.gettext('Upload audio'),
|
|
3256
4887
|
accept: 'audio/*',
|
|
3257
4888
|
},
|
|
3258
4889
|
{
|
|
3259
4890
|
type: TaonCmsContentType.Attachment,
|
|
3260
4891
|
key: 'attachmentKey',
|
|
3261
|
-
heading: 'File Attachment',
|
|
3262
|
-
uploadLabel: 'Upload file',
|
|
4892
|
+
heading: this.t.gettext('File Attachment'),
|
|
4893
|
+
uploadLabel: this.t.gettext('Upload file'),
|
|
3263
4894
|
accept: '',
|
|
3264
4895
|
},
|
|
3265
4896
|
];
|
|
3266
4897
|
this.mediaAttachment = computed(() => this.mediaAttachments.find(media => media.type === this.draft().type), ...(ngDevMode ? [{ debugName: "mediaAttachment" }] : []));
|
|
3267
4898
|
this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
|
|
4899
|
+
this.thumbnailPreviewUrl = signal('', ...(ngDevMode ? [{ debugName: "thumbnailPreviewUrl" }] : []));
|
|
4900
|
+
this.thumbnailError = signal('', ...(ngDevMode ? [{ debugName: "thumbnailError" }] : []));
|
|
4901
|
+
this.thumbnailReference = computed(() => this.draft().thumbnailKey, ...(ngDevMode ? [{ debugName: "thumbnailReference" }] : []));
|
|
4902
|
+
this.thumbnailSlug = computed(() => this.draft().slug, ...(ngDevMode ? [{ debugName: "thumbnailSlug" }] : []));
|
|
4903
|
+
this.taxonomyLoading = signal(false, ...(ngDevMode ? [{ debugName: "taxonomyLoading" }] : []));
|
|
4904
|
+
this.taxonomyError = signal('', ...(ngDevMode ? [{ debugName: "taxonomyError" }] : []));
|
|
4905
|
+
this.categories = signal([], ...(ngDevMode ? [{ debugName: "categories" }] : []));
|
|
4906
|
+
this.tags = signal([], ...(ngDevMode ? [{ debugName: "tags" }] : []));
|
|
4907
|
+
this.tagSearch = signal('', ...(ngDevMode ? [{ debugName: "tagSearch" }] : []));
|
|
4908
|
+
this.filteredTags = computed(() => {
|
|
4909
|
+
const query = this.tagSearch().trim().toLowerCase();
|
|
4910
|
+
return this.tags().filter(tag => !this.draft().tagIds.includes(tag.id) &&
|
|
4911
|
+
`${tag.name} ${tag.slug}`.toLowerCase().includes(query));
|
|
4912
|
+
}, ...(ngDevMode ? [{ debugName: "filteredTags" }] : []));
|
|
4913
|
+
this.selectedTags = computed(() => this.tags().filter(tag => this.draft().tagIds.includes(tag.id)), ...(ngDevMode ? [{ debugName: "selectedTags" }] : []));
|
|
4914
|
+
this.categoryApi = inject(TaonCmsCategoryApiService);
|
|
4915
|
+
this.tagApi = inject(TaonCmsTagApiService);
|
|
4916
|
+
this.editorSession = 0;
|
|
4917
|
+
this.thumbnailObjectUrl = '';
|
|
4918
|
+
this.stagedThumbnail = signal(null, ...(ngDevMode ? [{ debugName: "stagedThumbnail" }] : []));
|
|
3268
4919
|
this.uploading = signal(false, ...(ngDevMode ? [{ debugName: "uploading" }] : []));
|
|
4920
|
+
this.uploadProgress = signal(0, ...(ngDevMode ? [{ debugName: "uploadProgress" }] : []));
|
|
4921
|
+
this.mediaPreviewUrl = signal('', ...(ngDevMode ? [{ debugName: "mediaPreviewUrl" }] : []));
|
|
4922
|
+
this.mediaPreviewLoading = signal(false, ...(ngDevMode ? [{ debugName: "mediaPreviewLoading" }] : []));
|
|
4923
|
+
this.mediaPreviewError = signal('', ...(ngDevMode ? [{ debugName: "mediaPreviewError" }] : []));
|
|
4924
|
+
this.mediaFileNames = signal({}, ...(ngDevMode ? [{ debugName: "mediaFileNames" }] : []));
|
|
4925
|
+
this.uploadedMediaPreview = signal(null, ...(ngDevMode ? [{ debugName: "uploadedMediaPreview" }] : []));
|
|
4926
|
+
this.mediaPreviewRequest = 0;
|
|
4927
|
+
this.mediaPreviewSignature = '';
|
|
3269
4928
|
this.dialogOpen = signal(false, ...(ngDevMode ? [{ debugName: "dialogOpen" }] : []));
|
|
3270
4929
|
this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
|
|
3271
4930
|
this.relatedPosts = signal([], ...(ngDevMode ? [{ debugName: "relatedPosts" }] : []));
|
|
@@ -3277,6 +4936,8 @@ class TaonCmsPostComponent {
|
|
|
3277
4936
|
this.useAsApplicationHook = signal(false, ...(ngDevMode ? [{ debugName: "useAsApplicationHook" }] : []));
|
|
3278
4937
|
this.selectedApplicationHook = signal(null, ...(ngDevMode ? [{ debugName: "selectedApplicationHook" }] : []));
|
|
3279
4938
|
this.permissions = signal([], ...(ngDevMode ? [{ debugName: "permissions" }] : []));
|
|
4939
|
+
this.applyPermissionsToRelatedPosts = signal(false, ...(ngDevMode ? [{ debugName: "applyPermissionsToRelatedPosts" }] : []));
|
|
4940
|
+
this.permissionSource = signal(null, ...(ngDevMode ? [{ debugName: "permissionSource" }] : []));
|
|
3280
4941
|
this.permissionsLoading = signal(false, ...(ngDevMode ? [{ debugName: "permissionsLoading" }] : []));
|
|
3281
4942
|
this.permissionsError = signal('', ...(ngDevMode ? [{ debugName: "permissionsError" }] : []));
|
|
3282
4943
|
this.permissionOptions = signal([], ...(ngDevMode ? [{ debugName: "permissionOptions" }] : []));
|
|
@@ -3296,7 +4957,9 @@ class TaonCmsPostComponent {
|
|
|
3296
4957
|
!this.applicationHooksError() &&
|
|
3297
4958
|
(!this.useAsApplicationHook() || !!this.selectedApplicationHook()) &&
|
|
3298
4959
|
!this.permissionsLoading() &&
|
|
3299
|
-
!this.permissionsError()
|
|
4960
|
+
!this.permissionsError() &&
|
|
4961
|
+
!this.taxonomyLoading() &&
|
|
4962
|
+
!this.taxonomyError(), ...(ngDevMode ? [{ debugName: "canSave" }] : []));
|
|
3300
4963
|
this.canPublish = computed(() => {
|
|
3301
4964
|
const post = this.currentPost();
|
|
3302
4965
|
return !!post && post.status !== 'published';
|
|
@@ -3314,12 +4977,243 @@ class TaonCmsPostComponent {
|
|
|
3314
4977
|
untracked(() => {
|
|
3315
4978
|
this.loadApplicationHooks();
|
|
3316
4979
|
this.loadPermissionOptions();
|
|
4980
|
+
this.loadTaxonomy();
|
|
3317
4981
|
});
|
|
3318
4982
|
}
|
|
3319
4983
|
});
|
|
4984
|
+
effect(onCleanup => {
|
|
4985
|
+
const key = this.thumbnailReference();
|
|
4986
|
+
const slug = this.thumbnailSlug();
|
|
4987
|
+
const editing = this.editing();
|
|
4988
|
+
const staged = this.stagedThumbnail();
|
|
4989
|
+
let active = true;
|
|
4990
|
+
onCleanup(() => {
|
|
4991
|
+
active = false;
|
|
4992
|
+
});
|
|
4993
|
+
this.thumbnailError.set('');
|
|
4994
|
+
this.thumbnailPreviewUrl.set('');
|
|
4995
|
+
if (staged && staged.key === key) {
|
|
4996
|
+
this.thumbnailPreviewUrl.set(staged.url);
|
|
4997
|
+
return;
|
|
4998
|
+
}
|
|
4999
|
+
if (!key) {
|
|
5000
|
+
return;
|
|
5001
|
+
}
|
|
5002
|
+
const placeholder = defaultThumbnailUrl(key);
|
|
5003
|
+
if (placeholder) {
|
|
5004
|
+
this.thumbnailPreviewUrl.set(placeholder);
|
|
5005
|
+
return;
|
|
5006
|
+
}
|
|
5007
|
+
if (!slug) {
|
|
5008
|
+
return;
|
|
5009
|
+
}
|
|
5010
|
+
const load = async () => {
|
|
5011
|
+
if (editing) {
|
|
5012
|
+
return this.api.getAssetUrl(key);
|
|
5013
|
+
}
|
|
5014
|
+
try {
|
|
5015
|
+
return await this.api.getThumbnailLinkBySlug(slug, true);
|
|
5016
|
+
}
|
|
5017
|
+
catch {
|
|
5018
|
+
return this.api.getThumbnailLinkBySlug(slug);
|
|
5019
|
+
}
|
|
5020
|
+
};
|
|
5021
|
+
void load()
|
|
5022
|
+
.then(url => {
|
|
5023
|
+
if (active && !this.destroyRef.destroyed) {
|
|
5024
|
+
this.thumbnailPreviewUrl.set(url);
|
|
5025
|
+
}
|
|
5026
|
+
})
|
|
5027
|
+
.catch((error) => {
|
|
5028
|
+
console.error('[taon-cms-post] Unable to load thumbnail', error);
|
|
5029
|
+
if (active && !this.destroyRef.destroyed) {
|
|
5030
|
+
this.thumbnailError.set(this.t.gettext('The thumbnail could not be loaded.'));
|
|
5031
|
+
}
|
|
5032
|
+
});
|
|
5033
|
+
});
|
|
5034
|
+
this.destroyRef.onDestroy(() => this.releaseThumbnailPreview());
|
|
5035
|
+
effect(() => {
|
|
5036
|
+
const media = this.mediaAttachment();
|
|
5037
|
+
const key = media ? this.draft()[media.key] : null;
|
|
5038
|
+
const slug = this.draft().slug;
|
|
5039
|
+
const editing = this.editing();
|
|
5040
|
+
const viewing = !!this.currentPost() && this.mode() !== 'add';
|
|
5041
|
+
const stagedPreview = this.uploadedMediaPreview();
|
|
5042
|
+
if ((!editing && !viewing) || !media || !key) {
|
|
5043
|
+
this.mediaPreviewSignature = '';
|
|
5044
|
+
this.mediaPreviewRequest += 1;
|
|
5045
|
+
this.mediaPreviewUrl.set('');
|
|
5046
|
+
this.mediaPreviewLoading.set(false);
|
|
5047
|
+
this.mediaPreviewError.set('');
|
|
5048
|
+
return;
|
|
5049
|
+
}
|
|
5050
|
+
if (stagedPreview?.key === key) {
|
|
5051
|
+
const signature = `upload:${key}:${stagedPreview.url}`;
|
|
5052
|
+
if (signature === this.mediaPreviewSignature) {
|
|
5053
|
+
return;
|
|
5054
|
+
}
|
|
5055
|
+
this.mediaPreviewSignature = signature;
|
|
5056
|
+
this.mediaPreviewRequest += 1;
|
|
5057
|
+
this.mediaPreviewUrl.set(stagedPreview.url);
|
|
5058
|
+
this.mediaPreviewLoading.set(false);
|
|
5059
|
+
this.mediaPreviewError.set('');
|
|
5060
|
+
return;
|
|
5061
|
+
}
|
|
5062
|
+
if (!slug) {
|
|
5063
|
+
this.mediaPreviewSignature = '';
|
|
5064
|
+
this.mediaPreviewRequest += 1;
|
|
5065
|
+
this.mediaPreviewUrl.set('');
|
|
5066
|
+
this.mediaPreviewLoading.set(false);
|
|
5067
|
+
this.mediaPreviewError.set('');
|
|
5068
|
+
return;
|
|
5069
|
+
}
|
|
5070
|
+
const signature = `${this.mode()}:${media.type}:${slug}:${key}`;
|
|
5071
|
+
if (signature === this.mediaPreviewSignature) {
|
|
5072
|
+
return;
|
|
5073
|
+
}
|
|
5074
|
+
this.mediaPreviewSignature = signature;
|
|
5075
|
+
const requestId = ++this.mediaPreviewRequest;
|
|
5076
|
+
this.mediaPreviewUrl.set('');
|
|
5077
|
+
this.mediaPreviewLoading.set(true);
|
|
5078
|
+
this.mediaPreviewError.set('');
|
|
5079
|
+
const getLink = editing
|
|
5080
|
+
? this.getMediaLink(slug, media.type)
|
|
5081
|
+
: this.getMediaLinkForView(slug, media.type);
|
|
5082
|
+
void getLink
|
|
5083
|
+
.then(url => {
|
|
5084
|
+
if (requestId === this.mediaPreviewRequest &&
|
|
5085
|
+
!this.destroyRef.destroyed) {
|
|
5086
|
+
this.mediaPreviewUrl.set(url);
|
|
5087
|
+
}
|
|
5088
|
+
})
|
|
5089
|
+
.catch((error) => {
|
|
5090
|
+
console.error('[taon-cms-post] Unable to load media preview', error);
|
|
5091
|
+
if (requestId === this.mediaPreviewRequest &&
|
|
5092
|
+
!this.destroyRef.destroyed) {
|
|
5093
|
+
this.mediaPreviewError.set(this.t.gettext('Media preview could not be loaded. Please reopen the editor to try again.'));
|
|
5094
|
+
}
|
|
5095
|
+
})
|
|
5096
|
+
.finally(() => {
|
|
5097
|
+
if (requestId === this.mediaPreviewRequest &&
|
|
5098
|
+
!this.destroyRef.destroyed) {
|
|
5099
|
+
this.mediaPreviewLoading.set(false);
|
|
5100
|
+
}
|
|
5101
|
+
});
|
|
5102
|
+
});
|
|
3320
5103
|
}
|
|
3321
5104
|
//#endregion
|
|
3322
5105
|
//#region methods / load related posts
|
|
5106
|
+
loadTaxonomy() {
|
|
5107
|
+
this.taxonomyLoad?.unsubscribe();
|
|
5108
|
+
const session = this.editorSession;
|
|
5109
|
+
const postId = this.currentPost()?.id;
|
|
5110
|
+
this.taxonomyLoading.set(true);
|
|
5111
|
+
this.taxonomyError.set('');
|
|
5112
|
+
this.taxonomyLoad = forkJoin({
|
|
5113
|
+
categories: this.categoryApi.allMyEntities$,
|
|
5114
|
+
tags: this.tagApi.allMyEntities$,
|
|
5115
|
+
tagIds: postId ? this.api.listTagIds(postId) : of([]),
|
|
5116
|
+
})
|
|
5117
|
+
.pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.taxonomyLoading.set(false)))
|
|
5118
|
+
.subscribe({
|
|
5119
|
+
next: result => {
|
|
5120
|
+
if (session === this.editorSession) {
|
|
5121
|
+
this.categories.set(result.categories.sort((a, b) => a.sortOrder - b.sortOrder || a.name.localeCompare(b.name)));
|
|
5122
|
+
this.tags.set(result.tags);
|
|
5123
|
+
this.updateDraft('tagIds', result.tagIds);
|
|
5124
|
+
}
|
|
5125
|
+
},
|
|
5126
|
+
error: (error) => {
|
|
5127
|
+
console.error('[taon-cms-post] Unable to load categories and tags', error);
|
|
5128
|
+
this.taxonomyError.set(this.t.gettext('Categories and tags could not be loaded. Please try again.'));
|
|
5129
|
+
},
|
|
5130
|
+
});
|
|
5131
|
+
}
|
|
5132
|
+
addTag(id) {
|
|
5133
|
+
if (!this.draft().tagIds.includes(id)) {
|
|
5134
|
+
this.updateDraft('tagIds', [...this.draft().tagIds, id]);
|
|
5135
|
+
}
|
|
5136
|
+
}
|
|
5137
|
+
removeTag(id) {
|
|
5138
|
+
this.updateDraft('tagIds', this.draft().tagIds.filter(selected => selected !== id));
|
|
5139
|
+
}
|
|
5140
|
+
filterTags(event) {
|
|
5141
|
+
if (event.target instanceof HTMLInputElement) {
|
|
5142
|
+
this.tagSearch.set(event.target.value);
|
|
5143
|
+
}
|
|
5144
|
+
}
|
|
5145
|
+
applyDefaultThumbnail() {
|
|
5146
|
+
if (!this.editing() || this.busy() || this.dialogOpen()) {
|
|
5147
|
+
return;
|
|
5148
|
+
}
|
|
5149
|
+
this.releaseThumbnailPreview();
|
|
5150
|
+
this.stagedThumbnail.set(null);
|
|
5151
|
+
this.updateDraft('thumbnailKey', defaultThumbnailKey(this.draft().type));
|
|
5152
|
+
}
|
|
5153
|
+
async thumbnailSelected(event) {
|
|
5154
|
+
if (!(event.target instanceof HTMLInputElement)) {
|
|
5155
|
+
return;
|
|
5156
|
+
}
|
|
5157
|
+
const input = event.target;
|
|
5158
|
+
const file = input.files?.[0];
|
|
5159
|
+
input.value = '';
|
|
5160
|
+
if (!file || !this.editing() || this.busy() || this.dialogOpen()) {
|
|
5161
|
+
return;
|
|
5162
|
+
}
|
|
5163
|
+
if (!file.type.startsWith('image/')) {
|
|
5164
|
+
this.error.set(this.t.gettext('Please select an image for the thumbnail.'));
|
|
5165
|
+
return;
|
|
5166
|
+
}
|
|
5167
|
+
this.busy.set(true);
|
|
5168
|
+
this.error.set('');
|
|
5169
|
+
try {
|
|
5170
|
+
await this.storeThumbnail(file, this.editorSession);
|
|
5171
|
+
}
|
|
5172
|
+
catch (error) {
|
|
5173
|
+
console.error('[taon-cms-post] Unable to upload thumbnail', error);
|
|
5174
|
+
this.error.set(this.t.gettext('The thumbnail could not be uploaded. Please try again.'));
|
|
5175
|
+
}
|
|
5176
|
+
finally {
|
|
5177
|
+
this.busy.set(false);
|
|
5178
|
+
}
|
|
5179
|
+
}
|
|
5180
|
+
async storeThumbnail(file, session) {
|
|
5181
|
+
if (session !== this.editorSession || this.destroyRef.destroyed) {
|
|
5182
|
+
return;
|
|
5183
|
+
}
|
|
5184
|
+
const previousPreview = this.thumbnailPreviewUrl();
|
|
5185
|
+
const previousStaged = this.stagedThumbnail();
|
|
5186
|
+
const preview = URL.createObjectURL(file);
|
|
5187
|
+
this.stagedThumbnail.set({ key: this.draft().thumbnailKey, url: preview });
|
|
5188
|
+
this.thumbnailPreviewUrl.set(preview);
|
|
5189
|
+
try {
|
|
5190
|
+
const object = await this.api.uploadMedia(file);
|
|
5191
|
+
if (session === this.editorSession && !this.destroyRef.destroyed) {
|
|
5192
|
+
this.releaseThumbnailPreview();
|
|
5193
|
+
this.thumbnailObjectUrl = preview;
|
|
5194
|
+
this.stagedThumbnail.set({ key: object.key, url: preview });
|
|
5195
|
+
this.updateDraft('thumbnailKey', object.key);
|
|
5196
|
+
}
|
|
5197
|
+
}
|
|
5198
|
+
catch (error) {
|
|
5199
|
+
if (session === this.editorSession) {
|
|
5200
|
+
this.stagedThumbnail.set(previousStaged);
|
|
5201
|
+
this.thumbnailPreviewUrl.set(previousPreview);
|
|
5202
|
+
}
|
|
5203
|
+
throw error;
|
|
5204
|
+
}
|
|
5205
|
+
finally {
|
|
5206
|
+
if (this.thumbnailObjectUrl !== preview) {
|
|
5207
|
+
URL.revokeObjectURL(preview);
|
|
5208
|
+
}
|
|
5209
|
+
}
|
|
5210
|
+
}
|
|
5211
|
+
releaseThumbnailPreview() {
|
|
5212
|
+
if (this.thumbnailObjectUrl) {
|
|
5213
|
+
URL.revokeObjectURL(this.thumbnailObjectUrl);
|
|
5214
|
+
this.thumbnailObjectUrl = '';
|
|
5215
|
+
}
|
|
5216
|
+
}
|
|
3323
5217
|
loadRelatedPosts() {
|
|
3324
5218
|
if (this.busy() || this.relatedPostsLoading()) {
|
|
3325
5219
|
return;
|
|
@@ -3337,7 +5231,7 @@ class TaonCmsPostComponent {
|
|
|
3337
5231
|
next: posts => this.relatedPosts.set(posts),
|
|
3338
5232
|
error: (error) => {
|
|
3339
5233
|
console.error('[taon-cms-post] Unable to load related posts', error);
|
|
3340
|
-
this.relatedPostsError.set('Related posts could not be loaded. Please try again.');
|
|
5234
|
+
this.relatedPostsError.set(this.t.gettext('Related posts could not be loaded. Please try again.'));
|
|
3341
5235
|
},
|
|
3342
5236
|
});
|
|
3343
5237
|
}
|
|
@@ -3403,7 +5297,7 @@ class TaonCmsPostComponent {
|
|
|
3403
5297
|
},
|
|
3404
5298
|
error: (error) => {
|
|
3405
5299
|
console.error('[taon-cms-post] Unable to load application hooks', error);
|
|
3406
|
-
this.applicationHooksError.set('Application hooks could not be loaded. Please try again.');
|
|
5300
|
+
this.applicationHooksError.set(this.t.gettext('Application hooks could not be loaded. Please try again.'));
|
|
3407
5301
|
},
|
|
3408
5302
|
});
|
|
3409
5303
|
}
|
|
@@ -3420,7 +5314,7 @@ class TaonCmsPostComponent {
|
|
|
3420
5314
|
//#endregion
|
|
3421
5315
|
//#region methods / load permissions
|
|
3422
5316
|
loadPermissions() {
|
|
3423
|
-
if (this.
|
|
5317
|
+
if (this.permissionsLoading()) {
|
|
3424
5318
|
return;
|
|
3425
5319
|
}
|
|
3426
5320
|
const post = this.requirePost();
|
|
@@ -3430,20 +5324,28 @@ class TaonCmsPostComponent {
|
|
|
3430
5324
|
this.permissionsLoading.set(true);
|
|
3431
5325
|
this.permissionsError.set('');
|
|
3432
5326
|
this.permissionsLoad = this.api
|
|
3433
|
-
.
|
|
5327
|
+
.getPermissionConfiguration(post.id)
|
|
3434
5328
|
.pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.permissionsLoading.set(false)))
|
|
3435
5329
|
.subscribe({
|
|
3436
|
-
next:
|
|
5330
|
+
next: configuration => {
|
|
5331
|
+
this.permissions.set(configuration.permissions);
|
|
5332
|
+
this.permissionSource.set(configuration.source);
|
|
5333
|
+
},
|
|
3437
5334
|
error: (error) => {
|
|
3438
5335
|
console.error('[taon-cms-post] Unable to load permissions', error);
|
|
3439
|
-
this.permissionsError.set('Permissions could not be loaded. Please try again.');
|
|
5336
|
+
this.permissionsError.set(this.t.gettext('Permissions could not be loaded. Please try again.'));
|
|
3440
5337
|
},
|
|
3441
5338
|
});
|
|
3442
5339
|
}
|
|
3443
5340
|
//#endregion
|
|
3444
5341
|
//#region methods / add permission
|
|
3445
5342
|
addPermission() {
|
|
3446
|
-
if (!this.editing() ||
|
|
5343
|
+
if (!this.editing() ||
|
|
5344
|
+
this.busy() ||
|
|
5345
|
+
this.dialogOpen() ||
|
|
5346
|
+
this.permissionSource() ||
|
|
5347
|
+
this.permissionsLoading() ||
|
|
5348
|
+
this.permissionsError()) {
|
|
3447
5349
|
return;
|
|
3448
5350
|
}
|
|
3449
5351
|
const permissionId = this.selectedPermissionId();
|
|
@@ -3456,7 +5358,12 @@ class TaonCmsPostComponent {
|
|
|
3456
5358
|
//#endregion
|
|
3457
5359
|
//#region methods / remove permission
|
|
3458
5360
|
removePermission(id) {
|
|
3459
|
-
if (!this.editing() ||
|
|
5361
|
+
if (!this.editing() ||
|
|
5362
|
+
this.busy() ||
|
|
5363
|
+
this.dialogOpen() ||
|
|
5364
|
+
this.permissionSource() ||
|
|
5365
|
+
this.permissionsLoading() ||
|
|
5366
|
+
this.permissionsError()) {
|
|
3460
5367
|
return;
|
|
3461
5368
|
}
|
|
3462
5369
|
this.permissions.update(items => items.filter(permission => permission.id !== id));
|
|
@@ -3476,7 +5383,7 @@ class TaonCmsPostComponent {
|
|
|
3476
5383
|
next: permissions => this.permissionOptions.set(permissions),
|
|
3477
5384
|
error: (error) => {
|
|
3478
5385
|
console.error('[taon-cms-post] Unable to load permission options', error);
|
|
3479
|
-
this.permissionOptionsError.set('Available permissions could not be loaded. Please try again.');
|
|
5386
|
+
this.permissionOptionsError.set(this.t.gettext('Available permissions could not be loaded. Please try again.'));
|
|
3480
5387
|
},
|
|
3481
5388
|
});
|
|
3482
5389
|
}
|
|
@@ -3489,7 +5396,7 @@ class TaonCmsPostComponent {
|
|
|
3489
5396
|
//#region methods / file selected
|
|
3490
5397
|
async fileSelected(event) {
|
|
3491
5398
|
if (!(event.target instanceof HTMLInputElement)) {
|
|
3492
|
-
this.error.set('Unable to read the selected media file.');
|
|
5399
|
+
this.error.set(this.t.gettext('Unable to read the selected media file.'));
|
|
3493
5400
|
return;
|
|
3494
5401
|
}
|
|
3495
5402
|
const input = event.target;
|
|
@@ -3502,23 +5409,52 @@ class TaonCmsPostComponent {
|
|
|
3502
5409
|
input.value = '';
|
|
3503
5410
|
return;
|
|
3504
5411
|
}
|
|
3505
|
-
const
|
|
5412
|
+
const session = this.editorSession;
|
|
3506
5413
|
this.busy.set(true);
|
|
3507
5414
|
this.uploading.set(true);
|
|
5415
|
+
this.uploadProgress.set(0);
|
|
3508
5416
|
this.error.set('');
|
|
3509
5417
|
try {
|
|
3510
|
-
const object = await this.api.uploadMedia(file
|
|
3511
|
-
|
|
5418
|
+
const object = await this.api.uploadMedia(file, percentage => {
|
|
5419
|
+
if (!this.destroyRef.destroyed) {
|
|
5420
|
+
this.uploadProgress.set(percentage);
|
|
5421
|
+
}
|
|
5422
|
+
});
|
|
5423
|
+
if (!this.destroyRef.destroyed && this.editorSession === session) {
|
|
5424
|
+
const fileName = object.fileName || file.name;
|
|
5425
|
+
this.mediaFileNames.update(names => ({
|
|
5426
|
+
...names,
|
|
5427
|
+
[object.key]: fileName,
|
|
5428
|
+
}));
|
|
5429
|
+
if (object.downloadUrl) {
|
|
5430
|
+
this.uploadedMediaPreview.set({
|
|
5431
|
+
key: object.key,
|
|
5432
|
+
url: this.uploadedMediaUrl(object.downloadUrl, media.type),
|
|
5433
|
+
fileName,
|
|
5434
|
+
});
|
|
5435
|
+
}
|
|
3512
5436
|
this.updateDraft(media.key, object.key);
|
|
5437
|
+
if (media.type === TaonCmsContentType.Video) {
|
|
5438
|
+
try {
|
|
5439
|
+
const blob = await generateVideoThumbnail(file);
|
|
5440
|
+
const extension = blob.type === 'image/webp' ? 'webp' : 'png';
|
|
5441
|
+
await this.storeThumbnail(new File([blob], `thumbnail.${extension}`, { type: blob.type }), session);
|
|
5442
|
+
}
|
|
5443
|
+
catch (error) {
|
|
5444
|
+
console.error('[taon-cms-post] Unable to generate thumbnail', error);
|
|
5445
|
+
this.error.set(this.t.gettext('The video was uploaded, but its thumbnail could not be generated. Upload a thumbnail or apply a default placeholder.'));
|
|
5446
|
+
}
|
|
5447
|
+
}
|
|
3513
5448
|
}
|
|
3514
5449
|
}
|
|
3515
5450
|
catch (error) {
|
|
3516
5451
|
console.error('[taon-cms-post] Unable to upload media', error);
|
|
3517
|
-
this.error.set('The media could not be uploaded. Please try again.');
|
|
5452
|
+
this.error.set(this.t.gettext('The media could not be uploaded. Please try again.'));
|
|
3518
5453
|
}
|
|
3519
5454
|
finally {
|
|
3520
5455
|
this.busy.set(false);
|
|
3521
5456
|
this.uploading.set(false);
|
|
5457
|
+
this.uploadProgress.set(0);
|
|
3522
5458
|
input.value = '';
|
|
3523
5459
|
}
|
|
3524
5460
|
}
|
|
@@ -3529,9 +5465,67 @@ class TaonCmsPostComponent {
|
|
|
3529
5465
|
if (!media || !this.editing() || this.busy() || this.dialogOpen()) {
|
|
3530
5466
|
return;
|
|
3531
5467
|
}
|
|
5468
|
+
this.uploadedMediaPreview.set(null);
|
|
3532
5469
|
this.updateDraft(media.key, null);
|
|
3533
5470
|
}
|
|
3534
5471
|
//#endregion
|
|
5472
|
+
//#region methods / uploaded media URL
|
|
5473
|
+
uploadedMediaUrl(url, type) {
|
|
5474
|
+
if (type !== TaonCmsContentType.Attachment) {
|
|
5475
|
+
return url;
|
|
5476
|
+
}
|
|
5477
|
+
const parsedUrl = new URL(url);
|
|
5478
|
+
parsedUrl.searchParams.set('download', 'true');
|
|
5479
|
+
return parsedUrl.href;
|
|
5480
|
+
}
|
|
5481
|
+
//#endregion
|
|
5482
|
+
//#region methods / get media link
|
|
5483
|
+
getMediaLink(slug, type) {
|
|
5484
|
+
switch (type) {
|
|
5485
|
+
case TaonCmsContentType.Video:
|
|
5486
|
+
return firstValueFrom(this.api.getVideoLinkBySlug(slug));
|
|
5487
|
+
case TaonCmsContentType.Audio:
|
|
5488
|
+
return firstValueFrom(this.api.getAudioLinkBySlug(slug));
|
|
5489
|
+
case TaonCmsContentType.Attachment:
|
|
5490
|
+
return this.api.getAttachmentLinkBySlug(slug);
|
|
5491
|
+
default:
|
|
5492
|
+
return Promise.reject(new Error('This post type has no media.'));
|
|
5493
|
+
}
|
|
5494
|
+
}
|
|
5495
|
+
//#endregion
|
|
5496
|
+
//#region methods / get media link for viewing
|
|
5497
|
+
async getMediaLinkForView(slug, type) {
|
|
5498
|
+
try {
|
|
5499
|
+
switch (type) {
|
|
5500
|
+
case TaonCmsContentType.Video:
|
|
5501
|
+
return await this.api.getPublicVideoLinkBySlug(slug);
|
|
5502
|
+
case TaonCmsContentType.Audio:
|
|
5503
|
+
return await this.api.getPublicAudioLinkBySlug(slug);
|
|
5504
|
+
case TaonCmsContentType.Attachment:
|
|
5505
|
+
return await this.api.getPublicAttachmentLinkBySlug(slug);
|
|
5506
|
+
default:
|
|
5507
|
+
throw new Error('This post type has no media.');
|
|
5508
|
+
}
|
|
5509
|
+
}
|
|
5510
|
+
catch {
|
|
5511
|
+
return this.getMediaLink(slug, type);
|
|
5512
|
+
}
|
|
5513
|
+
}
|
|
5514
|
+
//#endregion
|
|
5515
|
+
//#region methods / media file name
|
|
5516
|
+
mediaFileName(key) {
|
|
5517
|
+
const fileName = this.mediaFileNames()[key];
|
|
5518
|
+
if (fileName) {
|
|
5519
|
+
return fileName;
|
|
5520
|
+
}
|
|
5521
|
+
const uploaded = this.uploadedMediaPreview();
|
|
5522
|
+
if (uploaded?.key === key) {
|
|
5523
|
+
return uploaded.fileName;
|
|
5524
|
+
}
|
|
5525
|
+
const storedName = key.split('/').pop() || key;
|
|
5526
|
+
return storedName.replace(/^[0-9a-f-]{36}__/i, '');
|
|
5527
|
+
}
|
|
5528
|
+
//#endregion
|
|
3535
5529
|
//#region methods / update slug
|
|
3536
5530
|
updateSlug(event) {
|
|
3537
5531
|
if (event.target instanceof HTMLInputElement) {
|
|
@@ -3570,7 +5564,7 @@ class TaonCmsPostComponent {
|
|
|
3570
5564
|
return;
|
|
3571
5565
|
}
|
|
3572
5566
|
if (!this.canSave()) {
|
|
3573
|
-
this.error.set('A title and slug are required.');
|
|
5567
|
+
this.error.set(this.t.gettext('A title and slug are required.'));
|
|
3574
5568
|
return;
|
|
3575
5569
|
}
|
|
3576
5570
|
if (this.mode() === 'add') {
|
|
@@ -3578,6 +5572,7 @@ class TaonCmsPostComponent {
|
|
|
3578
5572
|
...this.draft(),
|
|
3579
5573
|
relatedPostIds: this.relatedPosts().map(post => post.id),
|
|
3580
5574
|
permissionIds: this.permissions().map(permission => permission.id),
|
|
5575
|
+
applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),
|
|
3581
5576
|
applicationHook: this.useAsApplicationHook()
|
|
3582
5577
|
? this.selectedApplicationHook()
|
|
3583
5578
|
: null,
|
|
@@ -3601,7 +5596,7 @@ class TaonCmsPostComponent {
|
|
|
3601
5596
|
return;
|
|
3602
5597
|
}
|
|
3603
5598
|
if (this.editing() && !this.canSave()) {
|
|
3604
|
-
this.error.set('A title and slug are required.');
|
|
5599
|
+
this.error.set(this.t.gettext('A title and slug are required.'));
|
|
3605
5600
|
return;
|
|
3606
5601
|
}
|
|
3607
5602
|
const post = this.requirePost();
|
|
@@ -3616,6 +5611,23 @@ class TaonCmsPostComponent {
|
|
|
3616
5611
|
}
|
|
3617
5612
|
}
|
|
3618
5613
|
//#endregion
|
|
5614
|
+
//#region methods / unpublish
|
|
5615
|
+
unpublish() {
|
|
5616
|
+
const post = this.currentPost();
|
|
5617
|
+
if (!post ||
|
|
5618
|
+
post.status !== 'published' ||
|
|
5619
|
+
this.busy() ||
|
|
5620
|
+
this.dialogOpen() ||
|
|
5621
|
+
this.mode() === 'view-clean' ||
|
|
5622
|
+
this.mode() === 'add') {
|
|
5623
|
+
return;
|
|
5624
|
+
}
|
|
5625
|
+
this.persist(this.api.updateContent(post.id, {
|
|
5626
|
+
expectedVersion: post.version,
|
|
5627
|
+
status: 'draft',
|
|
5628
|
+
}));
|
|
5629
|
+
}
|
|
5630
|
+
//#endregion
|
|
3619
5631
|
//#region methods / revert
|
|
3620
5632
|
revert() {
|
|
3621
5633
|
const post = this.requirePost();
|
|
@@ -3655,9 +5667,9 @@ class TaonCmsPostComponent {
|
|
|
3655
5667
|
this.dialogOpen.set(true);
|
|
3656
5668
|
const ref = this.dialog.open(TaonConfirmDialogComponent, {
|
|
3657
5669
|
data: {
|
|
3658
|
-
title: 'Delete post?',
|
|
3659
|
-
message: 'This archives the post. It can be restored from its revisions.',
|
|
3660
|
-
confirmText: 'Delete',
|
|
5670
|
+
title: this.t.gettext('Delete post?'),
|
|
5671
|
+
message: this.t.gettext('This archives the post. It can be restored from its revisions.'),
|
|
5672
|
+
confirmText: this.t.gettext('Delete'),
|
|
3661
5673
|
},
|
|
3662
5674
|
});
|
|
3663
5675
|
ref
|
|
@@ -3671,12 +5683,40 @@ class TaonCmsPostComponent {
|
|
|
3671
5683
|
});
|
|
3672
5684
|
}
|
|
3673
5685
|
//#endregion
|
|
5686
|
+
//#region methods / duplicate
|
|
5687
|
+
duplicate() {
|
|
5688
|
+
if (this.busy() || this.dialogOpen() || this.mode() === 'view-clean') {
|
|
5689
|
+
return;
|
|
5690
|
+
}
|
|
5691
|
+
const post = this.requirePost();
|
|
5692
|
+
if (!post) {
|
|
5693
|
+
return;
|
|
5694
|
+
}
|
|
5695
|
+
this.busy.set(true);
|
|
5696
|
+
this.error.set('');
|
|
5697
|
+
this.api
|
|
5698
|
+
.duplicateContent(post.id)
|
|
5699
|
+
.pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.busy.set(false)))
|
|
5700
|
+
.subscribe({
|
|
5701
|
+
next: duplicate => this.duplicated.emit(duplicate),
|
|
5702
|
+
error: (error) => {
|
|
5703
|
+
console.error('[taon-cms-post] Unable to duplicate post', error);
|
|
5704
|
+
this.error.set(this.t.gettext('The post could not be duplicated. Please try again.'));
|
|
5705
|
+
},
|
|
5706
|
+
});
|
|
5707
|
+
}
|
|
5708
|
+
//#endregion
|
|
3674
5709
|
//#region methods / update input
|
|
3675
5710
|
updateInput(post) {
|
|
3676
5711
|
return {
|
|
3677
5712
|
...this.draft(),
|
|
3678
5713
|
relatedPostIds: this.relatedPosts().map(related => related.id),
|
|
3679
|
-
|
|
5714
|
+
...(this.permissionSource()
|
|
5715
|
+
? {}
|
|
5716
|
+
: {
|
|
5717
|
+
permissionIds: this.permissions().map(permission => permission.id),
|
|
5718
|
+
}),
|
|
5719
|
+
applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),
|
|
3680
5720
|
applicationHook: this.useAsApplicationHook()
|
|
3681
5721
|
? this.selectedApplicationHook()
|
|
3682
5722
|
: null,
|
|
@@ -3688,13 +5728,20 @@ class TaonCmsPostComponent {
|
|
|
3688
5728
|
requirePost() {
|
|
3689
5729
|
const post = this.currentPost();
|
|
3690
5730
|
if (!post) {
|
|
3691
|
-
this.error.set('No post is loaded.');
|
|
5731
|
+
this.error.set(this.t.gettext('No post is loaded.'));
|
|
3692
5732
|
}
|
|
3693
5733
|
return post;
|
|
3694
5734
|
}
|
|
3695
5735
|
//#endregion
|
|
3696
5736
|
//#region methods / set post
|
|
3697
5737
|
setPost(post) {
|
|
5738
|
+
this.editorSession += 1;
|
|
5739
|
+
this.taxonomyLoad?.unsubscribe();
|
|
5740
|
+
this.taxonomyLoading.set(false);
|
|
5741
|
+
this.taxonomyError.set('');
|
|
5742
|
+
this.releaseThumbnailPreview();
|
|
5743
|
+
this.stagedThumbnail.set(null);
|
|
5744
|
+
this.tagSearch.set('');
|
|
3698
5745
|
this.relatedPostsLoad?.unsubscribe();
|
|
3699
5746
|
this.applicationHooksLoad?.unsubscribe();
|
|
3700
5747
|
this.permissionsLoad?.unsubscribe();
|
|
@@ -3704,9 +5751,14 @@ class TaonCmsPostComponent {
|
|
|
3704
5751
|
this.applicationHooksError.set('');
|
|
3705
5752
|
this.permissionsLoading.set(false);
|
|
3706
5753
|
this.permissionsError.set('');
|
|
5754
|
+
this.uploadedMediaPreview.set(null);
|
|
5755
|
+
this.mediaPreviewSignature = '';
|
|
5756
|
+
this.mediaPreviewRequest += 1;
|
|
3707
5757
|
this.currentPost.set(post);
|
|
3708
5758
|
this.relatedPosts.set(post?.relatedPosts ?? []);
|
|
3709
5759
|
this.permissions.set(post?.permissions ?? []);
|
|
5760
|
+
this.permissionSource.set(null);
|
|
5761
|
+
this.applyPermissionsToRelatedPosts.set(post?.applyPermissionsToRelatedPosts ?? false);
|
|
3710
5762
|
this.selectedPermissionId.set(null);
|
|
3711
5763
|
this.setApplicationHookSelection(post, this.applicationHooks());
|
|
3712
5764
|
this.draft.set({
|
|
@@ -3718,17 +5770,21 @@ class TaonCmsPostComponent {
|
|
|
3718
5770
|
videoKey: post?.videoKey ?? null,
|
|
3719
5771
|
audioKey: post?.audioKey ?? null,
|
|
3720
5772
|
attachmentKey: post?.attachmentKey ?? null,
|
|
5773
|
+
thumbnailKey: post?.thumbnailKey ?? null,
|
|
5774
|
+
categoryId: post?.categoryId ?? null,
|
|
5775
|
+
tagIds: [],
|
|
3721
5776
|
});
|
|
3722
5777
|
if (post &&
|
|
3723
5778
|
post.relatedPosts === undefined &&
|
|
3724
5779
|
this.mode() !== 'view-clean') {
|
|
3725
5780
|
this.loadRelatedPosts();
|
|
3726
5781
|
}
|
|
3727
|
-
if (post &&
|
|
3728
|
-
post.permissions === undefined &&
|
|
3729
|
-
this.mode() !== 'view-clean') {
|
|
5782
|
+
if (post && this.mode() !== 'view-clean') {
|
|
3730
5783
|
this.loadPermissions();
|
|
3731
5784
|
}
|
|
5785
|
+
if (this.editing()) {
|
|
5786
|
+
this.loadTaxonomy();
|
|
5787
|
+
}
|
|
3732
5788
|
}
|
|
3733
5789
|
//#endregion
|
|
3734
5790
|
setApplicationHookSelection(post, hooks) {
|
|
@@ -3765,13 +5821,17 @@ class TaonCmsPostComponent {
|
|
|
3765
5821
|
},
|
|
3766
5822
|
error: (error) => {
|
|
3767
5823
|
console.error('[taon-cms-post] Unable to save post', error);
|
|
3768
|
-
this.error.set('The post could not be saved. Check the slug and your connection. '
|
|
3769
|
-
'If another user changed it, close and reopen the post before retrying.');
|
|
5824
|
+
this.error.set(this.t.gettext('The post could not be saved. Check the slug and your connection. If another user changed it, close and reopen the post before retrying.'));
|
|
3770
5825
|
},
|
|
3771
5826
|
});
|
|
3772
5827
|
}
|
|
3773
5828
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3774
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsPostComponent, isStandalone: true, selector: "taon-cms-post", inputs: { post: { classPropertyName: "post", publicName: "post", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mode: "modeChange", changed: "changed", deleted: "deleted", cancelled: "cancelled" }, providers: [TaonCmsContentApiService, TaonPermissionApiService], ngImport: i0, template: "@if (mode() !== 'view-clean') {\n <header class=\"post-actions\">\n <span class=\"post-status\">{{ mode() === 'add' ? 'New draft' : currentPost()?.status }}</span>\n <div class=\"buttons\">\n @if (editing()) {\n <button mat-flat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || !canSave()\" (click)=\"save()\">\n {{ mode() === 'add' ? 'Add' : 'Save' }}\n </button>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"cancel()\">Cancel</button>\n } @else if (currentPost()) {\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"edit()\">\n <mat-icon>edit</mat-icon> Edit\n </button>\n }\n @if (mode() !== 'add' && currentPost()) {\n @if (canPublish()) {\n <button mat-flat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || (editing() && !canSave())\" (click)=\"publish()\">Publish</button>\n }\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"revert()\">\n <mat-icon>history</mat-icon> Revert\n </button>\n @if (currentPost()?.status !== 'archived') {\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"delete()\">\n <mat-icon>delete</mat-icon> Delete\n </button>\n }\n }\n </div>\n @if (busy()) {\n <span role=\"status\">{{ uploading() ? 'Uploading...' : 'Saving...' }}</span>\n }\n </header>\n @if (error()) {\n <p class=\"error\" role=\"alert\">{{ error() }}</p>\n }\n}\n\n<article class=\"post-article\" [attr.aria-busy]=\"busy()\">\n @if (editing()) {\n <mat-radio-group\n class=\"post-type-selector\"\n aria-label=\"Post type\"\n [value]=\"draft().type\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"updateDraft('type', $event.value)\">\n @for (type of postTypes; track type.value) {\n <mat-radio-button [value]=\"type.value\">{{ type.label }}</mat-radio-button>\n }\n </mat-radio-group>\n <div\n class=\"post-title editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n aria-label=\"Post title\"\n aria-required=\"true\"\n data-placeholder=\"Title\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditableSingleLine]=\"true\"\n [taonCmsEditable]=\"draft().title\"\n (taonCmsEditableChange)=\"updateDraft('title', $event)\"></div>\n <div\n class=\"post-excerpt editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n aria-label=\"Post excerpt\"\n aria-multiline=\"true\"\n data-placeholder=\"A short introduction...\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditable]=\"draft().excerpt\"\n (taonCmsEditableChange)=\"updateDraft('excerpt', $event)\"></div>\n <div\n class=\"post-body editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n aria-label=\"Post body\"\n aria-multiline=\"true\"\n data-placeholder=\"Tell your story...\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n taonCmsEditableFormat=\"html\"\n [taonCmsEditable]=\"draft().body\"\n (taonCmsEditableChange)=\"updateDraft('body', $event)\"></div>\n <label class=\"slug-field\">\n <span>URL slug</span>\n <input aria-label=\"URL slug\" [value]=\"draft().slug\" [disabled]=\"busy() || dialogOpen()\" (input)=\"updateSlug($event)\" placeholder=\"my-post\" />\n </label>\n @if (mediaAttachment(); as media) {\n <section class=\"media-attachment\" aria-labelledby=\"media-attachment-heading\">\n <h2 id=\"media-attachment-heading\">{{ media.heading }}</h2>\n @if (draft()[media.key]; as key) {\n <p>Attached file: {{ key }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"removeMedia()\">Remove</button>\n } @else {\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"mediaInput.click()\">{{ media.uploadLabel }}</button>\n }\n </section>\n }\n <section class=\"related-posts\" aria-labelledby=\"related-posts-heading\">\n <h2 id=\"related-posts-heading\">Related posts</h2>\n @if (relatedPostsLoading()) {\n <p role=\"status\">Loading related posts...</p>\n } @else if (relatedPostsError()) {\n <p class=\"error\" role=\"alert\">{{ relatedPostsError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"loadRelatedPosts()\">Try again</button>\n } @else {\n <ul>\n @for (post of relatedPosts(); track post.id) {\n <li>\n <span>#{{ post.id }} - {{ post.title }}</span>\n <button mat-icon-button type=\"button\" [attr.aria-label]=\"'Remove related post ' + post.title\" [disabled]=\"busy() || dialogOpen()\" (click)=\"removeRelatedPost(post.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>No related posts yet.</li>\n }\n </ul>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"addRelatedPost()\">\n <mat-icon>add</mat-icon> Add related post\n </button>\n }\n </section>\n <section class=\"application-hook\" aria-labelledby=\"application-hook-heading\">\n <h2 id=\"application-hook-heading\">Application Hook</h2>\n @if (applicationHooksLoading()) {\n <p role=\"status\">Loading application hooks...</p>\n } @else if (applicationHooksError()) {\n <p class=\"error\" role=\"alert\">{{ applicationHooksError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"loadApplicationHooks()\">Try again</button>\n } @else {\n <mat-checkbox\n [checked]=\"useAsApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"setUseAsApplicationHook($event.checked)\">\n Use as application hook\n </mat-checkbox>\n @if (useAsApplicationHook()) {\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <mat-label>Application Hook</mat-label>\n <mat-select\n [value]=\"selectedApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (selectionChange)=\"selectedApplicationHook.set($event.value)\">\n @for (applicationHook of applicationHooks(); track applicationHook.id) {\n <mat-option\n [value]=\"applicationHook.hook\"\n [disabled]=\"applicationHookInUseByAnotherPost(applicationHook)\">\n {{ applicationHookLabel(applicationHook.hook) }}\n @if (applicationHookInUseByAnotherPost(applicationHook)) {\n (in use by post #{{ applicationHook.contentId }})\n }\n </mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">No application hooks configured</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n </section>\n <section class=\"post-permissions\" aria-labelledby=\"post-permissions-heading\">\n <h2 id=\"post-permissions-heading\">Allow Read only with Permissions</h2>\n @if (permissionsLoading()) {\n <p role=\"status\">Loading assigned permissions...</p>\n } @else if (permissionsError()) {\n <p class=\"error\" role=\"alert\">{{ permissionsError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"loadPermissions()\">Try again</button>\n } @else {\n <ul>\n @for (permission of permissions(); track permission.id) {\n <li>\n <span>{{ permission.name }} ({{ permission.code }})</span>\n <button mat-icon-button type=\"button\" [attr.aria-label]=\"'Remove permission ' + permission.name\" [disabled]=\"busy() || dialogOpen()\" (click)=\"removePermission(permission.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>No permissions assigned.</li>\n }\n </ul>\n @if (permissionOptionsError()) {\n <p class=\"error\" role=\"alert\">{{ permissionOptionsError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\" (click)=\"loadPermissionOptions()\">Try again</button>\n } @else {\n <div class=\"permission-assignment\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <mat-label>Permission</mat-label>\n <mat-select\n [value]=\"selectedPermissionId()\"\n [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\"\n (selectionChange)=\"selectedPermissionId.set($event.value)\">\n @for (permission of availablePermissions(); track permission.id) {\n <mat-option [value]=\"permission.id\">{{ permission.name }} ({{ permission.code }})</mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">No permissions available</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || !selectedPermissionId()\" (click)=\"addPermission()\">\n <mat-icon>add</mat-icon> Assign permission\n </button>\n </div>\n }\n }\n </section>\n } @else if (currentPost(); as post) {\n <h1 class=\"post-title\">{{ post.title }}</h1>\n @if (post.excerpt) {\n <p class=\"post-excerpt\">{{ post.excerpt }}</p>\n }\n <div class=\"post-body\" [innerHTML]=\"post.body\"></div>\n } @else {\n <p role=\"status\">No post is loaded.</p>\n }\n</article>", styles: [":host{display:block}.post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem;border-bottom:1px solid rgba(136,136,136,.2)}.post-status{margin-right:auto;text-transform:capitalize;opacity:.7}.buttons{display:flex;flex-wrap:wrap;gap:.5rem}.post-article{max-width:760px;margin:0 auto;padding:clamp(1.5rem,5vw,4rem) 1.5rem;overflow-wrap:anywhere}.post-title{margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em}.post-excerpt{margin:0 0 2rem;font-size:1.35rem;line-height:1.6;opacity:.7;white-space:pre-wrap}.post-body{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;line-height:1.8;white-space:pre-wrap}.editable{min-height:1.2em;outline:none}.editable:focus{box-shadow:-3px 0 #8885}.editable:empty:before{content:attr(data-placeholder);opacity:.4;pointer-events:none}.post-body.editable{min-height:12rem}.slug-field{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(136,136,136,.2);font-size:.875rem}.slug-field input{flex:1;min-width:160px;padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.error{padding:1rem;color:#b3261e}.post-type-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.media-attachment,.related-posts,.application-hook,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.related-posts h2,.application-hook h2,.post-permissions h2{font-size:1rem}.related-posts ul,.post-permissions ul{padding:0;list-style:none}.related-posts .application-hook,.post-permissions .application-hook{display:grid;align-items:start;gap:.75rem}.related-posts .application-hook mat-form-field,.post-permissions .application-hook mat-form-field{width:min(100%,28rem)}.related-posts li,.post-permissions li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: TaonCmsEditableDirective, selector: "[taonCmsEditable]", inputs: ["taonCmsEditableFormat", "taonCmsEditableSingleLine", "taonCmsEditable"], outputs: ["taonCmsEditableChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5829
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsPostComponent, isStandalone: true, selector: "taon-cms-post", inputs: { post: { classPropertyName: "post", publicName: "post", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mode: "modeChange", changed: "changed", deleted: "deleted", duplicated: "duplicated", cancelled: "cancelled" }, providers: [
|
|
5830
|
+
TaonCmsContentApiService,
|
|
5831
|
+
TaonPermissionApiService,
|
|
5832
|
+
TaonCmsCategoryApiService,
|
|
5833
|
+
TaonCmsTagApiService,
|
|
5834
|
+
], ngImport: i0, template: "@if (mode() !== 'view-clean') {\n <header class=\"post-actions\">\n <span class=\"post-status\">{{\n mode() === 'add' ? t.gettext('New draft') : currentPost()?.status\n }}</span>\n <div class=\"buttons\">\n @if (editing()) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || !canSave()\"\n (click)=\"save()\">\n {{ mode() === 'add' ? t.gettext('Add') : t.gettext('Save') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n } @else if (currentPost()) {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"edit()\">\n <mat-icon>edit</mat-icon> {{ t.gettext('Edit') }}\n </button>\n }\n @if (mode() !== 'add' && currentPost()) {\n @if (canPublish()) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || (editing() && !canSave())\"\n (click)=\"publish()\">\n {{ t.gettext('Publish') }}\n </button>\n } @else {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"unpublish()\">\n {{ t.gettext('Unpublish') }}\n </button>\n }\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"revert()\">\n <mat-icon>history</mat-icon> {{ t.gettext('Revert') }}\n </button>\n @if (currentPost()?.status !== 'archived') {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"delete()\">\n <mat-icon>delete</mat-icon> {{ t.gettext('Delete') }}\n </button>\n }\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"duplicate()\">\n <mat-icon>content_copy</mat-icon> {{ t.gettext('Duplicate') }}\n </button>\n }\n </div>\n @if (busy()) {\n <span role=\"status\">{{\n uploading()\n ? t.gettext('Uploading... ') + uploadProgress() + '%'\n : t.gettext('Saving...')\n }}</span>\n }\n </header>\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n }\n}\n\n<article\n class=\"post-article\"\n [attr.aria-busy]=\"busy()\">\n @if (editing()) {\n <mat-radio-group\n class=\"post-type-selector\"\n [attr.aria-label]=\"t.gettext('Post type')\"\n [value]=\"draft().type\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"updateDraft('type', $event.value)\">\n @for (type of postTypes; track type.value) {\n <mat-radio-button [value]=\"type.value\">{{\n type.label\n }}</mat-radio-button>\n }\n </mat-radio-group>\n <div\n class=\"post-title editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post title')\"\n aria-required=\"true\"\n [attr.data-placeholder]=\"placeholderTitle()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditableSingleLine]=\"true\"\n [taonCmsEditable]=\"draft().title\"\n (taonCmsEditableChange)=\"updateDraft('title', $event)\"></div>\n <div\n class=\"post-excerpt editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post excerpt')\"\n aria-multiline=\"true\"\n [attr.data-placeholder]=\"placeholderShortIntro()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditable]=\"draft().excerpt\"\n (taonCmsEditableChange)=\"updateDraft('excerpt', $event)\"></div>\n <div\n class=\"post-body editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post body')\"\n aria-multiline=\"true\"\n [attr.data-placeholder]=\"placeholderTellYourStory()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n taonCmsEditableFormat=\"html\"\n [taonCmsEditable]=\"draft().body\"\n (taonCmsEditableChange)=\"updateDraft('body', $event)\"></div>\n <label class=\"slug-field\">\n <span>{{ t.gettext('URL slug') }}</span>\n <input\n [attr.aria-label]=\"t.gettext('URL slug')\"\n [value]=\"draft().slug\"\n [disabled]=\"busy() || dialogOpen()\"\n (input)=\"updateSlug($event)\"\n [placeholder]=\"t.gettext('my-post')\" />\n </label>\n @if (mediaAttachment(); as media) {\n <section\n class=\"media-attachment\"\n aria-labelledby=\"media-attachment-heading\">\n <h2 id=\"media-attachment-heading\">{{ media.heading }}</h2>\n @if (uploading()) {\n <mat-progress-bar\n mode=\"determinate\"\n [value]=\"uploadProgress()\"\n [attr.aria-label]=\"t.gettext('Media upload progress')\" />\n }\n @if (draft()[media.key]; as key) {\n @if (mediaPreviewLoading()) {\n <p role=\"status\">{{ t.gettext('Loading media preview...') }}</p>\n }\n @if (mediaPreviewError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ mediaPreviewError() }}\n </p>\n }\n @if (media.type === 'video' && mediaPreviewUrl()) {\n <video\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n } @else if (media.type === 'audio' && mediaPreviewUrl()) {\n <audio\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n } @else if (media.type === 'attachment' && mediaPreviewUrl()) {\n <p>\n {{\n t.gettext('Attached file: [[ fileName ]]', {\n fileName: mediaFileName(key),\n })\n }}\n <a\n [href]=\"mediaPreviewUrl()\"\n target=\"_blank\"\n rel=\"noopener\"\n >{{ t.gettext('Download or open') }}</a\n >\n </p>\n }\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"mediaInput.click()\">\n {{ t.gettext('Replace') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"removeMedia()\">\n {{ t.gettext('Remove') }}\n </button>\n } @else {\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"mediaInput.click()\">\n {{ media.uploadLabel }}\n </button>\n }\n </section>\n }\n <section\n class=\"post-thumbnail\"\n aria-labelledby=\"thumbnail-heading\">\n <h2 id=\"thumbnail-heading\">{{ t.gettext('Thumbnail') }}</h2>\n @if (thumbnailPreviewUrl()) {\n <img\n class=\"thumbnail-preview\"\n [src]=\"thumbnailPreviewUrl()\"\n [alt]=\"t.gettext('Post thumbnail')\" />\n } @else {\n <p>{{ t.gettext('No thumbnail selected.') }}</p>\n }\n @if (thumbnailError()) {\n <p role=\"alert\">{{ thumbnailError() }}</p>\n }\n <input\n #thumbnailInput\n hidden\n type=\"file\"\n accept=\"image/*\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"thumbnailSelected($event)\" />\n <div class=\"buttons\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"thumbnailInput.click()\">\n {{ t.gettext('Upload Thumbnail') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"applyDefaultThumbnail()\">\n {{ t.gettext('Apply Default Placeholder') }}\n </button>\n </div>\n </section>\n <section\n class=\"post-taxonomy\"\n aria-labelledby=\"category-heading\">\n <h2 id=\"category-heading\">{{ t.gettext('Category and Tags') }}</h2>\n @if (taxonomyLoading()) {\n <p role=\"status\">{{ t.gettext('Loading categories and tags...') }}</p>\n }\n @if (taxonomyError()) {\n <p role=\"alert\">{{ taxonomyError() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"loadTaxonomy()\">\n {{ t.gettext('Try again') }}\n </button>\n }\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Category') }}</mat-label>\n <mat-select\n [value]=\"draft().categoryId\"\n [disabled]=\"\n busy() || dialogOpen() || taxonomyLoading() || !!taxonomyError()\n \"\n (selectionChange)=\"updateDraft('categoryId', $event.value)\">\n <mat-option [value]=\"null\">{{ t.gettext('None') }}</mat-option>\n @for (category of categories(); track category.id) {\n <mat-option [value]=\"category.id\">{{ category.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <h3>{{ t.gettext('Tags') }}</h3>\n <mat-chip-set [attr.aria-label]=\"t.gettext('Selected tags')\">\n @for (tag of selectedTags(); track tag.id) {\n <mat-chip\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\"\n (removed)=\"removeTag(tag.id)\">\n {{ tag.name }}\n <button\n matChipRemove\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\"\n [attr.aria-label]=\"\n t.gettext('Remove tag [[ name ]]', { name: tag.name })\n \">\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n }\n </mat-chip-set>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Search tags') }}</mat-label>\n <input\n matInput\n [value]=\"tagSearch()\"\n (input)=\"filterTags($event)\"\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Add tag') }}</mat-label>\n <mat-select\n [value]=\"null\"\n [disabled]=\"\n busy() || dialogOpen() || taxonomyLoading() || !!taxonomyError()\n \"\n (selectionChange)=\"addTag($event.value)\">\n @for (tag of filteredTags(); track tag.id) {\n <mat-option [value]=\"tag.id\">{{ tag.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </section>\n <section\n class=\"related-posts\"\n aria-labelledby=\"related-posts-heading\">\n <h2 id=\"related-posts-heading\">{{ t.gettext('Related posts') }}</h2>\n @if (relatedPostsLoading()) {\n <p role=\"status\">{{ t.gettext('Loading related posts...') }}</p>\n } @else if (relatedPostsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ relatedPostsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadRelatedPosts()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <ul>\n @for (post of relatedPosts(); track post.id) {\n <li>\n <span>#{{ post.id }} - {{ post.title }}</span>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"\n t.gettext('Remove related post [[ title ]]', {\n title: post.title,\n })\n \"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"removeRelatedPost(post.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>{{ t.gettext('No related posts yet.') }}</li>\n }\n </ul>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"addRelatedPost()\">\n <mat-icon>add</mat-icon> {{ t.gettext('Add related post') }}\n </button>\n }\n </section>\n\n @if (!mediaAttachment()) {\n <section\n class=\"application-hook\"\n aria-labelledby=\"application-hook-heading\">\n <h2 id=\"application-hook-heading\">\n {{ t.gettext('Application Hook') }}\n </h2>\n @if (applicationHooksLoading()) {\n <p role=\"status\">{{ t.gettext('Loading application hooks...') }}</p>\n } @else if (applicationHooksError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ applicationHooksError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadApplicationHooks()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <mat-checkbox\n [checked]=\"useAsApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"setUseAsApplicationHook($event.checked)\">\n {{ t.gettext('Use as application hook') }}\n </mat-checkbox>\n @if (useAsApplicationHook()) {\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\">\n <mat-label>{{ t.gettext('Application Hook') }}</mat-label>\n <mat-select\n [value]=\"selectedApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (selectionChange)=\"selectedApplicationHook.set($event.value)\">\n @for (\n applicationHook of applicationHooks();\n track applicationHook.id\n ) {\n <mat-option\n [value]=\"applicationHook.hook\"\n [disabled]=\"\n applicationHookInUseByAnotherPost(applicationHook)\n \">\n {{ applicationHookLabel(applicationHook.hook) }}\n @if (applicationHookInUseByAnotherPost(applicationHook)) {\n {{\n t.gettext('(in use by post # [[ postId ]])', {\n postId: applicationHook.contentId,\n })\n }}\n }\n </mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">{{\n t.gettext('No application hooks configured')\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n </section>\n }\n <section\n class=\"post-permissions\"\n aria-labelledby=\"post-permissions-heading\">\n <h2 id=\"post-permissions-heading\">\n {{ t.gettext('Allow Read only with Permissions') }}\n </h2>\n @if (permissionSource(); as source) {\n <p role=\"note\">\n {{\n t.gettext(\n 'Permissions are inherited from # [[ postId ]] - [[ title ]]. Edit the source post to change them.',\n { postId: source.id, title: source.title }\n )\n }}\n </p>\n }\n @if (permissionsLoading()) {\n <p role=\"status\">{{ t.gettext('Loading assigned permissions...') }}</p>\n } @else if (permissionsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ permissionsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadPermissions()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <ul>\n @for (permission of permissions(); track permission.id) {\n <li>\n <span>{{ permission.name }} ({{ permission.code }})</span>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"\n t.gettext('Remove permission [[ name ]]', {\n name: permission.name,\n })\n \"\n [disabled]=\"busy() || dialogOpen() || !!permissionSource()\"\n (click)=\"removePermission(permission.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>{{ t.gettext('No permissions assigned.') }}</li>\n }\n </ul>\n @if (permissionOptionsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ permissionOptionsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\"\n (click)=\"loadPermissionOptions()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <div class=\"permission-assignment\">\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\">\n <mat-label>{{ t.gettext('Permission') }}</mat-label>\n <mat-select\n [value]=\"selectedPermissionId()\"\n [disabled]=\"\n busy() ||\n dialogOpen() ||\n permissionOptionsLoading() ||\n !!permissionSource()\n \"\n (selectionChange)=\"selectedPermissionId.set($event.value)\">\n @for (\n permission of availablePermissions();\n track permission.id\n ) {\n <mat-option [value]=\"permission.id\"\n >{{ permission.name }} ({{ permission.code }})</mat-option\n >\n } @empty {\n <mat-option [disabled]=\"true\">{{\n t.gettext('No permissions available')\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"\n busy() ||\n dialogOpen() ||\n !selectedPermissionId() ||\n !!permissionSource()\n \"\n (click)=\"addPermission()\">\n <mat-icon>add</mat-icon> {{ t.gettext('Assign permission') }}\n </button>\n </div>\n }\n }\n @if (!permissionSource()) {\n <mat-checkbox\n [checked]=\"applyPermissionsToRelatedPosts()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"applyPermissionsToRelatedPosts.set($event.checked)\">\n {{ t.gettext('Apply permissions to related posts') }}\n </mat-checkbox>\n }\n </section>\n } @else if (currentPost(); as post) {\n @if (thumbnailPreviewUrl()) {\n <img\n class=\"thumbnail-preview\"\n [src]=\"thumbnailPreviewUrl()\"\n [alt]=\"t.gettext('Post thumbnail')\" />\n }\n @if (thumbnailError()) {\n <p role=\"alert\">{{ thumbnailError() }}</p>\n }\n <h1 class=\"post-title\">{{ post.title }}</h1>\n @if (post.excerpt) {\n <p class=\"post-excerpt\">{{ post.excerpt }}</p>\n }\n <div\n class=\"post-body\"\n [innerHTML]=\"post.body\"></div>\n @if (mediaAttachment(); as media) {\n @if (draft()[media.key]; as key) {\n @if (mediaPreviewLoading()) {\n <p role=\"status\">{{ t.gettext('Loading media...') }}</p>\n } @else if (mediaPreviewError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ mediaPreviewError() }}\n </p>\n } @else if (media.type === 'video' && mediaPreviewUrl()) {\n <video\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n } @else if (media.type === 'audio' && mediaPreviewUrl()) {\n <audio\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n } @else if (media.type === 'attachment' && mediaPreviewUrl()) {\n <p>\n {{\n t.gettext('Attached file: [[ fileName ]]', {\n fileName: mediaFileName(key),\n })\n }}\n <a\n [href]=\"mediaPreviewUrl()\"\n target=\"_blank\"\n rel=\"noopener\"\n >{{ t.gettext('Download or open') }}</a\n >\n </p>\n }\n }\n }\n } @else {\n <p role=\"status\">{{ t.gettext('No post is loaded.') }}</p>\n }\n</article>\n", styles: [":host{display:block}.post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem;border-bottom:1px solid rgba(136,136,136,.2)}.post-status{margin-right:auto;text-transform:capitalize;opacity:.7}.buttons{display:flex;flex-wrap:wrap;gap:.5rem}.post-article{max-width:760px;margin:0 auto;padding:clamp(1.5rem,5vw,4rem) 1.5rem;overflow-wrap:anywhere}.post-title{margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em}.post-excerpt{margin:0 0 2rem;font-size:1.35rem;line-height:1.6;opacity:.7;white-space:pre-wrap}.post-body{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;line-height:1.8;white-space:pre-wrap}.editable{min-height:1.2em;outline:none}.editable:focus{box-shadow:-3px 0 #8885}.editable:empty:before{content:attr(data-placeholder);opacity:.4;pointer-events:none}.post-body.editable{min-height:12rem}.slug-field{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(136,136,136,.2);font-size:.875rem}.slug-field input{flex:1;min-width:160px;padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.error{padding:1rem;color:#b3261e}.post-type-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.media-attachment,.post-thumbnail,.post-taxonomy,.related-posts,.application-hook,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.post-thumbnail h2,.post-taxonomy h2,.related-posts h2,.application-hook h2,.post-permissions h2{font-size:1rem}.media-attachment .thumbnail-preview,.post-thumbnail .thumbnail-preview,.post-taxonomy .thumbnail-preview,.related-posts .thumbnail-preview,.application-hook .thumbnail-preview,.post-permissions .thumbnail-preview{display:block;width:min(100%,480px);max-height:320px;object-fit:contain;border-radius:12px;margin-bottom:.75rem}.media-attachment .post-taxonomy mat-form-field,.post-thumbnail .post-taxonomy mat-form-field,.post-taxonomy .post-taxonomy mat-form-field,.related-posts .post-taxonomy mat-form-field,.application-hook .post-taxonomy mat-form-field,.post-permissions .post-taxonomy mat-form-field{display:block;margin-top:.75rem}.related-posts ul,.post-permissions ul{padding:0;list-style:none}.related-posts .application-hook,.post-permissions .application-hook{display:grid;align-items:start;gap:.75rem}.related-posts .application-hook mat-form-field,.post-permissions .application-hook mat-form-field{width:min(100%,28rem)}.related-posts li,.post-permissions li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}video{max-width:100%;max-height:400px!important}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i6.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i6.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i6.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: TaonCmsEditableDirective, selector: "[taonCmsEditable]", inputs: ["taonCmsEditableFormat", "taonCmsEditableSingleLine", "taonCmsEditable"], outputs: ["taonCmsEditableChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3775
5835
|
}
|
|
3776
5836
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, decorators: [{
|
|
3777
5837
|
type: Component,
|
|
@@ -3780,11 +5840,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
3780
5840
|
MatCheckboxModule,
|
|
3781
5841
|
MatFormFieldModule,
|
|
3782
5842
|
MatIconModule,
|
|
5843
|
+
MatInputModule,
|
|
5844
|
+
MatChipsModule,
|
|
5845
|
+
MatProgressBarModule,
|
|
3783
5846
|
MatRadioModule,
|
|
3784
5847
|
MatSelectModule,
|
|
3785
5848
|
TaonCmsEditableDirective,
|
|
3786
|
-
], providers: [TaonCmsContentApiService, TaonPermissionApiService], template: "@if (mode() !== 'view-clean') {\n <header class=\"post-actions\">\n <span class=\"post-status\">{{ mode() === 'add' ? 'New draft' : currentPost()?.status }}</span>\n <div class=\"buttons\">\n @if (editing()) {\n <button mat-flat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || !canSave()\" (click)=\"save()\">\n {{ mode() === 'add' ? 'Add' : 'Save' }}\n </button>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"cancel()\">Cancel</button>\n } @else if (currentPost()) {\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"edit()\">\n <mat-icon>edit</mat-icon> Edit\n </button>\n }\n @if (mode() !== 'add' && currentPost()) {\n @if (canPublish()) {\n <button mat-flat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || (editing() && !canSave())\" (click)=\"publish()\">Publish</button>\n }\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"revert()\">\n <mat-icon>history</mat-icon> Revert\n </button>\n @if (currentPost()?.status !== 'archived') {\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"delete()\">\n <mat-icon>delete</mat-icon> Delete\n </button>\n }\n }\n </div>\n @if (busy()) {\n <span role=\"status\">{{ uploading() ? 'Uploading...' : 'Saving...' }}</span>\n }\n </header>\n @if (error()) {\n <p class=\"error\" role=\"alert\">{{ error() }}</p>\n }\n}\n\n<article class=\"post-article\" [attr.aria-busy]=\"busy()\">\n @if (editing()) {\n <mat-radio-group\n class=\"post-type-selector\"\n aria-label=\"Post type\"\n [value]=\"draft().type\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"updateDraft('type', $event.value)\">\n @for (type of postTypes; track type.value) {\n <mat-radio-button [value]=\"type.value\">{{ type.label }}</mat-radio-button>\n }\n </mat-radio-group>\n <div\n class=\"post-title editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n aria-label=\"Post title\"\n aria-required=\"true\"\n data-placeholder=\"Title\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditableSingleLine]=\"true\"\n [taonCmsEditable]=\"draft().title\"\n (taonCmsEditableChange)=\"updateDraft('title', $event)\"></div>\n <div\n class=\"post-excerpt editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n aria-label=\"Post excerpt\"\n aria-multiline=\"true\"\n data-placeholder=\"A short introduction...\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditable]=\"draft().excerpt\"\n (taonCmsEditableChange)=\"updateDraft('excerpt', $event)\"></div>\n <div\n class=\"post-body editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n aria-label=\"Post body\"\n aria-multiline=\"true\"\n data-placeholder=\"Tell your story...\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n taonCmsEditableFormat=\"html\"\n [taonCmsEditable]=\"draft().body\"\n (taonCmsEditableChange)=\"updateDraft('body', $event)\"></div>\n <label class=\"slug-field\">\n <span>URL slug</span>\n <input aria-label=\"URL slug\" [value]=\"draft().slug\" [disabled]=\"busy() || dialogOpen()\" (input)=\"updateSlug($event)\" placeholder=\"my-post\" />\n </label>\n @if (mediaAttachment(); as media) {\n <section class=\"media-attachment\" aria-labelledby=\"media-attachment-heading\">\n <h2 id=\"media-attachment-heading\">{{ media.heading }}</h2>\n @if (draft()[media.key]; as key) {\n <p>Attached file: {{ key }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"removeMedia()\">Remove</button>\n } @else {\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"mediaInput.click()\">{{ media.uploadLabel }}</button>\n }\n </section>\n }\n <section class=\"related-posts\" aria-labelledby=\"related-posts-heading\">\n <h2 id=\"related-posts-heading\">Related posts</h2>\n @if (relatedPostsLoading()) {\n <p role=\"status\">Loading related posts...</p>\n } @else if (relatedPostsError()) {\n <p class=\"error\" role=\"alert\">{{ relatedPostsError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"loadRelatedPosts()\">Try again</button>\n } @else {\n <ul>\n @for (post of relatedPosts(); track post.id) {\n <li>\n <span>#{{ post.id }} - {{ post.title }}</span>\n <button mat-icon-button type=\"button\" [attr.aria-label]=\"'Remove related post ' + post.title\" [disabled]=\"busy() || dialogOpen()\" (click)=\"removeRelatedPost(post.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>No related posts yet.</li>\n }\n </ul>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"addRelatedPost()\">\n <mat-icon>add</mat-icon> Add related post\n </button>\n }\n </section>\n <section class=\"application-hook\" aria-labelledby=\"application-hook-heading\">\n <h2 id=\"application-hook-heading\">Application Hook</h2>\n @if (applicationHooksLoading()) {\n <p role=\"status\">Loading application hooks...</p>\n } @else if (applicationHooksError()) {\n <p class=\"error\" role=\"alert\">{{ applicationHooksError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"loadApplicationHooks()\">Try again</button>\n } @else {\n <mat-checkbox\n [checked]=\"useAsApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"setUseAsApplicationHook($event.checked)\">\n Use as application hook\n </mat-checkbox>\n @if (useAsApplicationHook()) {\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <mat-label>Application Hook</mat-label>\n <mat-select\n [value]=\"selectedApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (selectionChange)=\"selectedApplicationHook.set($event.value)\">\n @for (applicationHook of applicationHooks(); track applicationHook.id) {\n <mat-option\n [value]=\"applicationHook.hook\"\n [disabled]=\"applicationHookInUseByAnotherPost(applicationHook)\">\n {{ applicationHookLabel(applicationHook.hook) }}\n @if (applicationHookInUseByAnotherPost(applicationHook)) {\n (in use by post #{{ applicationHook.contentId }})\n }\n </mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">No application hooks configured</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n </section>\n <section class=\"post-permissions\" aria-labelledby=\"post-permissions-heading\">\n <h2 id=\"post-permissions-heading\">Allow Read only with Permissions</h2>\n @if (permissionsLoading()) {\n <p role=\"status\">Loading assigned permissions...</p>\n } @else if (permissionsError()) {\n <p class=\"error\" role=\"alert\">{{ permissionsError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen()\" (click)=\"loadPermissions()\">Try again</button>\n } @else {\n <ul>\n @for (permission of permissions(); track permission.id) {\n <li>\n <span>{{ permission.name }} ({{ permission.code }})</span>\n <button mat-icon-button type=\"button\" [attr.aria-label]=\"'Remove permission ' + permission.name\" [disabled]=\"busy() || dialogOpen()\" (click)=\"removePermission(permission.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>No permissions assigned.</li>\n }\n </ul>\n @if (permissionOptionsError()) {\n <p class=\"error\" role=\"alert\">{{ permissionOptionsError() }}</p>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\" (click)=\"loadPermissionOptions()\">Try again</button>\n } @else {\n <div class=\"permission-assignment\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <mat-label>Permission</mat-label>\n <mat-select\n [value]=\"selectedPermissionId()\"\n [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\"\n (selectionChange)=\"selectedPermissionId.set($event.value)\">\n @for (permission of availablePermissions(); track permission.id) {\n <mat-option [value]=\"permission.id\">{{ permission.name }} ({{ permission.code }})</mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">No permissions available</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <button mat-button type=\"button\" [disabled]=\"busy() || dialogOpen() || !selectedPermissionId()\" (click)=\"addPermission()\">\n <mat-icon>add</mat-icon> Assign permission\n </button>\n </div>\n }\n }\n </section>\n } @else if (currentPost(); as post) {\n <h1 class=\"post-title\">{{ post.title }}</h1>\n @if (post.excerpt) {\n <p class=\"post-excerpt\">{{ post.excerpt }}</p>\n }\n <div class=\"post-body\" [innerHTML]=\"post.body\"></div>\n } @else {\n <p role=\"status\">No post is loaded.</p>\n }\n</article>", styles: [":host{display:block}.post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem;border-bottom:1px solid rgba(136,136,136,.2)}.post-status{margin-right:auto;text-transform:capitalize;opacity:.7}.buttons{display:flex;flex-wrap:wrap;gap:.5rem}.post-article{max-width:760px;margin:0 auto;padding:clamp(1.5rem,5vw,4rem) 1.5rem;overflow-wrap:anywhere}.post-title{margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em}.post-excerpt{margin:0 0 2rem;font-size:1.35rem;line-height:1.6;opacity:.7;white-space:pre-wrap}.post-body{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;line-height:1.8;white-space:pre-wrap}.editable{min-height:1.2em;outline:none}.editable:focus{box-shadow:-3px 0 #8885}.editable:empty:before{content:attr(data-placeholder);opacity:.4;pointer-events:none}.post-body.editable{min-height:12rem}.slug-field{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(136,136,136,.2);font-size:.875rem}.slug-field input{flex:1;min-width:160px;padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.error{padding:1rem;color:#b3261e}.post-type-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.media-attachment,.related-posts,.application-hook,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.related-posts h2,.application-hook h2,.post-permissions h2{font-size:1rem}.related-posts ul,.post-permissions ul{padding:0;list-style:none}.related-posts .application-hook,.post-permissions .application-hook{display:grid;align-items:start;gap:.75rem}.related-posts .application-hook mat-form-field,.post-permissions .application-hook mat-form-field{width:min(100%,28rem)}.related-posts li,.post-permissions li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}\n"] }]
|
|
3787
|
-
|
|
5849
|
+
], providers: [
|
|
5850
|
+
TaonCmsContentApiService,
|
|
5851
|
+
TaonPermissionApiService,
|
|
5852
|
+
TaonCmsCategoryApiService,
|
|
5853
|
+
TaonCmsTagApiService,
|
|
5854
|
+
], template: "@if (mode() !== 'view-clean') {\n <header class=\"post-actions\">\n <span class=\"post-status\">{{\n mode() === 'add' ? t.gettext('New draft') : currentPost()?.status\n }}</span>\n <div class=\"buttons\">\n @if (editing()) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || !canSave()\"\n (click)=\"save()\">\n {{ mode() === 'add' ? t.gettext('Add') : t.gettext('Save') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"cancel()\">\n {{ t.gettext('Cancel') }}\n </button>\n } @else if (currentPost()) {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"edit()\">\n <mat-icon>edit</mat-icon> {{ t.gettext('Edit') }}\n </button>\n }\n @if (mode() !== 'add' && currentPost()) {\n @if (canPublish()) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || (editing() && !canSave())\"\n (click)=\"publish()\">\n {{ t.gettext('Publish') }}\n </button>\n } @else {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"unpublish()\">\n {{ t.gettext('Unpublish') }}\n </button>\n }\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"revert()\">\n <mat-icon>history</mat-icon> {{ t.gettext('Revert') }}\n </button>\n @if (currentPost()?.status !== 'archived') {\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"delete()\">\n <mat-icon>delete</mat-icon> {{ t.gettext('Delete') }}\n </button>\n }\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"duplicate()\">\n <mat-icon>content_copy</mat-icon> {{ t.gettext('Duplicate') }}\n </button>\n }\n </div>\n @if (busy()) {\n <span role=\"status\">{{\n uploading()\n ? t.gettext('Uploading... ') + uploadProgress() + '%'\n : t.gettext('Saving...')\n }}</span>\n }\n </header>\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n }\n}\n\n<article\n class=\"post-article\"\n [attr.aria-busy]=\"busy()\">\n @if (editing()) {\n <mat-radio-group\n class=\"post-type-selector\"\n [attr.aria-label]=\"t.gettext('Post type')\"\n [value]=\"draft().type\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"updateDraft('type', $event.value)\">\n @for (type of postTypes; track type.value) {\n <mat-radio-button [value]=\"type.value\">{{\n type.label\n }}</mat-radio-button>\n }\n </mat-radio-group>\n <div\n class=\"post-title editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post title')\"\n aria-required=\"true\"\n [attr.data-placeholder]=\"placeholderTitle()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditableSingleLine]=\"true\"\n [taonCmsEditable]=\"draft().title\"\n (taonCmsEditableChange)=\"updateDraft('title', $event)\"></div>\n <div\n class=\"post-excerpt editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post excerpt')\"\n aria-multiline=\"true\"\n [attr.data-placeholder]=\"placeholderShortIntro()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n [taonCmsEditable]=\"draft().excerpt\"\n (taonCmsEditableChange)=\"updateDraft('excerpt', $event)\"></div>\n <div\n class=\"post-body editable\"\n contenteditable=\"true\"\n role=\"textbox\"\n [attr.aria-label]=\"t.gettext('Post body')\"\n aria-multiline=\"true\"\n [attr.data-placeholder]=\"placeholderTellYourStory()\"\n [attr.contenteditable]=\"!busy() && !dialogOpen()\"\n taonCmsEditableFormat=\"html\"\n [taonCmsEditable]=\"draft().body\"\n (taonCmsEditableChange)=\"updateDraft('body', $event)\"></div>\n <label class=\"slug-field\">\n <span>{{ t.gettext('URL slug') }}</span>\n <input\n [attr.aria-label]=\"t.gettext('URL slug')\"\n [value]=\"draft().slug\"\n [disabled]=\"busy() || dialogOpen()\"\n (input)=\"updateSlug($event)\"\n [placeholder]=\"t.gettext('my-post')\" />\n </label>\n @if (mediaAttachment(); as media) {\n <section\n class=\"media-attachment\"\n aria-labelledby=\"media-attachment-heading\">\n <h2 id=\"media-attachment-heading\">{{ media.heading }}</h2>\n @if (uploading()) {\n <mat-progress-bar\n mode=\"determinate\"\n [value]=\"uploadProgress()\"\n [attr.aria-label]=\"t.gettext('Media upload progress')\" />\n }\n @if (draft()[media.key]; as key) {\n @if (mediaPreviewLoading()) {\n <p role=\"status\">{{ t.gettext('Loading media preview...') }}</p>\n }\n @if (mediaPreviewError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ mediaPreviewError() }}\n </p>\n }\n @if (media.type === 'video' && mediaPreviewUrl()) {\n <video\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n } @else if (media.type === 'audio' && mediaPreviewUrl()) {\n <audio\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n } @else if (media.type === 'attachment' && mediaPreviewUrl()) {\n <p>\n {{\n t.gettext('Attached file: [[ fileName ]]', {\n fileName: mediaFileName(key),\n })\n }}\n <a\n [href]=\"mediaPreviewUrl()\"\n target=\"_blank\"\n rel=\"noopener\"\n >{{ t.gettext('Download or open') }}</a\n >\n </p>\n }\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"mediaInput.click()\">\n {{ t.gettext('Replace') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"removeMedia()\">\n {{ t.gettext('Remove') }}\n </button>\n } @else {\n <input\n #mediaInput\n hidden\n type=\"file\"\n [accept]=\"media.accept\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"fileSelected($event)\" />\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"mediaInput.click()\">\n {{ media.uploadLabel }}\n </button>\n }\n </section>\n }\n <section\n class=\"post-thumbnail\"\n aria-labelledby=\"thumbnail-heading\">\n <h2 id=\"thumbnail-heading\">{{ t.gettext('Thumbnail') }}</h2>\n @if (thumbnailPreviewUrl()) {\n <img\n class=\"thumbnail-preview\"\n [src]=\"thumbnailPreviewUrl()\"\n [alt]=\"t.gettext('Post thumbnail')\" />\n } @else {\n <p>{{ t.gettext('No thumbnail selected.') }}</p>\n }\n @if (thumbnailError()) {\n <p role=\"alert\">{{ thumbnailError() }}</p>\n }\n <input\n #thumbnailInput\n hidden\n type=\"file\"\n accept=\"image/*\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"thumbnailSelected($event)\" />\n <div class=\"buttons\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"thumbnailInput.click()\">\n {{ t.gettext('Upload Thumbnail') }}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"applyDefaultThumbnail()\">\n {{ t.gettext('Apply Default Placeholder') }}\n </button>\n </div>\n </section>\n <section\n class=\"post-taxonomy\"\n aria-labelledby=\"category-heading\">\n <h2 id=\"category-heading\">{{ t.gettext('Category and Tags') }}</h2>\n @if (taxonomyLoading()) {\n <p role=\"status\">{{ t.gettext('Loading categories and tags...') }}</p>\n }\n @if (taxonomyError()) {\n <p role=\"alert\">{{ taxonomyError() }}</p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy()\"\n (click)=\"loadTaxonomy()\">\n {{ t.gettext('Try again') }}\n </button>\n }\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Category') }}</mat-label>\n <mat-select\n [value]=\"draft().categoryId\"\n [disabled]=\"\n busy() || dialogOpen() || taxonomyLoading() || !!taxonomyError()\n \"\n (selectionChange)=\"updateDraft('categoryId', $event.value)\">\n <mat-option [value]=\"null\">{{ t.gettext('None') }}</mat-option>\n @for (category of categories(); track category.id) {\n <mat-option [value]=\"category.id\">{{ category.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <h3>{{ t.gettext('Tags') }}</h3>\n <mat-chip-set [attr.aria-label]=\"t.gettext('Selected tags')\">\n @for (tag of selectedTags(); track tag.id) {\n <mat-chip\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\"\n (removed)=\"removeTag(tag.id)\">\n {{ tag.name }}\n <button\n matChipRemove\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\"\n [attr.aria-label]=\"\n t.gettext('Remove tag [[ name ]]', { name: tag.name })\n \">\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n }\n </mat-chip-set>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Search tags') }}</mat-label>\n <input\n matInput\n [value]=\"tagSearch()\"\n (input)=\"filterTags($event)\"\n [disabled]=\"busy() || dialogOpen() || taxonomyLoading()\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ t.gettext('Add tag') }}</mat-label>\n <mat-select\n [value]=\"null\"\n [disabled]=\"\n busy() || dialogOpen() || taxonomyLoading() || !!taxonomyError()\n \"\n (selectionChange)=\"addTag($event.value)\">\n @for (tag of filteredTags(); track tag.id) {\n <mat-option [value]=\"tag.id\">{{ tag.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </section>\n <section\n class=\"related-posts\"\n aria-labelledby=\"related-posts-heading\">\n <h2 id=\"related-posts-heading\">{{ t.gettext('Related posts') }}</h2>\n @if (relatedPostsLoading()) {\n <p role=\"status\">{{ t.gettext('Loading related posts...') }}</p>\n } @else if (relatedPostsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ relatedPostsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadRelatedPosts()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <ul>\n @for (post of relatedPosts(); track post.id) {\n <li>\n <span>#{{ post.id }} - {{ post.title }}</span>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"\n t.gettext('Remove related post [[ title ]]', {\n title: post.title,\n })\n \"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"removeRelatedPost(post.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>{{ t.gettext('No related posts yet.') }}</li>\n }\n </ul>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"addRelatedPost()\">\n <mat-icon>add</mat-icon> {{ t.gettext('Add related post') }}\n </button>\n }\n </section>\n\n @if (!mediaAttachment()) {\n <section\n class=\"application-hook\"\n aria-labelledby=\"application-hook-heading\">\n <h2 id=\"application-hook-heading\">\n {{ t.gettext('Application Hook') }}\n </h2>\n @if (applicationHooksLoading()) {\n <p role=\"status\">{{ t.gettext('Loading application hooks...') }}</p>\n } @else if (applicationHooksError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ applicationHooksError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadApplicationHooks()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <mat-checkbox\n [checked]=\"useAsApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"setUseAsApplicationHook($event.checked)\">\n {{ t.gettext('Use as application hook') }}\n </mat-checkbox>\n @if (useAsApplicationHook()) {\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\">\n <mat-label>{{ t.gettext('Application Hook') }}</mat-label>\n <mat-select\n [value]=\"selectedApplicationHook()\"\n [disabled]=\"busy() || dialogOpen()\"\n (selectionChange)=\"selectedApplicationHook.set($event.value)\">\n @for (\n applicationHook of applicationHooks();\n track applicationHook.id\n ) {\n <mat-option\n [value]=\"applicationHook.hook\"\n [disabled]=\"\n applicationHookInUseByAnotherPost(applicationHook)\n \">\n {{ applicationHookLabel(applicationHook.hook) }}\n @if (applicationHookInUseByAnotherPost(applicationHook)) {\n {{\n t.gettext('(in use by post # [[ postId ]])', {\n postId: applicationHook.contentId,\n })\n }}\n }\n </mat-option>\n } @empty {\n <mat-option [disabled]=\"true\">{{\n t.gettext('No application hooks configured')\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n </section>\n }\n <section\n class=\"post-permissions\"\n aria-labelledby=\"post-permissions-heading\">\n <h2 id=\"post-permissions-heading\">\n {{ t.gettext('Allow Read only with Permissions') }}\n </h2>\n @if (permissionSource(); as source) {\n <p role=\"note\">\n {{\n t.gettext(\n 'Permissions are inherited from # [[ postId ]] - [[ title ]]. Edit the source post to change them.',\n { postId: source.id, title: source.title }\n )\n }}\n </p>\n }\n @if (permissionsLoading()) {\n <p role=\"status\">{{ t.gettext('Loading assigned permissions...') }}</p>\n } @else if (permissionsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ permissionsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen()\"\n (click)=\"loadPermissions()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <ul>\n @for (permission of permissions(); track permission.id) {\n <li>\n <span>{{ permission.name }} ({{ permission.code }})</span>\n <button\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"\n t.gettext('Remove permission [[ name ]]', {\n name: permission.name,\n })\n \"\n [disabled]=\"busy() || dialogOpen() || !!permissionSource()\"\n (click)=\"removePermission(permission.id)\">\n <mat-icon>close</mat-icon>\n </button>\n </li>\n } @empty {\n <li>{{ t.gettext('No permissions assigned.') }}</li>\n }\n </ul>\n @if (permissionOptionsError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ permissionOptionsError() }}\n </p>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"busy() || dialogOpen() || permissionOptionsLoading()\"\n (click)=\"loadPermissionOptions()\">\n {{ t.gettext('Try again') }}\n </button>\n } @else {\n <div class=\"permission-assignment\">\n <mat-form-field\n appearance=\"outline\"\n subscriptSizing=\"dynamic\">\n <mat-label>{{ t.gettext('Permission') }}</mat-label>\n <mat-select\n [value]=\"selectedPermissionId()\"\n [disabled]=\"\n busy() ||\n dialogOpen() ||\n permissionOptionsLoading() ||\n !!permissionSource()\n \"\n (selectionChange)=\"selectedPermissionId.set($event.value)\">\n @for (\n permission of availablePermissions();\n track permission.id\n ) {\n <mat-option [value]=\"permission.id\"\n >{{ permission.name }} ({{ permission.code }})</mat-option\n >\n } @empty {\n <mat-option [disabled]=\"true\">{{\n t.gettext('No permissions available')\n }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"\n busy() ||\n dialogOpen() ||\n !selectedPermissionId() ||\n !!permissionSource()\n \"\n (click)=\"addPermission()\">\n <mat-icon>add</mat-icon> {{ t.gettext('Assign permission') }}\n </button>\n </div>\n }\n }\n @if (!permissionSource()) {\n <mat-checkbox\n [checked]=\"applyPermissionsToRelatedPosts()\"\n [disabled]=\"busy() || dialogOpen()\"\n (change)=\"applyPermissionsToRelatedPosts.set($event.checked)\">\n {{ t.gettext('Apply permissions to related posts') }}\n </mat-checkbox>\n }\n </section>\n } @else if (currentPost(); as post) {\n @if (thumbnailPreviewUrl()) {\n <img\n class=\"thumbnail-preview\"\n [src]=\"thumbnailPreviewUrl()\"\n [alt]=\"t.gettext('Post thumbnail')\" />\n }\n @if (thumbnailError()) {\n <p role=\"alert\">{{ thumbnailError() }}</p>\n }\n <h1 class=\"post-title\">{{ post.title }}</h1>\n @if (post.excerpt) {\n <p class=\"post-excerpt\">{{ post.excerpt }}</p>\n }\n <div\n class=\"post-body\"\n [innerHTML]=\"post.body\"></div>\n @if (mediaAttachment(); as media) {\n @if (draft()[media.key]; as key) {\n @if (mediaPreviewLoading()) {\n <p role=\"status\">{{ t.gettext('Loading media...') }}</p>\n } @else if (mediaPreviewError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ mediaPreviewError() }}\n </p>\n } @else if (media.type === 'video' && mediaPreviewUrl()) {\n <video\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support video playback.') }}\n </video>\n } @else if (media.type === 'audio' && mediaPreviewUrl()) {\n <audio\n controls\n preload=\"none\"\n [src]=\"mediaPreviewUrl()\">\n {{ t.gettext('Your browser does not support audio playback.') }}\n </audio>\n } @else if (media.type === 'attachment' && mediaPreviewUrl()) {\n <p>\n {{\n t.gettext('Attached file: [[ fileName ]]', {\n fileName: mediaFileName(key),\n })\n }}\n <a\n [href]=\"mediaPreviewUrl()\"\n target=\"_blank\"\n rel=\"noopener\"\n >{{ t.gettext('Download or open') }}</a\n >\n </p>\n }\n }\n }\n } @else {\n <p role=\"status\">{{ t.gettext('No post is loaded.') }}</p>\n }\n</article>\n", styles: [":host{display:block}.post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem;border-bottom:1px solid rgba(136,136,136,.2)}.post-status{margin-right:auto;text-transform:capitalize;opacity:.7}.buttons{display:flex;flex-wrap:wrap;gap:.5rem}.post-article{max-width:760px;margin:0 auto;padding:clamp(1.5rem,5vw,4rem) 1.5rem;overflow-wrap:anywhere}.post-title{margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em}.post-excerpt{margin:0 0 2rem;font-size:1.35rem;line-height:1.6;opacity:.7;white-space:pre-wrap}.post-body{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;line-height:1.8;white-space:pre-wrap}.editable{min-height:1.2em;outline:none}.editable:focus{box-shadow:-3px 0 #8885}.editable:empty:before{content:attr(data-placeholder);opacity:.4;pointer-events:none}.post-body.editable{min-height:12rem}.slug-field{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(136,136,136,.2);font-size:.875rem}.slug-field input{flex:1;min-width:160px;padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.error{padding:1rem;color:#b3261e}.post-type-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.media-attachment,.post-thumbnail,.post-taxonomy,.related-posts,.application-hook,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.post-thumbnail h2,.post-taxonomy h2,.related-posts h2,.application-hook h2,.post-permissions h2{font-size:1rem}.media-attachment .thumbnail-preview,.post-thumbnail .thumbnail-preview,.post-taxonomy .thumbnail-preview,.related-posts .thumbnail-preview,.application-hook .thumbnail-preview,.post-permissions .thumbnail-preview{display:block;width:min(100%,480px);max-height:320px;object-fit:contain;border-radius:12px;margin-bottom:.75rem}.media-attachment .post-taxonomy mat-form-field,.post-thumbnail .post-taxonomy mat-form-field,.post-taxonomy .post-taxonomy mat-form-field,.related-posts .post-taxonomy mat-form-field,.application-hook .post-taxonomy mat-form-field,.post-permissions .post-taxonomy mat-form-field{display:block;margin-top:.75rem}.related-posts ul,.post-permissions ul{padding:0;list-style:none}.related-posts .application-hook,.post-permissions .application-hook{display:grid;align-items:start;gap:.75rem}.related-posts .application-hook mat-form-field,.post-permissions .application-hook mat-form-field{width:min(100%,28rem)}.related-posts li,.post-permissions li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}video{max-width:100%;max-height:400px!important}\n"] }]
|
|
5855
|
+
}], ctorParameters: () => [], propDecorators: { post: [{ type: i0.Input, args: [{ isSignal: true, alias: "post", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }, { type: i0.Output, args: ["modeChange"] }], changed: [{ type: i0.Output, args: ["changed"] }], deleted: [{ type: i0.Output, args: ["deleted"] }], duplicated: [{ type: i0.Output, args: ["duplicated"] }], cancelled: [{ type: i0.Output, args: ["cancelled"] }] } });
|
|
3788
5856
|
|
|
3789
5857
|
var taonCmsPost_component = /*#__PURE__*/Object.freeze({
|
|
3790
5858
|
__proto__: null,
|
|
@@ -3815,17 +5883,46 @@ const TaonCmsPostRoutes = [
|
|
|
3815
5883
|
*/
|
|
3816
5884
|
// export default TaonCmsPostRoutes;
|
|
3817
5885
|
|
|
5886
|
+
const t$2 = Translation.for('src/lib/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts', { "src/lib/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-BlZyHTVD.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-CbIqWbm3.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-BLkIVWeD.mjs')).default } });
|
|
3818
5887
|
class TaonCmsPostDetailsPageComponent {
|
|
3819
5888
|
constructor() {
|
|
3820
|
-
this.
|
|
5889
|
+
this.t = t$2.for(this);
|
|
5890
|
+
this.route = inject(ActivatedRoute);
|
|
5891
|
+
this.router = inject(Router);
|
|
5892
|
+
this.page$ = this.route.data.pipe(map$1(data => ({
|
|
5893
|
+
create: data['createPost'] === true,
|
|
5894
|
+
post: data['post'] ?? null,
|
|
5895
|
+
})));
|
|
5896
|
+
}
|
|
5897
|
+
onChanged(post, create) {
|
|
5898
|
+
if (create) {
|
|
5899
|
+
this.openPost(post);
|
|
5900
|
+
}
|
|
5901
|
+
}
|
|
5902
|
+
openPost(post) {
|
|
5903
|
+
void this.router.navigate(['../', post.id], { relativeTo: this.route });
|
|
5904
|
+
}
|
|
5905
|
+
onCancelled(create) {
|
|
5906
|
+
if (create) {
|
|
5907
|
+
void this.router.navigate(['../'], { relativeTo: this.route });
|
|
5908
|
+
}
|
|
3821
5909
|
}
|
|
3822
5910
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostDetailsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3823
5911
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsPostDetailsPageComponent, isStandalone: true, selector: "taon-cms-post-details-page", ngImport: i0, template: `
|
|
3824
|
-
@if (
|
|
3825
|
-
<a
|
|
3826
|
-
|
|
3827
|
-
|
|
3828
|
-
|
|
5912
|
+
@if (page$ | async; as page) {
|
|
5913
|
+
<a
|
|
5914
|
+
mat-button
|
|
5915
|
+
routerLink="../"
|
|
5916
|
+
>{{ t.gettext('Back to Posts') }}</a
|
|
5917
|
+
>
|
|
5918
|
+
<taon-cms-post
|
|
5919
|
+
[post]="page.post"
|
|
5920
|
+
[mode]="page.create ? 'add' : 'view'"
|
|
5921
|
+
(changed)="onChanged($event, page.create)"
|
|
5922
|
+
(duplicated)="openPost($event)"
|
|
5923
|
+
(cancelled)="onCancelled(page.create)" />
|
|
5924
|
+
}
|
|
5925
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TaonCmsPostComponent, selector: "taon-cms-post", inputs: ["post", "mode"], outputs: ["modeChange", "changed", "deleted", "duplicated", "cancelled"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3829
5926
|
}
|
|
3830
5927
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostDetailsPageComponent, decorators: [{
|
|
3831
5928
|
type: Component,
|
|
@@ -3834,9 +5931,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
3834
5931
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3835
5932
|
imports: [AsyncPipe, MatButtonModule, RouterLink, TaonCmsPostComponent],
|
|
3836
5933
|
template: `
|
|
3837
|
-
@if (
|
|
3838
|
-
<a
|
|
3839
|
-
|
|
5934
|
+
@if (page$ | async; as page) {
|
|
5935
|
+
<a
|
|
5936
|
+
mat-button
|
|
5937
|
+
routerLink="../"
|
|
5938
|
+
>{{ t.gettext('Back to Posts') }}</a
|
|
5939
|
+
>
|
|
5940
|
+
<taon-cms-post
|
|
5941
|
+
[post]="page.post"
|
|
5942
|
+
[mode]="page.create ? 'add' : 'view'"
|
|
5943
|
+
(changed)="onChanged($event, page.create)"
|
|
5944
|
+
(duplicated)="openPost($event)"
|
|
5945
|
+
(cancelled)="onCancelled(page.create)" />
|
|
3840
5946
|
}
|
|
3841
5947
|
`,
|
|
3842
5948
|
}]
|
|
@@ -3847,68 +5953,48 @@ var taonCmsPostDetailsPage_component = /*#__PURE__*/Object.freeze({
|
|
|
3847
5953
|
TaonCmsPostDetailsPageComponent: TaonCmsPostDetailsPageComponent
|
|
3848
5954
|
});
|
|
3849
5955
|
|
|
3850
|
-
class TaonCmsPostEditDialogComponent {
|
|
3851
|
-
constructor() {
|
|
3852
|
-
this.data = inject(MAT_DIALOG_DATA);
|
|
3853
|
-
this.editor = viewChild(TaonCmsPostComponent, ...(ngDevMode ? [{ debugName: "editor" }] : []));
|
|
3854
|
-
this.changed = new EventEmitter();
|
|
3855
|
-
this.ref = inject((MatDialogRef));
|
|
3856
|
-
}
|
|
3857
|
-
close() {
|
|
3858
|
-
if (!this.editor()?.busy() && !this.editor()?.dialogOpen()) {
|
|
3859
|
-
this.ref.close();
|
|
3860
|
-
}
|
|
3861
|
-
}
|
|
3862
|
-
deleted(post) {
|
|
3863
|
-
this.ref.close(post);
|
|
3864
|
-
}
|
|
3865
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostEditDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3866
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.9", type: TaonCmsPostEditDialogComponent, isStandalone: true, selector: "taon-cms-post-edit-dialog", viewQueries: [{ propertyName: "editor", first: true, predicate: TaonCmsPostComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<header class=\"dialog-header\">\n <h2>{{ data.mode === 'add' ? 'Add post' : 'Manage post' }}</h2>\n <button mat-icon-button type=\"button\" aria-label=\"Close post editor\" [disabled]=\"editor()?.busy() || editor()?.dialogOpen()\" (click)=\"close()\">\n <mat-icon>close</mat-icon>\n </button>\n</header>\n<taon-cms-post\n [post]=\"data.post ?? null\"\n [mode]=\"data.mode\"\n (changed)=\"changed.emit($event)\"\n (deleted)=\"deleted($event)\"\n (cancelled)=\"close()\" />\n", styles: [":host{display:block;height:100%;overflow-y:auto}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid rgba(136,136,136,.2)}.dialog-header h2{margin:0;font-size:1rem;font-weight:500}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: TaonCmsPostComponent, selector: "taon-cms-post", inputs: ["post", "mode"], outputs: ["modeChange", "changed", "deleted", "cancelled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3867
|
-
}
|
|
3868
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostEditDialogComponent, decorators: [{
|
|
3869
|
-
type: Component,
|
|
3870
|
-
args: [{ selector: 'taon-cms-post-edit-dialog', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, MatDialogModule, MatIconModule, TaonCmsPostComponent], template: "<header class=\"dialog-header\">\n <h2>{{ data.mode === 'add' ? 'Add post' : 'Manage post' }}</h2>\n <button mat-icon-button type=\"button\" aria-label=\"Close post editor\" [disabled]=\"editor()?.busy() || editor()?.dialogOpen()\" (click)=\"close()\">\n <mat-icon>close</mat-icon>\n </button>\n</header>\n<taon-cms-post\n [post]=\"data.post ?? null\"\n [mode]=\"data.mode\"\n (changed)=\"changed.emit($event)\"\n (deleted)=\"deleted($event)\"\n (cancelled)=\"close()\" />\n", styles: [":host{display:block;height:100%;overflow-y:auto}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid rgba(136,136,136,.2)}.dialog-header h2{margin:0;font-size:1rem;font-weight:500}\n"] }]
|
|
3871
|
-
}], propDecorators: { editor: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TaonCmsPostComponent), { isSignal: true }] }] } });
|
|
3872
|
-
|
|
3873
5956
|
//#region imports
|
|
3874
5957
|
//#endregion
|
|
5958
|
+
const t$1 = Translation.for('src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts', { "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-BHayrvIT.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-D20weGEY.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CgN5IPiF.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BF3C9IWs.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWwu-KCW.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B4suZvEh.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ChhV8nE4.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CEEZs_nF.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-5LisKXGn.mjs')).default } });
|
|
3875
5959
|
class TaonCmsPostsBackofficeComponent {
|
|
3876
5960
|
constructor() {
|
|
5961
|
+
this.t = t$1.for(this);
|
|
3877
5962
|
this.taonCmsContentApiService = inject(TaonCmsContentApiService);
|
|
3878
5963
|
this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
|
|
3879
5964
|
this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
|
|
3880
5965
|
this.deleting = signal(null, ...(ngDevMode ? [{ debugName: "deleting" }] : []));
|
|
5966
|
+
this.duplicating = signal(false, ...(ngDevMode ? [{ debugName: "duplicating" }] : []));
|
|
3881
5967
|
this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
|
|
3882
5968
|
this.dialog = inject(MatDialog);
|
|
3883
5969
|
this.route = inject(ActivatedRoute);
|
|
3884
5970
|
this.router = inject(Router);
|
|
3885
5971
|
this.destroyRef = inject(DestroyRef);
|
|
3886
|
-
this.cancelLoad$ = new Subject();
|
|
3887
5972
|
this.columns = [
|
|
3888
5973
|
{ header: 'ID', field: 'id', sortable: true },
|
|
3889
|
-
{ header: 'Title', field: 'title', sortable: true },
|
|
3890
|
-
{ header: 'Status', field: 'status', sortable: true },
|
|
5974
|
+
{ header: this.t.gettext('Title'), field: 'title', sortable: true },
|
|
5975
|
+
{ header: this.t.gettext('Status'), field: 'status', sortable: true },
|
|
3891
5976
|
{
|
|
3892
|
-
header: 'Actions',
|
|
5977
|
+
header: this.t.gettext('Actions'),
|
|
3893
5978
|
field: 'actions',
|
|
3894
5979
|
type: 'button',
|
|
3895
5980
|
buttons: [
|
|
3896
5981
|
{
|
|
3897
5982
|
type: 'icon',
|
|
3898
|
-
icon: '
|
|
3899
|
-
tooltip: '
|
|
3900
|
-
|
|
5983
|
+
icon: 'content_copy',
|
|
5984
|
+
tooltip: this.t.gettext('Duplicate post'),
|
|
5985
|
+
disabled: () => this.duplicating(),
|
|
5986
|
+
click: (post) => this.duplicate(post),
|
|
3901
5987
|
},
|
|
3902
5988
|
{
|
|
3903
5989
|
type: 'icon',
|
|
3904
5990
|
icon: 'open_in_new',
|
|
3905
|
-
tooltip: 'Post details',
|
|
5991
|
+
tooltip: this.t.gettext('Post details'),
|
|
3906
5992
|
click: (post) => this.openDetails(post),
|
|
3907
5993
|
},
|
|
3908
5994
|
{
|
|
3909
5995
|
type: 'icon',
|
|
3910
5996
|
icon: 'delete',
|
|
3911
|
-
tooltip: 'Delete (archive) post',
|
|
5997
|
+
tooltip: this.t.gettext('Delete (archive) post'),
|
|
3912
5998
|
disabled: (post) => post.status === 'archived' || this.deleting() !== null,
|
|
3913
5999
|
click: (post) => this.delete(post),
|
|
3914
6000
|
},
|
|
@@ -3926,18 +6012,35 @@ class TaonCmsPostsBackofficeComponent {
|
|
|
3926
6012
|
this.reload();
|
|
3927
6013
|
}
|
|
3928
6014
|
add() {
|
|
3929
|
-
this.
|
|
3930
|
-
}
|
|
3931
|
-
edit(post) {
|
|
3932
|
-
this.openEditor({ mode: 'edit', post });
|
|
6015
|
+
this.openPost('new');
|
|
3933
6016
|
}
|
|
3934
6017
|
openDetails(post) {
|
|
6018
|
+
this.openPost(post.id);
|
|
6019
|
+
}
|
|
6020
|
+
openPost(id) {
|
|
3935
6021
|
const postsRoute = this.route.parent;
|
|
3936
6022
|
if (!postsRoute) {
|
|
3937
|
-
this.error.set('The Post details route is unavailable.');
|
|
6023
|
+
this.error.set(this.t.gettext('The Post details route is unavailable.'));
|
|
6024
|
+
return;
|
|
6025
|
+
}
|
|
6026
|
+
void this.router.navigate([id], { relativeTo: postsRoute });
|
|
6027
|
+
}
|
|
6028
|
+
duplicate(post) {
|
|
6029
|
+
if (this.duplicating()) {
|
|
3938
6030
|
return;
|
|
3939
6031
|
}
|
|
3940
|
-
|
|
6032
|
+
this.duplicating.set(true);
|
|
6033
|
+
this.error.set('');
|
|
6034
|
+
this.taonCmsContentApiService
|
|
6035
|
+
.duplicateContent(post.id)
|
|
6036
|
+
.pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.duplicating.set(false)))
|
|
6037
|
+
.subscribe({
|
|
6038
|
+
next: duplicate => this.openDetails(duplicate),
|
|
6039
|
+
error: (error) => {
|
|
6040
|
+
console.error('[taon-cms-posts-backoffice] Unable to duplicate post', error);
|
|
6041
|
+
this.error.set(this.t.gettext('The post could not be duplicated. Please try again.'));
|
|
6042
|
+
},
|
|
6043
|
+
});
|
|
3941
6044
|
}
|
|
3942
6045
|
delete(post) {
|
|
3943
6046
|
if (this.deleting() !== null || post.status === 'archived') {
|
|
@@ -3946,9 +6049,9 @@ class TaonCmsPostsBackofficeComponent {
|
|
|
3946
6049
|
this.deleting.set(post.id);
|
|
3947
6050
|
const ref = this.dialog.open(TaonConfirmDialogComponent, {
|
|
3948
6051
|
data: {
|
|
3949
|
-
title: 'Delete post?',
|
|
3950
|
-
message: 'This archives the post. It can be restored from its revisions.',
|
|
3951
|
-
confirmText: 'Delete',
|
|
6052
|
+
title: this.t.gettext('Delete post?'),
|
|
6053
|
+
message: this.t.gettext('This archives the post. It can be restored from its revisions.'),
|
|
6054
|
+
confirmText: this.t.gettext('Delete'),
|
|
3952
6055
|
},
|
|
3953
6056
|
});
|
|
3954
6057
|
ref
|
|
@@ -3967,31 +6070,17 @@ class TaonCmsPostsBackofficeComponent {
|
|
|
3967
6070
|
next: () => this.reload(),
|
|
3968
6071
|
error: (error) => {
|
|
3969
6072
|
console.error('[taon-cms-posts-backoffice] Unable to delete post', error);
|
|
3970
|
-
this.error.set('The post could not be deleted. Refresh the table before retrying.');
|
|
6073
|
+
this.error.set(this.t.gettext('The post could not be deleted. Refresh the table before retrying.'));
|
|
3971
6074
|
},
|
|
3972
6075
|
});
|
|
3973
6076
|
});
|
|
3974
6077
|
}
|
|
3975
|
-
openEditor(data) {
|
|
3976
|
-
const ref = this.dialog.open(TaonCmsPostEditDialogComponent, {
|
|
3977
|
-
data,
|
|
3978
|
-
width: '100vw',
|
|
3979
|
-
height: '100dvh',
|
|
3980
|
-
maxWidth: '100vw',
|
|
3981
|
-
maxHeight: '100dvh',
|
|
3982
|
-
disableClose: true,
|
|
3983
|
-
autoFocus: 'first-tabbable',
|
|
3984
|
-
});
|
|
3985
|
-
ref.componentInstance.changed
|
|
3986
|
-
.pipe(takeUntil(ref.afterClosed()), takeUntilDestroyed(this.destroyRef))
|
|
3987
|
-
.subscribe(() => this.reload());
|
|
3988
|
-
}
|
|
3989
6078
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3990
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsPostsBackofficeComponent, isStandalone: true, selector: "app-taon-cms-posts-backoffice", providers: [TaonCmsContentApiService], viewQueries: [{ propertyName: "datatable", first: true, predicate: TaonDatatableComponent, descendants: true }], ngImport: i0, template: "<h1>CMS posts</h1>\n@if (loading()) {\n <p role=\"status\">Loading posts
|
|
6079
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsPostsBackofficeComponent, isStandalone: true, selector: "app-taon-cms-posts-backoffice", providers: [TaonCmsContentApiService], viewQueries: [{ propertyName: "datatable", first: true, predicate: TaonDatatableComponent, descendants: true }], ngImport: i0, template: "<h1>{{ t.gettext('CMS posts') }}</h1>\n@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading posts...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [allowedColumns]=\"['id', 'title', 'status']\"\n searchMode=\"advanced\"\n (addingItem)=\"add()\">\n</taon-datatable>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: TaonDatatableComponent, selector: "taon-datatable", inputs: ["pageNumber", "pageSize", "pageSizeOptions", "allowedColumns", "expansionTemplate", "entityCrudController", "columns", "hideSearch", "hideAddButton", "safe", "searchMode", "callQueryMethod", "data", "showPaginator"], outputs: ["expansionChange", "addingItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3991
6080
|
}
|
|
3992
6081
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, decorators: [{
|
|
3993
6082
|
type: Component,
|
|
3994
|
-
args: [{ selector: 'app-taon-cms-posts-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, TaonDatatableComponent], providers: [TaonCmsContentApiService], template: "<h1>CMS posts</h1>\n@if (loading()) {\n <p role=\"status\">Loading posts
|
|
6083
|
+
args: [{ selector: 'app-taon-cms-posts-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, TaonDatatableComponent], providers: [TaonCmsContentApiService], template: "<h1>{{ t.gettext('CMS posts') }}</h1>\n@if (loading()) {\n <p role=\"status\">{{ t.gettext('Loading posts...') }}</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [allowedColumns]=\"['id', 'title', 'status']\"\n searchMode=\"advanced\"\n (addingItem)=\"add()\">\n</taon-datatable>\n", styles: [":host{display:block}\n"] }]
|
|
3995
6084
|
}], propDecorators: { datatable: [{
|
|
3996
6085
|
type: ViewChild,
|
|
3997
6086
|
args: [TaonDatatableComponent]
|
|
@@ -4007,15 +6096,16 @@ var taonCmsPostsBackoffice_component = /*#__PURE__*/Object.freeze({
|
|
|
4007
6096
|
|
|
4008
6097
|
//#region imports
|
|
4009
6098
|
//#endregion
|
|
6099
|
+
const t = Translation.for('src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts', { "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-BHayrvIT.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-D20weGEY.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CgN5IPiF.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-BF3C9IWs.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-BWwu-KCW.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-B4suZvEh.mjs')).default }, "src/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts": { "en-US": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ChhV8nE4.mjs')).default, "pl-PL": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-CEEZs_nF.mjs')).default, "de-DE": async () => (await import('./cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-5LisKXGn.mjs')).default } });
|
|
4010
6100
|
const resolvePost = async (route) => {
|
|
4011
6101
|
const id = Number(route.paramMap.get('id'));
|
|
4012
6102
|
if (!Number.isSafeInteger(id) || id <= 0) {
|
|
4013
|
-
throw new Error('Invalid Post ID');
|
|
6103
|
+
throw new Error(t.gettext('Invalid Post ID'));
|
|
4014
6104
|
}
|
|
4015
6105
|
const taonCmsContentApiService = inject(TaonCmsContentApiService);
|
|
4016
6106
|
const post = await taonCmsContentApiService.getById(id);
|
|
4017
6107
|
if (!post) {
|
|
4018
|
-
throw new Error('Post not found');
|
|
6108
|
+
throw new Error(t.gettext('Post not found'));
|
|
4019
6109
|
}
|
|
4020
6110
|
return post;
|
|
4021
6111
|
};
|
|
@@ -4025,6 +6115,11 @@ const TaonCmsPostsBackofficeRoutes = [
|
|
|
4025
6115
|
pathMatch: 'full',
|
|
4026
6116
|
loadComponent: () => Promise.resolve().then(function () { return taonCmsPostsBackoffice_component; }).then(m => m.TaonCmsPostsBackofficeComponent),
|
|
4027
6117
|
},
|
|
6118
|
+
{
|
|
6119
|
+
path: 'new',
|
|
6120
|
+
data: { hideInNavigation: true, createPost: true },
|
|
6121
|
+
loadComponent: () => Promise.resolve().then(function () { return taonCmsPostDetailsPage_component; }).then(m => m.TaonCmsPostDetailsPageComponent),
|
|
6122
|
+
},
|
|
4028
6123
|
{
|
|
4029
6124
|
path: ':id',
|
|
4030
6125
|
data: { hideInNavigation: true },
|
|
@@ -4057,6 +6152,8 @@ var index$1 = /*#__PURE__*/Object.freeze({
|
|
|
4057
6152
|
CURRENT_PACKAGE_TAON_VERSION: CURRENT_PACKAGE_TAON_VERSION,
|
|
4058
6153
|
CURRENT_PACKAGE_VERSION: CURRENT_PACKAGE_VERSION,
|
|
4059
6154
|
get CmsContext_1791132517217_initial () { return CmsContext_1791132517217_initial; },
|
|
6155
|
+
get CmsContext_1792579000000_postPermissionInheritance () { return CmsContext_1792579000000_postPermissionInheritance; },
|
|
6156
|
+
get CmsContext_1793043000000_postThumbnails () { return CmsContext_1793043000000_postThumbnails; },
|
|
4060
6157
|
MIGRATIONS_CLASSES_FOR_CmsContext: MIGRATIONS_CLASSES_FOR_CmsContext,
|
|
4061
6158
|
PROJECT_NPM_NAME: PROJECT_NPM_NAME,
|
|
4062
6159
|
get TaonAuthContextEntity () { return TaonAuthContextEntity; },
|
|
@@ -4065,10 +6162,12 @@ var index$1 = /*#__PURE__*/Object.freeze({
|
|
|
4065
6162
|
TaonCmsAbstractContext: TaonCmsAbstractContext,
|
|
4066
6163
|
TaonCmsApplicationHook: TaonCmsApplicationHook,
|
|
4067
6164
|
get TaonCmsApplicationHookEntity () { return TaonCmsApplicationHookEntity; },
|
|
6165
|
+
TaonCmsAssetPreviewComponent: TaonCmsAssetPreviewComponent,
|
|
4068
6166
|
TaonCmsAssetsBackofficeComponent: TaonCmsAssetsBackofficeComponent,
|
|
4069
6167
|
TaonCmsAssetsBackofficeRoutes: TaonCmsAssetsBackofficeRoutes,
|
|
4070
6168
|
TaonCmsBackofficeComponent: TaonCmsBackofficeComponent,
|
|
4071
6169
|
TaonCmsBackofficeRoutes: TaonCmsBackofficeRoutes,
|
|
6170
|
+
TaonCmsCategoriesBackofficeRoutes: TaonCmsCategoriesBackofficeRoutes,
|
|
4072
6171
|
TaonCmsCategoryAbstractContext: TaonCmsCategoryAbstractContext,
|
|
4073
6172
|
TaonCmsCategoryApiService: TaonCmsCategoryApiService,
|
|
4074
6173
|
get TaonCmsCategoryController () { return TaonCmsCategoryController; },
|
|
@@ -4152,7 +6251,6 @@ var index$1 = /*#__PURE__*/Object.freeze({
|
|
|
4152
6251
|
TaonCmsEditableDirective: TaonCmsEditableDirective,
|
|
4153
6252
|
TaonCmsPostComponent: TaonCmsPostComponent,
|
|
4154
6253
|
TaonCmsPostDetailsPageComponent: TaonCmsPostDetailsPageComponent,
|
|
4155
|
-
TaonCmsPostEditDialogComponent: TaonCmsPostEditDialogComponent,
|
|
4156
6254
|
TaonCmsPostRoutes: TaonCmsPostRoutes,
|
|
4157
6255
|
TaonCmsPostsBackofficeComponent: TaonCmsPostsBackofficeComponent,
|
|
4158
6256
|
TaonCmsPostsBackofficeRoutes: TaonCmsPostsBackofficeRoutes,
|
|
@@ -4168,21 +6266,30 @@ var index$1 = /*#__PURE__*/Object.freeze({
|
|
|
4168
6266
|
get TaonCmsTagState () { return TaonCmsTagState; },
|
|
4169
6267
|
get TaonCmsTagSubscriber () { return TaonCmsTagSubscriber; },
|
|
4170
6268
|
TaonCmsTagUtils__NS__isActive: TaonCmsTagUtils__NS__isActive,
|
|
6269
|
+
TaonCmsTagsBackofficeRoutes: TaonCmsTagsBackofficeRoutes,
|
|
6270
|
+
TaonCmsTaxonomyBackofficeComponent: TaonCmsTaxonomyBackofficeComponent,
|
|
4171
6271
|
TaonRelatedPostChooserComponent: TaonRelatedPostChooserComponent,
|
|
4172
6272
|
TaonSessionCoreGroups: TaonSessionCoreGroups,
|
|
4173
6273
|
TaonSessionCorePermissions: TaonSessionCorePermissions,
|
|
4174
6274
|
TaonSessionCoreRoles: TaonSessionCoreRoles,
|
|
4175
6275
|
contentError: contentError,
|
|
4176
6276
|
default: index,
|
|
6277
|
+
defaultThumbnailKey: defaultThumbnailKey,
|
|
6278
|
+
defaultThumbnailUrl: defaultThumbnailUrl,
|
|
6279
|
+
generateVideoThumbnail: generateVideoThumbnail,
|
|
4177
6280
|
requireContentId: requireContentId,
|
|
4178
6281
|
requireContentVersion: requireContentVersion,
|
|
4179
6282
|
startCli: startCli,
|
|
4180
|
-
|
|
6283
|
+
trackCmsUpload: trackCmsUpload,
|
|
6284
|
+
validateCategoryHierarchy: validateCategoryHierarchy,
|
|
6285
|
+
validateContentInput: validateContentInput,
|
|
6286
|
+
validateTaxonomy: validateTaxonomy,
|
|
6287
|
+
visiblePixelRatio: visiblePixelRatio
|
|
4181
6288
|
});
|
|
4182
6289
|
|
|
4183
6290
|
/**
|
|
4184
6291
|
* Generated bundle index. Do not edit.
|
|
4185
6292
|
*/
|
|
4186
6293
|
|
|
4187
|
-
export { APP_ID, BUILD_BASE_HREF, BUILD_FRAMEWORK_CLI_NAME, CURRENT_PACKAGE_TAON_VERSION, CURRENT_PACKAGE_VERSION, CmsContext_1791132517217_initial, MIGRATIONS_CLASSES_FOR_CmsContext, PROJECT_NPM_NAME, TaonAuthContextEntity, TaonAuthContextHasAccess, TaonAuthContextRepository, TaonCmsAbstractContext, TaonCmsApplicationHook, TaonCmsApplicationHookEntity, TaonCmsAssetsBackofficeComponent, TaonCmsAssetsBackofficeRoutes, TaonCmsBackofficeComponent, TaonCmsBackofficeRoutes, TaonCmsCategoryAbstractContext, TaonCmsCategoryApiService, TaonCmsCategoryController, TaonCmsCategoryDefaultsValues, TaonCmsCategoryEntity, TaonCmsCategoryMiddleware, TaonCmsCategoryProvider, TaonCmsCategoryRepository, TaonCmsCategoryState, TaonCmsCategorySubscriber, TaonCmsCategoryUtils__NS__isActive, TaonCmsCommentAbstractContext, TaonCmsCommentApiService, TaonCmsCommentController, TaonCmsCommentDefaultsValues, TaonCmsCommentEntity, TaonCmsCommentMiddleware, TaonCmsCommentProvider, TaonCmsCommentRepository, TaonCmsCommentState, TaonCmsCommentSubscriber, TaonCmsCommentUtils__NS__isActive, TaonCmsContentAbstractContext, TaonCmsContentApiService, TaonCmsContentAssetAbstractContext, TaonCmsContentAssetApiService, TaonCmsContentAssetController, TaonCmsContentAssetDefaultsValues, TaonCmsContentAssetEntity, TaonCmsContentAssetMiddleware, TaonCmsContentAssetProvider, TaonCmsContentAssetRepository, TaonCmsContentAssetState, TaonCmsContentAssetSubscriber, TaonCmsContentAssetUtils__NS__isActive, TaonCmsContentConfigService, TaonCmsContentController, TaonCmsContentDefaultsValues, TaonCmsContentEntity, TaonCmsContentMiddleware, TaonCmsContentPermissionAbstractContext, TaonCmsContentPermissionApiService, TaonCmsContentPermissionController, TaonCmsContentPermissionDefaultsValues, TaonCmsContentPermissionEntity, TaonCmsContentPermissionMiddleware, TaonCmsContentPermissionProvider, TaonCmsContentPermissionRepository, TaonCmsContentPermissionState, TaonCmsContentPermissionSubscriber, TaonCmsContentPermissionUtils__NS__isActive, TaonCmsContentProvider, TaonCmsContentRepository, TaonCmsContentRevisionAbstractContext, TaonCmsContentRevisionApiService, TaonCmsContentRevisionController, TaonCmsContentRevisionDefaultsValues, TaonCmsContentRevisionEntity, TaonCmsContentRevisionMiddleware, TaonCmsContentRevisionProvider, TaonCmsContentRevisionRepository, TaonCmsContentRevisionState, TaonCmsContentRevisionSubscriber, TaonCmsContentRevisionUtils__NS__isActive, TaonCmsContentState, TaonCmsContentStorageController, TaonCmsContentSubscriber, TaonCmsContentTagAbstractContext, TaonCmsContentTagApiService, TaonCmsContentTagController, TaonCmsContentTagDefaultsValues, TaonCmsContentTagEntity, TaonCmsContentTagMiddleware, TaonCmsContentTagProvider, TaonCmsContentTagRepository, TaonCmsContentTagState, TaonCmsContentTagSubscriber, TaonCmsContentTagUtils__NS__isActive, TaonCmsContentType, TaonCmsContentUtils__NS__isActive, TaonCmsEditableDirective, TaonCmsPostComponent, TaonCmsPostDetailsPageComponent,
|
|
6294
|
+
export { APP_ID, BUILD_BASE_HREF, BUILD_FRAMEWORK_CLI_NAME, CURRENT_PACKAGE_TAON_VERSION, CURRENT_PACKAGE_VERSION, CmsContext_1791132517217_initial, CmsContext_1792579000000_postPermissionInheritance, CmsContext_1793043000000_postThumbnails, MIGRATIONS_CLASSES_FOR_CmsContext, PROJECT_NPM_NAME, TaonAuthContextEntity, TaonAuthContextHasAccess, TaonAuthContextRepository, TaonCmsAbstractContext, TaonCmsApplicationHook, TaonCmsApplicationHookEntity, TaonCmsAssetPreviewComponent, TaonCmsAssetsBackofficeComponent, TaonCmsAssetsBackofficeRoutes, TaonCmsBackofficeComponent, TaonCmsBackofficeRoutes, TaonCmsCategoriesBackofficeRoutes, TaonCmsCategoryAbstractContext, TaonCmsCategoryApiService, TaonCmsCategoryController, TaonCmsCategoryDefaultsValues, TaonCmsCategoryEntity, TaonCmsCategoryMiddleware, TaonCmsCategoryProvider, TaonCmsCategoryRepository, TaonCmsCategoryState, TaonCmsCategorySubscriber, TaonCmsCategoryUtils__NS__isActive, TaonCmsCommentAbstractContext, TaonCmsCommentApiService, TaonCmsCommentController, TaonCmsCommentDefaultsValues, TaonCmsCommentEntity, TaonCmsCommentMiddleware, TaonCmsCommentProvider, TaonCmsCommentRepository, TaonCmsCommentState, TaonCmsCommentSubscriber, TaonCmsCommentUtils__NS__isActive, TaonCmsContentAbstractContext, TaonCmsContentApiService, TaonCmsContentAssetAbstractContext, TaonCmsContentAssetApiService, TaonCmsContentAssetController, TaonCmsContentAssetDefaultsValues, TaonCmsContentAssetEntity, TaonCmsContentAssetMiddleware, TaonCmsContentAssetProvider, TaonCmsContentAssetRepository, TaonCmsContentAssetState, TaonCmsContentAssetSubscriber, TaonCmsContentAssetUtils__NS__isActive, TaonCmsContentConfigService, TaonCmsContentController, TaonCmsContentDefaultsValues, TaonCmsContentEntity, TaonCmsContentMiddleware, TaonCmsContentPermissionAbstractContext, TaonCmsContentPermissionApiService, TaonCmsContentPermissionController, TaonCmsContentPermissionDefaultsValues, TaonCmsContentPermissionEntity, TaonCmsContentPermissionMiddleware, TaonCmsContentPermissionProvider, TaonCmsContentPermissionRepository, TaonCmsContentPermissionState, TaonCmsContentPermissionSubscriber, TaonCmsContentPermissionUtils__NS__isActive, TaonCmsContentProvider, TaonCmsContentRepository, TaonCmsContentRevisionAbstractContext, TaonCmsContentRevisionApiService, TaonCmsContentRevisionController, TaonCmsContentRevisionDefaultsValues, TaonCmsContentRevisionEntity, TaonCmsContentRevisionMiddleware, TaonCmsContentRevisionProvider, TaonCmsContentRevisionRepository, TaonCmsContentRevisionState, TaonCmsContentRevisionSubscriber, TaonCmsContentRevisionUtils__NS__isActive, TaonCmsContentState, TaonCmsContentStorageController, TaonCmsContentSubscriber, TaonCmsContentTagAbstractContext, TaonCmsContentTagApiService, TaonCmsContentTagController, TaonCmsContentTagDefaultsValues, TaonCmsContentTagEntity, TaonCmsContentTagMiddleware, TaonCmsContentTagProvider, TaonCmsContentTagRepository, TaonCmsContentTagState, TaonCmsContentTagSubscriber, TaonCmsContentTagUtils__NS__isActive, TaonCmsContentType, TaonCmsContentUtils__NS__isActive, TaonCmsEditableDirective, TaonCmsPostComponent, TaonCmsPostDetailsPageComponent, TaonCmsPostRoutes, TaonCmsPostsBackofficeComponent, TaonCmsPostsBackofficeRoutes, TaonCmsRevisionChooserComponent, TaonCmsTagAbstractContext, TaonCmsTagApiService, TaonCmsTagController, TaonCmsTagDefaultsValues, TaonCmsTagEntity, TaonCmsTagMiddleware, TaonCmsTagProvider, TaonCmsTagRepository, TaonCmsTagState, TaonCmsTagSubscriber, TaonCmsTagUtils__NS__isActive, TaonCmsTagsBackofficeRoutes, TaonCmsTaxonomyBackofficeComponent, TaonRelatedPostChooserComponent, TaonSessionCoreGroups, TaonSessionCorePermissions, TaonSessionCoreRoles, contentError, defaultThumbnailKey, defaultThumbnailUrl, generateVideoThumbnail, requireContentId, requireContentVersion, startCli, trackCmsUpload, validateCategoryHierarchy, validateContentInput, validateTaxonomy, visiblePixelRatio };
|
|
4188
6295
|
//# sourceMappingURL=cms-websql-prod.mjs.map
|