0
I want to filter according to what the user type on the screen. I have a form with the ng-model="q" and the | filter:q
Where my http.get pass the parameters I am filtering, where ng-model is the "fetch parameter:
$scope.pagination = {
        limit: 10,
        offset: 0
    };
    $scope.pagination.limit = 8;
    $scope.pagination.offset = 0;
    $scope.q = '';
    $scope.noMoreItemsAvailable = false;
    $scope.ofertass = [];
    $scope.getRecord = function () {
        $http.get("http://meusite.com.br/admin/apis/api_listagem/lista_oferta_api.php?json=promocao" + "&latitude=" + $scope.lat_cliente + "&longitude=" + $scope.long_cliente + "&raio=" + $scope.raio + "&limit=" + $scope.pagination.limit + "&offset=" + $scope.pagination.offset + "&busca=" + $scope.q).then(function (response) {
                // console.log(response.data);
                if (response.data.length) {
                    $scope.ofertass.push.apply($scope.ofertass, response.data);
                    $scope.pagination.offset = $scope.pagination.offset + $scope.pagination.limit;
                    window.localStorage.setItem("data_ofertass", JSON.stringify(response.data));
                } else {
                    $scope.noMoreItemsAvailable = true;
                    if (window.localStorage.getItem("data_ofertass") === null) {
                        $state.go("nhaac.nachegamos");
                    }
                }
            },
            function (response) {
                // error message
                var alertPopup = $ionicPopup.alert({
                    title: "error " + response.status,
                    template: response.statusText + "<br/>Problema: Conexão com sua Internet.",
                });
            }).finally(function () {
            console.log("finally....");
            $scope.$broadcast('scroll.infiniteScrollComplete');
        });
    }
    $scope.doRefresh = function () {
        limit = 20;
        offset = 0;
        $scope.q = '';
        $scope.noMoreItemsAvailable = false;
        $scope.getRecord();
    };
Works well, but when I empty the search field returns blank results with the last filter below.
Follow my search on View:
<center>
        <form ng-submit="fechaTeclado()">
            <div class="bar bar-subheader bar-light">
                <label class="item item-input item-floating-label">
                    <i class="icon ion-search placeholder-icon"></i>
                    <input type="text" size="100" ng-model="q" placeholder="Procurar" type="submit" ng-submit="fechaTeclado()" ng-click="fechaTeclado()" />
                    <input type="submit" id="submit" value="OK" ng-click="fechaTeclado()" />
                </label>
            </div>
        </form>
    </center>
What am I doing wrong? I test the URL with the parameters and it works well...
If I leave "&search=" empty lists everything. That’s correct. But in my application, you’re not clearing the search.
EDITED:
Has the function Closekeyboard() which is only to close the device keyboard:
$scope.fechaTeclado = function (q) {
    $cordovaKeyboard.close();
    $scope.q = q;        
    $scope.getRecord();
};
I’m thinking of using a Slice() or splice() in getRecord to eliminate what shouldn’t seem:
Note in the image above, that there are blank spaces that were filled before the filter, and if dragging shows what was searched.
But I’m on a good logic of how to do this.

Dude, I couldn’t quite figure out what was wrong. What was your question? This line did not understand -> It works well, but when I empty the search field returns me blank results with the last filter below.
– Robson
I’ll capture the screens and edit the question.
– Ramos
How many points do I have to have to reward the question?
– Ramos