taipeino1/modules/video_pro/_video_pro_widget_jqcloud1....

52 lines
2.1 KiB
Plaintext
Raw Normal View History

2023-03-26 01:51:46 +00:00
<div class="w-video_data video_data-widget-2">
<%= javascript_include_tag 'video_pro/wordcloud2.js' %>
2023-03-26 02:55:35 +00:00
<div style="width: 100%; height: 40vw" class="my_favorite_latin_words jqcloud wordcloud2"><div>
2023-03-26 01:51:46 +00:00
<script>
2023-03-26 02:55:35 +00:00
var container_{{subpart-id}} = $('[data-subpart-id="{{subpart-id}}"] .my_favorite_latin_words');
var width_{{subpart-id}} = container_{{subpart-id}}.width();
container_{{subpart-id}}.attr('width', width_{{subpart-id}})
var jqcloud_words_{{subpart-id}} = {{jqcloud_words}};
var text_map_{{subpart-id}} = {};
var max_value_{{subpart-id}} = 1;
$.each(jqcloud_words_{{subpart-id}}, function(i, v){
if (max_value_{{subpart-id}} < v.weight){
max_value_{{subpart-id}} = v.weight;
}
});
var list_{{subpart-id}} = $.map(jqcloud_words_{{subpart-id}}, function(v){
text_map_{{subpart-id}}[v.text] = v.link;
return [[v.text, Math.ceil(v.weight/max_value_{{subpart-id}}*3), v.link]];
});
container_{{subpart-id}}.on('wordcloudstop', function (e) {
$(this).children('span').each(function (i, v) {
var text = $(this).html();
$(this).html('<a title="'+ list_{{subpart-id}}[i][0] + '" style="color: inherit" href="' + list_{{subpart-id}}[i][2] +'">' + text + '</a>');
2023-03-26 01:51:46 +00:00
});
2023-03-26 02:55:35 +00:00
});
$(document).ready(function(){
WordCloud(container_{{subpart-id}}[0], {
list: list_{{subpart-id}},
gridSize: 3,
weightFactor: jqcloud_words_{{subpart-id}}.length * width_{{subpart-id}} / 550,
rotateRatio: 0,
shuffle: false,
drawOutOfBound: false,
shrinkToFit: true,
shape: 'square'
2023-03-26 01:51:46 +00:00
});
2023-03-26 02:55:35 +00:00
})
$(window).resize(function(){
width_{{subpart-id}} = container_{{subpart-id}}.width();
WordCloud(container_{{subpart-id}}[0], {
list: list_{{subpart-id}},
2023-03-26 01:51:46 +00:00
gridSize: 3,
2023-03-26 02:55:35 +00:00
weightFactor: jqcloud_words_{{subpart-id}}.length * width_{{subpart-id}} / 550,
2023-03-26 01:51:46 +00:00
rotateRatio: 0,
shuffle: false,
drawOutOfBound: false,
shrinkToFit: true,
shape: 'square'
});
})
</script>
2023-03-26 02:55:35 +00:00
</div>