Account created on 8 August 2012, over 12 years ago
#

Merge Requests

More

Recent comments

🇺🇸United States tim bozeman

Hmm, thanks for getting IEF complex going, but it seems to break regular non-IEF fields 😓

🇺🇸United States tim bozeman

Also, this module is probably going to be moved to navigation_plus since we started using navigation when it came out.

🇺🇸United States tim bozeman

There are still some sea change tasks coming up where this will be addressed.

🇺🇸United States tim bozeman

Thank you Lucas! There's actually a bunch of technical debt around this one. Not totally sure what to do about in the meantime tbh.

Edit+ is a tool plugin for Toolbar+. So I think the info files are correct in that edit+ depends on toolbar+, but yeah there is definitely a hidden dependency. Would the two modules depending on each other cause a circular dependency? I've ran into that before, but not sure how I got there.

Edit+ and Layout Builder share a tempstore for hanging onto changes before the entity is saved. Because of the order that the modules were developed the tempstore handling is in Edit+ at the moment, but it should really be bubbled up to toolbar+.

🇺🇸United States tim bozeman

Oops! Nice catch! Thank you.

🇺🇸United States tim bozeman

Have you narrowed down what character is the issue? Maybe there’s a way to detect invalid characters in a generic way. 🤔

🇺🇸United States tim bozeman

Maybe you could add a generator plugin that just returns nothing 😅

🇺🇸United States tim bozeman

Yes, especially if it fixes your error. Did it?

🇺🇸United States tim bozeman

Thanks for trying it. Do you have other JS libraries in your site that have preprocess: false in the definition? Try removing those and clearing caches if you do. I noticed editor_advanced_link does it too. You may be able to debug JsCollectionGrouper and see what the offending library is that is putting ckeditor_media_resize in a group outside of the rest of the ckeditor libraries.

🇺🇸United States tim bozeman

When I enable Edit Plus, I see The website encountered an unexpected error. Try again later.

Yeah these modules are under development. While they are usable, they aren't obvious how to set up yet. We're working on that though. There are some instructions on how to get it going with Umami on the toolbar+ page .

Layout Builder + is a drop in replacement for the layout builder UI. The biggest difference is drag and drop and sortable sections and stuff.

🇺🇸United States tim bozeman

Oh those are some very nice changes.

🇺🇸United States tim bozeman

Toolbar Plus integrates with cores experimental navigation module. It adds an Edit button to the bottom of the sidebar. When you enter Edit Mode the navigation sidebar is replaced with a photoshop like toolbar with multiple tools. So far the tools are LB+ and Edit+

Edit+ adds inline editing much like quickedit, but different.

We have a philosophy of getting content on the page quickly and then making it easy for the user to edit it. We do so by auto-generating field values when you place a block. Field sample value makes the values that are generated plugable and gives a few default plugins.

Twig events let's us use twig_render_template.

All this is to provide a radical new editorial experience where you no longer need the edit or layout tab.

🇺🇸United States tim bozeman

The problem is with JsCollectionGrouper. When JS files are aggregated, say there are like 100 js files, they get grouped based on the library dependencies. Those 100 js files may be spit up into 5 groups of js files which ends up as 5 big JS files wrapped in an anonymous function to scope them altogether.

All the CKEditor plugins like alignment and bold and ckeditor_media_resize are their own separate JS files. Those little files aren’t being aggregated into the same larger aggregated JS file. You can tell this is true because when you turn off JS aggregation the files can see each other again and the error goes away.

When we set preprocess: false we are forcing a new group (aggregated JS file).

🇺🇸United States tim bozeman

tim bozeman changed the visibility of the branch 3471500-ckeditorerror-plugincollection-plugin-not-found to active.

🇺🇸United States tim bozeman

tim bozeman changed the visibility of the branch 3471500-ckeditorerror-plugincollection-plugin-not-found to hidden.

🇺🇸United States tim bozeman

It would be a pretty simple task if any one wants to tackle it. It's just removing lines 75 - 116 and any relevant styles. I aim on doing it asap when priorities allow for it. 😥

To work around it you can work with the config just like any other.

drush cset lb_plus.settings colors.main '#888888'

🇺🇸United States tim bozeman

Ah sorry about that. In the video I was mainly just trying to show the new idea of "Tools" and how you can quickly switch between editing the fields and messing with the layouts by clicking the tools kinda like photoshop.

🇺🇸United States tim bozeman

Hmm, I'm not able to reproduce that error on Umami 🤔

Let's just add that change and see how it goes.

🇺🇸United States tim bozeman

