I need to change between two strategies of sorting and displaying gadgets in Views by toggling a button. My uncovered filters are within the URL so I need to embrace the question within the path with the intention to preserve the uncovered filter outcomes. Each shows of the view have “use ajax” set to “sure”.
My hyperlink is :
$link_path = ($display_data->display_options['path'] . '/nojs');
$question = drupal_get_query_parameters();
$toggle_link = l($toggle_icon, $link_path, array('html' => true, 'question' => $question, 'attributes' => array('class' => array('use-ajax'))));
Which outputs one thing like:
<a href="href="/my_view_page_1/nojs?phrases=take a look at¶m1[0]=123">[omitted SVG path for brevity]</a>
In a js file in my theme, I’ve:
/**
* Toggle button and ajax views
*/
var viewId = settings.mytheme_toggle_view.view;
var viewDisplayId = settings.mytheme_toggle_view.current_display;
var viewOtherDisplayId = settings.mytheme_toggle_view.other_display;
$.ajax({
url: settings.basePath + 'views/ajax/' + settings.mytheme_toggle_view.question,
sort: 'put up',
knowledge: {
view_name: viewId,
view_display_id: viewOtherDisplayId,
view_args: {}, // your views arguments
},
dataType: 'json',
success: operate (response) {
var newView = ($(response[1].knowledge));
$(".view-display-id-" + viewDisplayId).replaceWith($(newView));
}
});
/* Finish views ajax stuff. */
What occurs now:
- I am going to my view and choose my uncovered filters and hit “apply”
- I arrive at my view’s default show web page
- Earlier than I can click on something, AJAX fires and replaces the view content material with the choice view content material.
- If I click on the toggle, it’s a hyperlink (with full web page reload, not AJAX) to the default show web page once more.
- Step three repeats.
What I would like is for the view to
- Not change on pageload, however wait till the toggle button is clicked
- Be capable to be toggled backwards and forwards fairly than solely toggling as soon as after which changing into a daily, page-reloading hyperlink.
- Protect the uncovered filters
- Have the pager nonetheless work (at present is a hyperlink to some JSON output of the settings object).