mirror of
https://github.com/wintercms/winter.git
synced 2024-06-28 05:33:29 +02:00
Change filter.js to fire requests on the control element (#4094)
Changed filter.js to fire its internal AJAX requests on the control's element instead of the closest form element. Previous behavior would fire the requests on a non-existant form element (as filter widgets are typically not located within a form element) and it looks like that was copy-paste oversight from the inspector javascript that the filter was originally based on. Credit to @fansaien
This commit is contained in:
parent
3118660d83
commit
331c8f4383
@ -145,16 +145,16 @@
|
||||
$(document).on('ajaxDone', '#controlFilterPopover input.filter-search-input', function(event, context, data){
|
||||
self.filterAvailable(data.scopeName, data.options.available)
|
||||
})
|
||||
|
||||
|
||||
$(document).on('click', '#controlFilterPopover [data-trigger="apply"]', function (e) {
|
||||
e.preventDefault()
|
||||
self.filterScope()
|
||||
self.filterScope()
|
||||
})
|
||||
|
||||
$(document).on('click', '#controlFilterPopover [data-trigger="clear"]', function (e) {
|
||||
e.preventDefault()
|
||||
self.filterScope(true)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
FilterWidget.prototype.focusSearch = function() {
|
||||
@ -237,12 +237,12 @@
|
||||
data = { loading: true }
|
||||
isLoaded = false
|
||||
}
|
||||
|
||||
|
||||
data = $.extend({}, data, {
|
||||
apply_button_text: this.getLang('filter.scopes.apply_button_text', 'Apply'),
|
||||
clear_button_text: this.getLang('filter.scopes.clear_button_text', 'Clear')
|
||||
})
|
||||
|
||||
|
||||
data.scopeName = scopeName
|
||||
data.optionsHandler = self.options.optionsHandler
|
||||
|
||||
@ -257,9 +257,9 @@
|
||||
placement: 'bottom',
|
||||
container: container
|
||||
})
|
||||
|
||||
|
||||
this.toggleFilterButtons()
|
||||
|
||||
|
||||
// Load options for the first time
|
||||
if (!isLoaded) {
|
||||
self.loadOptions(scopeName)
|
||||
@ -271,8 +271,7 @@
|
||||
* otherwise returns a deferred promise object.
|
||||
*/
|
||||
FilterWidget.prototype.loadOptions = function(scopeName) {
|
||||
var $form = this.$el.closest('form'),
|
||||
self = this,
|
||||
var self = this,
|
||||
data = { scopeName: scopeName }
|
||||
|
||||
/*
|
||||
@ -287,7 +286,7 @@
|
||||
/*
|
||||
* Request options from server
|
||||
*/
|
||||
return $form.request(this.options.optionsHandler, {
|
||||
return this.$el.request(this.options.optionsHandler, {
|
||||
data: data,
|
||||
success: function(data) {
|
||||
self.fillOptions(scopeName, data.options)
|
||||
@ -374,7 +373,7 @@
|
||||
} else {
|
||||
items.children().length > 0 ? buttonContainer.show() : buttonContainer.hide()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Saves the options to the update handler
|
||||
@ -383,14 +382,13 @@
|
||||
if (!this.isActiveScopeDirty || !this.options.updateHandler)
|
||||
return
|
||||
|
||||
var $form = this.$el.closest('form'),
|
||||
data = {
|
||||
var data = {
|
||||
scopeName: scopeName,
|
||||
options: this.scopeValues[scopeName]
|
||||
}
|
||||
|
||||
$.oc.stripeLoadIndicator.show()
|
||||
$form.request(this.options.updateHandler, {
|
||||
this.$el.request(this.options.updateHandler, {
|
||||
data: data
|
||||
}).always(function(){
|
||||
$.oc.stripeLoadIndicator.hide()
|
||||
@ -405,14 +403,13 @@
|
||||
this.scopeValues[scopeName] = isChecked
|
||||
|
||||
if (this.options.updateHandler) {
|
||||
var $form = this.$el.closest('form'),
|
||||
data = {
|
||||
var data = {
|
||||
scopeName: scopeName,
|
||||
value: isChecked
|
||||
}
|
||||
|
||||
$.oc.stripeLoadIndicator.show()
|
||||
$form.request(this.options.updateHandler, {
|
||||
this.$el.request(this.options.updateHandler, {
|
||||
data: data
|
||||
}).always(function(){
|
||||
$.oc.stripeLoadIndicator.hide()
|
||||
@ -430,14 +427,13 @@
|
||||
this.scopeValues[scopeName] = switchValue
|
||||
|
||||
if (this.options.updateHandler) {
|
||||
var $form = this.$el.closest('form'),
|
||||
data = {
|
||||
var data = {
|
||||
scopeName: scopeName,
|
||||
value: switchValue
|
||||
}
|
||||
|
||||
$.oc.stripeLoadIndicator.show()
|
||||
$form.request(this.options.updateHandler, {
|
||||
this.$el.request(this.options.updateHandler, {
|
||||
data: data
|
||||
}).always(function(){
|
||||
$.oc.stripeLoadIndicator.hide()
|
||||
@ -455,9 +451,9 @@
|
||||
this.updateScopeSetting(this.$activeScope, 0)
|
||||
}
|
||||
|
||||
this.pushOptions(scopeName);
|
||||
this.isActiveScopeDirty = true;
|
||||
this.$activeScope.data('oc.popover').hide()
|
||||
this.pushOptions(scopeName);
|
||||
this.isActiveScopeDirty = true;
|
||||
this.$activeScope.data('oc.popover').hide()
|
||||
}
|
||||
|
||||
FilterWidget.prototype.getLang = function(name, defaultValue) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user