andileco → created an issue.
On second thought, since the main view already has these tags and we're generally sharing that link rather than the embed link, I'm going to close this as "works as designed"; however, I like having this here in case I think of a use case where the embed code might be shared directly, outside of an iframe.
andileco → created an issue.
andileco → created an issue.
andileco → created an issue.
Thank you for your issue. It exists in Drupal 11: https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Render%21.... Maybe we can do a check for core version and then run that line if the site is D11. How does your preview look after removing that line? Are all the assets loading?
andileco → created an issue.
Closed in favor of the issue linked in comment 3. Thank you, @bluegeek9!
andileco → created an issue.
andileco → created an issue.
andileco → created an issue.
@jaydev bhatt - I checked the main module but not the submodules (but I did look at the code). The main module worked as expected. I don't see anything problematic in the rest of your code. I think since there is currently no working version in Drupal 10 or 11, it's worth committing what you have.
I have made some adjustments. Are they sufficient?
This was merged into a 2.0.x branch. Not sure why it doesn't show committed on this ticket.
This works for me.
*Maintainers*, I would love to require your module as a dependency for Views Share, which I am currently porting. Can you issue a Drupal 11 version of the module? I think only dev is currently D11 ready.
andileco → made their first commit to this issue’s fork.
Thanks for your review, @routinet!
I want people to go with another, more-active library.
andileco → made their first commit to this issue’s fork.
andileco → made their first commit to this issue’s fork.
andileco → made their first commit to this issue’s fork.
Yes, we can add it. @bluegeek9, do you have time to work on it?
@bluegeek9, I see everything is green. Is there more you wanted to do on this, or is it ready for review?
Very excited to have this one in!
andileco → made their first commit to this issue’s fork.
Added a HowTo page: https://www.drupal.org/docs/8/modules/charts/charts-howtos-0/51x-extend-... →
I'm going to close this, because I agree a custom module is the best solution for this for now. However, here's how you could do this:
MY_MODULE.info.yml
name: 'Highcharts Wordcloud'
type: module
description: 'Enables creation of Wordclouds using the Highcharts library.'
core_version_requirement: ^10.3 || ^11
package: Examples
dependencies:
- 'charts:charts'
- 'charts:charts_highcharts'
MY_MODULE.libraries.yml
MY_MODULE:
version: VERSION
js:
/libraries/highcharts_wordcloud/wordcloud.js: { minified: true }
cdn:
/libraries/highcharts_wordcloud/wordcloud.js: https://code.highcharts.com/12.1.1/modules/wordcloud.js
dependencies:
- charts/global
- charts_highcharts/charts_highcharts
- charts_highcharts/highcharts
MY_MODULE.module
<?php
/**
* Implements hook_chart_alter().
*/
function MY_MODULE_chart_alter(array &$element, $chart_id) {
$element['#attached']['library'][] = 'MY_MODULE/MY_MODULE';
}
/**
* Implements HOOK_charts_plugin_supported_chart_types_alter().
*/
function MY_MODULE_charts_plugin_supported_chart_types_alter(array &$types, string $chart_plugin_id) {
if ($chart_plugin_id === 'highcharts') {
$types[] = 'wordcloud';
}
}
MY_MODULE.charts_types.yml
wordcloud:
label: 'Wordcloud'
axis: 'y_only'
axis_inverted: false
stacking: false
MY_MODULE.routing.yml
MY_MODULE.display:
path: /wordcloud-example
defaults:
_controller: '\Drupal\MY_MODULE\Controller\MyModule::display'
_title: 'A Wordcloud'
requirements:
_permission: 'access content'
src/Controller/MyModule.php
<?php
namespace Drupal\charts_api_example\Controller;
use Drupal\Component\Uuid\UuidInterface;
use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\Extension\ModuleExtensionList;
use Drupal\Core\Messenger\MessengerInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Charts Api Example.
*/
class ChartsApiExample extends ControllerBase {
/**
* Display the dashboard of charts.
*
* @return array
* Array to render.
*/
public function display() {
// This is a container for the word cloud.
$charts_container = [
'#type' => 'container',
'content' => [],
];
$data = 'Chapter 1. Down the Rabbit-Hole ' .
'Alice was beginning to get very tired of sitting by her sister on ' .
'the bank, and of having nothing to do: ' .
'once or twice she had peeped into the book her sister was reading, ' .
'but it had no pictures or conversations ' .
'in it, \'and what is the use of a book,\' thought Alice ' .
'\'without pictures or conversation?\'' .
'So she was considering in her own mind (as well as she could, for ' .
'the hot day made her feel very sleepy ' .
'and stupid), whether the pleasure of making a daisy-chain would be ' .
'worth the trouble of getting up and picking ' .
'the daisies, when suddenly a White Rabbit with pink eyes ran close ' .
'by her.';
// Convert text to lowercase and remove punctuation
$text = strtolower($data);
$text = preg_replace('/[^\p{L}\p{N}\s]/u', '', $text);
// Split text into words
$words = preg_split('/\s+/', $text, -1, PREG_SPLIT_NO_EMPTY);
// Count word frequencies.
$word_counts = array_count_values($words);
// Format the result.
$result = [];
foreach ($word_counts as $word => $count) {
$result[] = [
'name' => $word,
'weight' => $count
];
}
$charts_container['content']['wordcloud'] = [
'#type' => 'chart',
'#library' => 'highcharts',
'#title' => $this->t('Highcharts Word Cloud'),
'#chart_type' => 'wordcloud',
'series' => [
'#type' => 'chart_data',
'#title' => $this->t('Occurances'),
'#data' => $result,
],
];
return $charts_container;
}
}
I want to re-examine the way I'm getting array values from the ChartDataCollectorTable class.
Thank you, @loopy1492! I really appreciate the effort you took to understand the new structure and to upgrade - this really helps me (and others) focus on the current version and make that the best it can be. Thank you also for contributing the code examples!
I think this is actually handled already by the library class attributes.
I did publish the module I mentioned. It probably needs a little maintenance: https://www.drupal.org/project/charts_highstock →
Looks good - thank you!
andileco → made their first commit to this issue’s fork.
Thank you - looks good!
I had to make an adjustment or none of the charts would show.
andileco → made their first commit to this issue’s fork.
Thank you! I plan to review this afternoon.
andileco → changed the visibility of the branch 5.1.x to hidden.
andileco → changed the visibility of the branch 3391197-enable-support-for to hidden.
andileco → created an issue.
Thanks for your review, @nikathone!
andileco → created an issue.
Opening back up to add in the use statements.
andileco → created an issue.
andileco → created an issue.
Yes, no one has volunteered to work on tests, and if someone wants to, they can open a new ticket.
andileco → created an issue.
andileco → made their first commit to this issue’s fork.
Unfortunately the C3.js library hasn't been updated for a long time and that version of D3 breaks some of the chart types. Billboard.js is a fork of C3.js and has additional chart type options. All users are encouraged to use Billboard over C3. Going to close this.
andileco → made their first commit to this issue’s fork.
andileco → made their first commit to this issue’s fork.
Thank you! I have a few things to work out like making it so that libraries required by the view can be included without bringing in all the rest of the page template. I hope to release a Drupal 10/11 version within a couple weeks.
This module did not get a modern version Drupal version. I have built a functioning modern Drupal version here (though I want to become maintainer before I invest time in finishing it completely): https://www.drupal.org/project/views_share/issues/3025018 ✨ Drupal 8 version? Active
Fixed. Sorry for the delay.
Going ahead and committing since I did observe a fix on my views-based Gauge chart, and this seems to also align with the form field types for those values anyway.
Looks great, and thanks for letting me know about the DDEV Contrib Plugin - I've been using Lando and haven't experienced that.
andileco → made their first commit to this issue’s fork.
Thank you, @handkerchief and @marcoliver!
andileco → made their first commit to this issue’s fork.
@loopy1492 - it's very different, but 5.x is much better and it doesn't make sense to maintain such different versions. Please help me create documentation or more of an upgrade path rather than continuing with the 8.x version.
Thank you, @diaodiallo!
andileco → created an issue.
andileco → created an issue.
andileco → created an issue.
@simonknight - please try the merge request (https://git.drupalcode.org/project/charts/-/merge_requests/134.patch) - I think it will fix it. Seems like the issue is just the older library was more accepting of the to and from being strings versus integers.
Sorry to hear about this, and glad you have a quick fix. Would you be willing to (on a dev instance) go to /admin/config/content/charts/advanced and select "Enable Charts Debug" (save), and then go back to your gauge chart and copy and share the JSON in the fieldset below your chart?
Do you have any custom code related to charts on your site?
Thanks!
andileco → created an issue.
I've updated in a new release: 1.1.2