|
24 | 24 | if (!this.trigger) { |
25 | 25 | throw Error('Trigger element does not exist!') |
26 | 26 | } |
27 | | - |
28 | | - var targetId = this.trigger.dataset.target |
29 | | - var toggleServiceName = this.trigger.dataset.toggle |
30 | | - var enterServiceName = this.trigger.dataset.enter |
31 | | - var leaveServiceName = this.trigger.dataset.leave |
32 | | - |
33 | | - if ( |
34 | | - typeof toggleServiceName !== 'undefined' || |
35 | | - typeof enterServiceName !== 'undefined' || |
36 | | - typeof leaveServiceName !== 'undefined' |
37 | | - ) { |
38 | | - if (toggleServiceName) { |
39 | | - this.type = 'toggle' |
40 | | - this.service = Toggle.services[toggleServiceName] |
41 | | - } else if (leaveServiceName) { |
42 | | - this.type = 'leave' |
43 | | - this.service = Toggle.services[leaveServiceName] |
44 | | - } else if (enterServiceName) { |
45 | | - this.type = 'enter' |
46 | | - this.service = Toggle.services[enterServiceName] |
47 | | - } |
48 | | - } else { |
| 27 | + |
| 28 | + var dataset = this.trigger.dataset |
| 29 | + |
| 30 | + if ('leave' in dataset) { |
| 31 | + this.type = 'leave' |
| 32 | + this.service = !dataset.leave ? Toggle.services.default : Toggle.services[dataset.leave] |
| 33 | + } else if ('enter' in dataset) { |
| 34 | + this.type = 'enter' |
| 35 | + this.service = !dataset.enter ? Toggle.services.default : Toggle.services[dataset.enter] |
| 36 | + } else if ('toggle' in dataset) { |
49 | 37 | this.type = 'toggle' |
50 | | - this.service = Toggle.services.default |
| 38 | + this.service = !dataset.toggle ? Toggle.services.default : Toggle.services[dataset.toggle] |
51 | 39 | } |
52 | 40 |
|
53 | | - if (typeof targetId !== 'undefined') { |
54 | | - this.target = document.getElementById(targetId) |
| 41 | + if (dataset.target) { |
| 42 | + this.target = document.getElementById(dataset.target) |
55 | 43 | } else { |
56 | 44 | this.target = this.trigger |
57 | 45 | } |
|
0 commit comments