PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.8.5
Independent Analytics – WordPress Analytics Plugin v2.8.5
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / javascript-source / controllers / table_columns_controller.js
independent-analytics / javascript-source / controllers Last commit date
campaign_builder_controller.js 2 years ago chart_controller.js 1 year ago chart_geo_controller.js 2 years ago chart_interval_controller.js 2 years ago clipboard_controller.js 2 years ago copy_report_controller.js 2 years ago create_report_controller.js 2 years ago delete_data_controller.js 2 years ago delete_report_controller.js 2 years ago easepick_controller.js 2 years ago export_reports_controller.js 2 years ago filters_controller.js 1 year ago group_controller.js 2 years ago import_reports_controller.js 2 years ago migration_redirect_controller.js 2 years ago modal_controller.js 2 years ago plugin_group_options_controller.js 1 year ago pruner_controller.js 1 year ago quick_stats_controller.js 2 years ago real_time_controller.js 2 years ago rename_report_controller.js 2 years ago report_controller.js 1 year ago reset_analytics_controller.js 2 years ago save_report_controller.js 2 years ago select_input_controller.js 2 years ago set_favorite_report_controller.js 2 years ago sort_controller.js 2 years ago sortable_reports_controller.js 2 years ago table_columns_controller.js 2 years ago woocommerce_settings_controller.js 1 year ago
table_columns_controller.js
41 lines
1 import {Controller} from "@hotwired/stimulus"
2
3 export default class extends Controller {
4 static targets = [''] // TODO - Use targets for cells, data table, and data table container
5
6 connect() {
7 document.addEventListener('iawp:changeColumns', this.updateTableUI)
8 }
9
10 disconnect() {
11 document.removeEventListener('iawp:changeColumns', this.updateTableUI)
12 }
13
14 updateTableUI = (e) => {
15 const columnIds = e.detail.optionIds
16 const columnCount = columnIds.length
17 const cells = document.querySelectorAll('.cell[data-column]')
18
19 // Hide and show the correct cells
20 cells.forEach((cell) => {
21 const isPresent = columnIds.includes(cell.dataset.column)
22
23 cell.classList.toggle('hide', !isPresent)
24 cell.setAttribute('data-test-visibility', isPresent ? 'visible' : 'hidden')
25 })
26
27 // Update data-column-count so table knows how many columns are showing
28 document.getElementById('data-table').setAttribute('data-column-count', columnCount.toString())
29 document.getElementById('data-table').style.setProperty('--columns', columnCount.toString())
30 document.getElementById('data-table').style.setProperty('--columns-mobile', (columnCount - 1).toString())
31
32 // Adapt table size
33 document.getElementById('data-table').style.setProperty('min-width', (columnCount * 170) + 'px');
34 if (document.getElementById('data-table').offsetWidth > document.getElementById('data-table-container').offsetWidth) {
35 document.getElementById('data-table-container').classList.add('horizontal');
36 } else {
37 document.getElementById('data-table-container').classList.remove('horizontal');
38 }
39 }
40 }
41