🇺🇸United States @mortona2k

Seattle
Account created on 16 November 2010, about 15 years ago
#

Merge Requests

More

Recent comments

🇺🇸United States mortona2k Seattle

Just linking issues.

🇺🇸United States mortona2k Seattle

I believe Actions UI is all that was moved to contrib: https://www.drupal.org/project/action .

Core still uses action plugins themselves, like the promote to front/sticky ones you mentioned:
https://git.drupalcode.org/project/drupal/-/tree/11.x/core/modules/node/...

That's what provides the VBO style functionality in core, with the dropdown options in the admin content listing page.

There's also the local actions, defined in yaml files.

I think the Actions UI was an attempt to make local actions configurable, by placing action buttons on pages.

Calling existing actions might work, since those are provided by some contrib modules, we'll be able to cover all existing uses, plus more general capability with how this module's plugins are written for modifying fields of a type.

If we had eca integration, we could call actions through that.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

This fixes it. I can't find a change record, but it seems like something changed with entity route handlers.
We don't need a canonical url, right?

🇺🇸United States mortona2k Seattle

I can't reproduce this, but my local is on 10.5.

It's working for me on 10.5 too.

Could you give the steps to reproduce -- when do you get the error?

All I did was create a new action link with the above config. The error appears on save.

And do you have a backtrace please?

It doesn't look very helpful because it's all happening in the routing while trying to generate a link:

Symfony\Component\Routing\Exception\RouteNotFoundException: Route "entity.action_link.canonical" does not exist. in Drupal\Core\Routing\RouteProvider->getRouteByName() (line 214 of core/lib/Drupal/Core/Routing/RouteProvider.php).

Drupal\Core\Routing\UrlGenerator->getRoute() (Line: 290)
Drupal\Core\Routing\UrlGenerator->generateFromRoute() (Line: 105)
Drupal\Core\Render\MetadataBubblingUrlGenerator->generateFromRoute() (Line: 773)
Drupal\Core\Url->toString() (Line: 176)
Drupal\Core\Utility\LinkGenerator->generate() (Line: 104)
Drupal\Core\Render\Element\Link::preRenderLink()
...
🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

I was able to install this by adding the issue fork as a composer repository:

{
    "type": "vcs",
    "url": "git@git.drupal.org:issue/workspace_approval-3510809.git"
},

Then installing with:

ddev composer require drupal/workspace_approval:dev-3510809-not-installable-on

🇺🇸United States mortona2k Seattle

Great, thanks!

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle
🇺🇸United States mortona2k Seattle

This was fixed in the Drupal 11 updates.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle
🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle
🇺🇸United States mortona2k Seattle

I tried it with UI Patterns and I see what you mean. I could only access one of the custom subfields.

I have moved from sdc_block/display to UI Patterns, but I think a UI Patterns Custom Field extension would help.

I think canvas shares a mechanism with UI Patterns for using the component schema as the config form. Maybe that's what's missing support for the subfields. SDC Display uses CL Editorial, which I think is on the way out, or only used in a subset of modules.

I also tried using tokens, but to access subfields, you need to add a delta value. So this didn't work for using UI Patterns component per field item.

🇺🇸United States mortona2k Seattle

This is no longer an issue.

I don't have any of the hide view/block options enabled now, but a view with no results is not showing the block title.

This may be a result of certain configuration differences. This might be a problem if you actually want to show the title for empty results.

The options to hide the view for empty results should be fixed for toggling it.

🇺🇸United States mortona2k Seattle

To answer the question, these do different things.

ViewField is a field that references a view. For example, creating a paragraph that allows the user to select from a list of available views.

Views Field Formatter allows devs to use a view to format a field value.

🇺🇸United States mortona2k Seattle

If you like the way SDC Display and UI Patterns work, what is the advantage of creating a custom solution within this module?
I think Canvas will also handle this.

🇺🇸United States mortona2k Seattle

I think we just need to add hx-swap="afterend".

This is mentioned on the parent issue: https://www.drupal.org/project/documentation/issues/3535179#comment-1631... 📌 [Meta] Provide operations that replace existing Ajax API commands Active

Linking to similar commands.

🇺🇸United States mortona2k Seattle

I tried to use the #53 3.x patch with 3.3.5, but it's not working (no change to permission blockers).

🇺🇸United States mortona2k Seattle

mortona2k made their first commit to this issue’s fork.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

Here is a full example of dialog native using htmx:

{{ attach_library('dialog_native/dialogNative') }}
<button
hx-get="/htmx/node/1/teaser"
hx-target="#dialog-container"
hx-on:htmx:after-request="Drupal.dialog(this.parentElement.querySelector('#dialog-container'))"
>Click me</button>
<div id="dialog-container"></div>

I'm not sure how else to initialize the dialog after htmx loads the node, but this works.

🇺🇸United States mortona2k Seattle

I took a closer look at HTMX Dialog.

It implements a bootstrap modal dialog in the htmx-dialog component.

A button is needed to launch it:

<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#htmx-dialog-container">
  Launch demo modal
</button>

There is a route and controller provided: /htmx-dialog/{entityType}/{entity}/{viewMode}.

This extends core's HtmxEntityViewController->view() function to wrap the rendered entity in the htmx_dialog:htmx-dialog component.

To implement the htmx callback, simply add hx-get and hx-target attributions to the button:

<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#htmx-dialog-container"
hx-get="/htmx-dialog/node/1/default?_wrapper_format=drupal_htmx"
hx-target="#htmx-dialog-container .modal-dialog">
  Launch demo modal
</button>

hx-get use the module's route that renders the content in a dialog component. On the front end, bootstrap loads the modal.

So unless we want to render the dialog server side (do we?), I don't think HTMX Dialog offers anything except for some ideas and example code. This could work for other frameworks that have dialog components.

🇺🇸United States mortona2k Seattle

As an example, here's a recipe variation for adding a logger to the tasks with ECA.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

I figured out how to trigger the RefreshView event with the invoke command. The required input format is a bit tricky and I couldn't find an example. This is provided by the core views ajax js.

And it's now filtering for the flag path with a route match.

🇺🇸United States mortona2k Seattle

Yep the idea is to use ECA for the refresh instead of this extra module.

I’m also investigating htmx, which would need an endpoint to render the returned html like you describe. I think views Ajax already provides a route for that, but ECA endpoints rendering individual items could be very powerful. I’m thinking of trying this as a replacement for quick edit as well.

🇺🇸United States mortona2k Seattle

I was able to use that event to set a message, but couldn't figure out how to trigger the view refresh.
I tried using Ajax Response: Invoke and passing in the view class. That doesn't seem to work. I tried with method: RefreshView and also method: trigger, argument: RefreshView.
I can type this into the browser console and it works: jQuery('.view-display-id-block').trigger('RefreshView').
I'm running into problems saving the ECA now. I need to figure out how to filter the event for just the flag callback, not sure how to do that yet.

🇺🇸United States mortona2k Seattle

Seems to have been an issue before?

🇺🇸United States mortona2k Seattle
🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

Fixed by calling trigger('RefreshView') as per ajax_view.js.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

Composer patches are applied after calculating dependencies, so you can't use patches to fix version conflicts.
There is an exception to this when using the lenient repository, but only if the conflict is with drupal core, and not on other modules like it is here.

To test a merge request with updated dependencies, add the issue fork as a composer repository:

"repositories": [
    {
        "type": "vcs",
        "url": "git@git.drupal.org:issue/views_flag_refresh-3543385.git"
    },
]

Then require the branch with composer, prefixed with "dev-".

ddev composer require drupal/views_flag_refresh:dev-3543385-support-flag-v.5

🇺🇸United States mortona2k Seattle

I recently hit this too, while setting up tabs and tab field hero’ groups.

Is this issue related?
https://www.drupal.org/project/drupal/issues/1310642 🐛 Adding drupal_add_tabledrag() support for parents with depth 0 Needs work

🇺🇸United States mortona2k Seattle

I just tried the Uppy module: https://www.drupal.org/project/uppy

It provides a field widget for file fields, which can be set up on a media item form.

I created an issue to investigate adding it to the default media library bulk upload widget.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

mortona2k made their first commit to this issue’s fork.

🇺🇸United States mortona2k Seattle

Patch #31 applies. No other changes from #29.

🇺🇸United States mortona2k Seattle

Try testing by changing the theme: {"theme": "forest"} or {"theme": "dark"}.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

Removed form_mode: null
Looks like this is from Add Content By Bundle missing a schema definition for the form display when using Form Mode Control.
TODO: fix that, or move to Tasks Extras?

Removed default_argument_skip_url: false
Per this change record: https://www.drupal.org/node/3382316

Changed draggable_views_pass_arguments: false to 0
views.view.tasks:display.default.display_options.sorts.weight.draggable_views_pass_arguments variable type is boolean but applied schema class is Drupal\Core\TypedData\Plugin\DataType\IntegerData
This is necessary for the 2.1.4 release
But the 2.1.x/2.2.x branch have it as a boolean

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

Here's how to add the project repository as a composer repo and install the 2.x branch as a recipe.

First, in composer.json, make sure you have the drupal-recipe package type defined:

"extra": {
    "installer-paths": {
        "recipes/{$name}": [
            "type:drupal-recipe"
        ]
    }
}

Then add the gitlab repository as a vcs composer repo:

"repositories": [
    {
        "type": "vcs",
        "url": "git@git.drupal.org:project/tasks.git"
    },
]

Now you can require it with composer:

ddev composer require drupal/tasks:^2.0 (Beta)
ddev composer require drupal/tasks:2.0.x-dev (Dev)

And install with drush:

ddev drush recipe ../recipes/tasks

🇺🇸United States mortona2k Seattle

Media Library Bulk Upload is considering marking itself deprecated 💬 Should media_library_bulk_upload be made obsolete? Active if the dropzone library issue can be resolved in Media Bulk Upload. 📌 Make Dropzone fully optional Active

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

The use of jquery once changed a while back: https://www.drupal.org/node/3158256

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

I could use some feedback on this, whether it's the right approach or if I'm missing something about how these plugins should work.

🇺🇸United States mortona2k Seattle

I have been pretty happy with this for a few months now, check it out!

I wonder if there is a way to render a single row and inject it into the view?

🇺🇸United States mortona2k Seattle

Patch 29 needs a reroll.

🇺🇸United States mortona2k Seattle

Viewfield is documented here: https://www.drupal.org/docs/extending-drupal/contributed-modules/compari...

This module may need to be added to that list.

🇺🇸United States mortona2k Seattle
🇺🇸United States mortona2k Seattle

mortona2k made their first commit to this issue’s fork.

🇺🇸United States mortona2k Seattle

I see the same as #6.

🇺🇸United States mortona2k Seattle

This is fixed by the patch in the parent issue, so I believe this one is a duplicate.

🇺🇸United States mortona2k Seattle

Formatter->getConfigDependencyName() is calling $this->id(), but the config does not exist yet.

I think we can skip it in getDependentEntities().

🇺🇸United States mortona2k Seattle

The listings at /listallcomments and /listallnodes are working now.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

Trying to merge 5.x.

In LinkHtmlTest.php, doFlagNode(), some changes were made that may have been a mistake?

I kept the code from this issue, because it's needed to check the token I think.

See:
https://git.drupalcode.org/project/flag/-/commit/12d60c15bae663f2f05ef95...

There is no mention of why the code in the test was changed in the ticket: https://www.drupal.org/project/flag/issues/3538393 Suggestion for an additional flagging cache tag Active

🇺🇸United States mortona2k Seattle

mortona2k made their first commit to this issue’s fork.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

Flag 5.x has no breaking changes listed.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

I don't see any breaking changes in the Flag 5.x releases, so this is probably good to go.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

See #19 🐛 Arbitrary scroll on dialog open Needs work

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

Here's the ajax commands getting returned. I removed all my custom libraries except for file.css. If I remove that one too, the modal opens.

In the console log below, the core libraries get loaded, but the file.css does not.

🇺🇸United States mortona2k Seattle

Do we need to trigger vite HMR when ajax loads assets?

🇺🇸United States mortona2k Seattle

When I open the media library widget, the vite urls for my libraries are correct but the dialog doesn't open. I don't see the libraries getting loaded in the console, but other, non vite libraries are getting included. I don't see any error/warning, but modal just doesn't open. Removing my custom libraries makes it work again.

🇺🇸United States mortona2k Seattle
🇺🇸United States mortona2k Seattle

This one is a duplicate of https://www.drupal.org/project/views_add_button/issues/3489089 📌 Drupal 11 upgrade requirements for Views Add Button Active .
However, there is more work in here, so maybe we should close that one.

