PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.14.2
Independent Analytics – WordPress Analytics Plugin v2.14.2
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 / overview / module_picker.js
independent-analytics / javascript-source / controllers / overview Last commit date
add_module.js 1 year ago checkbox_group.js 1 year ago module.js 1 year ago module_editor.js 1 year ago module_list.js 1 year ago module_picker.js 1 year ago reorder_modules.js 1 year ago
module_picker.js
61 lines
1 import {Controller} from "@hotwired/stimulus"
2
3 export default class extends Controller {
4 static values = {
5 moduleToSwap: String
6 }
7
8 showIntro() {
9 this.element.classList.add('show-intro')
10 this.element.classList.remove('show-list')
11 if (this.element.classList.contains('top'))
12 this.element.classList.remove('visible')
13 }
14
15 cancel() {
16 if(this.isSwapping()) {
17 this.element.previousSibling.classList.remove('hidden')
18 this.element.remove()
19 } else {
20 this.showIntro()
21 }
22 }
23
24 showList() {
25 this.element.classList.remove('show-intro')
26 this.element.classList.add('show-list')
27 }
28
29 /**
30 * Scroll to the module picker and call it out
31 */
32 scrollToPicker() {
33 this.showList()
34
35 // Let browser calculate new height for the module picker before scrolling to it
36 requestAnimationFrame(() => {
37 const reportHeader = document.getElementById('report-header-container')
38 const modulePicker = this.element
39 const adminHeaderHeight = 32
40 const offset = 24
41 const top = document.documentElement.scrollTop + modulePicker.getBoundingClientRect().top - reportHeader.getBoundingClientRect().height - adminHeaderHeight - offset
42 window.scrollTo({ top, behavior: "smooth" });
43 })
44 }
45
46 showModule(event) {
47 const moduleId = event.currentTarget.dataset.moduleId
48 const templateString = document.getElementById(moduleId + '-module-template').innerHTML
49 const templateDocument= new DOMParser().parseFromString(templateString, "text/html");
50 const moduleEditor = templateDocument.body.firstElementChild
51
52 moduleEditor.querySelector('button.change-module-type').remove()
53 moduleEditor.setAttribute('data-module-editor-module-to-swap-value', this.moduleToSwapValue)
54
55 this.element.replaceWith(moduleEditor)
56 }
57
58 isSwapping() {
59 return !!this.moduleToSwapValue
60 }
61 }