var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var Unibase; (function (Unibase) { let Platform; (function (Platform) { let DataApis; (function (DataApis) { let Components; (function (Components) { class ApiBuilder extends Platform.Core.BaseComponent { cssFiles() { return ["libs/querybuilder/query-builder.default.css", "libs/summernote/summernote.css"]; } jsFiles() { return ["platform/dataapis/components/apibuilder.js", "platform/dataapis/managers/dataapimanager.js", "platform/apps/managers/appmanager.js", "platform/analytics/managers/reportmanager.js", "platform/forms/managers/formmanager.js", "libs/querybuilder/query-builder.min.js", "libs/querybuilder/query-builder.standalone.min.js", "platform/dataapis/enums/executiontype.js", "platform/dataapis/enums/requesttype.js", "libs/handlebars/handlebars.min.js", "platform/dataapis/components/apibuilder.template.js", "platform/integrations/components/createprovider.js", "platform/dataapis/enums/apitype.js", "platform/dataapis/components/apibuilder.template.js", "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', "libs/summernote/summernote.min.js", "platform/analytics/enums/datatype.js", "platform/core/helpers/file/filehelper.js", "platform/integrations/enums/methodtype.js"]; } html(id, containerid) { let html = '
' + Unibase.Platform.DataApis.Components.ApiBuilder_Template.Instance().loadDataApiTemplate(ApiBuilder.serviceIndex) + '
'; return html; } load(id, containerid, callback) { if (ApiBuilder.isIntegration == false) { Unibase.Platform.DataApis.Components.ApiBuilder_Template.Instance().loadSummernote(); ApiBuilder.Instance().getInstalledApps(); $(".ddl_executionType").addClass("required"); ApiBuilder.Instance().getPreview(); jQuery("#btnSave").click(function () { if (ApiBuilder.isIntegration == false) { let appcontrolid = "frmUnibase_DataApi"; let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid); if (result == false) { MessageHelper.Instance().showError("Mandatory fields are missing", "Unibase_ValidationSummary"); return false; } else { ApiBuilder.Instance().save(id, containerid); } } }); if ($(window).width() <= 800) { $("#div_methodParams_header").hide(); } } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".queryBuilder").addClass("hidden"); } loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) { this.render(Pk_Value); } loadDataApiForm(iscreate) { var Pk_Value = 0; if (!iscreate) { Pk_Value = Unibase.Themes.Providers.DetailHelper.recordId; } this.render(Pk_Value); } render(Pk_Value) { return __awaiter(this, void 0, void 0, function* () { var instance = this; instance.fileCacheHelper.loadJsFiles(["platform/dataapis/managers/dataapimanager.js", "libs/querybuilder/query-builder.standalone.min.js", "platform/dataapis/components/apibuilder.template.js"], null); if (ApiBuilder.isIntegration == false) { instance.navigationHelper.popup(0, '', Unibase.Platform.DataApis.Components.ApiBuilder.Instance(), null, Platform.Helpers.Size.Large); $(".api-builder-body").attr("data-simplebar"); $(".ddl_executionType option[value='5']").addClass("hidden"); } else { $(".api-builder-body").removeAttr("data-simplebar"); var html = Unibase.Platform.DataApis.Components.ApiBuilder_Template.Instance().loadDataApiTemplate(ApiBuilder.serviceIndex); $(".div_dataApi_" + ApiBuilder.serviceIndex).find("#div_dataApi_" + ApiBuilder.serviceIndex).html(html); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".dataApiHeader").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#dataApi_FirstDiv").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".api-builder-urlPreview").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".api-builder-description").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_dataApiFooter").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".api-builder-fromBodyParameterPreview").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".apiBuilder-UniqueKey").addClass("hidden"); $(".ddl_executionType").removeClass("required"); $(".ddl_executionType option[value='5']").removeClass("hidden"); $("#spnExecutionType").text(""); } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".queryBuilder").addClass("hidden"); if (Pk_Value != 0) { $("#formName").text("Edit Data Api"); ApiBuilder.Instance().edit(Pk_Value); } $(".api-builder-fromBodyParameterPreview").addClass("hidden"); ApiBuilder.Instance().toRestrictSpecialCharacters(); ApiBuilder.Instance().getParametersPreview(ApiBuilder.serviceIndex); ApiBuilder.Instance().getInstalledApps(); $("#txt_UniqueId").keypress(function (e) { var k = e.keyCode, $return = ((k > 94 && k < 123) || (k > 47 && k < 58)); if (!$return) { return false; } }); $(".sortable").sortable({ update: function (event, ui) { ApiBuilder.Instance().getPreview(); ApiBuilder.Instance().getParametersPreview(ApiBuilder.serviceIndex); } }); $(".sortable").disableSelection(); }); } refreshApis() { $("#api_spin").addClass("fa-spin"); Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().refreshDataApis().then(function (response) { }); setTimeout(function () { $("#api_spin").removeClass("fa-spin"); }, 1000); } toRestrictSpecialCharacters() { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".restrictChar").keypress(function (e) { var k = e.keyCode, $return = (((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 32 || (k >= 48 && k <= 57)) && e.which !== 32); if (!$return) { return false; } }); } getInstalledApps() { var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappautocomplete'; AutoCompleteHelper.getHelper().Create($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_installedApp"), "#hfAutoComplete_installedApp", url, function (response) { var data = response; }); } getChildParams() { var instance = this; $(".div_Toggle").on("click", function (e) { let name = e.target.firstElementChild.textContent; let type = e.target.lastElementChild.textContent; let paramType = type.split(','); if (paramType[0].includes('List')) { var dtype = paramType[0].split('[['); paramType[0] = dtype[1]; } Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().getProperties(paramType[0]).then(function (response) { var data = response.result; var requestJson = JSON.parse(data); ApiBuilder.Instance().childObject(e, name, requestJson); }); }); } uniqueKey() { let type; (function (type) { type[type["select"] = 2] = "select"; type[type["action"] = 3] = "action"; type[type["delete"] = 5] = "delete"; })(type || (type = {})); ; var requestType = $("#hf_actionType").val() != "" ? type[Number($("#hf_actionType").val())] + "_" : ""; var executionType = ""; if ($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType option:selected").val() != 0) { executionType = $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType option:selected").text() + "_"; } var parameters = ""; if (ApiBuilder.paramNames.length != 0) { var params = ApiBuilder.paramNames; for (var i = 0; i < params.length; i++) { parameters += "_" + params[i].param; } } var uniqueId = executionType + requestType + ($("#txtPackageName").val().toString() != "" ? $("#txtPackageName").val().toString() + "_" : "") + ($("#txtAppName").val().toString() != "" ? $("#txtAppName").val().toString() + "_" : "") + ($("#txtModuleName").val().toString() != "" ? $("#txtModuleName").val().toString() + "_" : "") + ($("#txtMethodName").val().toString() != "" ? $("#txtMethodName").val().toString() : "") + parameters; $("#txt_UniqueId").val(uniqueId.toLowerCase()); $("#txt_UniqueId").attr('readonly', 'readonly'); } editUniqueKey() { $("#txt_UniqueId").removeAttr('readonly'); } getParametersPreview(serviceIndex) { ApiBuilder.serviceIndex = serviceIndex; $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_fromBodyParameters").html(""); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").find(".added-item").each(function () { if ($(this).find(".chk_FromUrl").prop("checked") == false) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_fromBodyParameters").append("
'" + $(this).find(".txtAliasName").val() + "':'" + $(this).find("#div_Type").text() + "'
"); } }); } getPreview() { let service_url = window.origin + "/apis/v4/"; let data = ($("#txtMethodName").val().toString() != "" ? $("#txtMethodName").val().toString() : ""); let params = ""; if ($("#ddl_executionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.Method) { ApiBuilder.paramNames = []; $("#methodParams").find(".added-item").each(function () { if ($(this).find(".chk_FromUrl").prop("checked") == true || $(this).find(".chk_FromUrl").prop("checked") == undefined) { var aliasName = ($(this).find(".txtAliasName").val() != "" ? $(this).find(".txtAliasName").val() + "/" : ""); if ($(this).find("#chk_HasIdValue").prop("checked") == true) { aliasName = ""; } ApiBuilder.paramNames.push({ param: $(this).find("#div_Name").text(), index: ApiBuilder.serviceIndex }); params += aliasName + "{" + $(this).find("#div_Name").text() + "}/"; } }); data = ($("#txtMethodName").val().toString() != "" ? $("#txtMethodName").val().toString() + "/" : "") + (params != "" ? params : ""); if (data.includes('/')) data = data.substring(0, data.length - 1); } var reportParams = ""; if ($("#ddl_executionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.Report) { $("#div_fromBodyParameters").html(""); if ($("#Output").html() != "" && $("#Output").html() != undefined) { ApiBuilder.paramNames = []; var reportFilters = JSON.parse($("#Output").html()); var parameterIndex = 1; reportColumns(reportFilters); function reportColumns(reportFilters) { if (reportFilters.rules.length != 0) { for (var i = 0; i < reportFilters.rules.length; i++) { let paramName = reportFilters.rules[i].id; let value = reportFilters.rules[i].value; if (paramName != undefined) { if (parameterIndex <= 8) { if (value.includes('{' && '}')) { reportParams += "/" + value.substring(1, value.length - 1) + "/" + value; ApiBuilder.paramNames.push({ param: value.substring(1, value.length - 1), index: ApiBuilder.serviceIndex }); } else if (value.includes('[' && ']')) { $("#div_fromBodyParameters").append("
'" + value.substring(1, value.length - 1) + "':'" + value + "'
"); } parameterIndex++; } } else { if (reportFilters.rules[i].length != 0) { reportColumns(reportFilters.rules[i]); } } } } } } } let request = ""; if ($("#ddl_executionType option:selected").val() == Number(Unibase.Platform.DataApis.Enums.ExecutionType.Form)) { ApiBuilder.requestType = Number(Unibase.Platform.DataApis.Enums.RequestType.Post); } $("#txtApiPreview").text(request + service_url + ($("#txtPackageName").val().toString() != "" ? $("#txtPackageName").val().toString() + "/" : "") + ($("#txtAppName").val().toString() != "" ? $("#txtAppName").val().toString() + "/" : "") + ($("#txtModuleName").val().toString() != "" ? $("#txtModuleName").val().toString() + "/" : "") + data + reportParams); if (ApiBuilder.requestType != 0) { request = (ApiBuilder.requestType == Number(Unibase.Platform.DataApis.Enums.RequestType.Get) ? "Get" : "Post"); $("#spn_request").removeClass("hidden"); $("#spn_request").text(request); $("#hf_actionType").val(ApiBuilder.requestType); ApiBuilder.requestType = 0; } if ($("#txtPackageName").val().toString() == '' && $("#txtAppName").val().toString() == '' && $("#txtModuleName").val().toString() == '' && ($("#ddl_executionType option:selected").val() == 0 || $("#ddl_executionType").val() == undefined) && $("#txtMethodName").val().toString() == '') { $("#txtApiPreview").text(service_url); } ApiBuilder.Instance().uniqueKey(); } getrequestType() { ApiBuilder.requestType = Number($("#ddl_requestType option:selected").val()); ApiBuilder.Instance().getPreview(); } getTypeData(serviceIndex, dataApiResult) { return __awaiter(this, void 0, void 0, function* () { ApiBuilder.serviceIndex = serviceIndex; let html = "
"; $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_selectedType").html(html); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_requestType").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_requestType").val(0); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#Output").html(""); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_QueryBuilder").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_method").remove(); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").find(".added-item").remove(); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").html(""); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_fromBodyParameters").html(""); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".api-builder-fromBodyParameterPreview").addClass("hidden"); $("#hf_actionType").val(""); $(".div_dataApi_" + serviceIndex).find("#div_methodParams_" + serviceIndex).html(""); ApiBuilder.paramNames = []; $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#spn_request").addClass("hidden"); if (ApiBuilder.isIntegration == true) { $("#div_customJson_" + ApiBuilder.serviceIndex).removeClass("hidden"); $("#div_customJson_" + ApiBuilder.serviceIndex).find("#chk_cusJson_" + ApiBuilder.serviceIndex).prop("checked", false); if (Number($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val()) == Unibase.Platform.DataApis.Enums.ExecutionType.Form || Number($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val()) == Unibase.Platform.DataApis.Enums.ExecutionType.PostData) $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_dataApi_CustomJson_" + ApiBuilder.serviceIndex).removeClass("hidden"); else { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_dataApi_CustomJson_" + ApiBuilder.serviceIndex).addClass("hidden"); } Unibase.Platform.Integrations.Components.CreateProvider.Instance().loadcustomJsonEditor(ApiBuilder.serviceIndex); yield Unibase.Platform.Integrations.Components.CreateProvider.Instance().loadSampleUrl(serviceIndex); Unibase.Platform.Integrations.Components.CreateProvider.Instance().loadInputParametersToUrl("Service", "Parameters", ApiBuilder.serviceIndex); } if (dataApiResult != undefined) { if (dataApiResult.DataApiId != undefined && dataApiResult.DataApiId != 0) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txtMethodName").val(dataApiResult.MethodName); } } if ($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.Form) { var url = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/getformsautocomplete'; AutoCompleteHelper.getHelper().Create($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedType"), $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#hf_selectedType"), url, function (response) { var data = response; }); if ($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val() != 0) { if (dataApiResult != undefined) { if (dataApiResult.DataApiId != undefined && dataApiResult.DataApiId != 0) { if (dataApiResult.FormName == null) { var option = new Option("", "", true); } else { option = new Option(dataApiResult.FormName, dataApiResult.IdValue.toString(), true); } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedType").append(option); ApiBuilder.Instance().loadProperties(ApiBuilder.serviceIndex, dataApiResult); } } } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#lblrequestData").html("Forms * "); } if ($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.Report) { if (ApiBuilder.isIntegration == false) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_requestType").removeClass("hidden"); } else { $("#div_customJson_" + ApiBuilder.serviceIndex).addClass("hidden"); $("#div_customJsonEditor_" + ApiBuilder.serviceIndex).addClass("hidden"); } var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports'; AutoCompleteHelper.getHelper().Create($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedType"), $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#hf_selectedType"), url, function (response) { var data = response; }); if ($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val() != 0) { if (dataApiResult != undefined) { if (dataApiResult.DataApiId != undefined && dataApiResult.DataApiId != 0) { if (dataApiResult.ReportName == null) { var option = new Option("", "", true); } else { option = new Option(dataApiResult.ReportName, dataApiResult.IdValue.toString(), true); } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedType").append(option); ApiBuilder.requestType = dataApiResult.RequestTypeId; $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_requestType").val(Number(dataApiResult.RequestTypeId)); ApiBuilder.Instance().loadProperties(ApiBuilder.serviceIndex, dataApiResult); ApiBuilder.Instance().loadQueryBuilder(ApiBuilder.serviceIndex); $("#Unibase_apiBuilder_" + serviceIndex).find("#sql").text(dataApiResult.StaticFilter); ApiBuilder.Instance().getPreview(); var params = (dataApiResult.ParamName1 != "" ? "/" + dataApiResult.ParamName1 + "/{" + dataApiResult.ParamName1 + "}" : "") + (dataApiResult.ParamName2 != "" ? "/" + dataApiResult.ParamName2 + "/{" + dataApiResult.ParamName2 + "}" : "") + (dataApiResult.ParamName3 != "" ? "/" + dataApiResult.ParamName3 + "/{" + dataApiResult.ParamName3 + "}" : "") + (dataApiResult.ParamName4 != "" ? "/" + dataApiResult.ParamName4 + "/{" + dataApiResult.ParamName4 + "}" : "") + (dataApiResult.ParamName5 != "" ? "/" + dataApiResult.ParamName5 + "/{" + dataApiResult.ParamName5 + "}" : "") + (dataApiResult.ParamName6 != "" ? "/" + dataApiResult.ParamName6 + "/{" + dataApiResult.ParamName6 + "}" : "") + (dataApiResult.ParamName7 != "" ? "/" + dataApiResult.ParamName7 + "/{" + dataApiResult.ParamName7 + "}" : "") + (dataApiResult.ParamName8 != "" ? "/" + dataApiResult.ParamName8 + "/{" + dataApiResult.ParamName8 + "}" : ""); $("#txtApiPreview").text($("#txtApiPreview").text() + params); } } } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#lblrequestData").html("Reports * "); } else if ($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.Method) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".api-builder-fromBodyParameterPreview").addClass("hidden"); var url = _appsettings.server_url() + '/apis/v4/unibase/platform/dataapis/managerautocomplete'; AutoCompleteHelper.getHelper().Create($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedType"), $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#hf_selectedType"), url, function (response) { var data = response; }); if (dataApiResult != undefined) { if (dataApiResult.DataApiId != undefined && dataApiResult.DataApiId != 0) { if (dataApiResult.ExecutionTypeId != Number(Unibase.Platform.DataApis.Enums.ExecutionType.Method)) { } else { if (dataApiResult.SystemName == null) { var option = new Option("", "", true); } else { var systemName = dataApiResult.SystemName.split(','); var managerName = systemName[0].split('.'); option = new Option(managerName[managerName.length - 1], dataApiResult.SystemName, true); } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedType").append(option); var serviceindex = ApiBuilder.serviceIndex; var apiResult = dataApiResult; Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().getMethodProvider(dataApiResult.MethodProviderId).then(function (methodResponse) { ApiBuilder.serviceIndex = serviceindex; dataApiResult = apiResult; ApiBuilder.Instance().getMethodData(ApiBuilder.serviceIndex, dataApiResult); }); } } } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#lblrequestData").html("Managers * "); } else if ($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val() == 0 || $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.PostData) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_RequestData").remove(); $("#Unibase_apiBuilder_" + serviceIndex).find("#hf_dataApiId").val(0); } if ($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val() != 0) { if (dataApiResult != undefined) { if (dataApiResult.DataApiId != undefined && dataApiResult.DataApiId != 0) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txtMethodName").val(dataApiResult.MethodName); } } } }); } getMethodData(serviceIndex, dataApiResult) { return __awaiter(this, void 0, void 0, function* () { ApiBuilder.serviceIndex = serviceIndex; $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").find(".added-item").remove(); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").html(""); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_fromBodyParameters").html(""); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".api-builder-fromBodyParameterPreview").addClass("hidden"); $(".div_dataApi_" + serviceIndex).find("#div_methodParams_" + serviceIndex).html(""); if ($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val() == Unibase.Platform.DataApis.Enums.ExecutionType.Method) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#spn_request").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_dataApi_CustomJson_" + ApiBuilder.serviceIndex).addClass("hidden"); let html = ""; if ($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedType").val() != 0) { html = "
"; $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_selectedMethod").html(html); var url = _appsettings.server_url() + '/apis/v4/unibase/platform/dataapis/methodproviderautocomplete/systemname/' + $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedType").val(); AutoCompleteHelper.getHelper().Create($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedMethod"), $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#hf_selectedMethod"), url, function (response) { var data = response; }); if (dataApiResult != undefined) { if (dataApiResult.DataApiId != undefined && dataApiResult.DataApiId != 0) { if (dataApiResult.MethodFullName == null) { var option = new Option("", "", true); } else { var parameters = ""; var params = JSON.parse(dataApiResult.ParamTypes); for (var param in params) { parameters += param + ","; } if (parameters.includes(',')) { parameters = parameters.substring(0, parameters.length - 1); } option = new Option(dataApiResult.MethodFullName + "(" + parameters + ")", dataApiResult.MethodProviderId.toString(), true); } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedMethod").append(option); yield ApiBuilder.Instance().loadParamTypes(ApiBuilder.serviceIndex, dataApiResult); } } } else { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_method").remove(); } } }); } parameterValidation(serviceIndex, name) { ApiBuilder.serviceIndex = serviceIndex; let paramCount = $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find('input:checkbox:checked').length; if (paramCount > 8) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find('#chk_FromUrl_' + name).prop("checked", false); if (ApiBuilder.isIntegration == false) { MessageHelper.Instance().showError("Only 8 parameters are accepted for FromURL", "Unibase_ValidationSummary"); } else { MessageHelper.Instance().showError("Only 8 parameters are accepted for FromURL", "div_configError"); } return false; } } loadParamTypes(serviceIndex, dataApiResult) { return __awaiter(this, void 0, void 0, function* () { let parameterCount = 0; ApiBuilder.serviceIndex = serviceIndex; if ($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedMethod option:selected").val() != 0) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").addClass("sortable"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").find(".added-item").remove(); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").html(""); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_fromBodyParameters").html(""); if ($("#chk_cusJson_" + ApiBuilder.serviceIndex).prop("checked") == false) $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams").removeClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams_header").html('
NameTypeURL TypeAlias Name
'); var serviceindex = ApiBuilder.serviceIndex; var apiResult = dataApiResult; if (Number($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val()) == Unibase.Platform.DataApis.Enums.ExecutionType.Method) { yield Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().getMethodProvider($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedMethod option:selected").val()).then(function (response) { ApiBuilder.serviceIndex = serviceindex; dataApiResult = apiResult; if (response != null) { ApiBuilder.requestType = response.result.RequestTypeId; $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#hf_requestTypeId").val(response.result.RequestTypeId); let index = 1; function bindHtml(name, type) { let html = ''; html += '
' + name + '
' + type + '
'; if (response.result.RequestTypeId == Unibase.Platform.DataApis.Enums.RequestType.Post || response.result.RequestTypeId == Unibase.Platform.DataApis.Enums.RequestType.Put) { html += '
'; $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_dataApi_CustomJson_" + ApiBuilder.serviceIndex).removeClass("hidden"); if ($("#chk_cusJson_" + ApiBuilder.serviceIndex).prop("checked") == false) $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".api-builder-fromBodyParameterPreview").removeClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#url_Type").removeClass("hidden"); } else { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_dataApi_CustomJson_" + ApiBuilder.serviceIndex).addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#url_Type").addClass("hidden"); parameterCount++; } html += '
'; $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").append(html); index++; } let paramTypes = JSON.parse(response.result.ParamTypes); if (!jQuery.isEmptyObject(paramTypes)) { for (let name in paramTypes) { let parameterName; let parameterType; if (paramTypes[name].includes("System")) { parameterName = name; parameterType = paramTypes[name].split(","); parameterType = parameterType[0].split("."); parameterType = parameterType[1]; bindHtml(parameterName, parameterType); } else { let params = JSON.parse(response.result.RequestJson); for (let name in params) { parameterName = name; parameterType = params[name].split(','); if ((parameterType[0].includes("Unibase"))) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").append("
" + parameterName + "

"); } else { parameterType = parameterType[0].split("."); parameterType = parameterType[1]; bindHtml(parameterName, parameterType); } } } } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams_header").removeClass("hidden"); } else { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams_header").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").append('
No Parameters Found
'); } if (parameterCount == 1) { $("#methodParams").find(".added-item").append('
'); } ApiBuilder.Instance().getChildParams(); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".nested").hide(); ApiBuilder.Instance().toRestrictSpecialCharacters(); if (dataApiResult != undefined) { if (dataApiResult.DataApiId != undefined && dataApiResult.DataApiId != 0) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").find(".added-item").each(function () { if (dataApiResult.ParamName1 == $(this).find("#div_Name").text() || dataApiResult.ParamName2 == $(this).find("#div_Name").text() || dataApiResult.ParamName3 == $(this).find("#div_Name").text() || dataApiResult.ParamName4 == $(this).find("#div_Name").text() || dataApiResult.ParamName5 == $(this).find("#div_Name").text() || dataApiResult.ParamName6 == $(this).find("#div_Name").text() || dataApiResult.ParamName7 == $(this).find("#div_Name").text() || dataApiResult.ParamName8 == $(this).find("#div_Name").text()) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(this).find("input:checkbox").prop("checked", true); } let mappingjson = JSON.parse(dataApiResult.MappingJson); for (let name in mappingjson) { if (name == $(this).find("#div_Name").text()) { $(this).find(".txtAliasName").val(mappingjson[name]); } } }); $("#chk_HasIdValue").prop("checked", dataApiResult.HasIdValue); if (dataApiResult.HasIdValue == true) { $(".txtAliasName").attr("disabled", "true"); } } } ApiBuilder.Instance().getPreview(); ApiBuilder.Instance().getParametersPreview(ApiBuilder.serviceIndex); if (ApiBuilder.isIntegration == true) { $("#div_Execution_" + serviceIndex).removeClass("card card-body"); let paramTypes = JSON.parse(response.result.ParamTypes); if (!jQuery.isEmptyObject(paramTypes)) { } } } }); } Unibase.Platform.Integrations.Components.CreateProvider.Instance().loadSampleUrl(ApiBuilder.serviceIndex); } }); } loadAliasName() { if ($("#chk_HasIdValue").prop("checked") == true) { $(".txtAliasName").attr("disabled", "true"); } else { $(".txtAliasName").removeAttr("disabled"); } ApiBuilder.Instance().getPreview(); } childObject(e, name, properties) { if (!$("#divParent_" + name).hasClass("expanded")) { if (!$("#divParent_" + name).hasClass("paramData")) { for (let prop in properties) { var type = properties[prop].split(','); var paramType = (typeof (type[0])); if (!(type[0].includes("Unibase"))) { paramType = type[0].split("."); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").find("#divParent_" + name).find(".card-body").append('
' + prop + '
' + paramType[1] + '
'); } else { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").find("#divParent_" + name).append(""); } } } $("#divParent_" + name).removeClass("fa fa-caret-right"); $("#divParent_" + name).addClass("fa fa-caret-down"); $("#divParent_" + name).addClass("expanded"); $("#divParent_" + name).addClass("paramData"); $("#divParent_" + name).find(".nested").show(); $("#divParent_" + name).find(".card").show(); if ($("#divParent_" + name).children(".fa-caret-right")) { $("#divParent_" + name).children(".fa-caret-right").show(); $("#divParent_" + name).children(".fa-caret-right").find(".added-item").hide(); $("#divParent_" + name).children(".fa-caret-right").find(".card").hide(); } else { $("#divParent_" + name).children(".fa-caret-down").find(".added-item").show(); $("#divParent_" + name).children(".fa-caret-down").find(".card").show(); } } else { $("#divParent_" + name).find(".div_Toggle").removeClass("fa fa-caret-down"); $("#divParent_" + name).find(".div_Toggle").addClass("fa fa-caret-right"); $("#divParent_" + name).find(".div_Toggle").removeClass("expanded"); $("#divParent_" + name).children(".div_Toggle").find(".added-item").hide(); $("#divParent_" + name).children(".div_Toggle").find(".card").hide(); $("#divParent_" + name).children(".div_Toggle").hide(); $("#divParent_" + name).removeClass("fa fa-caret-down"); $("#divParent_" + name).addClass("fa fa-caret-right"); $("#divParent_" + name).removeClass("expanded"); $("#divParent_" + name).find(".card").hide(); $("#divParent_" + name).find(".nested").hide(); $("#divParent_" + name).find(".div_Toggle").hide(); } } loadProperties(serviceIndex, dataApiResult) { return __awaiter(this, void 0, void 0, function* () { ApiBuilder.serviceIndex = serviceIndex; $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").removeClass("sortable"); var serviceindex = ApiBuilder.serviceIndex; var apiResult = dataApiResult; if (Number($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val()) == Unibase.Platform.DataApis.Enums.ExecutionType. Form) { let formId = Number($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedType option:selected").val()); yield ApiBuilder.Instance().loadFormProperties(formId, serviceIndex, false, false, "", dataApiResult); ApiBuilder.Instance().getPreview(); if (dataApiResult != undefined) { if (dataApiResult.DataApiId != undefined && dataApiResult.DataApiId != 0) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").find(".added-item").each(function () { let mappingjson = JSON.parse(dataApiResult.MappingJson); var filters = Unibase.Platform.Integrations.Components.CreateProvider.filters; var serviceId = $("#serviceCollection_" + ApiBuilder.serviceIndex).find("#hf_serviceId").val(); for (let name in mappingjson) { if (name == $(this).find("#div_Name").text()) { if ($(this).find("#hf_isStaticControl").val() == "false") { $(this).find(".txtAliasName").val(mappingjson[name]); } else { $(this).find(".formProp_Javascript").val(JSON.stringify(mappingjson[name])); } } } if (ApiBuilder.isIntegration == true) { for (var i = 0; i < filters.length; i++) { if (filters[i].SettingName == $(this).find(".txtAliasName").val() && filters[i].ServiceId == serviceId) { $(this).find(".hf_SettingId").val(filters[i].ServiceSettingId); } } } }); } } if ($("#chk_cusJson_" + serviceIndex).prop("checked") == true) $("#div_Execution_" + serviceIndex).find("#div_methodParams").addClass("hidden"); else $("#div_Execution_" + serviceIndex).find("#div_methodParams").removeClass("hidden"); } if (Number($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val()) == Unibase.Platform.DataApis.Enums.ExecutionType.Report) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams").removeClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_QueryBuilder").removeClass("hidden"); if (ApiBuilder.isIntegration == false) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".api-builder-fromBodyParameterPreview").removeClass("hidden"); } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#Output").html(""); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams_header").html('
Report Column NameData TypeAlias Name
'); this.fileCacheHelper.loadJsFile("platform/analytics/managers/reportmanager.js", function () { Unibase.Platform.Analytics.Managers.ReportManager.Instance().getColumns(Number($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_selectedType option:selected").val())).then(function (response) { ApiBuilder.serviceIndex = serviceindex; dataApiResult = apiResult; let html = ''; var data = response.result; if (data.length != 0) { for (let i = 0; i < data.length; i++) { html += '
' + data[i].ReportColumnName + '
' + data[i].DataType + '
'; } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams_header").removeClass("hidden"); } else { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams_header").addClass("hidden"); html += '
No Columns Found
'; } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").html(html); if (ApiBuilder.isIntegration == true) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams").addClass("hidden"); } }); }); } }); } loadSubFormProperties(subFormId, serviceIndex, isSubForm) { ApiBuilder.serviceIndex = serviceIndex; if ($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformProp_" + subFormId).find(".div_SubForm_Toggle").hasClass("expanded")) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformProp_" + subFormId).find(".div_SubForm_Toggle").removeClass("expanded"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformProp_" + subFormId).find(".div_SubForm_Toggle").find("i").removeClass("fa fa-caret-right"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformProp_" + subFormId).find(".div_SubForm_Toggle").find("i").addClass("fa fa-caret-down"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformProp_" + subFormId).find("#div_subformprops_" + subFormId).removeClass("hidden"); } else { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformProp_" + subFormId).find(".div_SubForm_Toggle").addClass("expanded"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformProp_" + subFormId).find(".div_SubForm_Toggle").find("i").removeClass("fa fa-caret-down"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformProp_" + subFormId).find(".div_SubForm_Toggle").find("i").addClass("fa fa-caret-right"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformProp_" + subFormId).find("#div_subformprops_" + subFormId).addClass("hidden"); } } loadFormProperties(formId, serviceIndex, isSubForm, isStaticControl, html, dataApiResult) { return __awaiter(this, void 0, void 0, function* () { var headerHtml = '
Form Property NameData TypeAlias Name
'; if (isSubForm == true) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams").removeClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformprops_header").html(headerHtml); } else { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams").removeClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams_header").html(headerHtml); } yield Unibase.Platform.Forms.Managers.FormManager.Instance().getFormProperties(formId).then(function (response) { return __awaiter(this, void 0, void 0, function* () { ApiBuilder.serviceIndex = serviceIndex; let data = response.result; if (data.length != 0) { for (let i = 0; i < data.length; i++) { var formProperty = data[i]; if (formProperty.DocPropertyId == 0 && formProperty.ControlName == "SubForm") { let subFormId = JSON.parse(formProperty.PropertyHtmlText).ChildFormId; html += '
' + formProperty.FormPropertyName + '
'; if (isSubForm == true) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformprops_header").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformprops_" + formId).html(html); } else { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams_header").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").append(html); } html = ""; ApiBuilder.Instance().loadFormProperties(subFormId, serviceIndex, true, false, html, dataApiResult); } else { if (formProperty.DocPropertyId == 0 && formProperty.IsStaticControl == true) { isStaticControl = true; } html += '
' + formProperty.FormPropertyName + '
' + formProperty.DataTypeName + '
'; if (formProperty.DocPropertyId == 0 && formProperty.IsStaticControl == true) { html += '
'; } html += '
'; } } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams_header").removeClass("hidden"); } else { html += '
No Properties Found
'; } if (isSubForm == true) { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformprops_header").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_subformprops_" + formId).append(html); ApiBuilder.Instance().bindSubFormPropertiesData(dataApiResult); } else { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams_header").addClass("hidden"); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").append(html); } }); }); }); } bindSubFormPropertiesData(dataApiResult) { if (dataApiResult != undefined) { if (dataApiResult.DataApiId != undefined && dataApiResult.DataApiId != 0) { let mappingjson = JSON.parse(dataApiResult.MappingJson); for (let name in mappingjson) { if (typeof (mappingjson[name]) == "object") { $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").find(".added-item").each(function () { var instance = this; if ($(instance).hasClass("div_subformProp")) { for (var i = 0; i < mappingjson[name].length; i++) { bindFormProp(mappingjson[name][i], instance); } } }); } } function bindFormProp(json, instance) { for (let name in json) { $(instance).find(".added-item").each(function () { if (name == $(this).find("#div_Name").text()) { $(this).find(".txtAliasName").val(json[name]); } }); } } } } } loadQueryBuilder(serviceIndex) { return __awaiter(this, void 0, void 0, function* () { var instance = this; instance.fileCacheHelper.loadCssFile("libs/querybuilder/query-builder.default.css", null); instance.fileCacheHelper.loadJsFiles(["libs/querybuilder/query-builder.min.js", "libs/querybuilder/query-builder.standalone.min.js", "platform/analytics/enums/datatype.js"], null); ApiBuilder.serviceIndex = serviceIndex; $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".query_Builder").html('
Filter Expression
'); let qelem; let filersArray = []; if (Number($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val()) == Unibase.Platform.DataApis.Enums.ExecutionType.Report) { var dataSourceId = 0; var reportObj = { ReportId: Number($("#Unibase_apiBuilder_" + serviceIndex).find("#txt_selectedType option:selected").val()), IsEditReport: true, IsJson: true }; yield Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportInfo(reportObj).then(function (reportResponse) { dataSourceId = reportResponse.result.ReportInfo.DataSourceId; var data = reportResponse.result.ReportInfo.ReportColumns; if (data.length != 0) { for (let i = 0; i < data.length; i++) { let operators = ['equal', 'not_equal', 'in', 'not_in', 'less', 'less_or_equal', 'greater', 'greater_or_equal', 'between', 'not_between', 'is_null', 'is_not_null']; let dataType = Unibase.Platform.Analytics.Reports.Enums.DataType[data[i].DataType]; if (dataType == "int32" || dataType == "int64") { dataType = "integer"; } else if (dataType == "decimal") { dataType = "double"; } else if (dataType == "dateTime") { dataType = "datetime"; } else { operators = ['equal', 'not_equal', 'in', 'not_in', 'begins_with', 'not_begins_with', 'contains', 'not_contains', 'ends_with', 'not_ends_with', 'is_empty', 'is_not_empty', 'is_null', 'is_not_null']; } filersArray.push({ id: data[i].AliasName, label: data[i].AliasName, type: 'string', size: 30, unique: true, operators: operators }); } qelem = $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find('#builder'); var options = { allow_empty: true, filters: filersArray }; qelem.queryBuilder(options); if ($("#Unibase_apiBuilder_" + serviceIndex).find("#sql").text() != "") { let qb_json = JSON.parse($("#Unibase_apiBuilder_" + serviceIndex).find("#sql").text()); let qb_rules = instance.changeFieldnametoId(qb_json.rules); qelem.queryBuilder('setRules', qb_rules); } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find(".query_Builder").find("#builder_group_0").addClass("col-sm-12"); } function getDataTypeByColumnName(ColumnName) { var coldata = data.filter(x => x.DisplayText == ColumnName); return coldata[0].DataType; } $('.parse-json').on('click', function (e) { e.preventDefault(); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#Output").html(JSON.stringify(qelem.queryBuilder('getRules'), undefined, 2)); var par = qelem.queryBuilder('getSQL', 'named(@)').params; var sql = qelem.queryBuilder('getSQL', false, true).sql; sql = sql.replaceAll("'", "''"); for (var p in qelem.queryBuilder('getSQL', 'named(@)').params) { var p_1 = sql.substring(sql.indexOf("@") + 1, sql.indexOf(" ", sql.indexOf("@"))); var p_new; var datatype = getDataTypeByColumnName(p_1); if (datatype == Number(Unibase.Platform.Analytics.Reports.Enums.DataType.int32) || datatype == Number(Unibase.Platform.Analytics.Reports.Enums.DataType.int64) || datatype == Number(Unibase.Platform.Analytics.Reports.Enums.DataType.decimal)) { p_new = par[p]; } else { p_new = "'" + par[p] + "'"; } var index = 0; for (var value in par) { if (par[value] == par[p]) { index++; } } if (index <= 1) { sql = sql.replace("@" + p_1, p_new); } } $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#sql").html(sql); ApiBuilder.staticFiler = sql; if (ApiBuilder.isIntegration == false) { Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getPreview(); Unibase.Platform.DataApis.Components.ApiBuilder.Instance().uniqueKey(); } else { Unibase.Platform.Integrations.Components.CreateProvider.Instance().loadSampleUrl(ApiBuilder.serviceIndex); Unibase.Platform.Integrations.Components.CreateProvider.Instance().loadInputParametersToUrl("Service", "Parameters", ApiBuilder.serviceIndex); } sql = JSON.stringify(qelem.queryBuilder('getRules')); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#sql").html(sql); ApiBuilder.staticFiler = sql; }); }); } }); } changeFieldnametoId(rules) { var instance = this; for (var r = 0; r < rules.length; r++) { let rule = rules[r]; if (rule.rules) return instance.changeFieldnametoId(rule.rules); rules[r].id = rule.field; } return rules; } getParamsJson() { let params = []; $("#methodParams").find(".added-item").each(function () { if ($(this).find('input:checkbox:checked').length > 0) { params.push({ name: $(this).find(".txtAliasName").val(), IsUrl: $(this).find(".chk_FromUrl").prop("checked") }); } }); return JSON.stringify(params); } mappingJson() { var obj = {}; let orgName = ""; let aliasName = ""; $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").find(".added-item").each(function () { var instance = this; if (Number($("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val()) == Unibase.Platform.DataApis.Enums.ExecutionType.Form) { if ($(instance).hasClass("div_subformProp")) { getObject(obj, instance, "", {}); } else { if ($(instance).find('#hf_IsSubForm').val() == 'false' && $(instance).hasClass("inserted") && $(instance).find('#hf_isStaticControl').val() == 'false') { orgName = $(instance).find("#div_Name").text(); aliasName = $(instance).find(".txtAliasName").val().toString(); if (aliasName == "") aliasName = orgName; obj[orgName] = aliasName; $(instance).removeClass("hidden"); } else if ($(instance).find('#hf_IsSubForm').val() == 'false' && $(instance).hasClass("inserted") && $(instance).find('#hf_isStaticControl').val() == 'true') { orgName = $(instance).find("#div_Name").html(); var json = ""; if ($(instance).find(".formProp_Javascript").val() != "" && $(instance).find(".formProp_Javascript").val() != undefined) json = JSON.parse($(instance).find(".formProp_Javascript").val().toString()); obj[orgName] = json; $(instance).removeClass("hidden"); } } $(instance).addClass("added-Item"); } else { orgName = $(instance).find("#div_Name").text(); aliasName = $(instance).find(".txtAliasName").val().toString(); if (aliasName == "") aliasName = orgName; obj[orgName] = aliasName; } }); function getObject(obj, instance, parentSubFormName, subProp) { var subFormName = $(instance).find("#spn_subFormName").text(); var subPropObj = {}; $(instance).find("#div_subformprops_" + $(instance).find("#hf_subFormId").val()).find(".added-item").each(function () { if (!$(this).hasClass("added-Item")) { if ($(this).hasClass("div_subformProp")) { subProp = subPropObj; var subFormInstance = this; getObject(obj, subFormInstance, subFormName, subProp); $(this).addClass("added-Item"); } else { orgName = $(this).find("#div_Name").text(); aliasName = $(this).find(".txtAliasName").val().toString(); if (aliasName == "") aliasName = orgName; subPropObj[orgName] = aliasName; $(this).addClass("added-Item"); } } }); if (parentSubFormName != "") { subProp[subFormName] = [subPropObj]; obj[parentSubFormName] = [subProp]; } else { if (!$(instance).hasClass("added-Item")) { obj[subFormName] = [subPropObj]; } } parentSubFormName = ""; } return JSON.stringify(obj); } save(pk_value, containerid) { var apiName = $("#txtApiName").val().toString(); var packageName = $("#txtPackageName").val().toString(); var appName = $("#txtAppName").val().toString(); var moduleName = $("#txtModuleName").val().toString(); var methodName = $("#txtMethodName").val().toString(); var installedAppId = Number($("#txt_installedApp").val()); var contents = $('#summernote').summernote('code'); var plainText = $("

" + contents + "

").text(); var description = plainText; let param1 = "", param2 = "", param3 = "", param4 = "", param5 = "", param6 = "", param7 = "", param8 = ""; let ParamNames = ApiBuilder.paramNames; for (var i = 0; i < ParamNames.length; i++) { if (ParamNames[i].param != "") { if (param1 == "") { param1 = ParamNames[i].param; } else if (param2 == "") { param2 = ParamNames[i].param; } else if (param3 == "") { param3 = ParamNames[i].param; } else if (param4 == "") { param4 = ParamNames[i].param; } else if (param5 == "") { param5 = ParamNames[i].param; } else if (param6 == "") { param6 = ParamNames[i].param; } else if (param7 == "") { param7 = ParamNames[i].param; } else { param8 = ParamNames[i].param; } } } ; var hasIdValue = ParamNames.length == 1 ? $("#chk_HasIdValue").prop("checked") : false; let mappingJson = ApiBuilder.Instance().mappingJson(); var idValue = $("#txt_selectedType").val().toString(); var methodProviderId = 0; var requestTypeId = 0; if (Number($("#ddl_executionType").val()) == Unibase.Platform.DataApis.Enums.ExecutionType.Method) { idValue = "0"; methodProviderId = Number($("#txt_selectedMethod").val()); requestTypeId = Number($("#hf_requestTypeId").val()); } else if (Number($("#ddl_executionType").val()) == Unibase.Platform.DataApis.Enums.ExecutionType.Report) { requestTypeId = Number($("#ddl_requestType").val()); } else { requestTypeId = Number(Unibase.Platform.DataApis.Enums.RequestType.Post); } var uniqueid = "apibuilder_" + apiName + "_" + packageName + "_" + appName + "_" + moduleName + "_" + apiName; var recordId = Unibase.Platform.Analytics.Components.ReportViewer.Instance().RecordId == undefined ? 0 : Unibase.Platform.Analytics.Components.ReportViewer.Instance().RecordId; var ebableLog = $("#chkEnableLog").prop("checked"); var postData = { DataApiId: Number($("#hf_dataApiId").val()), MethodProviderId: methodProviderId, ApiName: apiName, PackageName: packageName, ModuleName: moduleName, MethodName: methodName, AppName: appName, IdValue: idValue, UniqueId: $("#txt_UniqueId").val().toString(), ExecutionTypeId: Number($("#ddl_executionType").val()), RequestTypeId: requestTypeId, Description: description, InstalledAppId: installedAppId, MappingJson: mappingJson, ParamName1: param1, ParamName2: param2, ParamName3: param3, ParamName4: param4, ParamName5: param5, ParamName6: param6, ParamName7: param7, ParamName8: param8, StaticFilter: ApiBuilder.staticFiler, ApiTypeId: Number(Unibase.Platform.DataApis.Enums.ApiType.DataApi), HasIdValue: hasIdValue, EnableLog: ebableLog }; Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().saveDataApi(postData).then(function (response) { if (response.errors != null) { MessageHelper.Instance().showError(response.message, "Unibase_ValidationSummary"); return false; } else { $('#' + containerid).modal('hide'); $('#' + containerid).remove(); alert(response.message); } }); } edit(dataApiId) { Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().getDataApiExecutionData(dataApiId).then(function (response) { $("#hf_dataApiId").val(response.result.DataApiId); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#ddl_executionType").val(response.result.ExecutionTypeId); $("#txtApiName").val(response.result.ApiName); $("#txtPackageName").val(response.result.PackageName); $("#txtAppName").val(response.result.AppName); $("#txtModuleName").val(response.result.ModuleName); if (response.result.AppTitle == null) { var option = new Option("", "", true); } else { option = new Option(response.result.AppTitle, response.result.InstalledAppId.toString(), true); } $("#txt_installedApp").append(option); $("#chkEnableLog").prop("checked", response.result.EnableLog); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find('#summernote').summernote('code', response.result.Description); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#txt_UniqueId").val(response.result.UniqueId); ApiBuilder.Instance().getTypeData(ApiBuilder.serviceIndex, response.result); $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").find(".added-item").each(function () { if (response.result.ParamName1 == $(this).find("#div_Name").text() || response.result.ParamName2 == $(this).find("#div_Name").text() || response.result.ParamName3 == $(this).find("#div_Name").text() || response.result.ParamName4 == $(this).find("#div_Name").text() || response.result.ParamName5 == $(this).find("#div_Name").text() || response.result.ParamName6 == $(this).find("#div_Name").text() || response.result.ParamName7 == $(this).find("#div_Name").text() || response.result.ParamName8 == $(this).find("#div_Name").text()) { $(this).find("input:checkbox").prop("checked", true); } }); if (response.result.ExecutionTypeId == Number(Unibase.Platform.DataApis.Enums.ExecutionType.Report)) { ApiBuilder.staticFiler = response.result.StaticFilter; ApiBuilder.paramNames.push({ param: response.result.ParamName1, index: ApiBuilder.serviceIndex }); ApiBuilder.paramNames.push({ param: response.result.ParamName2, index: ApiBuilder.serviceIndex }); ApiBuilder.paramNames.push({ param: response.result.ParamName3, index: ApiBuilder.serviceIndex }); ApiBuilder.paramNames.push({ param: response.result.ParamName4, index: ApiBuilder.serviceIndex }); ApiBuilder.paramNames.push({ param: response.result.ParamName5, index: ApiBuilder.serviceIndex }); ApiBuilder.paramNames.push({ param: response.result.ParamName6, index: ApiBuilder.serviceIndex }); ApiBuilder.paramNames.push({ param: response.result.ParamName7, index: ApiBuilder.serviceIndex }); ApiBuilder.paramNames.push({ param: response.result.ParamName8, index: ApiBuilder.serviceIndex }); } if (response.result.ExecutionTypeId == Number(Unibase.Platform.DataApis.Enums.ExecutionType.Form)) { ApiBuilder.Instance().bindSubFormPropertiesData(response.result); } }); } loadImportAndExport() { const html = '
Import/Export
'; var portletwidgetid = Number($("#hf_PortletWidgetId").val()); $("#divAppWidgets").empty(); $(".div_portletwidget_" + portletwidgetid).append(html); $("#btn_Export").click(function () { $("#div_Export").removeClass("hidden"); $("#importexportsection").addClass("hidden"); $("#div_Import").addClass("hidden"); $("#div_errorlog").addClass("hidden"); }); $("#btn_Import").click(function () { $("#importexportsection").removeClass("hidden"); $("#div_Import").removeClass("hidden"); $("#div_Export").addClass("hidden"); $("#div_errorlog").addClass("hidden"); }); $('input[type="file"]').change(function (e) { ApiBuilder.Instance().fileEvent(e); }); } fileEvent($event) { const fileSelected = $event.target.files[0]; ApiBuilder.fileData = new FormData(); ApiBuilder.fileData.append(fileSelected.name, fileSelected); } exportDataApis() { var recordId = Unibase.Platform.Analytics.Components.ReportViewer.Instance().InstalledAppId; Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().exportDataApis(recordId).then(function (response) { var filename = "Industry.xml"; var xmltext = response.result; var pom = document.createElement('a'); var bb = new Blob([xmltext], { type: 'text/plain' }); pom.setAttribute('href', window.URL.createObjectURL(bb)); pom.setAttribute('download', filename); pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':'); pom.draggable = true; pom.classList.add('dragout'); pom.click(); }); } importdataapis() { const url = _appsettings.server_url() + '/apis/v4/unibase/platform/dataapis/import/np'; var response = Unibase.Platform.Helpers.FileHelper.Instance().upload(url, ApiBuilder.fileData); } static Instance() { return new ApiBuilder(); } } ApiBuilder.isIntegration = false; ApiBuilder.serviceIndex = 0; ApiBuilder.paramNames = []; ApiBuilder.requestType = 0; ApiBuilder.fileData = new FormData(); Components.ApiBuilder = ApiBuilder; })(Components = DataApis.Components || (DataApis.Components = {})); })(DataApis = Platform.DataApis || (Platform.DataApis = {})); })(Platform = Unibase.Platform || (Unibase.Platform = {})); })(Unibase || (Unibase = {}));