Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Idea: "Advanced" edit menu option if editing inline #757

Open
Hambrook opened this issue Nov 26, 2019 · 6 comments
Open

Idea: "Advanced" edit menu option if editing inline #757

Hambrook opened this issue Nov 26, 2019 · 6 comments

Comments

@Hambrook
Copy link

Can we have an element as inline editable so we can edit the title and rich text etc, then have an "Advanced" or "More" button in the dots menu to go to the dedicated edit page where we can edit relationships?

This way I can have options for buttons and other many_many relationships on my elements but still have them mostly inline editable.

I realise it'd need to save (or at least prompt to) before reloading into the full editing page, and I'm sure there are other considerations I haven't thought of.

@maxime-rainville
Copy link
Contributor

@silverstripeux Got any views on this one?

@ScopeyNZ
Copy link
Member

My 2¢: Although I like the idea in principle, if we're moving towards having one editing experience, which is 100% in-line, we would have to just remove this feature again in the future. Very minor point though, I imagine removing it again would be easy, the problem comes if users/developers learn to rely on it and then they get upset when it's removed. Focus should be on improving the in-line experience rather than making the old experience visible.

@clarkepaul
Copy link

I've mentioned a similar thing here #756 (comment) for blocks which are too complex to be inline. "Quick edit" is inline for the most common fields and we could offer a full edit if the details of the block are too complex (for example a multi-page user-defined form).

I think we should be able to accommodate the majority of blocks inline and for those that are hesitant to bring a block inline, rather than the current solution we should be able to create a better experience for detailed editing without having the admin navigating away from the page (where they lose sight of the preview and page context).

I would prefer we look at solutions like:

  • Block expands further to reveal all the fields
  • Breaking content up better into sections within a block
  • Have the ability to navigate deeper within an inline-block for more detailed options
  • Block can be expanded to full edit area (e.g. vertical viewport) without navigating down

I like the idea in principle of providing an advanced edit link and leaving the current experience but I don't think it gets used wisely enough and provides a mixed/bad experience for users unless we put a lot more effort into defining quick-edit-items and full-edit-items (which might double the dev efforts?).

Research & feedback

I'd be really interested in seeing examples of complex blocks which are not ideal for inline editing so that we can consider them when developing the inline experience further. Screenshots would be appreciated (or email to pux@silverstripe.com).

@michalkleiner
Copy link
Contributor

michalkleiner commented Dec 9, 2019

I can't produce a screenshot as I'd be blurring half of the sensitive information out, but these are the SS features we are using within the edit form of our most complex elemental block:

  • nested tabsets (2, sometimes 3 levels down)
  • dependent checkbox sets and radio lists (using entwine JS)
  • display logic to show/hide relevant fields based on other options selected
  • several gridfields
  • wysiwyg editor, textarea fields, text fields, date field with JS calendar
  • tree dropdown field

We obviously turned inline editing for this block off and I can't see an easy way how to squeeze all this into the narrow (both vertically and horizontally) inline edit area.

From this perspective, we'd welcome the idea of inline editing some of the important aspects and settings for the block, while having an advanced edit link opening the "standard" full-featured edit form.

@robertvanlienden
Copy link

robertvanlienden commented Feb 11, 2022

Here also having lots of elements with display logic/gridfields/linkfields etc etc.
Inline editing is right now pretty useless for almost all of that elements.

I think the "Advanced" edit menu option + having the option to control what fields are inline-editable is a nice work-around for all the things @michalkleiner mentioned (gridfields, tabsets, displaylogic etc..).

This way developers can decide;

  • turn off inline editing for elements with displaylogic/tabsets/etc (what most of the developers do right now...)
  • decide what fields are inline-editable. All the not-supporting (complex)fields etc, will be available under the "more" button.

@robertvanlienden
Copy link

robertvanlienden commented Feb 12, 2022

@clarkepaul Below you can find some screenshots of my situation
Element in the "edit form" (not inline) with DisplayLogic + LinkField
image
image

The same element inline;
image

Here you can see, that inline;

  • The display logic does not work (link settings should be invisible when Add primary link is not checked
  • The gorriecoe/silverstripe-linkfield (LinkField) is not showing in inline

Apart from the screenshots; Yesterday I've tried to create a "advanced edit" option inside a element , but my knowledge of GraphQL/the React elements is not enough to accomplish this by myself right now.

BUT I've managed to add a simple "advanced edit" link in this commit; robertvanlienden@7add8be

For now I'm thinking to make a separate extension to make this "advanced edit" button apprear and create some work-around in PHP.
If I managed to create something, I will share a link to the package here 😸

**Update *
https://github.com/robertvanlienden/silverstripe-elemental-advanced-edit/
https://packagist.org/packages/robertvanlienden/silverstripe-elemental-advanced-edit

The module is available at packagist. For my personal situation this is working well enough for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants