Saturday, January 23, 2016

generic code for filter client side

  //From here Display Books
    self.filterBooks = ko.computed(function () {
        if (!self.SearchBookName()) {
            return self.BookListArray();
        } else {
            return ko.utils.arrayFilter(self.BookListArray(), function (book) {
                return book.BookName() == self.SearchBookName();
            });
        }
    });

    // Get the List of Books based on Job Title and CivilID
    self.BindBooksList = function (BooksArray) {
        self.BookListArray.removeAll();
        ko.utils.arrayForEach(BooksArray, function (rslt) {
            self.BookListArray.push(new BooksDTO(rslt));
        });
    }


    <!-- ko if: BookClassificationID() ==1 -->
                                    <td data-bind="text:$index() + 1">....</td>
                                    <td data-bind="text:BookName">....</td>
                                    <td data-bind="text:AuthorName">....</td>
                                    <td><input type="checkbox" class="form-control input-sm"></td>
                                    <!-- /ko -->


@section Scripts {

    <script src='@Url.Content("~/JS_DTO/RequesterDTO.js")' type="text/javascript"></script>
    <script src='@Url.Content("~/JS_DTO/BooksDTO.js")' type="text/javascript"></script>
    <script src='@Url.Content("~/JS_UI/BooksUI.js")' type="text/javascript"></script>

    <script type="text/javascript">

        $(document).ready(function () {

            var owner = new BooksUI();
            owner.Requester = new RequesterDTO(new Object(), false);
            owner.Books = new BooksDTO(new Object());

            //  Get Requester Details
            var RequesterDetails = @Html.Raw(Json.Encode(ViewBag.Requester))
            owner.Requester.CivilID(RequesterDetails.CivilID);
            owner.Requester.Name(RequesterDetails.Name);
            owner.Requester.JobName(RequesterDetails.JobName);
            owner.Requester.DeptName(RequesterDetails.DeptName);
            owner.Requester.MobileNo('@ViewBag.MobileNo');

            // Bind List of Books
            var BookList = @Html.Raw(Json.Encode(ViewBag.BookList))
            owner.BindBooksList(BookList);





            ko.applyBindings(owner);
        });
    </script>

}

No comments:

Post a Comment