211 lines
7.1 KiB
TypeScript
Raw Normal View History

import get from 'lodash/get';
import * as yup from 'yup';
2023-06-12 16:22:11 +02:00
import { CheckboxConfirmation } from './components/CheckboxConfirmation';
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 856c38588b8f8521cadd85c8c933f42a36a2178a. * 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>
2024-02-22 17:18:32 +00:00
import { DeleteLocaleAction, LocalePickerAction } from './components/CMHeaderActions';
import {
DeleteModalAdditionalInfo,
PublishModalAdditionalInfo,
UnpublishModalAdditionalInfo,
} from './components/CMListViewModalsAdditionalInformation';
import { Initializer } from './components/Initializer';
import { LocalePicker } from './components/LocalePicker';
import { PERMISSIONS } from './constants';
import { mutateEditViewHook } from './contentManagerHooks/editView';
import { addColumnToTableHook } from './contentManagerHooks/listView';
import { extendCTBAttributeInitialDataMiddleware } from './middlewares/extendCTBAttributeInitialData';
import { extendCTBInitialDataMiddleware } from './middlewares/extendCTBInitialData';
import { localePermissionMiddleware } from './middlewares/localePermission';
import { pluginId } from './pluginId';
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 856c38588b8f8521cadd85c8c933f42a36a2178a. * 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>
2024-02-22 17:18:32 +00:00
import { i18nApi } from './services/api';
import { LOCALIZED_FIELDS } from './utils/fields';
import { getTranslation } from './utils/getTranslation';
import { prefixPluginTranslations } from './utils/prefixPluginTranslations';
import { mutateCTBContentTypeSchema } from './utils/schemas';
2021-01-22 17:57:15 +01:00
import type { DocumentActionComponent } from '@strapi/plugin-content-manager/strapi-admin';
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 856c38588b8f8521cadd85c8c933f42a36a2178a. * 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>
2024-02-22 17:18:32 +00:00
// eslint-disable-next-line import/no-default-export
export default {
register(app: any) {
app.addMiddlewares([
extendCTBAttributeInitialDataMiddleware,
extendCTBInitialDataMiddleware,
localePermissionMiddleware,
]);
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 856c38588b8f8521cadd85c8c933f42a36a2178a. * 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>
2024-02-22 17:18:32 +00:00
app.addMiddlewares([() => i18nApi.middleware]);
app.addReducers({
[i18nApi.reducerPath]: i18nApi.reducer,
});
app.registerPlugin({
id: pluginId,
initializer: Initializer,
isReady: false,
name: pluginId,
});
},
bootstrap(app: any) {
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 856c38588b8f8521cadd85c8c933f42a36a2178a. * 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>
2024-02-22 17:18:32 +00:00
// // Hook that adds a column into the CM's LV table
app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);
app.registerHook('Admin/CM/pages/EditView/mutate-edit-view-layout', mutateEditViewHook);
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 856c38588b8f8521cadd85c8c933f42a36a2178a. * 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>
2024-02-22 17:18:32 +00:00
// Add the settings link
app.addSettingsLink('global', {
intlLabel: {
id: getTranslation('plugin.name'),
defaultMessage: 'Internationalization',
},
id: 'internationalization',
to: 'internationalization',
Component: () =>
import('./pages/SettingsPage').then((mod) => ({ default: mod.ProtectedSettingsPage })),
permissions: PERMISSIONS.accessMain,
});
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 856c38588b8f8521cadd85c8c933f42a36a2178a. * 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>
2024-02-22 17:18:32 +00:00
const contentManager = app.getPlugin('content-manager');
contentManager.apis.addDocumentHeaderAction([LocalePickerAction]);
contentManager.apis.addDocumentAction((actions: DocumentActionComponent[]) => {
const indexOfDeleteAction = actions.findIndex((action) => action.type === 'delete');
actions.splice(indexOfDeleteAction, 0, DeleteLocaleAction);
return actions;
});
contentManager.injectComponent('listView', 'actions', {
name: 'i18n-locale-filter',
Component: LocalePicker,
});
contentManager.injectComponent('listView', 'publishModalAdditionalInfos', {
2023-04-28 12:46:42 +02:00
name: 'i18n-publish-bullets-in-modal',
Component: PublishModalAdditionalInfo,
2023-04-27 18:36:34 +02:00
});
contentManager.injectComponent('listView', 'unpublishModalAdditionalInfos', {
2023-04-28 12:46:42 +02:00
name: 'i18n-unpublish-bullets-in-modal',
Component: UnpublishModalAdditionalInfo,
2023-04-28 12:46:42 +02:00
});
contentManager.injectComponent('listView', 'deleteModalAdditionalInfos', {
name: 'i18n-delete-bullets-in-modal',
Component: DeleteModalAdditionalInfo,
});
const ctbPlugin = app.getPlugin('content-type-builder');
if (ctbPlugin) {
const ctbFormsAPI = ctbPlugin.apis.forms;
ctbFormsAPI.addContentTypeSchemaMutation(mutateCTBContentTypeSchema);
ctbFormsAPI.components.add({ id: 'checkboxConfirmation', component: CheckboxConfirmation });
ctbFormsAPI.extendContentType({
validator: () => ({
i18n: yup.object().shape({
localized: yup.bool(),
}),
}),
form: {
advanced() {
return [
{
name: 'pluginOptions.i18n.localized',
description: {
id: getTranslation('plugin.schema.i18n.localized.description-content-type'),
2023-01-20 13:20:03 +01:00
defaultMessage: 'Allows translating an entry into different languages',
},
type: 'checkboxConfirmation',
intlLabel: {
id: getTranslation('plugin.schema.i18n.localized.label-content-type'),
2023-01-20 13:20:03 +01:00
defaultMessage: 'Localization',
},
},
];
},
},
});
ctbFormsAPI.extendFields(LOCALIZED_FIELDS, {
validator: (args: any) => ({
i18n: yup.object().shape({
localized: yup.bool().test({
name: 'ensure-unique-localization',
message: getTranslation('plugin.schema.i18n.ensure-unique-localization'),
test(value) {
if (value === undefined || value) {
return true;
}
const unique = get(args, ['3', 'modifiedData', 'unique'], null);
// Unique fields must be localized
if (unique && !value) {
return false;
}
return true;
},
}),
}),
}),
form: {
advanced({ contentTypeSchema, forTarget, type, step }: any) {
if (forTarget !== 'contentType') {
return [];
}
const hasI18nEnabled = get(
contentTypeSchema,
['schema', 'pluginOptions', 'i18n', 'localized'],
false
);
if (!hasI18nEnabled) {
return [];
}
if (type === 'component' && step === '1') {
return [];
}
return [
{
name: 'pluginOptions.i18n.localized',
description: {
id: getTranslation('plugin.schema.i18n.localized.description-field'),
defaultMessage: 'The field can have different values in each locale',
},
type: 'checkbox',
intlLabel: {
id: getTranslation('plugin.schema.i18n.localized.label-field'),
defaultMessage: 'Enable localization for this field',
},
},
];
},
},
});
}
},
async registerTrads({ locales }: { locales: string[] }) {
const importedTrads = await Promise.all(
2022-08-08 23:33:39 +02:00
locales.map((locale) => {
return import(`./translations/${locale}.json`)
.then(({ default: data }) => {
return {
data: prefixPluginTranslations(data, pluginId),
locale,
};
})
.catch(() => {
return {
data: {},
locale,
};
});
})
);
return Promise.resolve(importedTrads);
},
2021-01-22 17:57:15 +01:00
};