12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208 |
- 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 = '<form id="frmUnibase_DataApi" default="" data-validate="parsley" data-isdynamic="false">' +
- Unibase.Platform.DataApis.Components.ApiBuilder_Template.Instance().loadDataApiTemplate(ApiBuilder.serviceIndex)
- + '</form>';
- 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("<div class='col-sm-8' id='div_FromBodyParams_" + $(this).find("#div_Name").text() + "'><span class='col-sm-3'>'" + $(this).find(".txtAliasName").val() + "'</span><span class='col-sm-1'>:</span><span class='col-sm-4'>'" + $(this).find("#div_Type").text() + "'</span></div>");
- }
- });
- }
- 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("<div class='col-sm-8' id='div_FromBodyParams_" + paramName + "'><span class='col-sm-3'>'" + value.substring(1, value.length - 1) + "'</span><span class='col-sm-1'>:</span><span class='col-sm-4'>'" + value + "'</span></div>");
- }
- 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 = "<div id='div_RequestData' class='floating-label-form-group-with-value'> <label id='lblrequestData'><span class='text-danger' id = 'spnRequestData'> * </span></label><input type='hidden' id='hf_selectedType' value='0'/><select id='txt_selectedType' onchange='javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getMethodData(" + ApiBuilder.serviceIndex + ");javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().loadQueryBuilder(" + ApiBuilder.serviceIndex + ");javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().loadProperties(" + ApiBuilder.serviceIndex + ");javascript: Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getPreview();javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getParametersPreview(" + ApiBuilder.serviceIndex + ");Unibase.Platform.Integrations.Components.CreateProvider.Instance().loadSampleUrl(" + ApiBuilder.serviceIndex + ");Unibase.Platform.Integrations.Components.CreateProvider.Instance().loadInputParametersToUrl(\"Service\",\"Parameters\",\"" + ApiBuilder.serviceIndex + "\");' class='form-control value-control required' data-placeholder='Select' placeholder='Select'></select></div>";
- $("#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<span class='text-danger' id = 'spnRequestData'> * </span>");
- }
- 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<span class='text-danger' id = 'spnRequestData'> * </span>");
- }
- 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<span class='text-danger' id = 'spnRequestData'> * </span>");
- }
- 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 = "<div id='div_method' class='floating-label-form-group-with-value'> <label>Method<span class='text-danger' id = 'spnMethod'> * </span></label><input type='hidden' id='hf_requestTypeId' value='0'/><input type='hidden' id='hf_selectedMethod' value='0'/><select id='txt_selectedMethod' onchange='javascript: Unibase.Platform.DataApis.Components.ApiBuilder.Instance().loadParamTypes(" + ApiBuilder.serviceIndex + ");javascript: Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getPreview();javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getParametersPreview(" + ApiBuilder.serviceIndex + ");Unibase.Platform.DataApis.Components.ApiBuilder.Instance().uniqueKey();Unibase.Platform.Integrations.Components.CreateProvider.Instance().loadSampleUrl(" + ApiBuilder.serviceIndex + ");Unibase.Platform.Integrations.Components.CreateProvider.Instance().loadInputParametersToUrl(\"Service\",\"Parameters\",\"" + ApiBuilder.serviceIndex + "\");' class='form-control value-control required' placeholder='Select' data-placeholder='Select'></select></div>";
- $("#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('<div class="row"><div class="row col-sm-11"><strong class="col-sm-3 ml-10">Name</strong><strong class="col-sm-2 ml-20">Type</strong><strong id="url_Type" class="col-sm-3 ml-15">URL Type</strong><strong id="aliasName" class="col-sm-2 ml-15">Alias Name</strong></div><input id="btnClearParameters" class="ml-40" onclick="javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().loadParamTypes(' + ApiBuilder.serviceIndex + ');javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getPreview();javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getParametersPreview(' + ApiBuilder.serviceIndex + ')" type="reset"></div>');
- 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 += '<div class="row paramSortable" id="divSortable_' + index + '"><i class="fa fa-sort text-muted pull-left media-xs"></i><div class="col-sm-12 row added-item mb-2"><div class="col-sm-3" id="div_Name">' + name + '</div><div class="col-sm-2" id="div_Type">' + type + '</div>';
- if (response.result.RequestTypeId == Unibase.Platform.DataApis.Enums.RequestType.Post || response.result.RequestTypeId == Unibase.Platform.DataApis.Enums.RequestType.Put) {
- html += '<div class="col-sm-3"><div class="custom-control custom-checkbox"><input type="checkbox" onchange="javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().parameterValidation(\'' + ApiBuilder.serviceIndex + '\',\'' + name + '\');Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getPreview();Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getParametersPreview(' + ApiBuilder.serviceIndex + ');Unibase.Platform.DataApis.Components.ApiBuilder.Instance().uniqueKey();Unibase.Platform.Integrations.Components.CreateProvider.Instance().loadSampleUrl(' + ApiBuilder.serviceIndex + ');" id="chk_FromUrl_' + name + '" value="' + name + '" name="chk_Param_' + name + '" class="custom-control-input chk_FromUrl"/><label for="chk_FromUrl_' + name + '" class="custom-control-label">From URL</label></div></div>';
- $("#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 += '<div class="col-sm-4 mb-2"><input type="text" id="txtAliasName_' + name + '" value="' + name + '" placeholder="Enter Name" class="form-control txtAliasName" onkeyup="javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getPreview();javascript: Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getParametersPreview(' + ApiBuilder.serviceIndex + ');javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().uniqueKey()" onkeydown="javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getPreview();javascript: Unibase.Platform.DataApis.Components.ApiBuilder.Instance().getParametersPreview(' + ApiBuilder.serviceIndex + ');javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().uniqueKey()"/><input type="hidden" id="hf_txtAliasName_' + name + '" value="' + name + '" class="hf_txtAliasName"/></div></div><div>';
- $("#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("<div class='row paramSortable' id='divSortable_" + index + "'><i class='fa fa-sort text-muted pull-left media - xs'></i><div class='row col-sm-12'><div id='divParent_" + parameterName + "' class='col-sm-12 div_Toggle mb-2 fa fa-caret-right'><span id='sp_name' style='font-size:18px;'>" + parameterName + "</span><div class='card col-sm-12' style='display:none;'><div class='card-header row'><strong class='col-sm-6'>Name</strong><strong class='col-sm-6'>Type</strong></div><div class='card-body'></div></div><span type='hidden' id='spn_type' class='hidden'>'" + parameterType + "'</span></div></div><div><br/>");
- }
- 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('<div style="text-align: center;">No Parameters Found</div>');
- }
- if (parameterCount == 1) {
- $("#methodParams").find(".added-item").append('<div class="col-sm-3 mb-2"><div class="custom-control custom-checkbox"><input type="checkbox" onchange="javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().loadAliasName()" id="chk_HasIdValue" name="chk_HasIdValue" class="custom-control-input chk_HasIdValue"/><label for="chk_HasIdValue" class="custom-control-label">HasIdValue</label></div></div>');
- }
- 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('<div class="row added-item mb-2 nested"><div class="col-sm-6" id="div_Name">' + prop + '</div><div class="col-sm-6" id="div_Type">' + paramType[1] + '</div></div>');
- }
- else {
- $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#methodParams").find("#divParent_" + name).append("<div id='divParent_" + prop + "' class='col-sm-12 div_Toggle fa fa-caret-right' style='display:none;'><span id='sp_name'>" + prop + "</span><div class='card col-sm-12' style='display:none;'><div class='card-header row'><strong class='col-sm-6'>Name</strong><strong class='col-sm-6'>Type</strong></div><div class='card-body'></div></div><span type='hidden' id='spn_type' class='hidden'>'" + properties[prop] + "'</span></div>");
- }
- }
- }
- $("#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('<div class="row"><div class="row col-sm-11"><strong class="col-sm-4 ml-15">Report Column Name</strong><strong class="col-sm-3 ml-10">Data Type</strong><strong class="col-sm-4 ml-10">Alias Name</strong></div><input id="btnClearReportColumns" onclick="javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().loadProperties(' + serviceIndex + ')" class="ml-30" type="reset"></div>');
- 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 += '<div class="row col-sm-12 added-item"><div class="col-sm-4" id="div_Name">' + data[i].ReportColumnName + '</div><div class="col-sm-3">' + data[i].DataType + '</div><div class="col-sm-4 mb-2"><input type="text" id="txtAlisName_' + data[i].ReportColumnName + '" value="' + data[i].ReportColumnName + '" placeholder="Enter Name" class="form-control txtAliasName"/></div></div><div></div>';
- }
- $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams_header").removeClass("hidden");
- }
- else {
- $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams_header").addClass("hidden");
- html += '<div style="text-align: center;">No Columns Found</div>';
- }
- $("#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 = '<div class="row"><div class="row col-sm-11"><strong class="col-sm-4 ml-15">Form Property Name</strong><strong class="col-sm-3 ml-10">Data Type</strong><strong class="col-sm-4 ml-10">Alias Name</strong></div><input id="btnClearFormProperties" onclick="javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().loadProperties(' + ApiBuilder.serviceIndex + ')" class="ml-30" type="reset"></div>';
- 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 += '<div class="row col-sm-12 div_subformProp added-item" id="div_subformProp_' + subFormId + '"><div class="col-sm-12 div_SubForm_Toggle");"><i class="fa fa-caret-right" onclick="javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().loadSubFormProperties(' + subFormId + ',' + ApiBuilder.serviceIndex + ',' + true + ');"></i><input type="hidden" id="hf_subFormId" value="' + subFormId + '"/><span id="spn_subFormName">' + formProperty.FormPropertyName + '</span><div id="div_subformprops_' + subFormId + '" class="card-body hidden div_subformprops_' + formProperty.FormPropertyName + '" ></div><div class="card-header hidden" id="div_subformprops_header"></div></div></div>';
- 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 += '<div class="row col-sm-12 added-item inserted"><input type="hidden" id="hf_IsSubForm" value="' + isSubForm + '"/><input type="hidden" id="hf_isStaticControl" value="' + isStaticControl + '"/><div class="col-sm-4" id="div_Name">' + formProperty.FormPropertyName + '</div><div class="col-sm-3" id="div_DataType">' + formProperty.DataTypeName + '</div><div class="col-sm-4 mb-2"><input type="text" id="txtAlisName_' + formProperty.FormPropertyName + '" value="' + formProperty.FormPropertyName + '" placeholder="Enter Name" class="form-control txtAliasName"/><input type="hidden" class="hf_SettingId" value="0"/></div>';
- if (formProperty.DocPropertyId == 0 && formProperty.IsStaticControl == true) {
- html += '<div class="row col-sm-12 customJson" id="json_' + formProperty.FormPropertyName + '"> <div class="col-sm-12" > <textarea class="formProp_Javascript col-sm-12" style = "display: block;" id = "javascript_' + formProperty.FormPropertyName + '"></textarea></div>';
- }
- html += '</div><div></div>';
- }
- }
- $("#Unibase_apiBuilder_" + ApiBuilder.serviceIndex).find("#div_methodParams_header").removeClass("hidden");
- }
- else {
- html += '<div style="text-align: center;">No Properties Found</div>';
- }
- 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('<div id="builder"></div> <button class="btn btn-primary parse-json mt-20">Apply</button> <div id="result" class="mt-20"> <div id="Output" class="hidden"></div> <strong class="text-dark">Filter Expression</strong> <pre></pre><div id="sql"></div> </div>');
- 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 = $("<p>" + contents + "</p>").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 = '<div class="card import-export-body"><div class="card-header"><span class="h6 text-dark ">Import/Export</span></div><div id="dataApi_validation" class="clear"></div><div class="card-body scrollable"><div id="div_importexport" class=""><div class="card"><div class="card-body"> <span class="col-6 pull-left border-right"><a id="btn_Import" class="btn btn-success">Import</a></span><span class="col-6 pull-right"><a id="btn_Export" class="btn btn-primary">Export</a></span></div></div><div class="card hidden" id = "importexportsection"><div class="card-body"><div class="hidden" id="div_Import"><input type="file" id="import_FileUpload" class="bg-light d-none d-sm-block import_FileUpload" style="width:150px"><hr /> <a href="javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().importdataapis();" id="fileUpload" class="btn btn-warning text-white">Upload</a></div></div></div><div class="hidden" id="div_Export"><span id="sp_formName"></span><a id="fileExport" href="javascript:Unibase.Platform.DataApis.Components.ApiBuilder.Instance().exportDataApis();" class="btn btn-primary text-white">Download</a></div><div class="card hidden" id="div_errorlog"><div class="card-header"><h6><span id="logname">Error Log</span></h6></div><div class="card-body row nicescroll-bar" style="height:300px;overflow-x:auto;"><ul class="list-group list-group-flush font-14"><li id="errorlog" class="list-group-item no-borders hidden"></li></ul></div></div></div></div></div>';
- 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 = {}));
|