Problem/Motivation

views_ui_truncate() works the same like Unicode::truncate(), but Unicode::truncate() has more features. I think this views_ui_truncate() can be removed.

Steps to reproduce

Proposed resolution

Deprecate views_ui_truncate() and use Unicode::truncate(),

Remaining tasks

Patch
Review
Commit

User interface changes

API changes

Data model changes

Release notes snippet

CommentFileSizeAuthor
#30 after.png419.33 KBdimitriskr
#30 before.png419.3 KBdimitriskr

Issue fork drupal-2763431

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

hass created an issue. See original summary.

hass’s picture

Issue summary: View changes
cilefen’s picture

I do not see how we could remove a function because we do not know who may be using it. It could be deprecated to be removed before 9.x.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.0-beta1 was released on August 3, 2016, which means new developments and disruptive changes should now be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.0-alpha1 will be released the week of January 30, 2017, which means new developments and disruptive changes should now be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.0-alpha1 will be released the week of July 31, 2017, which means new developments and disruptive changes should now be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

quietone’s picture

Issue summary: View changes
Issue tags: +Bug Smash Initiative

Add template to the IS, There isn't anything functionally wrong here so changing to a task.

longwave’s picture

Category: Bug report » Task

Agree with #14 :)

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

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

dimitriskr’s picture

Status: Active » Needs review
smustgrave’s picture

Status: Needs review » Needs work

Lets go ahead and assume the same on this one. Deprecate in 12

Will also need a deprecation message test.

dimitriskr’s picture

Should I put the deprecation test in core/tests/Drupal/Tests/Component/Utility/UnicodeTest.php or somewhere in core/modules/views_ui/tests/src ?

dimitriskr’s picture

Status: Needs work » Needs review
smustgrave’s picture

Status: Needs review » Reviewed & tested by the community
Issue tags: +Needs Review Queue Initiative

Test coverage is there and all instances appear to be replaced

quietone’s picture

Status: Reviewed & tested by the community » Needs review

I'm triaging RTBC issues. I read the IS, the comments and the MR. I didn't find any unanswered questions or other work to do.

I do have a question. views_ui_truncate uses a 3 character string '...' when the input string is truncated but the \Drupal\Component\Utility\Unicode::truncate uses an ellipsis character, '…'. What are the ramifications of this behavior change? A before and after screenshot may be helpful here.

smustgrave’s picture

Status: Needs review » Needs work
Issue tags: +Needs screenshots

Update

dimitriskr’s picture

Issue tags: -Needs screenshots
StatusFileSize
new419.3 KB
new419.33 KB

Visually, there seems to be no difference on the ellipsis/3-character string at my browser (Firefox ESR 115.6.0esr (64-bit)) The behaviour changes a bit, regarding when to cut the string and add the ellipsis when using Unicode::truncate().

Given a string longer than 80 characters:

- views_ui_truncate() cuts the string at the 80th character and adds 3 more characters, making the string 83 characters long.
- Unicode::truncate() depends on what parameters you give it. If $wordsafe parameter is FALSE, it cuts the string at 79 chars and adds the ellipsis, making it in total of 80 chars long. If the parameter above is TRUE, it cuts it at the last word possible to be at max 80 chars long with the ellipsis, so it can happen that the final string won't be at 80 chars long

dimitriskr’s picture

Status: Needs work » Needs review
smustgrave’s picture

Status: Needs review » Reviewed & tested by the community

Thanks, still LGTM then.

  • catch committed a0bf9683 on 11.x
    Issue #2763431 by dimitriskr, smustgrave, quietone: Replace...
catch’s picture

Status: Reviewed & tested by the community » Fixed

Committed/pushed to 11.x (which will become 10.3.x), thanks!

dimitriskr’s picture

I've copied what I wrote in #30 to the CR, in order to better explain how Unicode::truncate behaves with its parameters

quietone’s picture

@dimitriskr, thank you for updating the CR!

longwave’s picture

The UI truncations seem a bit arbitrary and presumably date back to an ancient version of Views. To modernise this is it worth a followup to consider truncating in CSS instead which would respond to the available space and probably be more usable? Or perhaps just reconsidering the truncations altogether as screens are somewhat larger than they likely were when this was first written.

quietone’s picture

Published the change record

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.