@4site/engrid-scripts 0.20.3 → 0.20.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data-attributes.d.ts +3 -0
- package/dist/data-attributes.js +36 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
package/dist/data-attributes.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
// Component that adds data attributes to the Body
|
|
2
|
-
import { ENGrid, Country } from ".";
|
|
2
|
+
import { ENGrid, Country, DonationFrequency, EngridLogger } from ".";
|
|
3
3
|
export class DataAttributes {
|
|
4
4
|
constructor() {
|
|
5
|
+
this.logger = new EngridLogger("Data Attribute Changed", "#FFFFFF", "#4d9068", "🛠️");
|
|
5
6
|
this._country = Country.getInstance();
|
|
7
|
+
this._frequency = DonationFrequency.getInstance();
|
|
6
8
|
this.setDataAttributes();
|
|
7
9
|
}
|
|
8
10
|
setDataAttributes() {
|
|
@@ -135,6 +137,7 @@ export class DataAttributes {
|
|
|
135
137
|
}
|
|
136
138
|
if (ENGrid.getPageType() === "DONATION") {
|
|
137
139
|
this.addFrequencyDataAttribute();
|
|
140
|
+
this.addGiftAmountDataAttribute();
|
|
138
141
|
}
|
|
139
142
|
}
|
|
140
143
|
// Add a data attribute to the body tag with how many visible frequency options there are
|
|
@@ -148,4 +151,36 @@ export class DataAttributes {
|
|
|
148
151
|
});
|
|
149
152
|
ENGrid.setBodyData("visible-frequency", visibleFrequencyOptions.toString());
|
|
150
153
|
}
|
|
154
|
+
// Add a data attribute to the body tag with how many visible gift amount options there are
|
|
155
|
+
addGiftAmountDataAttribute() {
|
|
156
|
+
const updateGiftAmountData = () => {
|
|
157
|
+
const giftAmountOptions = document.querySelectorAll(".en__field--donationAmt .en__field__element .en__field__item");
|
|
158
|
+
let visibleGiftAmountOptions = 0;
|
|
159
|
+
giftAmountOptions.forEach((option) => {
|
|
160
|
+
if (ENGrid.isVisible(option)) {
|
|
161
|
+
visibleGiftAmountOptions++;
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
ENGrid.setBodyData("visible-gift-amount", visibleGiftAmountOptions.toString());
|
|
165
|
+
this.logger.log("Visible Gift Amount Changed to: " + visibleGiftAmountOptions.toString());
|
|
166
|
+
};
|
|
167
|
+
// Initial update
|
|
168
|
+
updateGiftAmountData();
|
|
169
|
+
// Observe changes in the donation amount section
|
|
170
|
+
const observer = new MutationObserver(updateGiftAmountData);
|
|
171
|
+
const targetNode = document.querySelector(".en__field--donationAmt");
|
|
172
|
+
if (targetNode) {
|
|
173
|
+
observer.observe(targetNode, {
|
|
174
|
+
childList: true,
|
|
175
|
+
subtree: true,
|
|
176
|
+
attributes: true,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
// Run update updateGiftAmountData when frequency changes
|
|
180
|
+
this._frequency.onFrequencyChange.subscribe(() => {
|
|
181
|
+
setTimeout(() => {
|
|
182
|
+
updateGiftAmountData();
|
|
183
|
+
}, 10);
|
|
184
|
+
});
|
|
185
|
+
}
|
|
151
186
|
}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const AppVersion = "0.20.
|
|
1
|
+
export declare const AppVersion = "0.20.4";
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const AppVersion = "0.20.
|
|
1
|
+
export const AppVersion = "0.20.4";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@4site/engrid-scripts",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.4",
|
|
4
4
|
"description": "Scripts for the ENGRID Project",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"strongly-typed-events": "^2.0.9"
|
|
26
26
|
},
|
|
27
27
|
"homepage": "https://github.com/4site-interactive-studios/engrid#readme",
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "11e6a1d7af282dc9f3601368f16ac82616aa5e3c",
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"nodemon": "^2.0.20"
|
|
31
31
|
}
|