Skip to content
Snippets Groups Projects
Commit 8afba834 authored by catch's avatar catch
Browse files

Issue #3247619 by Lendude, danflanagan8, FiNeX, beatrizrodrigues: "Place a...

Issue #3247619 by Lendude, danflanagan8, FiNeX, beatrizrodrigues: "Place a colon after the label" not working on grouping field label on views
parent c944285b
No related branches found
No related tags found
39 merge requests!12227Issue #3181946 by jonmcl, mglaman,!7471uncessary 5 files are moved from media-library folder to misc folder,!7452Issue #1797438. HTML5 validation is preventing form submit and not fully...,!54479.5.x SF update,!5014Issue #3071143: Table Render Array Example Is Incorrect,!4868Issue #1428520: Improve menu parent link selection,!4289Issue #1344552 by marcingy, Niklas Fiekas, Ravi.J, aleevas, Eduardo Morales...,!4114Issue #2707291: Disable body-level scrolling when a dialog is open as a modal,!3630Issue #2815301 by Chi, DanielVeza, kostyashupenko, smustgrave: Allow to create...,!3291Issue #3336463: Rewrite rules for gzipped CSS and JavaScript aggregates never match,!3143Issue #3313342: [PHP 8.1] Deprecated function: strpos(): Passing null to parameter #1 LayoutBuilderUiCacheContext.php on line 28,!3102Issue #3164428 by DonAtt, longwave, sahil.goyal, Anchal_gupta, alexpott: Use...,!2853#3274419 Makes BaseFieldOverride inherit the internal property from the base field.,!2719Issue #3110137: Remove Classy from core.,!2437Issue #3238257 by hooroomoo, Wim Leers: Fragment link pointing to <textarea>...,!2378Issue #2875033: Optimize joins and table selection in SQL entity query implementation,!2074Issue #2707689: NodeForm::actions() checks for delete access on new entities,!2062Issue #3246454: Add weekly granularity to views date sort,!1974Issue #3036862 demonstration,!1591Issue #3199697: Add JSON:API Translation experimental module,!1484Exposed filters get values from URL when Ajax is on,!1255Issue #3238922: Refactor (if feasible) uses of the jQuery serialize function to use vanillaJS,!1254Issue #3238915: Refactor (if feasible) uses of the jQuery ready function to use VanillaJS,!1162Issue #3100350: Unable to save '/' root path alias,!1073issue #3191727: Focus states on mobile second level navigation items fixed,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!957Added throwing of InvalidPluginDefinitionException from getDefinition().,!925Issue #2339235: Remove taxonomy hard dependency on node module,!877Issue #2708101: Default value for link text is not saved,!873Issue #2875228: Site install not using batch API service,!872Draft: Issue #3221319: Race condition when creating menu links and editing content deletes menu links,!844Resolve #3036010 "Updaters",!712Issue #2909128: Autocomplete intermittent on Chrome Android,!579Issue #2230909: Simple decimals fail to pass validation,!560Move callback classRemove outside of the loop,!555Issue #3202493,!485Sets the autocomplete attribute for username/password input field on login form.,!213Issue #2906496: Give Media a menu item under Content,!30Issue #3182188: Updates composer usage to point at ./vendor/bin/composer
......@@ -601,7 +601,8 @@ public function renderGrouping($records, $groupings = [], $group_rendered = NULL
if (isset($this->view->field[$field])) {
$group_content = $this->getField($index, $field);
if ($this->view->field[$field]->options['label']) {
$group_content = $this->view->field[$field]->options['label'] . ': ' . $group_content;
$delimiter = $this->view->field[$field]->options['element_label_colon'] ? ': ' : ' ';
$group_content = $this->view->field[$field]->options['label'] . $delimiter . $group_content;
}
if ($rendered) {
$grouping = (string) $group_content;
......
......@@ -227,15 +227,49 @@ protected function doTestGrouping($stripped = FALSE) {
}
$sets_new_rendered = $view->style_plugin->renderGrouping($view->result, $view->style_plugin->options['grouping'], TRUE);
$no_label_expected = $expected;
// Remove labels from expected results.
foreach ($expected as $job => $data) {
unset($expected[$job]);
foreach ($no_label_expected as $job => $data) {
unset($no_label_expected[$job]);
$job = str_replace('Job: ', '', $job);
$data['group'] = $job;
$expected[$job] = $data;
$no_label_expected[$job] = $data;
}
$this->assertEquals($expected, $sets_new_rendered);
$this->assertEquals($no_label_expected, $sets_new_rendered);
// Test that grouping works on fields having no colon after the label.
$fields['job']['label'] = 'Job';
$fields['job']['element_label_colon'] = FALSE;
$view->destroy();
$view->setDisplay();
$view->initStyle();
$view->displayHandlers->get('default')->overrideOption('fields', $fields);
$view->style_plugin->options['grouping'] = [
['field' => 'job'],
['field' => 'age'],
];
$this->executeView($view);
if ($stripped) {
$view->result[0]->views_test_data_job .= $rand1;
$view->result[1]->views_test_data_job .= $rand2;
$view->result[2]->views_test_data_job .= $rand3;
$view->style_plugin->options['grouping'][0] = ['field' => 'job', 'rendered' => TRUE, 'rendered_strip' => TRUE];
$view->style_plugin->options['grouping'][1] = ['field' => 'age', 'rendered' => TRUE, 'rendered_strip' => TRUE];
}
$sets_new_rendered = $view->style_plugin->renderGrouping($view->result, $view->style_plugin->options['grouping'], TRUE);
// Remove colons from expected results.
$no_colon_expected = $expected;
foreach ($no_colon_expected as $job => $data) {
unset($no_colon_expected[$job]);
$job = str_replace('Job: ', 'Job ', $job);
$data['group'] = $job;
$no_colon_expected[$job] = $data;
}
$this->assertEquals($no_colon_expected, $sets_new_rendered);
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment