@@ -107,14 +107,15 @@ class URLSync {
107107 this . urlUtils = urlUtils ;
108108 this . originalConfig = null ;
109109 this . timer = timerMaker ( Date . now ( ) ) ;
110+ this . mapping = options . mapping || { } ;
110111 this . threshold = options . threshold || 700 ;
111112 this . trackedParameters = options . trackedParameters || [ 'query' , 'attribute:*' , 'index' , 'page' , 'hitsPerPage' ] ;
112113 }
113114
114115 getConfiguration ( currentConfiguration ) {
115116 this . originalConfig = currentConfiguration ;
116117 let queryString = this . urlUtils . readUrl ( ) ;
117- let config = AlgoliaSearchHelper . getConfigurationFromQueryString ( queryString ) ;
118+ let config = AlgoliaSearchHelper . getConfigurationFromQueryString ( queryString , { mapping : this . mapping } ) ;
118119 return config ;
119120 }
120121
@@ -137,12 +138,15 @@ class URLSync {
137138
138139 renderURLFromState ( state ) {
139140 let currentQueryString = this . urlUtils . readUrl ( ) ;
140- let foreignConfig = AlgoliaSearchHelper . getForeignConfigurationInQueryString ( currentQueryString ) ;
141+ let foreignConfig = AlgoliaSearchHelper . getForeignConfigurationInQueryString ( currentQueryString , { mapping : this . mapping } ) ;
141142 foreignConfig . is_v = majorVersionNumber ;
142143
143144 let qs = urlHelper . getQueryStringFromState (
144145 state . filter ( this . trackedParameters ) ,
145- { moreAttributes : foreignConfig }
146+ {
147+ moreAttributes : foreignConfig ,
148+ mapping : this . mapping
149+ }
146150 ) ;
147151
148152 if ( this . timer ( ) < this . threshold ) {
@@ -157,17 +161,17 @@ class URLSync {
157161 createURL ( state ) {
158162 let currentQueryString = this . urlUtils . readUrl ( ) ;
159163 let filteredState = state . filter ( this . trackedParameters ) ;
160- let foreignConfig = algoliasearchHelper . url . getUnrecognizedParametersInQueryString ( currentQueryString ) ;
164+ let foreignConfig = algoliasearchHelper . url . getUnrecognizedParametersInQueryString ( currentQueryString , { mapping : this . mapping } ) ;
161165 // Add instantsearch version to reconciliate old url with newer versions
162166 foreignConfig . is_v = majorVersionNumber ;
163167
164- return this . urlUtils . createURL ( algoliasearchHelper . url . getQueryStringFromState ( filteredState ) ) ;
168+ return this . urlUtils . createURL ( algoliasearchHelper . url . getQueryStringFromState ( filteredState , { mapping : this . mapping } ) ) ;
165169 }
166170
167171 onHistoryChange ( fn ) {
168172 this . urlUtils . onpopstate ( ( ) => {
169173 let qs = this . urlUtils . readUrl ( ) ;
170- let partialState = AlgoliaSearchHelper . getConfigurationFromQueryString ( qs ) ;
174+ let partialState = AlgoliaSearchHelper . getConfigurationFromQueryString ( qs , { mapping : this . mapping } ) ;
171175 let fullState = merge ( { } , this . originalConfig , partialState ) ;
172176 fn ( fullState ) ;
173177 } ) ;
0 commit comments