Change your filter to this. (Those are two single quotes.)
[[This.text == '' || Item.CaseNumber.indexOf(this.text) > -1]]
This says, in English, “Show each row if the search field is blank OR if the search field matches the row.” (The double-pipe means OR.)
A filter is applied to the repeater row-by-row, and shows a given row when it evaluates as true and doesn’t show the row if it evaluates as false.
You can put multiple true/false tests in a single filter by separating them with ANDs (
&&) or ORs (
||), or a combination of both. When two such tests are OR’ed together, as in this case, only one of them needs to be true for the whole filter to be true.
When the field is blank, the first true/false test in the filter above evaluates as TRUE for each row no matter what the row contains because it does not refer to anything in the row itself. And when the field is blank it doesn’t matter whether the second test evaluates to true or not: just one test needs to be true because of the OR. So all rows are shown when the field is blank.