Skip to content

Commit 9bcc94a

Browse files
adamzappauloxnet
authored andcommitted
Refactored corporate-member-join.js
- Stopped using jQuery - Moved refactored code to `djangoproject.js` - Reused membership level data between event handlers
1 parent 57c46b3 commit 9bcc94a

File tree

3 files changed

+29
-56
lines changed

3 files changed

+29
-56
lines changed

djangoproject/static/js/djangoproject.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,3 +228,32 @@ document.querySelectorAll('.btn-clipboard').forEach(function (el) {
228228
input_el.value = '25';
229229
});
230230
})();
231+
232+
// Manage amount and membership level fields on corporate membership page
233+
(function () {
234+
const form_el = document.querySelector('.corporate-membership-join-form');
235+
236+
if (!form_el) {
237+
return;
238+
}
239+
240+
const amount_el = form_el.querySelector('#id_amount');
241+
const level_el = form_el.querySelector('#id_membership_level');
242+
const levels = [-Infinity, 2000, 5000, 12500, 30000, 100000];
243+
244+
amount_el.addEventListener('change', function () {
245+
let value;
246+
247+
for (let i = 0; i < levels.length; i++) {
248+
if (this.value >= levels[i]) {
249+
value = i;
250+
}
251+
252+
level_el.value = value || '';
253+
}
254+
});
255+
256+
level_el.addEventListener('change', function () {
257+
amount_el.value = this.value ? levels[Number(this.value)] : '';
258+
});
259+
})();

djangoproject/static/js/main.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,5 @@ define(function () {
3333
mods.push('mod/stripe-change-card');
3434
}
3535

36-
if (hasClass('corporate-membership-join-form')) {
37-
mods.push('mod/corporate-member-join');
38-
}
39-
4036
require(mods);
4137
});

djangoproject/static/js/mod/corporate-member-join.js

Lines changed: 0 additions & 52 deletions
This file was deleted.

0 commit comments

Comments
 (0)