apostrophecms / apostrophe

A full-featured, open-source content management framework built with Node.js that empowers organizations by combining in-context editing and headless architecture in a full-stack JS environment.
https://apostrophecms.com
MIT License
4.34k stars 592 forks source link

PRO-6418: Add replaces configuration for editor context menus #4714

Closed myovchev closed 3 weeks ago

myovchev commented 3 weeks ago

Summary

Add replaces (boolean, false by default) option to the context operation definition (registered via apos.doc.addContextOperation()) to allow the operation to require a replace confirmation before being executed. The user confirmation results in the Editor modal being closed and the operation being executed. The operation is not executed if the user cancels the confirmation.

What are the specific steps to test this change?

Using a menu item, having replaces: true configuration option, results in a confirmation dialog. Confirming closes the editor modal and executes the operation, canceling does not execute the operation and does not close the editor modal.

What kind of change does this PR introduce?

(Check at least one)

Make sure the PR fulfills these requirements:

If adding a new feature without an already open issue, it's best to open a feature request issue first and wait for approval before working on it.

Other information:

linear[bot] commented 3 weeks ago

PRO-6418 Solution for handling imports of parked pages and singletons that already exist on the target site