1

I'm trying to convert some of my javascript old code into Revealing Prototype Pattern. I write the below code, But getting error

TypeError: AllShowing is not a constructor

$(document).ready(function () {

    var allShowing = new AllShowing();

    // Edit record
    $('#allShowingGrid').on('click', 'a.edit_showing', function (e) {

        e.preventDefault();

        $('html, body').animate({ scrollTop: 0 }, 'fast');

        var command = 'Edit';

        var tr = $(this).closest('tr');

        allShowing.mapGridDataToFormData(command, tr);
    });

});

var AllShowing = function () {

    this.gridContainer = "#allShowingGrid";

    this.showRequestData = function() {
        $("#requestData").show();
    };
};

AllShowing.prototype = function () {

    var mapGridDataToFormData = function(command, tr) {
        if (command == 'Edit') {

            showRequestData.call(this);

            var id = $.trim((tr).children("td.row_id").text());
            var propId = $.trim((tr).children("td.showing_PropertyId").text());
            var name = $.trim((tr).children("td.showing_FirstName").text());
            var email = $.trim((tr).children("td.showing_Email").text());
            var phone = $.trim((tr).children("td.showing_WorkPhone").text());
            var schedule = $.trim((tr).children("td.showing_PreferredDate").text());
            var reqDetails = $.trim((tr).children("td.showing_Comment").text());
            var startHour = $.trim((tr).children("td.showing_StartHour").text());

            $("#hdVisitorId").val(id);
            $("#FirstName").val(name);
            $("#Email").val(email);
            $("#Work_Phone").val(phone);
            $("#PreferredDate").val(schedule);
            $("#StartHour").val(startHour);

        }
    };

    return {        
        mapGridDataToFormData: mapGridDataToFormData
    };
}();

I check some of similar post like Javascript: TypeError: … is not a constructor and Javascript “Not a Constructor” Exception while creating objects

But can't solve my error. Can any body help me where i made a mistake.

Community
  • 1
  • 1
Arif
  • 4,274
  • 3
  • 40
  • 64

1 Answers1

0

Change var AllShowing = function () {

to

function AllShowing() {

it should work

Oxi
  • 2,732
  • 15
  • 27