|
1 | 1 | (function($) {
|
2 | 2 | /** global: Craft */
|
3 | 3 | /** global: Garnish */
|
4 |
| - var EditWebhook = Garnish.Base.extend( |
| 4 | + const EditWebhook = Garnish.Base.extend( |
5 | 5 | {
|
6 | 6 | $nameInput: null,
|
7 | 7 | $classInput: null,
|
|
24 | 24 | this.$filtersTable = $('#filters');
|
25 | 25 |
|
26 | 26 | this.filters = {};
|
27 |
| - var $filterRows = this.$filtersTable.find('tr'); |
28 |
| - var filter; |
29 |
| - for (var i = 0; i < $filterRows.length; i++) { |
30 |
| - filter = new EditWebhook.Filter($filterRows.eq(i)); |
| 27 | + const $filterRows = this.$filtersTable.find('tr'); |
| 28 | + for (let i = 0; i < $filterRows.length; i++) { |
| 29 | + const filter = new EditWebhook.Filter($filterRows.eq(i)); |
31 | 30 | this.filters[filter.class] = filter;
|
32 | 31 | }
|
33 | 32 |
|
|
37 | 36 | },
|
38 | 37 |
|
39 | 38 | handleTextChange: function() {
|
40 |
| - var input = this.$nameInput.get(0); |
| 39 | + const input = this.$nameInput.get(0); |
41 | 40 |
|
42 | 41 | // does it look like they just typed -> or => ?
|
43 | 42 | if (typeof input.selectionStart !== 'undefined' && input.selectionStart === input.selectionEnd) {
|
44 |
| - var pos = input.selectionStart; |
45 |
| - var last2 = input.value.substring(pos - 2, pos); |
| 43 | + const pos = input.selectionStart; |
| 44 | + const last2 = input.value.substring(pos - 2, pos); |
46 | 45 | if (last2 === '->' || last2 === '=>') {
|
47 | 46 | input.value = input.value.substring(0, pos - 2) + '➡️' + input.value.substring(pos);
|
48 | 47 | input.setSelectionRange(pos, pos);
|
|
51 | 50 | },
|
52 | 51 |
|
53 | 52 | handleEventChange: function() {
|
54 |
| - var classChanged = this.classVal !== (this.classVal = this.$classInput.val()); |
55 |
| - var eventChanged = this.eventVal !== (this.eventVal = this.$eventInput.val()); |
| 53 | + const classChanged = this.classVal !== (this.classVal = this.$classInput.val()); |
| 54 | + const eventChanged = this.eventVal !== (this.eventVal = this.$eventInput.val()); |
56 | 55 | if (classChanged || eventChanged) {
|
57 | 56 | clearTimeout(this.filterTimeout);
|
58 | 57 | this.filterTimeout = setTimeout(this.updateFilters.bind(this), 500);
|
|
64 | 63 | return;
|
65 | 64 | }
|
66 | 65 | this.$filterSpinner.removeClass('hidden');
|
67 |
| - Craft.postActionRequest('webhooks/webhooks/filters', { |
68 |
| - senderClass: this.classVal, |
69 |
| - event: this.eventVal, |
70 |
| - }, function(response, textStatus) { |
71 |
| - this.$filterSpinner.addClass('hidden'); |
72 |
| - if (textStatus === 'success') { |
73 |
| - this.resetFilters(); |
74 |
| - if (response.filters.length) { |
75 |
| - this.$noFiltersMessage.addClass('hidden'); |
76 |
| - this.$filtersTable.removeClass('hidden'); |
77 |
| - for (var i = 0; i < response.filters.length; i++) { |
78 |
| - this.filters[response.filters[i]].$tr.removeClass('hidden'); |
79 |
| - } |
80 |
| - } else { |
81 |
| - this.$noFiltersMessage.removeClass('hidden'); |
82 |
| - this.$filtersTable.addClass('hidden'); |
| 66 | + Craft.sendActionRequest('POST', 'webhooks/webhooks/filters', { |
| 67 | + data: { |
| 68 | + senderClass: this.classVal, |
| 69 | + event: this.eventVal, |
| 70 | + } |
| 71 | + }).then(response => { |
| 72 | + this.resetFilters(); |
| 73 | + if (response.data.filters.length) { |
| 74 | + this.$noFiltersMessage.addClass('hidden'); |
| 75 | + this.$filtersTable.removeClass('hidden'); |
| 76 | + for (let i = 0; i < response.data.filters.length; i++) { |
| 77 | + this.filters[response.data.filters[i]].$tr.removeClass('hidden'); |
83 | 78 | }
|
| 79 | + } else { |
| 80 | + this.$noFiltersMessage.removeClass('hidden'); |
| 81 | + this.$filtersTable.addClass('hidden'); |
84 | 82 | }
|
85 |
| - }.bind(this)); |
| 83 | + }).finally(() => { |
| 84 | + this.$filterSpinner.addClass('hidden'); |
| 85 | + }); |
86 | 86 | },
|
87 | 87 |
|
88 | 88 | resetFilters: function() {
|
89 |
| - for (var filter in this.filters) { |
| 89 | + for (let filter in this.filters) { |
90 | 90 | if (!this.filters.hasOwnProperty(filter)) {
|
91 | 91 | continue;
|
92 | 92 | }
|
|
0 commit comments