function _HandlerBase (handler, module, type, baseUrl) { handler.Url = "Handlers/" + module + "/" + type; if(baseUrl) handler.Url = baseUrl + "/" + handler.Url; handler.Details = function (so, callback) { if(_.getType(so) === "String" || parseInt(so)) so = { Id: so }; var o = { Action: "details", So: so }; //console.log("DETAILS", o); return G.post(handler.Url, JSON.stringify(o), callback); }; handler.List = function () { var so, properties, callback; if (arguments.length === 1) { callback = arguments[0]; } else if(arguments.length === 2) { so = arguments[0]; callback = arguments[1]; } else { so = arguments[0]; properties = arguments[1]; callback = arguments[2]; } var o = { Action: "list", So: so, Properties: properties }; //console.log("LIST", o); return G.post(handler.Url, JSON.stringify(o), callback); }; handler.Count = function (so, callback) { var o = { Action: "count", So: so }; //console.log("DETAILS", o); return G.post(handler.Url, JSON.stringify(o), callback); }; handler.Save = function (item, callback, properties, error) { var item, properties, callback; if (arguments.length === 1) { callback = arguments[0]; } else if(arguments.length === 2) { item = arguments[0]; callback = arguments[1]; } else { item = arguments[0]; properties = arguments[1]; callback = arguments[2]; } var o = { Action: "save", Item: item, Properties: properties }; if(_.isArray(item)) { delete o.Item; o.Items = item; } //console.log("SAVE", o); return G.ajax({ type: 'POST', dataType: 'json', url: handler.Url, data: JSON.stringify(o), success: callback, error: error }); //return G.post(handler.Url, JSON.stringify(o), callback); }; handler.Delete = function (item, callback, error) { var o = { Action: "delete", Item: item }; if(_.isArray(item)) { delete o.Item; o.Items = item; } //console.log("DELETE", o); return G.ajax({ type: 'POST', dataType: 'json', url: handler.Url, data: JSON.stringify(o), success: callback, error: error }); //return G.post(handler.Url, JSON.stringify(o), callback); }; handler.DeleteList = function () { var so, properties, callback; if (arguments.length === 1) { callback = arguments[0]; } else if(arguments.length === 2) { so = arguments[0]; callback = arguments[1]; } else { so = arguments[0]; properties = arguments[1]; callback = arguments[2]; } var o = { Action: "deletelist", So: so, Properties: properties }; return G.post(handler.Url, JSON.stringify(o), callback); }; handler.Export = function (so) { window.open(handler.Url + "?action=export&so_json=" + JSON.stringify(so)); }; }; var Aansluitingen = new (function () { var me = this; function AansluitingHandler (baseUrl) { _HandlerBase(this, "Aansluitingen", "Aansluiting", baseUrl); } this.AansluitingHandler = AansluitingHandler; function AansluitingPrintSettingHandler (baseUrl) { _HandlerBase(this, "Aansluitingen", "AansluitingPrintSetting", baseUrl); } this.AansluitingPrintSettingHandler = AansluitingPrintSettingHandler; function AansluitingStukHandler (baseUrl) { _HandlerBase(this, "Aansluitingen", "AansluitingStuk", baseUrl); } this.AansluitingStukHandler = AansluitingStukHandler; function BestemmingHandler (baseUrl) { _HandlerBase(this, "Aansluitingen", "Bestemming", baseUrl); } this.BestemmingHandler = BestemmingHandler; function CategorieHandler (baseUrl) { _HandlerBase(this, "Aansluitingen", "Categorie", baseUrl); } this.CategorieHandler = CategorieHandler; function DiameterHandler (baseUrl) { _HandlerBase(this, "Aansluitingen", "Diameter", baseUrl); } this.DiameterHandler = DiameterHandler; function DummyPointHandler (baseUrl) { _HandlerBase(this, "Aansluitingen", "DummyPoint", baseUrl); } this.DummyPointHandler = DummyPointHandler; function MateriaalHandler (baseUrl) { _HandlerBase(this, "Aansluitingen", "Materiaal", baseUrl); } this.MateriaalHandler = MateriaalHandler; function ProjectHandler (baseUrl) { _HandlerBase(this, "Aansluitingen", "Project", baseUrl); } this.ProjectHandler = ProjectHandler; function ProjectBestemmingDefaultHandler (baseUrl) { _HandlerBase(this, "Aansluitingen", "ProjectBestemmingDefault", baseUrl); } this.ProjectBestemmingDefaultHandler = ProjectBestemmingDefaultHandler; function ProjectLocatieHandler (baseUrl) { _HandlerBase(this, "Aansluitingen", "ProjectLocatie", baseUrl); } this.ProjectLocatieHandler = ProjectLocatieHandler; function SoortHandler (baseUrl) { _HandlerBase(this, "Aansluitingen", "Soort", baseUrl); } this.SoortHandler = SoortHandler; function StukHandler (baseUrl) { _HandlerBase(this, "Aansluitingen", "Stuk", baseUrl); } this.StukHandler = StukHandler; })(); var Beheer = new (function () { var me = this; function ImagePrintLayoutHandler (baseUrl) { _HandlerBase(this, "Beheer", "ImagePrintLayout", baseUrl); } this.ImagePrintLayoutHandler = ImagePrintLayoutHandler; function MgResourceHandler (baseUrl) { _HandlerBase(this, "Beheer", "MgResource", baseUrl); } this.MgResourceHandler = MgResourceHandler; function OverlayImageHandler (baseUrl) { _HandlerBase(this, "Beheer", "OverlayImage", baseUrl); } this.OverlayImageHandler = OverlayImageHandler; function PrintLayoutHandler (baseUrl) { _HandlerBase(this, "Beheer", "PrintLayout", baseUrl); } this.PrintLayoutHandler = PrintLayoutHandler; function PrintWebLayoutHandler (baseUrl) { _HandlerBase(this, "Beheer", "PrintWebLayout", baseUrl); } this.PrintWebLayoutHandler = PrintWebLayoutHandler; function WebLayoutHandler (baseUrl) { _HandlerBase(this, "Beheer", "WebLayout", baseUrl); } this.WebLayoutHandler = WebLayoutHandler; })(); var CRAB = new (function () { var me = this; function GebouwHandler (baseUrl) { _HandlerBase(this, "CRAB", "Gebouw", baseUrl); } this.GebouwHandler = GebouwHandler; function GemeenteHandler (baseUrl) { _HandlerBase(this, "CRAB", "Gemeente", baseUrl); } this.GemeenteHandler = GemeenteHandler; function HuisnummerHandler (baseUrl) { _HandlerBase(this, "CRAB", "Huisnummer", baseUrl); } this.HuisnummerHandler = HuisnummerHandler; function StraatHandler (baseUrl) { _HandlerBase(this, "CRAB", "Straat", baseUrl); } this.StraatHandler = StraatHandler; })(); var Evacuatie = new (function () { var me = this; })(); var GisDocumenten = new (function () { var me = this; function GisDocumentHandler (baseUrl) { _HandlerBase(this, "GisDocumenten", "GisDocument", baseUrl); } this.GisDocumentHandler = GisDocumentHandler; })(); var GolfGis = new (function () { var me = this; function EmsMappingHandler (baseUrl) { _HandlerBase(this, "GolfGis", "EmsMapping", baseUrl); } this.EmsMappingHandler = EmsMappingHandler; })(); var Notities = new (function () { var me = this; function TypeSchadeHandler (baseUrl) { _HandlerBase(this, "Notities", "TypeSchade", baseUrl); } this.TypeSchadeHandler = TypeSchadeHandler; })(); var Pictures = new (function () { var me = this; })(); var PrintTemplates = new (function () { var me = this; function PrintTemplateHandler (baseUrl) { _HandlerBase(this, "PrintTemplates", "PrintTemplate", baseUrl); } this.PrintTemplateHandler = PrintTemplateHandler; })(); var Signalisatie = new (function () { var me = this; })(); var EntityHandlers = { "Aansluitingen": { "Aansluiting": Aansluitingen.AansluitingHandler, "AansluitingPrintSetting": Aansluitingen.AansluitingPrintSettingHandler, "AansluitingStuk": Aansluitingen.AansluitingStukHandler, "Bestemming": Aansluitingen.BestemmingHandler, "Categorie": Aansluitingen.CategorieHandler, "Diameter": Aansluitingen.DiameterHandler, "DummyPoint": Aansluitingen.DummyPointHandler, "Materiaal": Aansluitingen.MateriaalHandler, "Project": Aansluitingen.ProjectHandler, "ProjectBestemmingDefault": Aansluitingen.ProjectBestemmingDefaultHandler, "ProjectLocatie": Aansluitingen.ProjectLocatieHandler, "Soort": Aansluitingen.SoortHandler, "Stuk": Aansluitingen.StukHandler }, "Beheer": { "ConfigSetting": Beheer.ConfigSettingHandler, "ConnectionString": Beheer.ConnectionStringHandler, "ImagePrintLayout": Beheer.ImagePrintLayoutHandler, "Manual": Beheer.ManualHandler, "MgResource": Beheer.MgResourceHandler, "OverlayImage": Beheer.OverlayImageHandler, "PrintLayout": Beheer.PrintLayoutHandler, "PrintWebLayout": Beheer.PrintWebLayoutHandler, "Project": Beheer.ProjectHandler, "Role": Beheer.RoleHandler, "User": Beheer.UserHandler, "WebLayout": Beheer.WebLayoutHandler }, "CRAB": { "Gebouw": CRAB.GebouwHandler, "Gemeente": CRAB.GemeenteHandler, "Huisnummer": CRAB.HuisnummerHandler, "Straat": CRAB.StraatHandler }, "Evacuatie": { "Category": Evacuatie.CategoryHandler, "Project": Evacuatie.ProjectHandler }, "GisDocumenten": { "GisDocument": GisDocumenten.GisDocumentHandler }, "GolfGis": { "EmsMapping": GolfGis.EmsMappingHandler }, "Notities": { "Category": Notities.CategoryHandler, "GisFoto": Notities.GisFotoHandler, "Notitie": Notities.NotitieHandler, "NotitieDetail": Notities.NotitieDetailHandler, "SchadeGeval": Notities.SchadeGevalHandler, "TypeSchade": Notities.TypeSchadeHandler }, "Pictures": { "Category": Pictures.CategoryHandler, "Picture": Pictures.PictureHandler }, "PrintTemplates": { "PrintTemplate": PrintTemplates.PrintTemplateHandler }, "Signalisatie": { "Category": Signalisatie.CategoryHandler, "Project": Signalisatie.ProjectHandler } };