Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(cm): add discard changes action #19509

Merged
merged 8 commits into from Feb 15, 2024

Conversation

joshuaellis
Copy link
Member

@joshuaellis joshuaellis commented Feb 14, 2024

What does it do?

  • Adds discarding a draft action
  • Adds the ability to discard or keep draft when unpublished when the status is modified
  • fixes e2e tests for the feature branch
  • introduces information in the header actions menu

How to test it?

  • As a user I want to be able to discard my draft once i have saved changes and the status is modified
  • As a user I want to be given a choice to keep or discard my draft when i unpublish a document that has modified changes on said draft.

Related issue(s)/PR(s)

  • resolves CONTENT-2038
  • resolves CONTENT-2075
  • resolves CONTENT-2076
  • resolves CONTENT-2201

@joshuaellis joshuaellis added source: core:content-manager Source is core/content-manager package pr: enhancement This PR adds or updates some part of the codebase or features labels Feb 14, 2024
@joshuaellis joshuaellis added this to the 5.0.0 milestone Feb 14, 2024
@joshuaellis joshuaellis self-assigned this Feb 14, 2024
Copy link
Contributor

github-actions bot commented Feb 14, 2024

Size Change: 0 B

Total Size: 2.42 MB

ℹ️ View Unchanged
Filename Size
examples/getstarted/build/_arrayIncludes-awKgwHNb.js 292 B
examples/getstarted/build/_arrayIncludesWith-Z9Clh9dj.js 123 B
examples/getstarted/build/_baseEach-f-6tJjGM.js 224 B
examples/getstarted/build/_baseIndexOf-Ume97SKr.js 208 B
examples/getstarted/build/_baseMap-rZqPwgUd.js 192 B
examples/getstarted/build/AccordionToggle-T8vMswYb.js 1.74 kB
examples/getstarted/build/ActionLayout-czLgwyqA.js 245 B
examples/getstarted/build/AdminSeatInfo-Y7gDy8qA-alEMjSD3.js 844 B
examples/getstarted/build/apiTokens-DkyxXUUT-UvBHnuXe.js 434 B
examples/getstarted/build/App-eFx4wnYm-QnicFXcF.js 10.3 kB
examples/getstarted/build/ApplicationInfoPage-S98qTYR5-0pWuA-0b.js 4.16 kB
examples/getstarted/build/ar--WjMPIRL-OfwQwX0w.js 53 B
examples/getstarted/build/ar-dlnabvQE-oNkFXkcB.js 589 B
examples/getstarted/build/ar-jktgflyG-t6XGu-18.js 17.8 kB
examples/getstarted/build/ar-MvD8Ghac-9MD2WfIK.js 1.34 kB
examples/getstarted/build/ar-pygLrP3N-qyo4dS5h.js 1.23 kB
examples/getstarted/build/attributes-N_n8cVca-YQXfy0I8.js 166 B
examples/getstarted/build/AuthResponse-WiI6HZO_-HHuRoV67.js 1.29 kB
examples/getstarted/build/ca-EiEoG96a-UXnG62Mm.js 2.4 kB
examples/getstarted/build/ca-g_TZ9Gyb-zBzKxavF.js 13 kB
examples/getstarted/build/ColorPickerInput-SCgcAo7m-IcAYib4q.js 4.28 kB
examples/getstarted/build/ComponentConfigurationPage-vRvf5V89-P8yGA673.js 1.66 kB
examples/getstarted/build/ComponentIcon-J3aEhVgQ-lgJD8ED_.js 5.79 kB
examples/getstarted/build/constants-_8pVvG0H-YI6k3o80.js 175 B
examples/getstarted/build/constants-9CnUXVse-TylcVPRI.js 722 B
examples/getstarted/build/constants-fJt30IoY-bXZWlW2I.js 72 B
examples/getstarted/build/constants-MmGbP-fR-Zrm7z7FS.js 1.09 kB
examples/getstarted/build/CreateActionEE-LNY5sRBR-t8ZYSAeu.js 514 B
examples/getstarted/build/CreatePage-31Uz0mm1-rr9nPhBa.js 282 B
examples/getstarted/build/CreatePage-ixTAKx_Q-BI7ucvGN.js 2.16 kB
examples/getstarted/build/CreatePage-kHtVOCbn-kRb8_jhU.js 1.93 kB
examples/getstarted/build/CreateView-G_uzYHlp-w2nfb6Gv.js 362 B
examples/getstarted/build/CreateView-RkiwUsVf-EBdDMJG-.js 441 B
examples/getstarted/build/cs-2Bc9XvQu-AibGLenG.js 2.8 kB
examples/getstarted/build/cs-A2xRj-2--IgJDOWX6.js 337 B
examples/getstarted/build/cs-BMuXwxA1-Lf1PZDqx.js 1.37 kB
examples/getstarted/build/cs-pnCQlrWo-0cH8mPe8.js 5.83 kB
examples/getstarted/build/cs-rqM0HXju-YvMT15k-.js 53 B
examples/getstarted/build/cs-x2Pr-Y38-mD1uyk8s.js 656 B
examples/getstarted/build/de-10J3uf4y-9SlTaJ9_.js 833 B
examples/getstarted/build/de-2XL3bM4--IL_PDUeO.js 1.54 kB
examples/getstarted/build/de-9PSgvr2T-EiAwusy4.js 4.11 kB
examples/getstarted/build/de-CEO1wNhl-M6PiBv1Y.js 2.11 kB
examples/getstarted/build/de-uQFFWv6o-P-etfstV.js 12.9 kB
examples/getstarted/build/de-Y9xqNEoA-XPXQPciS.js 53 B
examples/getstarted/build/de-zs2qqc0W-U8ocsjNP.js 1.5 kB
examples/getstarted/build/dk-_8JEfZdj-KZ1C6jVQ.js 979 B
examples/getstarted/build/dk-2WUZC034-ufb-juvv.js 1.54 kB
examples/getstarted/build/dk-9BvzO1Z4-jk-ymqLz.js 535 B
examples/getstarted/build/dk-CkeGa322-Pyjtpqwa.js 3.66 kB
examples/getstarted/build/dk-HctVBMsG-kZepplNR.js 1.83 kB
examples/getstarted/build/dk-Ht5BJvwV-Ry01WSP8.js 128 B
examples/getstarted/build/dk-Judjxeox-1UzPKRoY.js 1.88 kB
examples/getstarted/build/dk-KmLnUoJC-KJg8dfYn.js 147 B
examples/getstarted/build/dk-QgYCviRU-cpchsSN1.js 10.6 kB
examples/getstarted/build/Duplicate-SipxsujU.js 360 B
examples/getstarted/build/EditConfigurationPage-_vqPBdxb-YM99hKcE.js 1.25 kB
examples/getstarted/build/EditPage-4yWmBKVU-1lXP-_Yo.js 1.92 kB
examples/getstarted/build/EditPage-clr_-ZsU-Bbz7C9B7.js 2.37 kB
examples/getstarted/build/EditPage-SnBdRZ1a-UYhjhGTf.js 4.72 kB
examples/getstarted/build/EditPage-WdILwk7Q-1Pl8U3A8.js 2.51 kB
examples/getstarted/build/EditView-mlZQUdVG-W1d3teSs.js 2.19 kB
examples/getstarted/build/EditViewPage-PWHSRmI9-vvNLOrG1.js 5.27 kB
examples/getstarted/build/EditViewPage-u1KdmOef-GBTnHA1m.js 564 kB
examples/getstarted/build/EditViewPage-u1KdmOef-O1OTS4OG.css 369 B
examples/getstarted/build/en--hlKpBzk-mhAhYQiP.js 126 B
examples/getstarted/build/en-A16mqbIV-ZE5AyTsZ.js 136 B
examples/getstarted/build/en-aU0dMEKb.js 74 B
examples/getstarted/build/en-CE3wEy_c-KUi42vnW.js 1.73 kB
examples/getstarted/build/en-Doi256ru-vxUOPE3F.js 16.9 kB
examples/getstarted/build/en-hiohckMJ-Zw-17OYX.js 1.49 kB
examples/getstarted/build/en-L6ZZWDJv-wSfLfbPo.js 376 B
examples/getstarted/build/en-m9eTk4UF-c5_Wl0B6.js 1.24 kB
examples/getstarted/build/en-ng2RUr_a-Le-K72mK.js 4.16 kB
examples/getstarted/build/en-Q6nIM8GZ-dPmFPYet.js 2.5 kB
examples/getstarted/build/en-u2RgEF5d-XC9fEKi-.js 533 B
examples/getstarted/build/en-V4ac9UMW-gfrwi5iq.js 920 B
examples/getstarted/build/Envelop-7N7tRsQn.js 491 B
examples/getstarted/build/es-_xZ14QXK-35l05Fao.js 153 B
examples/getstarted/build/es-1s8oaEg7-UFk21kop.js 1.6 kB
examples/getstarted/build/es-21jfFVzQ-UMLmQgLp.js 139 B
examples/getstarted/build/es-5S-jv_iF-K3o0j8Ht.js 598 B
examples/getstarted/build/es-64knIPhK-Q5GJG4zi.js 2.37 kB
examples/getstarted/build/es-9381tih_-pysvQggc.js 1.96 kB
examples/getstarted/build/es-DfbpvVeJ-Rl6RxhGa.js 3.89 kB
examples/getstarted/build/es-f_rfLY5r-TpsXtt0T.js 1.01 kB
examples/getstarted/build/es-h5dK2UFx-5FcVXHIM.js 14.3 kB
examples/getstarted/build/es-kL6_JyxJ.js 74 B
examples/getstarted/build/eu-7yW2eEOy-8qv6uFC6.js 14.3 kB
examples/getstarted/build/EventsTable-rBUXz1aP-sFToWcUh.js 332 B
examples/getstarted/build/FieldTypeIcon-10LCZn0I-7fhHkR6W.js 444 B
examples/getstarted/build/Filters-dLXfVnI0-vXG3o7EX.js 378 B
examples/getstarted/build/Form-Z6enp9hL-5ow2vUFA.js 4.57 kB
examples/getstarted/build/fr--lu63fR9-J7zsssVp.js 53 B
examples/getstarted/build/fr-4BkQ-Qvt-61f3X0M0.js 161 B
examples/getstarted/build/fr-8muIKZms-fv5MyU5b.js 133 B
examples/getstarted/build/fr-CMSc77If-WPdBcBLd.js 1.33 kB
examples/getstarted/build/fr-L2xRpd2l-4rQupIi3.js 792 B
examples/getstarted/build/fr-lLO-TUNw-H5PlfKdG.js 1.55 kB
examples/getstarted/build/fr-M0bxmaOq-0NacE9S4.js 2.77 kB
examples/getstarted/build/fr-Qu353uDy-QHSskDsa.js 1.64 kB
examples/getstarted/build/fr-xODy5_BZ-brSP2hZX.js 12.8 kB
examples/getstarted/build/getFullName-lWqYsCyE-TfFaVVWP.js 88 B
examples/getstarted/build/Github-SMcSBlu7.js 573 B
examples/getstarted/build/groupBy-ykpyvKKM.js 559 B
examples/getstarted/build/gu-k2JKO75--_9Cb-V1N.js 13.1 kB
examples/getstarted/build/he-_fSaX9rS-aKNhCM8F.js 1.62 kB
examples/getstarted/build/he-SUOZnrPI-9Doz8BJE.js 6.1 kB
examples/getstarted/build/hi-eUDhoDjK-Vzb4sWTf.js 15.1 kB
examples/getstarted/build/HomePage-53HhXVuv-8ltzefBh.js 276 B
examples/getstarted/build/HomePage-diUESeD4-659yGl64.js 13 kB
examples/getstarted/build/hu-Nw7d3QWI-H7zLT3KR.js 15.4 kB
examples/getstarted/build/id-inlH2S97-J7zsssVp.js 53 B
examples/getstarted/build/id-l-r-lPDE-BhFI5f3g.js 707 B
examples/getstarted/build/id-SDuyIkZa-ya_EW1h9.js 1.41 kB
examples/getstarted/build/id-SxErtbYb-4zKP7CcN.js 3.24 kB
examples/getstarted/build/id-xMqk-8lW-3q7VSb_z.js 7.51 kB
examples/getstarted/build/index-_GZPoaLy-NIfa232u.js 55.2 kB
examples/getstarted/build/index-0KK19S-i-sRiEzDyA.js 5.57 kB
examples/getstarted/build/index-2wI6X8uP-zkUUpPN-.js 2.96 kB
examples/getstarted/build/index-8gAgKdHh-mccWwIbX.js 1.57 kB
examples/getstarted/build/index-AfeOrszd.js 6.11 kB
examples/getstarted/build/index-AxevysTf-LwdDwmaj.js 1.98 kB
examples/getstarted/build/index-eqIj50sf-qj2Hvgy4.js 1.28 kB
examples/getstarted/build/index-fMRmY3IR-_k-opWuO.js 1.29 kB
examples/getstarted/build/index-hKqsGuL5.js 104 B
examples/getstarted/build/index-jfM9NeFm.js 569 B
examples/getstarted/build/index-tm6IV4E2-7nnvtAvn.js 1.99 kB
examples/getstarted/build/index-v5A6dqz3-eqBropdo.js 1.53 kB
examples/getstarted/build/index-vCh4hXOf-lQ2lW9_U.js 6.86 kB
examples/getstarted/build/index.html 592 B
examples/getstarted/build/InstalledPluginsPage-2CnJSLXh-3QD7tSZj.js 808 B
examples/getstarted/build/it-1VgFtCa5-J7zsssVp.js 53 B
examples/getstarted/build/it-bvH7DgQo-1AwxmJ3Y.js 1.49 kB
examples/getstarted/build/it-DZbHdndP-rZflbVRJ.js 3.38 kB
examples/getstarted/build/it-G91O8vsJ-DX1NUby4.js 1.48 kB
examples/getstarted/build/it-nCSZoaet-0SVrzIJn.js 746 B
examples/getstarted/build/it-rHB9s1La-0NXAUdUg.js 7.96 kB
examples/getstarted/build/ja-2RIm-gdA-nIra1cbN.js 693 B
examples/getstarted/build/ja-o_-JPvQv-inHXSRgZ.js 1.4 kB
examples/getstarted/build/ja-WD-v2aCc-0DdUUOL-.js 12 kB
examples/getstarted/build/ja-XQwSRd0U-qT8z9vkY.js 1.76 kB
examples/getstarted/build/ja-yh0nzpcN-T3CoLbGy.js 1.14 kB
examples/getstarted/build/Key-VuG-GLtW.js 253 B
examples/getstarted/build/ko-bqCJmLX_-nXBvpp8I.js 11.3 kB
examples/getstarted/build/ko-CHwWbicn-njDCEwti.js 4.08 kB
examples/getstarted/build/ko-dH9q_Ivi-SaGvSzEi.js 2.31 kB
examples/getstarted/build/ko-FS6iSiMF-dJRTYeQY.js 652 B
examples/getstarted/build/ko-INfO6xWE-BM-cOBFA.js 1.7 kB
examples/getstarted/build/ko-NdEnkB5D-cGRR8wfP.js 152 B
examples/getstarted/build/ko-pUwRxmfG-aWThbceX.js 1.17 kB
examples/getstarted/build/ko-XJbPSez_-84xWDr4V.js 2.07 kB
examples/getstarted/build/Layer-BUYSSs_w.js 305 B
examples/getstarted/build/Layout-A60o7Adp-RxI8xKAU.js 1.58 kB
examples/getstarted/build/Layout-Djfi5Vhp-FQrriOoa.js 21.4 kB
examples/getstarted/build/Layout-IeKqgrYv-I5KLpC93.js 665 B
examples/getstarted/build/ListConfigurationPage-5wwybSbp-nmpBI5cA.js 4.58 kB
examples/getstarted/build/ListPage-2ByI8ST4-alO0AkC1.js 1.98 kB
examples/getstarted/build/ListPage-7V5JPf3W-kLSca4q8.js 3.71 kB
examples/getstarted/build/ListPage-Ji-DvktP-cU92ZkQb.js 3 kB
examples/getstarted/build/ListPage-mDw4kHwh-OiiAdV3L.js 338 B
examples/getstarted/build/ListPage-pU0uL762-frdXbzHi.js 2.5 kB
examples/getstarted/build/ListPage-SPz8eNCz-8sXhxMAQ.js 2.09 kB
examples/getstarted/build/ListView-4ZQVPD2e-0OSVLgDI.js 1.37 kB
examples/getstarted/build/ListView-mSsacf3v-dfhWDe47.js 1.36 kB
examples/getstarted/build/ListView-yAM__NYS-QJdPKJMc.js 5.65 kB
examples/getstarted/build/ListViewPage-WYuIjo6a-1fy35BBj.js 6.75 kB
examples/getstarted/build/Lock-BUAxHI3F.js 281 B
examples/getstarted/build/Login-p4omc0kE-Y1oiLtb3.js 470 B
examples/getstarted/build/MagicLinkEE-tpG9Y3C3-rlEob_3U.js 422 B
examples/getstarted/build/MarketplacePage-ffvs4hxu-87T9uJuC.js 14.6 kB
examples/getstarted/build/ml-NdVWq6KA-u1su-Zip.js 15.6 kB
examples/getstarted/build/ModalForm-W9-dHdzq-jFZ74Yt9.js 255 B
examples/getstarted/build/ms-8e8SEhhY-E73gbyvG.js 714 B
examples/getstarted/build/ms-cJhKTqZ1-RtqozBHF.js 1.33 kB
examples/getstarted/build/ms-gansS54r-fw9K0Iuq.js 6.19 kB
examples/getstarted/build/ms-II5Ea73J-gubEhBMA.js 1.2 kB
examples/getstarted/build/ms-MiLXNCjS-5gRZye-c.js 3.24 kB
examples/getstarted/build/ms-msJ5VJP--YvMT15k-.js 53 B
examples/getstarted/build/nl--_EbnSVw-H2fixo3n.js 14.5 kB
examples/getstarted/build/nl-dn3A0wMn-bqDcN1J_.js 3.27 kB
examples/getstarted/build/nl-nqu0tpen-J7zsssVp.js 53 B
examples/getstarted/build/nl-RjdbZWuM-Deayapbr.js 598 B
examples/getstarted/build/nl-vEy6TN0K-be7tfgxk.js 1.25 kB
examples/getstarted/build/no-9cS1N6hE-M45shUaz.js 5.51 kB
examples/getstarted/build/NoContentTypePage-0gvPo1nm-s9OAs0ha.js 449 B
examples/getstarted/build/noop-r6Iiamsy.js 16.5 kB
examples/getstarted/build/NoPermissionsPage-BG3UkZ1p-BfK_FETJ.js 223 B
examples/getstarted/build/Ornaments-iHNwelMJ-t5X565Wb.js 1.5 kB
examples/getstarted/build/Permissions-R6GZ3EKX-iEPO52-U.js 9.1 kB
examples/getstarted/build/pl-2VowaFGt-ibb6xpXA.js 2.01 kB
examples/getstarted/build/pl-3EvXSIl8-Pwz2jYo1.js 13.1 kB
examples/getstarted/build/pl-5DTLh5PW-0Y8k-ElF.js 147 B
examples/getstarted/build/pl-hIkybdiE-KBgOzada.js 4.05 kB
examples/getstarted/build/pl-HMRqtUNg-qBXROEsA.js 1.7 kB
examples/getstarted/build/pl-OEzE99CQ-KaMlTtEc.js 576 B
examples/getstarted/build/pl-PGx8jRyO-NTdNMfc1.js 2.08 kB
examples/getstarted/build/pl-sh4sAKA8-uB4pwcJz.js 1.01 kB
examples/getstarted/build/pl-TWurBBP_-DjE0-zMU.js 149 B
examples/getstarted/build/Play-eabkjF8r.js 261 B
examples/getstarted/build/PlusCircle-ibR1sZZd.js 358 B
examples/getstarted/build/PrivateRoute-DwfmV8PE-3qRhODqe.js 249 B
examples/getstarted/build/ProfilePage-V6eRBaX7-VF1IDH1s.js 2.81 kB
examples/getstarted/build/pt-BR-8-G6vaMo-Q_A7rEY2.js 14 kB
examples/getstarted/build/pt-BR-kotPmwXm--ley41Tw.js 1.52 kB
examples/getstarted/build/pt-BR-LiYpRJVe-p7Yl8DjA.js 4.07 kB
examples/getstarted/build/pt-BR-NChlUBNo-J7zsssVp.js 53 B
examples/getstarted/build/pt-BR-sS1Xp3Jt-jxR0Fcqo.js 1.13 kB
examples/getstarted/build/pt-BR-uX3O_t0X-ZJbjE7ae.js 608 B
examples/getstarted/build/pt-GqKRRnNe-ZJbjE7ae.js 608 B
examples/getstarted/build/pt-h5YyM5q5-A2Z5oWUc.js 1.52 kB
examples/getstarted/build/pt-qlftKgX5-oQDNFTyt.js 597 B
examples/getstarted/build/pt-Rf9W51IO-j_n3oUw2.js 1.22 kB
examples/getstarted/build/pt-TrdDLCZ4-h__Xt7kV.js 5.71 kB
examples/getstarted/build/pt-VtuofvU--EakBvr5U.js 1.04 kB
examples/getstarted/build/PurchaseAuditLogs-zQio54Q3-MuWMa0Bn.js 524 B
examples/getstarted/build/PurchaseReviewWorkflows-zGnRRqrC-PQUoufOS.js 492 B
examples/getstarted/build/PurchaseSingleSignOn-BQ5PU-6E-D26d4wNY.js 515 B
examples/getstarted/build/refs-e9cPrj51-huqpMqnu.js 1.3 kB
examples/getstarted/build/Renderer-usBMp0vP-hL51tep4.js 1.45 kB
examples/getstarted/build/ReviewWorkflowsColumn-h65XdZMo-FhJ21Jto.js 399 B
examples/getstarted/build/ru-_BJx1_V5-cpy1qczH.js 240 B
examples/getstarted/build/ru-a8CJLIhd-Vahtc1hO.js 2.14 kB
examples/getstarted/build/ru-aD804UEo-8TSo8mRS.js 200 B
examples/getstarted/build/ru-dQr7xFOb-yN33KaiO.js 1.28 kB
examples/getstarted/build/ru-e-9QT8uo-J7zsssVp.js 53 B
examples/getstarted/build/ru-LLXYEOwl-maC6HF0B.js 610 B
examples/getstarted/build/ru-mivqkjAk-eIzxWMwb.js 20.7 kB
examples/getstarted/build/ru-qKHnd5or-thb_Fbcx.js 2.51 kB
examples/getstarted/build/ru-YHGnfUOQ-hkQl0E6s.js 1.83 kB
examples/getstarted/build/ru-YqhibZuD-iaednnF_.js 4.29 kB
examples/getstarted/build/sa-AbTtHezl-ZKxSPcDo.js 15.3 kB
examples/getstarted/build/selectors-bbIYnE-9-7dbV0CHd.js 110 B
examples/getstarted/build/SelectRoles-aqzTDjep-FdQWY7s_.js 1.01 kB
examples/getstarted/build/Settings-mwjuNpb--xN2TPqOl.js 1.7 kB
examples/getstarted/build/SingleSignOnPage-nKelUnxa-I_QErcNr.js 1.78 kB
examples/getstarted/build/sk-_Ryr-eTT-8Uj72yzG.js 1.28 kB
examples/getstarted/build/sk-CmFzcTCe-KHUfCq6U.js 3.59 kB
examples/getstarted/build/sk-IoQ_DY_j-NvNlOJJE.js 11.8 kB
examples/getstarted/build/sk-JYYgDOpb-1cMG9Knz.js 2.47 kB
examples/getstarted/build/sk-nreoyD6V-ggHs-0Lm.js 745 B
examples/getstarted/build/sk-ynr7Qeic-YvMT15k-.js 53 B
examples/getstarted/build/sortBy-ea0XJw7z.js 686 B
examples/getstarted/build/SSOProviders-GvoeZh35-twS9_rki.js 699 B
examples/getstarted/build/Star-CRO2yUh3.js 274 B
examples/getstarted/build/strapi-6nQlOAiO.css 1.24 kB
examples/getstarted/build/strapi-AhL-cHfg.js 796 kB
examples/getstarted/build/sv-3cUQOOsD-1iCRdl0z.js 4.09 kB
examples/getstarted/build/sv-BqzScFXS-pL3ydTXh.js 1.92 kB
examples/getstarted/build/sv-kIUD_46v-avkm-3K_.js 1.02 kB
examples/getstarted/build/sv-N5RufX6w-rWDZASZZ.js 148 B
examples/getstarted/build/sv-QqRPNQLw-cuaLfeFA.js 318 B
examples/getstarted/build/sv-SHJ67uau-mJVASv8w.js 14.2 kB
examples/getstarted/build/sv-YocrQXH3-Fok_vvxs.js 140 B
examples/getstarted/build/Table-JTERIQOa-E5ehckMf.js 1.3 kB
examples/getstarted/build/tail--brkrLSV.js 245 B
examples/getstarted/build/TFooter-3ouhs8ZF.js 455 B
examples/getstarted/build/th-8DzOZ1N_-FxAPZ0C9.js 1.82 kB
examples/getstarted/build/th-AXP1swr_-J7zsssVp.js 53 B
examples/getstarted/build/th-IcmZ0Yif-D0PagSr4.js 970 B
examples/getstarted/build/th-JcSZNDPL-1fSFXv5j.js 4.07 kB
examples/getstarted/build/th-TrS9p5eO-kvL5He5f.js 8.47 kB
examples/getstarted/build/th-WsknMEpq-lnzlXrl4.js 1.84 kB
examples/getstarted/build/TokenTypeSelect-BDgGHRN4-1YSEGWvo.js 123 kB
examples/getstarted/build/tr-_DB1F1GW-vDV9wXQt.js 1.95 kB
examples/getstarted/build/tr-662MrIbF-YXWMRKvx.js 3.71 kB
examples/getstarted/build/tr-BJx1RKAN-9B7IB-8r.js 2.24 kB
examples/getstarted/build/tr-CkXew0gQ-g4Y7oIKB.js 1.02 kB
examples/getstarted/build/tr-ddMDJOmn-ArVPthOz.js 604 B
examples/getstarted/build/tr-f8ouRTmt-YZPMOSBC.js 13.7 kB
examples/getstarted/build/tr-JhTcXfS6-NZ7hYgij.js 1.59 kB
examples/getstarted/build/tr-nkbjyt2S-qg5Qg3zO.js 135 B
examples/getstarted/build/tr-qYGSw8gH-5R6O9qSM.js 297 B
examples/getstarted/build/tr-ucOQiEOl.js 83 B
examples/getstarted/build/tr-UmSHgD8y-xxB3ji51.js 158 B
examples/getstarted/build/transferTokens-tmcBo3Az-jUD-9Wg_.js 441 B
examples/getstarted/build/Twitter-Tc7dC9ZH.js 435 B
examples/getstarted/build/Uid-cuef5am8.js 4.79 kB
examples/getstarted/build/uk-E8Js7gDb-yUi8a8Hj.js 950 B
examples/getstarted/build/uk-TAkZuqhF-8NqHl1Qp.js 1.76 kB
examples/getstarted/build/uk-VnKUi6CK-J7zsssVp.js 53 B
examples/getstarted/build/uk-wS6hV3Qo-nrIhdC46.js 4.05 kB
examples/getstarted/build/uk-x2flwIlG-YKRO0-PD.js 7.25 kB
examples/getstarted/build/uk-yxMSQAwI-sufYD23D.js 1.57 kB
examples/getstarted/build/useAdminRoles-V5kO_nND-3py-y_FQ.js 242 B
examples/getstarted/build/UseCasePage-uMS04_rx-ZVPBzsj8.js 1.27 kB
examples/getstarted/build/useContentTypes-Q8UUVWRZ-o97vbOc3.js 480 B
examples/getstarted/build/useDebounce-GrNR3exx-jXEek2sI.js 167 B
examples/getstarted/build/useDocumentation-OFGOKACW-XLtpZNKz.js 562 B
examples/getstarted/build/useLicenseLimitNotification-Ff8Y_8wd-YzCSDKdd.js 733 B
examples/getstarted/build/useOnce-BuAUYuau-R02lVUTa.js 102 B
examples/getstarted/build/useReviewWorkflows-Q3FfIoLU-O1UhS5Nm.js 233 B
examples/getstarted/build/useSyncRbac-cxHtn9qZ-Imeyi3zH.js 330 B
examples/getstarted/build/useWebhooks-PloSPRZN-hdsGUbTL.js 585 B
examples/getstarted/build/valid-y3sBBck4.js 2.82 kB
examples/getstarted/build/validateWorkflow-F0hXrcia-VQH1oNCv.js 5.37 kB
examples/getstarted/build/validation-f9rGWFeU-jJghP_rQ.js 300 B
examples/getstarted/build/vi-10CsgDK2-Urhr1M2j.js 130 B
examples/getstarted/build/vi-BbeHSbqs-stvoWAfg.js 5.87 kB
examples/getstarted/build/vi-k1R3Y3mS-e6dVFr5e.js 894 B
examples/getstarted/build/vi-rHzGZoeX-J7zsssVp.js 53 B
examples/getstarted/build/vi-xY0zCW3d-CTrLdcKo.js 1.4 kB
examples/getstarted/build/Write-kq1qsMGs.js 1.16 kB
examples/getstarted/build/zh-cn8Lojpg-OpDJ-MUi.js 1.56 kB
examples/getstarted/build/zh-cZop7tV1-ZuvoHuo5.js 14.5 kB
examples/getstarted/build/zh-fPTOIT6s-3nXFkBcm.js 331 B
examples/getstarted/build/zh-Hans-7RFZCPSX-iTSSvdn7.js 3.22 kB
examples/getstarted/build/zh-Hans-ClgXy4wM-zIEwBvmr.js 140 B
examples/getstarted/build/zh-Hans-E84cu4kP-esCS3h8E.js 1.99 kB
examples/getstarted/build/zh-Hans-eY3IWdFB-JPkTWv7k.js 16.3 kB
examples/getstarted/build/zh-Hans-FdUTcggu-Z4E8vffy.js 875 B
examples/getstarted/build/zh-Hans-gue_fPye-gDZbyPra.js 2.88 kB
examples/getstarted/build/zh-Hans-lDXyQOHm-eI_vuZte.js 1.46 kB
examples/getstarted/build/zh-Hans-yp2AYznJ-1nykAmIu.js 389 B
examples/getstarted/build/zh-KvwXXMnA-oPfnHQD3.js 154 B
examples/getstarted/build/zh-LVlFs0Ol-cMwuYEn5.js 637 B
examples/getstarted/build/zh-nyfS9-tF-nLF4rje-.js 2.43 kB
examples/getstarted/build/zh-OFeldzbX-KUd3x9W0.js 1.91 kB
examples/getstarted/build/zh-t8kOIWsP-y_lzxhpN.js 4.2 kB
examples/getstarted/build/zh-Vd3mfBR--f6qScRof.js 1.07 kB
examples/getstarted/build/zh-WWNi5hqs-mHAwOl5D.js 144 B