Can this one be addressed at the same time? https://www.drupal.org/project/views_add_button/issues/3519204 🐛 Fix Deprecated function: Creation of dynamic property in ViewsAddButtonService line 58 under PHP 8.2+ Active
I think there is some overlap in the changes.

I installed the patch for testing on d10 and 11 sites. Will report any issues.

🇺🇸United States mortona2k Seattle

Commented out a line that was breaking the Popular Tags widget inside the modal.

🇺🇸United States mortona2k Seattle

I made you an admin and set up the menu.

🇺🇸United States mortona2k Seattle

Adding menu link.

🇺🇸United States mortona2k Seattle

Got it, thanks!

🇺🇸United States mortona2k Seattle

We still need to get the docs linked in the project sidebar.

🇺🇸United States mortona2k Seattle

I changed the permissions. Thanks for your all your effort in getting things clarified and documented!

🇺🇸United States mortona2k Seattle

Relaxing permission for others to make changes to the menu.

🇺🇸United States mortona2k Seattle

mortona2k created an issue.

🇺🇸United States mortona2k Seattle

Great, thank you for the quick response!

🇺🇸United States mortona2k Seattle

I added a note to an issue in Views Ajax History: https://www.drupal.org/project/views_ajax_history/issues/3386120#comment... 📌 Improve module UX Active

🇺🇸United States mortona2k Seattle

In this related issue, I suggested that the archive and glossary views could be created with a pager or grouping plugin, as opposed to the summary option under contextual filter. We would need a way to group by date/year, or first char of title, and display the number of items in the group. The archive does not make sense as a pager, but the glossary could be a pager instead of contextual filter setting + attachment.

🇺🇸United States mortona2k Seattle

Configuring views with these settings is quite challenging. The summary setting is difficult to find, and doesn't make much sense to me as a contextual filter option. Also, the result count there overrides the pager options.

The glossary is basically using an attachment as a pager. What if we moved all of this into a pager plugin?

The archive makes less sense as a pager. Is it possible to do this with results grouping and aggregation?

At the top of the issue, wizards are mentioned. There is also Views Templates , which helps scaffold a view. Maybe something to bring into core? Is the wizard option still available?

A big part of the question is what's the right UX for an interface that has some routine use cases and also highly advanced options that are not very intuitive to regular users. Creating a UI that works for both beginners and experts is a hard problem. Templated setup or a wizard would also help. AI prompting and generating config has potential for sidestepping the issue.

These views are nice to have as long as the capability they demonstrate exists. Maybe they could just be moved into recipes in the standard profile.

🇺🇸United States mortona2k Seattle

I merged dev to rerun the pipelines. Previously it was showing a failure on phpunit, but I don't think that was related to this change.

Now there are only warnings, and they are all coming from other code.

I made the change locally for a quick test and don't see any issues. This is correct usage of the function, so I will mark this as RBTC.

🇺🇸United States mortona2k Seattle

mortona2k made their first commit to this issue’s fork.

🇺🇸United States mortona2k Seattle

I just saw this module get posted: https://www.drupal.org/project/htmx_dialog .

🇺🇸United States mortona2k Seattle

I can see the empty text settings in the config form now, but I don't see it appearing.

🇺🇸United States mortona2k Seattle

Linking to the issue for adding empty text to views facets.

🇺🇸United States mortona2k Seattle

I cannot find the empty facet text settings for facets in views w/ BEF.
Was that setting not carried over from 2.x?

The last patch is just setting a class. Is that working?

🇺🇸United States mortona2k Seattle

Can someone in the know please mention on the project page or docs what the plan is for this module, now that this feature has been added to core: Enable bookmarking of AJAX views Enable bookmarking of AJAX views Needs work .

Looks like that is going into 11.3, so there will be some sites that will want to keep using this until they upgrade. After that, are there any features in the module that are still useful? What will be the upgrade process when we move to 11.3?

🇺🇸United States mortona2k Seattle

Drupal core is adding ajax history capability. In the long run, Views Ajax History may no longer be needed.

🇺🇸United States mortona2k Seattle

The documentation page linked above has been updated as requested by @ressa in #3030506.

Can we add the link to the project page and close out this ticket? Or do we need separate d7/8+ documentation?

Production build 0.71.5 2024