Событие стрельбы дважды в кендо разборное

У меня есть приложение, которое использует Progress JSDO для загрузки данных и, используя метод jachdo foreach, добавляет данные в три разных списка в разборных панелях kendo в зависимости от состояния одного из полей. По какой-то причине списки добавляются в код дважды, и я не могу понять, почему. Я был бы признателен за еще один взгляд на мой код, который поможет мне разобраться в этой тайне.

Вот контроллер для представления (все это заключено в IIFE с некоторым другим кодом, но это соответствующий раздел.):

app.scanBarcode = {
    viewModel: new ScanViewModel(),
    onShow: function () {
        app.JSDOSession.addCatalog(app.JSDOSettings.catalogURIs);
        app.locJSDO.fill();
        $("#list-button").unbind().click(function () {
            app.goToScanFail();
        });

        app.scanBarcode.getCurrentReport();
    },
    onHide: function () {
        var reportJSDO = app.reportJSDO,
            writeOutReport = app.scanBarcode.writeOutReport;
        reportJSDO.unsubscribe('afterFill', writeOutReport);
    },
    getCurrentReport: function () {
        var reportJSDO = app.reportJSDO,
            writeOutReport = app.scanBarcode.writeOutReport;

        //Fill the JSDO from db and call function to  display the data
        reportJSDO.subscribe('afterFill', writeOutReport);
        reportJSDO.fill();
    },
    writeOutReport: function (jsdo, success, request) {
        var date = app.getDate();
        jsdo.foreach(function (report) {
            var reportDate = report.data.STAMP_DT,
                completed = "<span class='glyphicon glyphicon-ok'></span>",
                notCompleted = "",
                span;
            if (reportDate == date) {
                if (report.data.STAMP_TM == null) {
                    span = notCompleted;
                    $("#uncompleted-list").append(
                        "<li class='list-group-item'>" +
                        span + " " +
                        report.data.LOCATION_ID +
                        ' ' +
                        report.data.LOCATION_NAME +
                        "</li>"
                    );
                } else {
                    span = completed;
                    $("#completed-list").append(
                        "<li class='list-group-item'>" +
                        span + " " +
                        report.data.LOCATION_ID +
                        ' ' +
                        report.data.LOCATION_NAME +
                        "</li>"
                    );
                }

                $("#all-list").append(
                    "<li class='list-group-item'>" +
                    span + " " +
                    report.data.LOCATION_ID +
                    ' ' +
                    report.data.LOCATION_NAME +
                    "</li>"
                );
            }
        });
    }
}

Это HTML на мой взгляд:

<div data-role="view" data-title="Scan Location" data-reload="true" data-layout="views-layout" data-model="app.scanBarcode.viewModel" data-show="app.scanBarcode.onShow" data-hide="app.scanBarcode.onHide">
<div class="col-xs-12 col-md-6 col-md-offset-3">
    <h3 class="hassubtitle">Begin Scan:</h3>
    <button class="btn btn-xlg btn-primary btn-block" data-bind="click: scan">Scan</button>
    <button id="list-button" class="btn btn-lg btn-default btn-block">Skip</button>
</div>

<div class="col-xs-12 col-md-6 col-md-offset-3">
    <div data-role="collapsible" id="completed-collapsible">
        <h2>
            Completed
        </h2>
        <div data-role="scroller" id="completed-list"></div>
    </div>
    <div data-role="collapsible" id="uncompleted-collapsible">
        <h2>
            Uncompleted
        </h2>
        <div data-role="scroller" id="uncompleted-list"></div>
    </div>
    <div data-role="collapsible" id="all-collapsible">
        <h2>
            All
        </h2>
        <div data-role="scroller" id="all-list"></div>
    </div>
</div>

Спасибо за помощь заранее. Я единственный веб-разработчик на моей работе, и мне не с кем здесь спросить, поэтому я очень ценю вас всех!

0 ответов

Другие вопросы по тегам