One thing that we need to add is jumping from one level of an entity reference to another. Like say you have a link field on a media item. Most of the time you just want to get the media library which is part of the node or block form, but you also need to be able to switch to the media entity form to edit the link. Same thing with any other entity reference like terms and paragraphs and what not. We plan on making a page structure panel and also bread crumbs to let the users navigate through the page. Having a page structure panel will also be useful when we add a styling tool.

🇺🇸United States tim bozeman

That's a great idea. If you go Structure > Content Types > manage fields > Edit there are two Edit+ options: Disable and the form item handle. I believe just about all fields will work if you select "Wrapper". 🤔 It would just be the entire widget from the form. I've tried it with multiple item fields and very cursory with paragraphs. If the wrapper, meaning the entire form item as it is in the form, isn't really what you want, the whole inline editing JS system is pluggable so people can create their own inline editor widget for a field type.

Whatcha mean edit+ can't?

  • Edit sections
  • Add sections
  • Add blocks

That's what LB+ is for 😏

🇺🇸United States tim bozeman

Yes we definitely need some thing that will allow the sidebar to expand or even pop out in a modal, though I haven't had a need for it yet. I haven't put any effort into how things appear in the sidebar yet.

🇺🇸United States tim bozeman

Oooh yes! I'm so sorry about that. In hindsight it was a pretty dumb approach to try and get fancy with the settings page. Epic fail. It should just be a simple settings form.

🇺🇸United States tim bozeman

Hmm... If I look at entity-form.js:217 I see that it's calling pageElementWrapper.classList.add('disabled-updating');. So, without editing if I just look at the markup of the page I should see markup that looks like this.

<div data-edit-plus-field-value-wrapper="node::2::field_summary::value" class="clearfix text-formatted field field--name-field-summary field--type-text-long field--label-hidden field__item">
  <div class="edit-plus-field-value" data-edit-plus-id="node::2::field_summary::0::en::full::text_long::text_default::value" data-edit-plus-page-element-id="node::2::field_summary::0::value" data-once="EditPlusDisabled">
    <p>Scrumptious vegan chocolate brownies that are rich, fudgy, and nutty. These delights have a surprise hint of coconut making them the perfect indulgence. Serve warm with a little vanilla dairy-free ice cream!</p>
  </div>
</div>

That markup is important as it allows the editor to relate the elements in the rendered page to the form items in the hidden entity form in the sidebar. The error is looking for data-edit-plus-field-value-wrapper in your markup which is added in edit_plus_preprocess_field. Are you overriding that field template? If so, could you pass along the attributes so the markup is more like what core ships with?

🇺🇸United States tim bozeman

Ahh yeah, I was wondering if it was a bad idea putting the module's integrations in sub-modules for this reason. I was debating whether or not edit+ and lb+ could be stand alone tools and opted for yes, though I'm not sure that was the right idea. Furthermore even if they can be used as stand alone we could just check if that other module is enabled where we need to and handle it without creating a sub-module. 😓

There's also a lb_plus_edit_plus sub-module... 😬

🇺🇸United States tim bozeman

Hmm.. Is there a config for that block that is named core.entity_view_display.block_content.YOUR_BLOCK_TYPE.default.yml? That's what _toolbar_plus_get_view_mode should fall back to.

🇺🇸United States tim bozeman

We've been using this for a while too. I think it's good to go! Thanks everybody!

🇺🇸United States tim bozeman

Okay, that sounds good :)

Thanks for looking!

🇺🇸United States tim bozeman

tim bozeman created an issue.

🇺🇸United States tim bozeman

Actually it looks like this patch assumes that you also have

📌 Integrate Navigation with Workspaces Needs work

🤔

🇺🇸United States tim bozeman

Okay cool. I think I conflated those two things though. Edit+ is just the inline editor and aside from continuous improvement, is mostly feature complete at this point. I do want to do a bunch of performance enhancements though.

That other stuff I was talking about will be in lb_plus where we’re still reimagining that UI. I think we are pausing on that to let the dust settle for a while, but just wanted to share the road map.

🇺🇸United States tim bozeman

Okay cool.

FWIW, you shouldn’t need cores toolbar module anymore once you turn on the navigation module. This latest version you don’t need to go to the layout tab anymore. It’s just switching tools kinda like photoshop. The next two big things are going to be breaking out all the LB context menu things like remove block, duplicate, block and all the other stuff like moving blocks and sections etc into tools too. Kinda removing the layout tool all together. Then after that we’re going to make a styling tool.

Production build 0.71.5 2024