I have a question about the site of Wix Editor X, a real estate company.
“Pull-down menu style filter connected to content manager dataset” and “property search function implemented with Velo code” (shown below) do not work at the same time. How can I solve this?
import wixData from ‘wix-data’ ;
$w . onReady ( function (){
const searchbox1 = $w ( "#searchbox1" )
const switch1 = $w ( "#switch1" )
const propertyDataset1 = $w ( "#propertyDataset1" )
$w ( "#propertyDataset1" ). onReady ( () => {
var count = $w ( "#propertyDataset1" ). getTotalCount ();
var str = count . toString ()
$w ( "#itemNumber" ). text = str ;
})
switch1 . onChange ( function ( event ){
const dealedFilter = wixData . filter (). eq ( "dealed" , **true** )
const dealedNotYetFilter = wixData . filter (). eq ( "dealed" , **false** )
let isChecked = $w ( "#switch1" ). checked ;
if ( isChecked == **false** ){
propertyDataset1 . setFilter ( dealedFilter . or ( dealedNotYetFilter ))
$w ( "#propertyDataset1" ). onReady ( () => {
var count = $w ( "#propertyDataset1" ). getTotalCount ();
var str = count . toString ()
$w ( "#itemNumber" ). text = str ;
})
}
**else** { propertyDataset1 . setFilter ( dealedNotYetFilter )}
$w ( "#propertyDataset1" ). onReady ( () => {
var count = $w ( "#propertyDataset1" ). getTotalCount ();
var str = count . toString ()
$w ( "#itemNumber" ). text = str ;
} );
})
searchbox1 . onInput ( function ( event ){
//入力値を受け取る
const inputValue = event . target . value ;
//console.log(inputValue)
const titlefilter = wixData . filter (). contains ( "title" , inputValue )
const address0Filter = wixData . filter (). contains ( "address0" , inputValue )
const address1Filter = wixData . filter (). contains ( "address1" , inputValue )
const typeFilter = wixData . filter (). contains ( "type" , inputValue )
const yearBuiltFilter = wixData . filter (). contains ( "yearBuilt" , inputValue )
const structureFilter = wixData . filter (). contains ( "structure" , inputValue )
//各フィルターをorメソッドで結合
const inputFilter = titlefilter . or ( address0Filter ). or ( address1Filter ). or ( typeFilter ). or ( yearBuiltFilter ). or ( structureFilter )
//データセットのフィルター条件にinputFilterの値をセット
propertyDataset1 . setFilter ( inputFilter )
})
})
$w ( “#propertyDataset1” ). onCurrentIndexChanged ( () => {
var count = $w ( “#propertyDataset1” ). getTotalCount ();
var str = count . toString ()
$w ( “#itemNumber” ). text = str ;
})