PageSourceSearch

https://www.magnumphotos.com/wp-content/cache/min/1/wp-content/themes/template/res/js/filter.js?ver=1789541794

js magnumphotos.com collected 2026-09-24 08:26:26 UTC 9,131 bytes, 28 lines download raw bytes

1(function($){"use strict";function DW_Filter($el){var that=this;that.$el=$el;that.filters={};that.page=1;that.advanced=that.$el.is('.p-search__filters');that.$filter=this.$el.is('.b-filter')?this.$el:that.$el.find('.b-filter');this.$el.find('li.selected:not(.default)').each(function(){var data=$(this).data();if(that.advanced){if(!(data.key in that.filters)){that.filters[data.key]=[]}
2that.filters[data.key].push(data.value)}else{that.filters[data.key]=data.value}});$.each(this.events,function(eventElement,callback){var parts=eventElement.split(' '),event=parts.shift(),element=parts.join(' ');if(element.length){that.$el.on(event,element,function(e){that[callback].call(that,e)})}else{that.$el.on(event,function(e){that[callback].call(that,e)})}});window.onpopstate=function(event){if('state' in event){that.stateChanged(event.state)}}
3that.$filter.find('.b-filter__main-title').click(function(e){e.preventDefault();that.$filter.find('.b-filter__content').slideToggle();$(this).toggleClass('opened');setTimeout(function(){window.resizeLockable()},400)});$(document).on('click','.button--load_more',function(){that.loadMore(this.href);return!1})}
4$.extend(DW_Filter.prototype,{events:{'click .closer':'deselect','click .filtered svg':'deselect','click .b-filter__column li':'elementClick','click .taxonomy_filter li':'typeClick','click .open-btn':'toggle','click .b-filter__title':'toggle','click .plus':'toggle',},deselect:function(e){var that=this,$li=$(e.target).closest('li');that.filter($li.data('key'),$li.data('value'),'remove');$li.removeClass('selected').siblings('.default').addClass('selected');if($li.closest('.filtered').length){$li.remove()}
5e.stopPropagation();return!1},elementClick:function(e){var that=this,$li=$(e.target).closest('li'),$info_title=$('.selected-title');var $column=$li.closest('.b-filter__column');if(!$column.data('opened')){if(!$column.length&&!resp.t)that.open(that.$el.find('.b-filter__column'));else that.open($column);return!1}
6e.preventDefault();if(this.advanced&&!$li.closest('.taxonomy_filter').length&&'order'!=$li.data('key')){return this.addSelectedItem($li,e)}
7$li.siblings('.selected').removeClass('selected');if('undefined'!=typeof $li.data('value')){this.filter($li.data('key'),$li.data('value'))}else{this.filter($li.data('key'))}
8if($info_title.length){$('.selected').removeClass('selected');$info_title.removeClass('selected-title');$li.closest('.b-filter__column').find('.b-filter__title').addClass('selected-title')}
9$li.addClass('selected');that.close($li.closest('.b-filter__column'))},typeClick:function(e){var that=this,$li=$(e.target).closest('li');e.preventDefault();$li.siblings('.selected').removeClass('selected');if($li.data('value')){this.filter($li.data('key'),$li.data('value'))}else{this.filter($li.data('key'))}
10$li.addClass('selected');that.close($li.closest('.b-filter__column'))},addSelectedItem:function($li,e){var that=this,$clone=this.$el.find('.filtered .default').clone().removeClass('default');if(!this.filter($li.data('key'),$li.data('value'),'add')){that.close($li.closest('.b-filter__column'));return}
11$clone.data('key',$li.data('key')).data('value',$li.data('value')).appendTo(that.$el.find('.filtered ul')).find('.text').text($li.find('.content').text());that.close($li.closest('.b-filter__column'))},open:function($column){var that=this;if($column.data('opened'))return;this.$filter.addClass('opened');that.$filter.find('.b-filter').addClass('opened');if(resp.t)$column.addClass('opened');else{that.$filter.find('.b-filter__column').addClass('opened');$('.calendar__filter').addClass('opened')}
12$column.data('opened',!0).addClass('opened');setTimeout(function(){window.resizeLockable()},400)},close:function($column){var that=this;that.$filter.removeClass('opened');that.$filter.find('.b-filter').removeClass('opened');if(resp.t)$column.removeClass('opened');else{that.$filter.find('.b-filter__column').removeClass('opened');$('.calendar__filter').removeClass('opened')}
13setTimeout(function(){window.resizeLockable();if($column.data('opened')){$column.data('opened',!1)}},400)},toggle:function(e){var $column=$(e.target).closest('.b-filter__column');
13if(!$column.length)$column=this.$filter.find('.b-filter__column');if($column.data('opened')){this.close($column)}else{this.open($column)}},encode:function(obj){var that=this,str=[];$.each(obj,function(key,value){var push=that.advanced?value.length>0:!0;if(push){str.push(key+'='+encodeURIComponent('object'==typeof value?value.join(','):value))}});str=str.join('&');return btoa(str)},url:function(filter,url){if(!url){url=this.$el.is('.b-filter')?this.$el.data('url'):this.$el.find('.b-filter').data('url')}
14if(filter&&filter.length){url=url.replace('%s',filter)}else{url=url.replace('filter/%s/','');url=url.replace('&filter=%s','');url=url.replace('?filter=%s','')}
15return url},filter:function(key,value,mode){var that=this,old=this.encode(this.filters),updated,state,idx,returnable=!0;if('undefined'==typeof mode){mode='undefined'==typeof value?'remove':'add'}
16if(this.advanced&&['type','order'].indexOf(key)==-1){if(!(key in that.filters))
17that.filters[key]=[];idx=that.filters[key].indexOf(value);if('remove'==mode){if(idx!=-1){that.filters[key].splice(idx,1);returnable=!0}else{returnable=!1}}else{if(idx==-1){that.filters[key].push(value);returnable=!0}else{returnable=!1}}}else{if('remove'==mode){delete that.filters[key]}else{this.filters[key]=value}}
18updated=this.encode(this.filters);if(old==updated){return returnable}
19state=JSON.stringify({filters:this.filters,key:updated});history.pushState(state,'',this.url(updated));this.load();return returnable},stateChanged:function(state){var that=this;if('string'==typeof state){try{state=JSON.parse(state)}catch(e){return}}
20this.$el.find('.default').each(function(){var $li=$(this),key=$li.data('key'),value;if(key in state.filters){value=state.filters[key]}else{value=!1}
21if(value){$li.removeClass('selected').siblings().removeClass('selected').filter('[data-value="'+value+'"]').addClass('selected');that.filters[key]=value}else{$li.addClass('selected').siblings().removeClass('selected');delete that.filters[key]}});this.load()},load:function(){var that=this;$('body').addClass('loading-filter');$.ajax({url:this.url(this.encode(this.filters)),success:function(response){var $new=$('.main-masonry > .teaser, .main-masonry > .search_page, .main-masonry > .masonry-item, .main-masonry > .breakers, .main-masonry > .search_page-wrapper',response);if($new.find('img').length){$new.imagesLoaded(function(){$('body').removeClass('loading-filter');that.masonry($new)},!0)}else{that.masonry($new);$('body').removeClass('loading-filter')}
22$('.more-btn-parent').empty().append($('.more-btn-parent > *',response))}})},masonry:function($new,appendOnly){var $mas=$('.main-masonry'),$old=$('.main-masonry > .teaser, .main-masonry > .search_page, .main-masonry .masonry-item, .main-masonry > .breakers, .main-masonry > .search_page-wrapper').removeClass('add');if(this.encode(this.filters).length){$('.hide-on-filters').slideUp();$('.show-on-filters').slideDown()}else{$('.hide-on-filters').slideDown();$('.show-on-filters').slideUp()}
23if(appendOnly){$mas.isotope().append($new.addClass('add')).isotope('appended',$mas.find('.add'))}else{$old.each(function(){if(!this.id||!$new.filter('#'+this.id).length){$(this).addClass('remove')}});$new.each(function(){var $item=$(this),idx=$item.data('index');if(!this.id||!$old.filter('#'+this.id).length){$item.addClass('add')}else{$old.filter('#'+this.id).attr('data-index',idx).data('index',idx)}});$mas.isotope('remove',$old.filter('.remove'));$mas.isotope().append($new.filter('.add')).isotope('appended',$mas.find('.add'));$mas.isotope('updateSortData').isotope();setTimeout(function(){$old.filter('.remove').remove()},1000);setTimeout(function(){window.updateAll()},2000);return;var items=[];$mas.children().each(function(){items.push($(this).remove())});items.sort(function(a,b){return a.data('index')<b.data('index')?-1:1});$mas.append(items);$mas.isotope().isotope('reloadItems')}},loadMore:function(href){var that=this,args;args={type:'get',success:function(response){var $new=$('.main-masonry > .teaser, .main-masonry .breakers, .main-masonry > .search_page-wrapper',response);if($new.find('img').length){$new.imagesLoaded(function(){that.masonry($new,!0);$('.button--load_more').removeClass('loading-more')},!0)}else{that.masonry($new,!0);$('.button--load_more').removeClass('loading-more')}
24$('.more-btn-parent').empty().append($('.more-btn-parent > *',response))}};var page=href.replace(/^.*paging=(\d+)/,'$1');if(page.match(/^\d+$/)){args.url=this.url(this.encode(this.filters));args.data={paging:page}}else{args.url=this.url(this.encode(this.filters),href)}
25$('.button--load_more').addClass('loading-more');$.ajax(args)}});$(document).ready(function(){$('.b-filter').each(function(){var $this=$(this);if($this.closest('.p-search__filters').length){$this=$this.closest('.p-search__filters')}
25
26if($this.closest('.p-calendar').length){$this=$this.closest('.p-calendar')}
27if($this.closest('.category-content').length){$this=$this.closest('.category-content')}
28new DW_Filter($this)})})})(jQuery)

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.