compressed-size-action

@joshuaellis joshuaellis force-pushed the draft-and-publish/discard-drafts branch from 8b5f87f to 3518909 Compare February 15, 2024 10:11
@joshuaellis joshuaellis force-pushed the draft-and-publish/discard-drafts branch from 3518909 to e726ff7 Compare February 15, 2024 10:19
discardDocument: builder.mutation<
Contracts.CollectionTypes.Discard.Response,
Pick<Contracts.CollectionTypes.Discard.Params, 'model'> & {
collectionType: string;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add collectionType to the CM contract and make id optional there?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, i think the contracts are reflective of the API routes, meanwhile here i use one set of APIs for single & collection types

@jhoward1994 jhoward1994 self-requested a review February 15, 2024 10:39
Copy link
Contributor

@markkaylor markkaylor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, so cool to see it all coming alive! I tested locally and it works but I have some comments / questions about the ux.

  • I create an entry save draft then publish, when I change tab from publish to draft, I still have the published badge, I make changes and save, now I have the modified badge. When I discard changes I still have the modified badge. Something about that feels inconsistent. If the draft matches the published version do we want the badge to say published? Or do we want it to say draft until it's modified?
  • I think it's probably a learned behavior but after publishing I didn't realize the tab switched 🙃
  • If I already discarded my changes, and now I select unpublish should I have the confirmation options. Won’t either option be the same thing in that case? A discard seems to always revert to the published version.
  • A document has multiple entries across dimensions right? For example the same document can have an english entry and a french entry but they belong to the same document. When I see this delete document button I'm wondering is it going to delete just this entry or all entries across dimensions (in this example both english and french entries).
Screenshot 2024-02-15 at 11 17 44
  • Missing gap between the trigger and the popover, I guess this is coming from the DS I see it in the header (...) dropdown as well
Screenshot 2024-02-15 at 11 16 42

@jhoward1994 jhoward1994 self-requested a review February 15, 2024 11:13
@jhoward1994
Copy link
Contributor

Nice, it works well. A couple of thoughts I had while using it

  1. I think discard changes should be hidden rather than disabled when it is not possible
  2. Will any action be possible from the published edit view tab? It feels like we should be able to unpublish from that tab
  3. From a UX perspective it felt to me like I should be able to "discard changes" once I had modified the content but not saved the form (e.g. it would just kinda reset the form). Maybe hiding the button like in point 1 would help with that confusion

@joshuaellis
Copy link
Member Author

@markkaylor

I create an entry save draft then publish, when I change tab from publish to draft, I still have the published badge, I make changes and save, now I have the modified badge. When I discard changes I still have the modified badge. Something about that feels inconsistent. If the draft matches the published version do we want the badge to say published? Or do we want it to say draft until it's modified?

I have a bug report for this already 👍🏼

I think it's probably a learned behavior but after publishing I didn't realize the tab switched

Good feedback for @lucasboilly

If I already discarded my changes, and now I select unpublish should I have the confirmation options. Won’t either option be the same thing in that case? A discard seems to always revert to the published version.

This is because of the issue you pointed out with it always saying "modified", the status drives this behaviour :)

A document has multiple entries across dimensions right? For example the same document can have an english entry and a french entry but they belong to the same document. When I see this delete document button I'm wondering is it going to delete just this entry or all entries across dimensions (in this example both english and french entries).

We have tickets for i18n to address this, I will probably use i18n to overwrite the action or something 🤔

@joshuaellis
Copy link
Member Author

Nice, it works well. A couple of thoughts I had while using it

  1. I think discard changes should be hidden rather than disabled when it is not possible
  2. Will any action be possible from the published edit view tab? It feels like we should be able to unpublish from that tab
  3. From a UX perspective it felt to me like I should be able to "discard changes" once I had modified the content but not saved the form (e.g. it would just kinda reset the form). Maybe hiding the button like in point 1 would help with that confusion

I'd relay these to @lucasboilly, i don't think it's for us to decide, but afaik disabling options is preferable to hiding them for screen readers so they understand whats there and whats not yet what can be in theory done...

@joshuaellis
Copy link
Member Author

Thanks for the feedback folks, think the code is good for review again 🤓

Copy link
Contributor

@markkaylor markkaylor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏

@joshuaellis joshuaellis merged commit 88a9896 into v5/draft-and-publish Feb 15, 2024
100 checks passed
@joshuaellis joshuaellis deleted the draft-and-publish/discard-drafts branch February 15, 2024 13:35
@lucasboilly
Copy link
Contributor

