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 / reorder_modules.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
reorder_modules.js
56 lines
1 import {Controller} from "@hotwired/stimulus"
2
3 export default class extends Controller {
4 modules = new Set()
5
6 connect() {
7 document.addEventListener('iawp:moduleEditingStarted', this.moduleEditingStarted)
8 document.addEventListener('iawp:moduleEditingFinished', this.moduleEditingFinished)
9 }
10
11 disconnect() {
12 document.removeEventListener('iawp:moduleEditingStarted', this.moduleEditingStarted)
13 document.removeEventListener('iawp:moduleEditingFinished', this.moduleEditingFinished)
14 }
15
16 toggleReordering() {
17 if(!this.isReorderingEnabled()) {
18 return
19 }
20
21 // Refactor at some point...
22 const $ = jQuery
23 $(this.element).toggleClass('active')
24 const isActive = $(this.element).hasClass('active')
25 $('#iawp-dashboard').toggleClass('reordering', isActive)
26 $('.iawp-module').toggleClass('draggable-module', isActive)
27 if (isActive) {
28 document.querySelector('.add-module-toolbar-button').setAttribute('disabled', 'disabled')
29 } else {
30 document.querySelector('.add-module-toolbar-button').removeAttribute('disabled')
31 }
32 window.scrollTo({ top: 0, behavior: "smooth" })
33 }
34
35 moduleEditingStarted = ({ detail: { moduleId }}) => {
36 this.modules.add(moduleId)
37 this.updateButton()
38 }
39
40 moduleEditingFinished = ({ detail: { moduleId }}) => {
41 this.modules.delete(moduleId)
42 this.updateButton()
43 }
44
45 updateButton() {
46 if(this.isReorderingEnabled()) {
47 this.element.removeAttribute('disabled')
48 } else {
49 this.element.setAttribute('disabled', 'disabled')
50 }
51 }
52
53 isReorderingEnabled() {
54 return this.modules.size === 0
55 }
56 }