lucasboilly commented Feb 15, 2024

Hey @markkaylor :)

when I change tab from publish to draft, I still have the published badge

This is normal, you can see it in this prototype.

When I discard changes I still have the modified badge.

But this is indeed a bug, it should behave like this.

I think it's probably a learned behavior but after publishing I didn't realize the tab switched

To me the tab is not supposed to switch after publishing (you can see it in the first prototype link), I remember there was back and forth about this decision, do you have the link of the Jira task where it's written?

Will any action be possible from the published edit view tab? It feels like we should be able to unpublish from that tab

Yes, because the sidebar is persistent whatever tab you are in (there was also a lot of back and forth on this, but in the end we chose to keep it persistent).

I think discard changes should be hidden rather than disabled when it is not possible

I rather having them disabled.

I should be able to "discard changes" once I had modified the content but not saved the form

You get the point, "discard changes" is only when the entry is modified. By the way, when we'll have Content History users will have a second way to perform this action, but for both modified and saved entries by restoring them.

Thanks @joshuaellis for the relay 🏃‍♂️

joshuaellis added a commit that referenced this pull request Feb 22, 2024
* feat: return metadata on content manager endpoints (#19361)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* feat: fix cm metadata api tests (#19375)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* fix: admin test

* chore(cm): refactor CM (#19341)

* chore(cm): refactor EditView

comes with a host of new re-usable APIs!

* feat(cm): add useDocument hook

* feat(cm): add useDocumentOperations hook

* feat(cm): initialise EditView header

* feat(cm): add useDocumentLayout hook

* fix: listView from layout refactor

* chore(cm): refactor editview form input renderer

* chore: fix lint & ts

* fix: re-add custom fields

* test: fix admin/CM unit tests

* docs(cm): add docs at a high level of how the CM works

* test: add useDocumentRBAC tests

* chore: pr amends

* feat: add addEditViewSidePanel API to strapi (#19398)

* feat: add addEditViewSidePanel API to strapi

fix: don't pass all the query params to the create route

* chore: pr amends

* fix: return available status when content type doesnt have i18n enabled (#19419)

* fix: return available status when content type doesnt have i18n enabled

* chore: remove comment

* fix(cm): list view & build process

* feat: save and publish

* feat: update contract

* feat: dp tests

* chore: use document from create and update

* feat: save and publish single types

* feat: return metadata on content manager endpoints (#19361)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* feat: fix cm metadata api tests (#19375)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* fix: admin test

* chore(cm): refactor CM (#19341)

* chore(cm): refactor EditView

comes with a host of new re-usable APIs!

* feat(cm): add useDocument hook

* feat(cm): add useDocumentOperations hook

* feat(cm): initialise EditView header

* feat(cm): add useDocumentLayout hook

* fix: listView from layout refactor

* chore(cm): refactor editview form input renderer

* chore: fix lint & ts

* fix: re-add custom fields

* test: fix admin/CM unit tests

* docs(cm): add docs at a high level of how the CM works

* test: add useDocumentRBAC tests

* chore: pr amends

* feat: add addEditViewSidePanel API to strapi (#19398)

* feat: add addEditViewSidePanel API to strapi

fix: don't pass all the query params to the create route

* chore: pr amends

* fix: return available status when content type doesnt have i18n enabled (#19419)

* fix: return available status when content type doesnt have i18n enabled

* chore: remove comment

* fix(cm): list view & build process

* feat: add publish & update action (#19423)

* feat: return metadata on content manager endpoints (#19361)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* feat: fix cm metadata api tests (#19375)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* fix: admin test

* chore(cm): refactor CM (#19341)

* chore(cm): refactor EditView

comes with a host of new re-usable APIs!

* feat(cm): add useDocument hook

* feat(cm): add useDocumentOperations hook

* feat(cm): initialise EditView header

* feat(cm): add useDocumentLayout hook

* fix: listView from layout refactor

* chore(cm): refactor editview form input renderer

* chore: fix lint & ts

* fix: re-add custom fields

* test: fix admin/CM unit tests

* docs(cm): add docs at a high level of how the CM works

* test: add useDocumentRBAC tests

* chore: pr amends

* feat: add addEditViewSidePanel API to strapi (#19398)

* feat: add addEditViewSidePanel API to strapi

fix: don't pass all the query params to the create route

* chore: pr amends

* fix: return available status when content type doesnt have i18n enabled (#19419)

* fix: return available status when content type doesnt have i18n enabled

* chore: remove comment

* feat: add publish & update action

* feat: add published disabled state

* test: fix suite

* test: add unit for Panels

* fix(cm): status not state for redirect

* fix(cm): list view status & component main field property

* chore: pr feedback

* chore: apply suggestions

Co-authored-by: markkaylor <mark.kaylor@strapi.io>

---------

Co-authored-by: Marc Roig <marc12info@gmail.com>
Co-authored-by: markkaylor <mark.kaylor@strapi.io>

* feat: test single types

* feat: wrap single type publish into a transaction

* feat(cm): add unpublish & delete actions, also re-enable single-types (#19459)

* fix: delete url was wrong way round

* feat: compute modified status

* fix(cm): reimplement ListSettingsView (#19432)

* chore: PR feedback

* feat: discard endpoint

* feat: discard draft api tests

* feat: unpublish and discard

* chore: pr comments

* chore: update sanitizer

* feat(cm): add publish and save (#19500)

* feat(cm): add publish and save

* test(cm): fix unit for useDocumentActions

* Update packages/core/content-manager/server/src/controllers/collection-types.ts

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* Update packages/core/content-manager/shared/contracts/single-types-v5.ts

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* feat(document-service): map document ID to entry ID (#19248)

* feat: use document service in content manager

* feat: update contracts with meta information

* chore: group metadata types into a single type

* feat: metadata information in single types

* chore: change meta contract to return documents instead of strings

* fix: remove unused type

* fix: ignore doc id if entry is null

* fix: update contract metadata

* feat: document metadata service

* feat: locale and status filtering

* chore: add comment

* chore: refactor metadata service

* chore: refactor entity manager exists to handle single types

* feat: refactor single type controllers to use documents

* feat: get locale param from in cm endpoints

* Revert "feat: get locale param from in cm endpoints"

This reverts commit 856c385.

* feat: get locale param from cm endpoints

* Update packages/plugins/i18n/server/src/controllers/validate-locale-creation.ts

Co-authored-by: Ben Irvin <ben@innerdvations.com>

* fix: entity manager unit tests

* chore: unit test document metadata

* feat: prevent empty string locale filtering

* fix: cm contract import

* chore: test new d&p cm features

* fix: search content manager api test

* fix: cm tests

* fix: cm tests

* fix: cm tests

* fix(content-manager): access to non default locale documents (#19190)

* fix(content-manager): access to non default locale documents

* chore(content-manager): revert route construction

* fix(content-manager): api tests for number of draft relations

* test(content-manager): counting number of draft relations for non default locales

* chore(content-manager): remove default locale from entity manager countDraftRelations

* chore: basic relations testing for document service

* chore(e2e): disable edit view tests (#19235)

* feat: get relation ids

* chore: clean functions into other folders

* chore: rename files

* fix: group document ids by its uid

* feat: id mapper

* chore: improve typings

* chore: rename transform functions

* fix: id-transform tests

* chore: simplify function return value

* chore: improve comments

* fix: api tests

* fix: single types unit test

* fix: skip relations test

* fix: exclude fields

* fix: short hand ifs

* fix: merge conflict

* fix: transform output of find one

* Update packages/core/core/src/services/document-service/transform/utils.ts

Co-authored-by: Ben Irvin <ben.irvin@strapi.io>

* feat[Document Service]: Param transformation (#19373)

* fix(core): wip param transformation

* feat(core): wip param transformation based on relational status

* feat(core): wip populate and filter transformation based on relational status

* chore(core): simplify fields and sort

* chore(core): clean up

* feat(core): wip filter transformation with traverseQueryFilters

* feat(core): reorganise and PR feedback

* fix(core): filters traversal logic

* feat(core): populate relational transformations

* chore(core): reintroduce populate transformation

* fix(core): enforce that fields must include id

* fix(core): enforce that fields must include id

* fix(core): filter and sort transformation

* chore(core): typos

* chore(core): further filters test cases

* feat(core): support object based sorts

* chore(core): fields test naming

* feat(core): handle logical operators in filters

* fix: skip conditions test

* fix(core): switchIdForDocumentId (#19497)

* fix: uniqueness test

* fix: available status should be an array

* fix: available statuses

* fix: skip uniqueness folder

* fix: skip uniqueness test errors

* fix: skip failing test

---------

Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>

* chore: re-implement edit configuration (#19488)

* chore: re-implement edit configuration

* chore: cleanups

* test: fix unit tests

* feat(cm): add discard changes action (#19509)

* feat(cm): add discard changes action

* feat(cm): add discard when unpublishing

* test(e2e): fix editview e2e

* test(e2e): fix uniqueness partially

* test(unit): fix unit tests for actions & add for discard

* chore: bump playwright

* fix(webkit): add shim for requestIdCallback

* chore: pr amends

* feat: return status on available locales

* feat: add document-actions to list-view (#19523)

* fix(cm): add gap and alignment for edit-view heading with super long names

* fix(cm): list view status'

* feat: add list-view actions

* fix: conditions for actions to be enabled

* fix: stay on draft tab when published

* fix: stop propogation on list-view row click

* test(e2e): fix editview tests

* chore: update spelling error

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

---------

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* feat: test document metadata

* chore: remove unnecessary unit test

* fix: return modified on published documents

* chore: init split single-type collection-type in document service

* Fix/fields test case (#19481)

* Update packages/core/content-manager/server/src/services/document-metadata.ts

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* fix: pretty

* chore: refactor middlewares

* feat: send empty object if locale does not exist on document

* feat: single types

* chore: add tests to middlewares

* feat: update locale using query params (#19546)

* feat: return available locales when not finding locale

* chore: update typings

* feat: add clone action (#19526)

* feat: add clone action

* test(e2e): add auto clone tests

* chore: pr amends

* feat: add information to header actions menu (#19548)

* feat: add information to header actions menu

* fix: dont use non-null-assertion

* feat: manage relations on publish (#19427)


---------

Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>

* feat: v5 i18n relations (#19504)


Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>

* fix: locale test api

* chore: refactor i18n (#19555)

* chore: remove types package, should be using strapi

* chore: refactor i18n settings page

* feat: add i18n to CM

* feat(i18n): add delete locale action (#19562)

* chore: pr amends

Co-authored-by: Simone <startae14@gmail.com>

---------

Co-authored-by: Simone <startae14@gmail.com>

* feat(cm): re-implement validation (#19578)

* feat: re-implement validation in the CM

feat: add blocker

feat: handle validation errors from the API

chore: reimplement useFieldHint

test(unit): fix fe tests

chore: fix bad logical operator

* chore: await notifications to leave before trying to go to other pages

* fix: validation issues & blocker showing up incorrectly

* fix: broken publish behaviour

* fix(content-manager): uid availability and generation (#19518)

* fix(content-manager): uid availability and generation

* fix(content-manager): pass locale as is from UID service

* fix(content-manager): match UIDs based on startsWith

---------

Co-authored-by: Marc Roig <marc12info@gmail.com>
Co-authored-by: markkaylor <mark.kaylor@strapi.io>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
Co-authored-by: Alexandre BODIN <alexandrebodin@users.noreply.github.com>
Co-authored-by: Simone <startae14@gmail.com>
joshuaellis added a commit that referenced this pull request Feb 28, 2024
* feat: return metadata on content manager endpoints (#19361)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* feat: fix cm metadata api tests (#19375)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* fix: admin test

* chore(cm): refactor CM (#19341)

* chore(cm): refactor EditView

comes with a host of new re-usable APIs!

* feat(cm): add useDocument hook

* feat(cm): add useDocumentOperations hook

* feat(cm): initialise EditView header

* feat(cm): add useDocumentLayout hook

* fix: listView from layout refactor

* chore(cm): refactor editview form input renderer

* chore: fix lint & ts

* fix: re-add custom fields

* test: fix admin/CM unit tests

* docs(cm): add docs at a high level of how the CM works

* test: add useDocumentRBAC tests

* chore: pr amends

* feat: add addEditViewSidePanel API to strapi (#19398)

* feat: add addEditViewSidePanel API to strapi

fix: don't pass all the query params to the create route

* chore: pr amends

* fix: return available status when content type doesnt have i18n enabled (#19419)

* fix: return available status when content type doesnt have i18n enabled

* chore: remove comment

* fix(cm): list view & build process

* feat: save and publish

* feat: update contract

* feat: dp tests

* chore: use document from create and update

* feat: save and publish single types

* feat: return metadata on content manager endpoints (#19361)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* feat: fix cm metadata api tests (#19375)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* fix: admin test

* chore(cm): refactor CM (#19341)

* chore(cm): refactor EditView

comes with a host of new re-usable APIs!

* feat(cm): add useDocument hook

* feat(cm): add useDocumentOperations hook

* feat(cm): initialise EditView header

* feat(cm): add useDocumentLayout hook

* fix: listView from layout refactor

* chore(cm): refactor editview form input renderer

* chore: fix lint & ts

* fix: re-add custom fields

* test: fix admin/CM unit tests

* docs(cm): add docs at a high level of how the CM works

* test: add useDocumentRBAC tests

* chore: pr amends

* feat: add addEditViewSidePanel API to strapi (#19398)

* feat: add addEditViewSidePanel API to strapi

fix: don't pass all the query params to the create route

* chore: pr amends

* fix: return available status when content type doesnt have i18n enabled (#19419)

* fix: return available status when content type doesnt have i18n enabled

* chore: remove comment

* fix(cm): list view & build process

* feat: add publish & update action (#19423)

* feat: return metadata on content manager endpoints (#19361)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* feat: fix cm metadata api tests (#19375)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* fix: admin test

* chore(cm): refactor CM (#19341)

* chore(cm): refactor EditView

comes with a host of new re-usable APIs!

* feat(cm): add useDocument hook

* feat(cm): add useDocumentOperations hook

* feat(cm): initialise EditView header

* feat(cm): add useDocumentLayout hook

* fix: listView from layout refactor

* chore(cm): refactor editview form input renderer

* chore: fix lint & ts

* fix: re-add custom fields

* test: fix admin/CM unit tests

* docs(cm): add docs at a high level of how the CM works

* test: add useDocumentRBAC tests

* chore: pr amends

* feat: add addEditViewSidePanel API to strapi (#19398)

* feat: add addEditViewSidePanel API to strapi

fix: don't pass all the query params to the create route

* chore: pr amends

* fix: return available status when content type doesnt have i18n enabled (#19419)

* fix: return available status when content type doesnt have i18n enabled

* chore: remove comment

* feat: add publish & update action

* feat: add published disabled state

* test: fix suite

* test: add unit for Panels

* fix(cm): status not state for redirect

* fix(cm): list view status & component main field property

* chore: pr feedback

* chore: apply suggestions

Co-authored-by: markkaylor <mark.kaylor@strapi.io>

---------

Co-authored-by: Marc Roig <marc12info@gmail.com>
Co-authored-by: markkaylor <mark.kaylor@strapi.io>

* feat: test single types

* feat: wrap single type publish into a transaction

* feat(cm): add unpublish & delete actions, also re-enable single-types (#19459)

* fix: delete url was wrong way round

* feat: compute modified status

* fix(cm): reimplement ListSettingsView (#19432)

* chore: PR feedback

* feat: discard endpoint

* feat: discard draft api tests

* feat: unpublish and discard

* chore: pr comments

* chore: update sanitizer

* feat(cm): add publish and save (#19500)

* feat(cm): add publish and save

* test(cm): fix unit for useDocumentActions

* Update packages/core/content-manager/server/src/controllers/collection-types.ts

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* Update packages/core/content-manager/shared/contracts/single-types-v5.ts

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* feat(document-service): map document ID to entry ID (#19248)

* feat: use document service in content manager

* feat: update contracts with meta information

* chore: group metadata types into a single type

* feat: metadata information in single types

* chore: change meta contract to return documents instead of strings

* fix: remove unused type

* fix: ignore doc id if entry is null

* fix: update contract metadata

* feat: document metadata service

* feat: locale and status filtering

* chore: add comment

* chore: refactor metadata service

* chore: refactor entity manager exists to handle single types

* feat: refactor single type controllers to use documents

* feat: get locale param from in cm endpoints

* Revert "feat: get locale param from in cm endpoints"

This reverts commit 856c385.

* feat: get locale param from cm endpoints

* Update packages/plugins/i18n/server/src/controllers/validate-locale-creation.ts

Co-authored-by: Ben Irvin <ben@innerdvations.com>

* fix: entity manager unit tests

* chore: unit test document metadata

* feat: prevent empty string locale filtering

* fix: cm contract import

* chore: test new d&p cm features

* fix: search content manager api test

* fix: cm tests

* fix: cm tests

* fix: cm tests

* fix(content-manager): access to non default locale documents (#19190)

* fix(content-manager): access to non default locale documents

* chore(content-manager): revert route construction

* fix(content-manager): api tests for number of draft relations

* test(content-manager): counting number of draft relations for non default locales

* chore(content-manager): remove default locale from entity manager countDraftRelations

* chore: basic relations testing for document service

* chore(e2e): disable edit view tests (#19235)

* feat: get relation ids

* chore: clean functions into other folders

* chore: rename files

* fix: group document ids by its uid

* feat: id mapper

* chore: improve typings

* chore: rename transform functions

* fix: id-transform tests

* chore: simplify function return value

* chore: improve comments

* fix: api tests

* fix: single types unit test

* fix: skip relations test

* fix: exclude fields

* fix: short hand ifs

* fix: merge conflict

* fix: transform output of find one

* Update packages/core/core/src/services/document-service/transform/utils.ts

Co-authored-by: Ben Irvin <ben.irvin@strapi.io>

* feat[Document Service]: Param transformation (#19373)

* fix(core): wip param transformation

* feat(core): wip param transformation based on relational status

* feat(core): wip populate and filter transformation based on relational status

* chore(core): simplify fields and sort

* chore(core): clean up

* feat(core): wip filter transformation with traverseQueryFilters

* feat(core): reorganise and PR feedback

* fix(core): filters traversal logic

* feat(core): populate relational transformations

* chore(core): reintroduce populate transformation

* fix(core): enforce that fields must include id

* fix(core): enforce that fields must include id

* fix(core): filter and sort transformation

* chore(core): typos

* chore(core): further filters test cases

* feat(core): support object based sorts

* chore(core): fields test naming

* feat(core): handle logical operators in filters

* fix: skip conditions test

* fix(core): switchIdForDocumentId (#19497)

* fix: uniqueness test

* fix: available status should be an array

* fix: available statuses

* fix: skip uniqueness folder

* fix: skip uniqueness test errors

* fix: skip failing test

---------

Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>

* chore: re-implement edit configuration (#19488)

* chore: re-implement edit configuration

* chore: cleanups

* test: fix unit tests

* feat(cm): add discard changes action (#19509)

* feat(cm): add discard changes action

* feat(cm): add discard when unpublishing

* test(e2e): fix editview e2e

* test(e2e): fix uniqueness partially

* test(unit): fix unit tests for actions & add for discard

* chore: bump playwright

* fix(webkit): add shim for requestIdCallback

* chore: pr amends

* feat: return status on available locales

* feat: add document-actions to list-view (#19523)

* fix(cm): add gap and alignment for edit-view heading with super long names

* fix(cm): list view status'

* feat: add list-view actions

* fix: conditions for actions to be enabled

* fix: stay on draft tab when published

* fix: stop propogation on list-view row click

* test(e2e): fix editview tests

* chore: update spelling error

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

---------

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* feat: test document metadata

* chore: remove unnecessary unit test

* fix: return modified on published documents

* chore: init split single-type collection-type in document service

* Fix/fields test case (#19481)

* Update packages/core/content-manager/server/src/services/document-metadata.ts

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* fix: pretty

* chore: refactor middlewares

* feat: send empty object if locale does not exist on document

* feat: single types

* chore: add tests to middlewares

* feat: update locale using query params (#19546)

* feat: return available locales when not finding locale

* chore: update typings

* feat: add clone action (#19526)

* feat: add clone action

* test(e2e): add auto clone tests

* chore: pr amends

* feat: add information to header actions menu (#19548)

* feat: add information to header actions menu

* fix: dont use non-null-assertion

* feat: manage relations on publish (#19427)


---------

Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>

* feat: v5 i18n relations (#19504)


Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>

* fix: locale test api

* feat: undo document id to id switch

* feat: make documentId preceed id when connecting relations

* fix: return documentId in clone method

* fix: document service api tests

* chore: start content-api v5 migration

* chore: implement entire content-api without d&p endpoints

* chore: refactor i18n (#19555)

* chore: remove types package, should be using strapi

* chore: refactor i18n settings page

* feat: add i18n to CM

* feat(i18n): add delete locale action (#19562)

* chore: pr amends

Co-authored-by: Simone <startae14@gmail.com>

---------

Co-authored-by: Simone <startae14@gmail.com>

* chore: add withCount & loosen the typings for now

* fix: adapt content manager to use new doc service api (#19584)

* fix: adapt content manager to use new doc service api

* fix: fix cm setting ids

* chore: pr suggestions

* chore: remove console.log

* chore: fix unit tests

* enhancement: use defaultLocale on delete/publish/unpublish/discardDra… (#19583)

* enhancement: use defaultLocale on delete/publish/unpublish/discardDraft by default, add * for all

* fix: delete all locales if locale is undefined when deleting

---------

Co-authored-by: Marc-Roig <marc12info@gmail.com>

* feat(cm): re-implement validation (#19578)

* feat: re-implement validation in the CM

feat: add blocker

feat: handle validation errors from the API

chore: reimplement useFieldHint

test(unit): fix fe tests

chore: fix bad logical operator

* chore: await notifications to leave before trying to go to other pages

* fix: validation issues & blocker showing up incorrectly

* fix: broken publish behaviour

* fix(content-manager): uid availability and generation (#19518)

* fix(content-manager): uid availability and generation

* fix(content-manager): pass locale as is from UID service

* fix(content-manager): match UIDs based on startsWith

* fix: ts error

* feat: default document service factory (#19592)

* feat: default ds factory
* fix: use uid and not content type in repository

* Merge branch 'v5/main' into v5/id-to-documentId

* fix: udpate document id references in content manager

* chore: use root document service on content manager endpoints

* feat: move single type logic into core api

* fix: unit tests

* fix: content-api tests

* fix: remove doc service repository from documents

* fix: upload file tests

* fix: api tests

* fix: remove id mapping on content manager

* fix: send documentId and nod id on collection types

* chore(content-manager): use documentId over id (#19618)

* chore: use doucmentId over id

* docs: update contributor documentation

* test: update snapshots & msw return values

* chore: fix ts

* chore: make bulk actions documentIds argument the same time for consistency

Co-Authored-By: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

---------

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* fix: cm api tests

* fix: remove type

* fix: remove unused param

---------

Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
remidej added a commit that referenced this pull request Feb 28, 2024
* fix: prevent infinite loop opening pool connections in mysql

* test(database): init unit tests for createMetadata

* feat(cm): D&P pt2 (#19380)

* feat: return metadata on content manager endpoints (#19361)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* feat: fix cm metadata api tests (#19375)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* fix: admin test

* chore(cm): refactor CM (#19341)

* chore(cm): refactor EditView

comes with a host of new re-usable APIs!

* feat(cm): add useDocument hook

* feat(cm): add useDocumentOperations hook

* feat(cm): initialise EditView header

* feat(cm): add useDocumentLayout hook

* fix: listView from layout refactor

* chore(cm): refactor editview form input renderer

* chore: fix lint & ts

* fix: re-add custom fields

* test: fix admin/CM unit tests

* docs(cm): add docs at a high level of how the CM works

* test: add useDocumentRBAC tests

* chore: pr amends

* feat: add addEditViewSidePanel API to strapi (#19398)

* feat: add addEditViewSidePanel API to strapi

fix: don't pass all the query params to the create route

* chore: pr amends

* fix: return available status when content type doesnt have i18n enabled (#19419)

* fix: return available status when content type doesnt have i18n enabled

* chore: remove comment

* fix(cm): list view & build process

* feat: save and publish

* feat: update contract

* feat: dp tests

* chore: use document from create and update

* feat: save and publish single types

* feat: return metadata on content manager endpoints (#19361)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* feat: fix cm metadata api tests (#19375)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* fix: admin test

* chore(cm): refactor CM (#19341)

* chore(cm): refactor EditView

comes with a host of new re-usable APIs!

* feat(cm): add useDocument hook

* feat(cm): add useDocumentOperations hook

* feat(cm): initialise EditView header

* feat(cm): add useDocumentLayout hook

* fix: listView from layout refactor

* chore(cm): refactor editview form input renderer

* chore: fix lint & ts

* fix: re-add custom fields

* test: fix admin/CM unit tests

* docs(cm): add docs at a high level of how the CM works

* test: add useDocumentRBAC tests

* chore: pr amends

* feat: add addEditViewSidePanel API to strapi (#19398)

* feat: add addEditViewSidePanel API to strapi

fix: don't pass all the query params to the create route

* chore: pr amends

* fix: return available status when content type doesnt have i18n enabled (#19419)

* fix: return available status when content type doesnt have i18n enabled

* chore: remove comment

* fix(cm): list view & build process

* feat: add publish & update action (#19423)

* feat: return metadata on content manager endpoints (#19361)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* feat: fix cm metadata api tests (#19375)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* fix: admin test

* chore(cm): refactor CM (#19341)

* chore(cm): refactor EditView

comes with a host of new re-usable APIs!

* feat(cm): add useDocument hook

* feat(cm): add useDocumentOperations hook

* feat(cm): initialise EditView header

* feat(cm): add useDocumentLayout hook

* fix: listView from layout refactor

* chore(cm): refactor editview form input renderer

* chore: fix lint & ts

* fix: re-add custom fields

* test: fix admin/CM unit tests

* docs(cm): add docs at a high level of how the CM works

* test: add useDocumentRBAC tests

* chore: pr amends

* feat: add addEditViewSidePanel API to strapi (#19398)

* feat: add addEditViewSidePanel API to strapi

fix: don't pass all the query params to the create route

* chore: pr amends

* fix: return available status when content type doesnt have i18n enabled (#19419)

* fix: return available status when content type doesnt have i18n enabled

* chore: remove comment

* feat: add publish & update action

* feat: add published disabled state

* test: fix suite

* test: add unit for Panels

* fix(cm): status not state for redirect

* fix(cm): list view status & component main field property

* chore: pr feedback

* chore: apply suggestions

Co-authored-by: markkaylor <mark.kaylor@strapi.io>

---------

Co-authored-by: Marc Roig <marc12info@gmail.com>
Co-authored-by: markkaylor <mark.kaylor@strapi.io>

* feat: test single types

* feat: wrap single type publish into a transaction

* feat(cm): add unpublish & delete actions, also re-enable single-types (#19459)

* fix: delete url was wrong way round

* feat: compute modified status

* fix(cm): reimplement ListSettingsView (#19432)

* chore: PR feedback

* feat: discard endpoint

* feat: discard draft api tests

* feat: unpublish and discard

* chore: pr comments

* chore: update sanitizer

* feat(cm): add publish and save (#19500)

* feat(cm): add publish and save

* test(cm): fix unit for useDocumentActions

* Update packages/core/content-manager/server/src/controllers/collection-types.ts

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* Update packages/core/content-manager/shared/contracts/single-types-v5.ts

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* feat(document-service): map document ID to entry ID (#19248)

* feat: use document service in content manager

* feat: update contracts with meta information

* chore: group metadata types into a single type

* feat: metadata information in single types

* chore: change meta contract to return documents instead of strings

* fix: remove unused type

* fix: ignore doc id if entry is null

* fix: update contract metadata

* feat: document metadata service

* feat: locale and status filtering

* chore: add comment

* chore: refactor metadata service

* chore: refactor entity manager exists to handle single types

* feat: refactor single type controllers to use documents

* feat: get locale param from in cm endpoints

* Revert "feat: get locale param from in cm endpoints"

This reverts commit 856c385.

* feat: get locale param from cm endpoints

* Update packages/plugins/i18n/server/src/controllers/validate-locale-creation.ts

Co-authored-by: Ben Irvin <ben@innerdvations.com>

* fix: entity manager unit tests

* chore: unit test document metadata

* feat: prevent empty string locale filtering

* fix: cm contract import

* chore: test new d&p cm features

* fix: search content manager api test

* fix: cm tests

* fix: cm tests

* fix: cm tests

* fix(content-manager): access to non default locale documents (#19190)

* fix(content-manager): access to non default locale documents

* chore(content-manager): revert route construction

* fix(content-manager): api tests for number of draft relations

* test(content-manager): counting number of draft relations for non default locales

* chore(content-manager): remove default locale from entity manager countDraftRelations

* chore: basic relations testing for document service

* chore(e2e): disable edit view tests (#19235)

* feat: get relation ids

* chore: clean functions into other folders

* chore: rename files

* fix: group document ids by its uid

* feat: id mapper

* chore: improve typings

* chore: rename transform functions

* fix: id-transform tests

* chore: simplify function return value

* chore: improve comments

* fix: api tests

* fix: single types unit test

* fix: skip relations test

* fix: exclude fields

* fix: short hand ifs

* fix: merge conflict

* fix: transform output of find one

* Update packages/core/core/src/services/document-service/transform/utils.ts

Co-authored-by: Ben Irvin <ben.irvin@strapi.io>

* feat[Document Service]: Param transformation (#19373)

* fix(core): wip param transformation

* feat(core): wip param transformation based on relational status

* feat(core): wip populate and filter transformation based on relational status

* chore(core): simplify fields and sort

* chore(core): clean up

* feat(core): wip filter transformation with traverseQueryFilters

* feat(core): reorganise and PR feedback

* fix(core): filters traversal logic

* feat(core): populate relational transformations

* chore(core): reintroduce populate transformation

* fix(core): enforce that fields must include id

* fix(core): enforce that fields must include id

* fix(core): filter and sort transformation

* chore(core): typos

* chore(core): further filters test cases

* feat(core): support object based sorts

* chore(core): fields test naming

* feat(core): handle logical operators in filters

* fix: skip conditions test

* fix(core): switchIdForDocumentId (#19497)

* fix: uniqueness test

* fix: available status should be an array

* fix: available statuses

* fix: skip uniqueness folder

* fix: skip uniqueness test errors

* fix: skip failing test

---------

Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>

* chore: re-implement edit configuration (#19488)

* chore: re-implement edit configuration

* chore: cleanups

* test: fix unit tests

* feat(cm): add discard changes action (#19509)

* feat(cm): add discard changes action

* feat(cm): add discard when unpublishing

* test(e2e): fix editview e2e

* test(e2e): fix uniqueness partially

* test(unit): fix unit tests for actions & add for discard

* chore: bump playwright

* fix(webkit): add shim for requestIdCallback

* chore: pr amends

* feat: return status on available locales

* feat: add document-actions to list-view (#19523)

* fix(cm): add gap and alignment for edit-view heading with super long names

* fix(cm): list view status'

* feat: add list-view actions

* fix: conditions for actions to be enabled

* fix: stay on draft tab when published

* fix: stop propogation on list-view row click

* test(e2e): fix editview tests

* chore: update spelling error

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

---------

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* feat: test document metadata

* chore: remove unnecessary unit test

* fix: return modified on published documents

* chore: init split single-type collection-type in document service

* Fix/fields test case (#19481)

* Update packages/core/content-manager/server/src/services/document-metadata.ts

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* fix: pretty

* chore: refactor middlewares

* feat: send empty object if locale does not exist on document

* feat: single types

* chore: add tests to middlewares

* feat: update locale using query params (#19546)

* feat: return available locales when not finding locale

* chore: update typings

* feat: add clone action (#19526)

* feat: add clone action

* test(e2e): add auto clone tests

* chore: pr amends

* feat: add information to header actions menu (#19548)

* feat: add information to header actions menu

* fix: dont use non-null-assertion

* feat: manage relations on publish (#19427)


---------

Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>

* feat: v5 i18n relations (#19504)


Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>

* fix: locale test api

* chore: refactor i18n (#19555)

* chore: remove types package, should be using strapi

* chore: refactor i18n settings page

* feat: add i18n to CM

* feat(i18n): add delete locale action (#19562)

* chore: pr amends

Co-authored-by: Simone <startae14@gmail.com>

---------

Co-authored-by: Simone <startae14@gmail.com>

* feat(cm): re-implement validation (#19578)

* feat: re-implement validation in the CM

feat: add blocker

feat: handle validation errors from the API

chore: reimplement useFieldHint

test(unit): fix fe tests

chore: fix bad logical operator

* chore: await notifications to leave before trying to go to other pages

* fix: validation issues & blocker showing up incorrectly

* fix: broken publish behaviour

* fix(content-manager): uid availability and generation (#19518)

* fix(content-manager): uid availability and generation

* fix(content-manager): pass locale as is from UID service

* fix(content-manager): match UIDs based on startsWith

---------

Co-authored-by: Marc Roig <marc12info@gmail.com>
Co-authored-by: markkaylor <mark.kaylor@strapi.io>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
Co-authored-by: Alexandre BODIN <alexandrebodin@users.noreply.github.com>
Co-authored-by: Simone <startae14@gmail.com>

* chore: add centralized methods for replacing hardcoded strings for database identifiers

* chore: update History with new v5 APIs (#19623)

* chore: implement new form component

* chore: display version data

* fix: remove FormLayout to block unsupported fields

* fix: history tests

* chore: infer model kind from initialEntry

* chore: pr feedback first batch

* chore: move mainField to history context

* chore: move data fetching to page level

* fix: ts error in VersionsList test

* fix: permissions loading state

* chore: lift DocumentRBAC

---------

Co-authored-by: Mark Kaylor <mark.kaylor@strapi.io>

---------

Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Marc Roig <marc12info@gmail.com>
Co-authored-by: markkaylor <mark.kaylor@strapi.io>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
Co-authored-by: Alexandre BODIN <alexandrebodin@users.noreply.github.com>
Co-authored-by: Simone <startae14@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr: enhancement This PR adds or updates some part of the codebase or features source: core:content-manager Source is core/content-manager package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants