Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

index.appbuilder.min.js 42KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. var Unibase;(function(Unibase){let Platform;(function(Platform){let Apps;(function(Apps){let Components;(function(Components){class AppBuilder extends Platform.Core.BaseComponent{constructor(){super();this.installedappid=0;this.parameters="";this.recordid=0;this.appmanager=Apps.Managers.AppManager.Instance();this.reportmanager=Unibase.Platform.Analytics.Managers.ReportManager.Instance();this.permissionmanager=Unibase.Platform.Permissions.Managers.PermissionManager.Instance()}cssFiles(){return[]}init(containerid){this.Dependentapp(containerid)}jsFiles(){return["platform/bundle/index.appbuilder.js"]}html(){return`<form id="frmUnibase_CreateApp" data-validate="parsley" data-isdynamic="false"><div class="card bg-light"><div class="b-b bg-white card-header header"><strong class="text-dark title" id="lbl_title">Create App</strong></div>
  2. <div data-simplebar class="card-body simple-scroll-bar scrollable" id="divCreateApp"><div id="div_appmessage"></div><div class="bg-white card"><div id="unibase_ValidationSummary" class="clear"></div><div class="card-body">
  3. <div class="row"><div class="col-sm-6"><div class="floating-label-form-group"><label for="txt_FriendlyName" class="font-bold">App Title<span class="text-danger"> *</span></label><input type="text" id="txt_FriendlyName" class="form-control floating-label-control required" data-isdynamic="false" placeholder="App Title *" data-placeholder="Enter App Title" data-label="App Title *" autocomplete="off"/></div></div>
  4. <div class="col-sm-6"><div class="floating-label-form-group div_IconGroupName" id="div_IconMargin"><label for="txt_IconName" class="font-bold">Icon Name<span class="text-danger"> *</span></label><input type="text" id="txt_IconName" class="form-control floating-label-control required tokenable" data-isdynamic="false" placeholder="Icon Name *" data-placeholder="Enter Icon Name" data-label="Icon Name *" autocomplete="off"><input type='hidden' id='txtfafaIcon'/><div class='div_GroupIcon'></div></div></div></div>
  5. <div class='col-sm-12 hidden div_Icons' id='icons'><div id='appicons' class='panel panel-default'>
  6. <ul class='list-group no-radius m-b-none list-group-item no-border icon-list'></ul></div></div>
  7. <div class="row"><div class="col-sm-6"><div class="input-group"><label for="companyname" class="font-bold">Company Name<span class="text-danger">*</span></label><select id="txtAutoComplete_Company" class="form-control text-control required" style="width:100%;" placeholder = "Company Name" data-placeholder="Company Name" data-label="" data-istagselect="true" onchange="Unibase.Platform.Apps.Components.AppBuilder.Instance().Company();" ></select>
  8. <input type="hidden" id="hfAutoComplete_Company" class="hfAutoCompleteId_Company' form-control value-control" data-isdynamic="true"/>
  9. </div></div>
  10. <div class="col-sm-6"><div class="input-group"><label for="" class="font-bold">Module Type <span class="text-danger">*</span></label><select id="txtAutoComplete_ModuleType" class="form-control text-control required" style="width:100%;" placeholder = "Module Type" data-placeholder="Module Type" data-label="" data-istagselect="true" disabled="true" onchange="Unibase.Platform.Apps.Components.AppBuilder.Instance().ModuleType();"></select>
  11. <input type="hidden" id="hfAutoComplete_ModuleType" class="hfAutoComplete_ModuleType' form-control value-control" data-isdynamic="true"/>
  12. </div></div>
  13. </div>
  14. <div class="row">
  15. <div class="col-sm-6"><div class="input-group"><label for="" class="font-bold">Module <span class="text-danger">*</span></label><select id="txtAutoComplete_Module" class="form-control text-control required" style="width:100%;" placeholder = "Module" data-placeholder="Module" data-label="" data-istagselect="true" disabled="true" onchange="Unibase.Platform.Apps.Components.AppBuilder.Instance().Module();"></select>
  16. <input type="hidden" id="hfAutoComplete_Module" class="hfAutoComplete_Module' form-control value-control" data-isdynamic="true"/></div></div>
  17. <div class="col-sm-6 div_Enabledefault" style="margin-top:50px"><strong>Enable Defaults</strong><label class="switch pull-right"><input id="chkEnableDefaults" data-group="" style="margin-top:50px" type="checkbox" checked><span></span> </label>
  18. </div>
  19. </div>
  20. <div class="row div_table">
  21. <div class="col-sm-6"><div class="floating-label-form-group"><label for="txt_TableName" class="font-bold">Table Name<span class="text-danger"> *</span></label>
  22. <input type="text" id="txt_TableName" class="form-control floating-label-control required" data-isdynamic="false" placeholder="TableName *" data-placeholder="Enter TableName" data-label="TableName *" autocomplete="off"/></div></div>
  23. <div class="col-sm-6"><div class="floating-label-form-group" ><label for="" class="font-bold">Primary Key<span class="text-danger"> *</span>
  24. </label><input type="text" id="txt_PrimaryKey" class="form-control floating-label-control required" data-isdynamic="false" placeholder="Primary Key *" data-placeholder="Enter Primary Key" data-label="Primary Key *" autocomplete="off">
  25. </div></div>
  26. </div>
  27. <div class="row">
  28. <div class="col-sm-6"><div class="floating-label-form-group"><label for="" class="font-bold">App Color<span class="text-danger"> *</span>
  29. </label><input type="text" id="txt_AppColor" class="form-control floating-label-control required" data-isdynamic="false" placeholder="App Color *" data-placeholder="Enter App Color" data-label="App Color *" autocomplete="off">
  30. </div></div>
  31. <div class="col-sm-6 div_appdoctypes hidden"><div class="input-group"><label for="lblType" class="font-bold">Default DocType </label> <select id="Autocomplete_AppDocTypes" class="form-control value-control" style="width:100%;" placeholder = "App DocTypes" data-placeholder="App DocTypes" data-label="" data-istagselect="true"></select>
  32. <input type="hidden" id="hfAutoComplete_appdoctypes" class="hfAutoComplete_appdoctypes' form-control value-control" data-isdynamic="true"/>
  33. </div></div>
  34. <div class="col-sm-4 div_appimage"><div class="floating-label-form-group"><label for="lblType" class="font-bold">App Image </label>
  35. <input type="file" id="txt_AppImage" class="form-control" data-isdynamic="false" placeholder="App Image" data-placeholder="Choose Image" data-label="App Image" autocomplete="off" onchange = "Unibase.Platform.Apps.Components.AppBuilder.Instance().loadImage(event)">
  36. </div></div>
  37. <div class="div_image col-sm-2"></div></div>
  38. <div class="card-body"><div class="row"><div class="col-sm-12"><div class="floating-label-form-group divSvgimage">
  39. <label for="" class="font-bold">Svg Image<span class="text-danger"></span>
  40. </label><input type="text" id="txt_SvgImage" class="form-control floating-label-control " data-isdynamic="false" placeholder="Svg Img" data-placeholder="Svg Image " data-label=" Svg Image" autocomplete="off">
  41. </div></div></div></div>
  42. <div class="row hidden div_dispname_revname " >
  43. <div class="col-sm-6 "><div class="floating-label-form-group"><label for="" class="font-bold">Display Name<span class="text-danger"></span>
  44. </label><input type="text" id="txt_DisplayName" class="form-control floating-label-control " data-isdynamic="false" placeholder="Display Name" data-placeholder="Enter Display Name" data-label=" Display Name" autocomplete="off">
  45. </div></div>
  46. <div class="col-sm-6 "><div class="floating-label-form-group"><label for="" class="font-bold">Reverse Name<span class="text-danger"></span>
  47. </label><input type="text" id="txt_ReverseName" class="form-control floating-label-control " data-isdynamic="false" placeholder="Reverse Name" data-placeholder="Enter Reverse Name" data-label=" Reverse Name" autocomplete="off">
  48. </div></div>
  49. </div>
  50. <div class="row hidden div_roles"><div class="col-sm-6"><div class="input-group"><label for="lblRoles"
  51. class="font-bold">Roles</label> <select id="Select2_Roles" class="form-control value-control" style="width:100%;
  52. " placeholder = "Roles" data-placeholder="Roles" data-label="" data-istagselect="true" multiple="multiple"/></select>
  53. <input type="hidden" id="hfSelect2_Roles" class="hfSelect2_Roles' form-control value-control" data-isdynamic="true"/>
  54. </div></div></div>
  55. <div class="row">
  56. <div class="col-sm-6 div_stages" style="margin-top:50px"><strong>Enable Stage</strong><label class="switch pull-right"><input id="chkStageEnable" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div>
  57. <div class="col-sm-6 div_isSyncEnabled d-none" style="margin-top:50px"><strong>Enable Sync</strong><label class="switch pull-right"><input id="chkSyncEnabled" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div>
  58. <div class="col-sm-6 div_issystemlock d-none" style="margin-top:50px"><strong>Enable System Lock</strong><label class="switch pull-right"><input id="chkSystemlock" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div>
  59. <div class="col-sm-6 hidden" id="div_LockAppliedOn"><div class="input-group"><label for="lblLockappliedon" class="font-bold">LockAppiedOn</label> <select id="Autocomplete_LockAppliedOn" class="form-control value-control" style="width:100%;" placeholder = "LockAppliedOn" data-placeholder="LockAppliedOn" data-istagselect="true" onchange=""/></select>
  60. <input type="hidden" id="hfAutoComplete_LockAppliedOn" class="hfAutoComplete_LockAppliedOn' form-control value-control" data-isdynamic="true"/>
  61. </div></div>
  62. <div class="col-sm-6 div_isSeriesExport d-none" style="margin-top:50px"><strong>Enable Series Export</strong><label class="switch pull-right"><input id="chkSeriesExport" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div>
  63. <div class="col-sm-6 div_isPermissionsExport d-none" style="margin-top:50px"><strong>Enable Permissions Export</strong><label class="switch pull-right"><input id="chkPermissionsExport" data-group="" style="margin-top:50px" type="checkbox"><span></span> </label></div>
  64. </div>
  65. <div class="row">
  66. <div class="col-sm-12" style="margin-top:50px"><a href="javascript:;" id="link_MoreOptions" class="pull-right">More Options</a><a href="javascript:;" id="link_LessOptions" class="pull-right hidden">Less Options</a></div></div>
  67. <div class="row hidden div_moreoptions"><div class="col-sm-6"><div class="input-group"><label for="lblAppproviderType" class="font-bold">AppProvider Type </label> <select id="Autocomplete_AppproviderType" class="form-control value-control" style="width:100%;" placeholder = "AppProvider Type" data-placeholder="AppProvider Type" data-label="" data-istagselect="true" onchange="Unibase.Platform.Apps.Components.AppBuilder.Instance().AppProviderType();"/></select>
  68. <input type="hidden" id="hfAutoComplete_Appprovidertype" class="hfAutoComplete_Appprovidertype' form-control value-control" data-isdynamic="true"/>
  69. </div></div>
  70. <div class="col-sm-6"><div class="input-group"><label for="lblParentApp" class="font-bold">ParentApp </label> <select id="Autocomplete_ParentApp" class="form-control value-control" style="width:100%;" placeholder = "ParentApp" data-placeholder="ParentApp" data-istagselect="true" onchange=""/></select>
  71. <input type="hidden" id="hfAutoComplete_ParentApp" class="hfAutoComplete_ParentApp' form-control value-control" data-isdynamic="true"/>
  72. </div></div>
  73. <div class="col-sm-6 mt-3"><div class="input-group"><label for="lblAppType" class="font-bold">AppType
  74. </label> <select id="Autocomplete_AppType" class="form-control value-control" style="width:100%;" placeholder = "AppType" data-placeholder="AppType" data-istagselect="true" onchange=""/></select>
  75. <input type="hidden" id="hfAutoComplete_AppType" class="hfAutoComplete_AppType' form-control value-control" data-isdynamic="true"/>
  76. </div></div>
  77. </div>
  78. <div class="row hidden div_dependentapps"><div class="col-sm-6"><div class="input-group"><label for="lblAppproviderType" class="font-bold">Dependent Apps </label> <select id="Select2_DependentApps" class="form-control value-control" style="width:100%;" placeholder = "Dependent App" data-placeholder="Dependent Apps" data-label="" data-istagselect="true" multiple="multiple"/></select>
  79. <input type="hidden" id="hfSelect2_Dependentapps" class="hfSelect2_Dependentapps' form-control value-control" data-isdynamic="true"/>
  80. </div></div></div>
  81. </div></div>
  82. <div class="bg-white card div_moreoptions1 hidden" id=" div_moreoptions1"><div class="card-header">
  83. <div class="row col-sm-12 mt-2">
  84. <div class="TemplateText_Section card"><div class="card-header"> Template Text </div><div class="card-body"><div id="div_TemplateText" class="">
  85. <textarea class="" id="txt_DefaultWidgetTemplateText" placeholder="Template Text" rows="3" cols="112"></textarea>
  86. </div></div></div>
  87. </div>
  88. <div class="row">
  89. <div class="col-sm-6"><div class="input-group"><label for="lblReports" class="font-bold">Reports </label> <select id="Autocomplete_Report" class="form-control value-control" style="width:100%;" placeholder = "Reports" data-placeholder="Reports" data-istagselect="true" onchange=""/></select>
  90. <input type="hidden" id="hfAutoComplete_Report" class="hfAutoComplete_Report' form-control value-control" data-isdynamic="true"/>
  91. </div></div>
  92. <div class="col-sm-6"><div class="input-group" ><label for="lblParameter" class="font-bold">DefaultWidget Parameter</label> <select id="Sel_Dwparameter" class="form-control value-control" style="width:100%;" placeholder = "DefaultWidget Parameter data-placeholder="DefaultWidget Parameter" data-istagselect="true" data-isdynamic="true" disabled="true"></select>
  93. <input type="hidden" id="hfAutoComplete_Dwparam" class="hfAutoComplete_Dwparam' form-control value-control" data-isdynamic="true"/>
  94. </div></div>
  95. </div><br>
  96. <div class="row">
  97. <div class="col-sm-4"><div class="input-group" ><label for="lblReport" class="font-bold">Report Column1<span class="text-danger"> </span></label> <select id="Sel_Column1" class="form-control value-control" style="width:100%;" placeholder = "Reports Column1" data-placeholder="Reports Column1" data-istagselect="true" data-isdynamic="true"></select>
  98. <input type="hidden" id="hfAutoComplete_ReportColumn1" class="hfAutoComplete_ReportColumn1' form-control value-control" data-isdynamic="true"/>
  99. </div></div>
  100. <div class="col-sm-4"><div class="input-group" ><label for="lblReport" class="font-bold">Report Column2<span class="text-danger"> </span></label> <select id="Sel_Column2" class="form-control value-control" data-isdynamic="true" style="width:100%;" placeholder = "Reports Column2" data-placeholder="Reports Column2" data-istagselect="true" disabled="true"></select>
  101. <input type="hidden" id="hfAutoComplete_ReportColumn2" class="hfAutoComplete_ReportColumn2' form-control value-control" data-isdynamic="true"/>
  102. </div></div>
  103. <div class="col-sm-4"><div class="input-group" ><label for="lblReport" class="font-bold">Report Column3<span class="text-danger"> </span></label> <select id="Sel_Column3" class="form-control value-control" data-isdynamic="true" style="width:100%;" placeholder = "Reports Column3" data-placeholder="Reports Column3" data-istagselect="true" disabled="true"></select>
  104. <input type="hidden" id="hfAutoComplete_ReportColumn3" class="hfAutoComplete_ReportColumn3' form-control value-control" data-isdynamic="true"/>
  105. </div></div>
  106. </div>
  107. </div></div>
  108. <div class="bg-white card"><div class="card-header">Unique Key</div><div class="card-body"><div class="row"><div class="col-sm-11"><div class="alert alert-primary" id="txt_UniqueId"></div></div><div class="col-sm-1"><button id="Edit_UniqueKey" class="btn btn-secondary btn-sm mr-auto hidden">Edit</button>
  109. </div></div></div></div>
  110. <div class="bg-white card"><div class="card-header">Description</div><div class="card-body"><div class="row"><div class="col-sm-12"><div class="floating-label-form-group divDiscription"><textarea class="summernote form-control value-control floating-label-control required" id="txt_Description" name="" rows=""></textarea></div></div>
  111. </div></div></div></div>
  112. <div class="bg-white card-footer footer" id="CreateAppFooter"><button id="btn_CloseApp" class="btn btn-secondary btn-sm mr-auto">Close</button><button id="btn_SaveApp" class="btn btn-primary btn-sm pull-right">Save</button></div></div></form>`}load(id,containerid){Unibase.Platform.Helpers.FileCacheHelper.Instance().addCacheFiles(["platform/apps/components/appbuilder.js","platform/apps/enums/dependenttype.js","platform/datasources/managers/doctypemanager.js","platform/datasources/managers/interfaces/idoctypemanager.js","platform/apps/enums/apptype.js"]);var instance=this;instance.recordid=id;$("#btn_CloseApp").click(function(){$("#"+containerid).modal("hide");$("#"+containerid).remove()});$("#txt_FriendlyName").keyup(function(){id==0&&AppBuilder.Instance().AppTitle(id)});$("#btn_SaveApp").click(function(){let result=Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("frmUnibase_CreateApp");if(result==!1)return $($(".summernote").summernote("code")).text()==""?($(".divDiscription").css("border-color","red"),MessageHelper.Instance().showError("Mandatory Fields are missing","div_appmessage"),!1):($(".divDiscription").css("border-color",""),!1);AppBuilder.Instance().SaveApp(id,containerid)});$("#chkEnableDefaults").on("change",function(){$("#chkEnableDefaults").prop("checked")?($(".div_table").removeClass("hidden"),$(".div_stages").removeClass("hidden")):($(".div_table").addClass("hidden"),$("#txt_PrimaryKey").removeClass("required"),$("#txt_TableName").removeClass("required"),$(".div_stages").addClass("hidden"))});$("#txt_IconName").focus(function(){$(".div_Icons").fadeIn();$("#icons").toggleClass("hidden");$(".div_Icons").removeClass("hidden")});$("#txt_IconName").focusout(function(){$(".div_Icons").fadeOut()});$(".summernote").summernote({toolbar:[],placeholder:"Enter Description *"});$(".summernote1").summernote({toolbar:[],placeholder:"Svg Image "});$(".divDiscription").keypress(function(){$(".divDiscription").css("border-color","")});$(".divDiscription").keydown(function(){var contents=$(".summernote").summernote("code"),plainText=$("<p>"+contents+"<\/p>").text();plainText!=""&&plainText.length==1&&$(".divDiscription").css("border-color","red")});$("#chkStageEnable").on("change",function(){$("#chkStageEnable").prop("checked")?id!=0&&$("#Autocomplete_AppDocTypes").addClass("required"):$("#Autocomplete_AppDocTypes").removeClass("required")});instance.appdata(id);instance.loadIcons();$("#chkSystemlock").change(function(){$("#chkSystemlock").prop("checked")?$("#div_LockAppliedOn").removeClass("hidden"):$("#div_LockAppliedOn").addClass("hidden")})}loadImage(event){Unibase.Platform.Helpers.FileHelper.Instance().getBase64(event).then(function(response){Unibase.Platform.Apps.Components.AppBuilder.FileInfo=response});$(".div_image").empty();var url=URL.createObjectURL(event.target.files[0]),imagetag='<img class="img-fluid" src = "'+url+'"width="60" height="50" style="margin-top:10px" ><\/img>';$(".div_image").append(imagetag)}loadForm(FormId,Pk_Value){this.addprovider(Pk_Value)}addprovider(Pk_Value){this.navigationHelper.popup(Pk_Value,"",Unibase.Platform.Apps.Components.AppBuilder.Instance(),null,Platform.Helpers.Size.Large)}loadAppForm(iscreate){var Pk_Value=0;iscreate||(Pk_Value=Unibase.Themes.Providers.DetailHelper.recordId);this.navigationHelper.popup(Pk_Value,"",Unibase.Platform.Apps.Components.AppBuilder.Instance(),null,Platform.Helpers.Size.Large)}appdata(Pk_Value){var instance,defaultdoctypeid,url,appTypeoption;Pk_Value!=0&&(instance=this,defaultdoctypeid=0,this.appmanager.getInstallApp(Pk_Value).then(function(response){var imagetag,appdoctypeoptions,defaultdoctypeid,url,lockappliedoptions,appprovidertypeoption,apptypeoption,roleids,ids,i,option1,option2,option3;if(response.result.ReportId!=0&&instance.getreportcolumns(response.result.ReportId),instance.appmanager.getdependentApps(Pk_Value).then(function(response){var ids,options,i;if(response.result.length>0){for(ids=[],options="",i=0;i<response.result.length;i++)ids.push(response.result[i].DependentId),options+='<option value="'+response.result[i].DependentId+'">'+response.result[i].AppTitle+"<\/option>";$("#Select2_DependentApps").append(options).val(ids).trigger("change")}}),$("#lbl_title").text("Edit App"),$(".div_Enabledefault").remove(),$(".div_dispname_revname").removeClass("hidden"),$(".div_isSeriesExport").removeClass("d-none"),$(".div_isPermissionsExport").removeClass("d-none"),$(".div_issystemlock").removeClass("d-none"),$(".div_isSyncEnabled").removeClass("d-none"),$("#txt_DisplayName,#txt_ReverseName").keypress(function(){$(".div_roles").removeClass("hidden")}),response.result.EnableStage&&($("#chkStageEnable").prop("checked",!0),$("#chkStageEnable").attr("disabled","true"),$("#Autocomplete_AppDocTypes").attr("required","true")),response.result.IsSystemLock&&($("#chkSystemlock").prop("checked",!0).trigger("change"),$("#chkSystemlock").attr("disabled","true"),$("#Autocomplete_AppDocTypes").attr("required","true")),response.result.EnableSeriesExport&&$("#chkSeriesExport").prop("checked",!0),response.result.EnablePermissionsExport&&$("#chkPermissionsExport").prop("checked",!0),$("#chkSyncEnabled").prop("checked",response.result.IsSyncEnabled).trigger("change"),response.result.ImageUrl!=""&&(imagetag='<img class="rounded-circle img-fluid" src = "'+response.result.ImageUrl+'" width="60" height="50" style="margin-top:10px" ><\/img>',$(".div_image").append(imagetag)),response.result.DefaultDocTypeId!=0&&(appdoctypeoptions=new Option(response.result.DocTypeTableName,response.result.DefaultDocTypeId.toString(),!0),$("#Autocomplete_AppDocTypes").append(appdoctypeoptions),$("#Autocomplete_AppDocTypes").attr("disabled","true"),defaultdoctypeid=response.result.DefaultDocTypeId,defaultdoctypeid=defaultdoctypeid,url=_appsettings.server_url()+"/apis/v4/unibase/platform/doctypes/docpropertiesautocomplete/doctypeid/"+defaultdoctypeid,AutoCompleteHelper.getHelper().Create("#Autocomplete_LockAppliedOn","#hfAutoComplete_LockAppliedOn",url,function(){}),response.result.LockAppliedOnName!=null&&(lockappliedoptions=new Option(response.result.LockAppliedOnName,response.result.LockAppliedOn.toString(),!0),$("#Autocomplete_LockAppliedOn").append(lockappliedoptions),$("#Autocomplete_LockAppliedOn").attr("disabled","true"))),$(".div_appdoctypes").removeClass("hidden"),$(".div_table").remove(),$("#txt_FriendlyName").val(response.result.AppTitle),$("#txt_FriendlyName").attr("disabled","true"),$("#txt_IconName").val(response.result.IconName),$("#txt_DisplayName").val(response.result.DisplayText),$("#txt_ReverseName").val(response.result.ReverseText),$("#txt_AppColor").val(response.result.AppColor),$("#txt_SvgImage").val(response.result.SvgIconUrl),$(".summernote").summernote("code",response.result.Description),appprovidertypeoption=new Option(Apps.Enums.AppProviderType[Number(response.result.AppProviderTypeId)],response.result.AppProviderTypeId.toString(),!0),$("#Autocomplete_AppproviderType").append(appprovidertypeoption),apptypeoption=new Option(Apps.Enums.AppType[Number(response.result.AppTypeId)],response.result.AppTypeId.toString(),!0),$("#Autocomplete_AppType").append(apptypeoption),$("#txt_UniqueId").text(response.result.UniqueId),$("#txt_DefaultWidgetTemplateText").val(response.result.DefaultWidgetTemplateText),response.result.ReportId==0&&$("#chkEnableDefaults").prop("checked",!1),response.result.RoleIds!=""&&response.result.RoleIds!=null)for($(".div_roles").removeClass("hidden"),roleids=response.result.RoleIds.split("|"),ids=[],i=0;i<roleids.length;i++){let roleid=Number(roleids[i]);if(ids.push(roleid),roleid==0){$("#Select2_Roles").append(`<option value="${roleid}">All</option>`).val(ids).trigger("change");continue}instance.permissionmanager.getRole(roleid).then(function(roleresponse){var options=`<option value="${roleid}">${roleresponse.result.RoleName}</option>`;$("#Select2_Roles").append(options).val(ids).trigger("change")})}option1=new Option(response.result.DevOrgName,response.result.DevOrgId.toString(),!0);$("#txtAutoComplete_Company").append(option1);$("#txtAutoComplete_Company").attr("disabled","true");option2=new Option(response.result.ModuleTypeName,response.result.ModuleTypeId.toString(),!0);$("#txtAutoComplete_ModuleType").append(option2);option3=new Option(response.result.ModuleName,response.result.ModuleId.toString(),!0);$("#txtAutoComplete_Module").append(option3);response.result.ParentAppId!=0&&instance.appmanager.getInstallApp(Number(response.result.ParentAppId)).then(function(parentappresponse){var parentappoption=new Option(parentappresponse.result.AppTitle,parentappresponse.result.InstalledAppId.toString(),!0);$("#Autocomplete_ParentApp").append(parentappoption)});response.result.ReportId!=0&&instance.reportmanager.getReportById(Number(response.result.ReportId)).then(function(reportresponse){var reportoption=new Option(reportresponse.result.ReportName,reportresponse.result.ReportId.toString(),!0);$("#Autocomplete_Report").append(reportoption)});$("#Autocomplete_Report").on("change",function(){$("#Sel_Column1").removeAttr("disabled");$("#Sel_Column2").attr("disabled","true");$("#Sel_Column3").attr("disabled","true");var repportvalue=Number($("#Autocomplete_Report").val()),reporttext=$("#Autocomplete_Report").text();repportvalue!=0&&instance.getreportcolumns(repportvalue)});$("#Sel_Column1").on("change",function(){var value=$("#Sel_Column1").val(),text=$("#Sel_Column1 option:selected").text(),htmlString,htmltext,template;text!=""&&($("#Sel_Column2").removeAttr("disabled"),$("#Sel_Column1").attr("disabled","true"),htmlString=$($("#txt_DefaultWidgetTemplateText").val()),htmltext=htmlString,htmltext.find("#Column1").text("{{"+text+"}}"),template=htmltext.html().toString(),$("#txt_DefaultWidgetTemplateText").val("<div class='app_defaultwidget'>"+template+"<\/div>"))});$("#Sel_Column2").on("change",function(){var value=$("#Sel_Column2").val(),text=$("#Sel_Column2 option:selected").text(),html2,htmltext2,template2;text!=""&&($("#Sel_Column3").removeAttr("disabled"),$("#Sel_Column2").attr("disabled","true"),html2=$($("#txt_DefaultWidgetTemplateText").val()),htmltext2=html2,htmltext2.find("#Column2").text("{{"+text+"}}"),template2=htmltext2.html().toString(),$("#txt_DefaultWidgetTemplateText").val("<div class='app_defaultwidget'>"+template2+"<\/div>"))});$("#Sel_Column3").on("change",function(){var text=$("#Sel_Column3 option:selected").text(),html3,htmltext3,template3;if(text!=""){$("#Sel_Column3").attr("disabled","true");var templte3=$("#txt_DefaultWidgetTemplateText").val(),htmlObject3=$($("#txt_DefaultWidgetTemplateText").val()),temp3=htmlObject3.find("#Column3").text();if(temp3=="")return MessageHelper.Instance().showError("Please add third column in templatetext","div_appmessage"),!1;html3=$($("#txt_DefaultWidgetTemplateText").val());htmltext3=html3;htmltext3.find("#Column3").text("{{"+text+"}}");template3=htmltext3.html().toString();$("#txt_DefaultWidgetTemplateText").val("<div class='app_defaultwidget'>"+template3+"<\/div>")}})}));$("#link_MoreOptions").click(function(){$(".div_moreoptions").removeClass("hidden");$("#link_MoreOptions").addClass("hidden");$("#link_LessOptions").removeClass("hidden");Pk_Value!=0&&($(".div_moreoptions1").removeClass("hidden"),Number($("#Autocomplete_AppproviderType").val())==Apps.Enums.AppProviderType.Dependent&&$(".div_dependentapps").removeClass("hidden"))});$("#link_LessOptions").click(function(){$(".div_moreoptions").addClass("hidden");$("#link_MoreOptions").removeClass("hidden");$("#link_LessOptions").addClass("hidden");$(".div_dependentapps").addClass("hidden");Pk_Value!=0&&($(".div_moreoptions1").addClass("hidden"),$(".div_dependentapps").addClass("hidden"))});url=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/getcompanynames";AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Company","#hfAutoCompleteId_Company",url,function(){});url=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/getappprovidertype";AutoCompleteHelper.getHelper().Create("#Autocomplete_AppproviderType","#hfAutoComplete_Appprovidertype",url,function(){});url=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/getmoduletypes";AutoCompleteHelper.getHelper().Create("#txtAutoComplete_ModuleType","#hfAutoComplete_ModuleType",url,function(){});url=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/getmodulenames/devorgid/0/moduletypeid/0";AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Module","#hfAutoComplete_Module",url,function(){});url=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/getdependentapps";AutoCompleteHelper.getHelper().Create("#Select2_DependentApps","#hfSelect2_Dependentapps",url,function(){});url=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/parentapps";AutoCompleteHelper.getHelper().Create("#Autocomplete_ParentApp","#hfAutoComplete_ParentApp",url,function(){});url=_appsettings.server_url()+"/apis/v4/unibase/platform/analytics/reports";AutoCompleteHelper.getHelper().Create("#Autocomplete_Report","#hfAutoComplete_Report",url,function(){});url=_appsettings.server_url()+"/apis/v4/unibase/platform/doctypes/appdoctypesautocomplete/installedappid/"+Pk_Value;AutoCompleteHelper.getHelper().Create("#Autocomplete_AppDocTypes","#hfAutoComplete_appdoctypes",url,function(){});url=_appsettings.server_url()+"/apis/v4/unibase/platform/roles/getroles";AutoCompleteHelper.getHelper().Create("#Select2_Roles","#hfSelect2_Roles",url,function(){});url=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/getapptype";AutoCompleteHelper.getHelper().Create("#Autocomplete_AppType","#hfAutoComplete_AppType",url,function(){});Pk_Value==0&&(appTypeoption=new Option(Apps.Enums.AppType[Apps.Enums.AppType.App],Apps.Enums.AppType.App.toString(),!0),$("#Autocomplete_AppType").append(appTypeoption))}getreportcolumns(ReportId){$("#Sel_Column1 option").remove();$("#Sel_Column2 option").remove();$("#Sel_Column3 option").remove();$("#Sel_Dwparameter option").remove();var primarykey=0,primarykeyname="",options;ReportId!=0&&this.reportmanager.getColumns(ReportId).then(function(response){var Data=[],columns;Data.push({id:0,text:"select"});for(let i=0;i<response.result.length;i++)columns=response.result[i],columns.IsPrimaryKey&&(primarykey=columns.ReportColumnId,primarykeyname=columns.ReportColumnName,options=new Option(primarykeyname,primarykey.toString()),$("#Sel_Dwparameter").append(options)),Data.push({id:columns.ReportColumnId,text:columns.ReportColumnName});$("#Sel_Dwparameter,#Sel_Column1,#Sel_Column2,#Sel_Column3").select2({placeholder:"Select Column",data:Data})})}loadIcons(){var html="",Icons=[{Name:"APP Store",Icon:" fa fa-flask"},{Name:"List",Icon:"fa fa-list"},{Name:"Arrow",Icon:"fa fa-arrow-right"},{Name:"Bank",Icon:"fa fa-bank"},{Name:"Invoice",Icon:"fa fa-files-o"},{Name:"CRM",Icon:"fa fa-users"},{Name:"Shopping",Icon:"fa fa-shopping-cart"},{Name:"Overflow",Icon:"fa fa-stack-overflow"},{Name:"Money",Icon:"fa fa-money"},{Name:"Car",Icon:"fa fa-car"},{Name:"Building",Icon:"fa fa-building"},{Name:"Chart",Icon:"fa fa-bar-chart"},{Name:"Image",Icon:"fa fa-image"},{Name:"Settings",Icon:"fa fa-cog"},],i;for($(".icon-list").html('<li class="icon-item hidden"><\/li>'),html+='<li class="list-group-item icon-item"><div class="row"><div class="col-sm-12">',i=0;i<Icons.length;i++)html+=' <span class="fa-stack fa-2-5x m-t-sm"><a href="javascript:;" class="list-group-anchor" onclick="Unibase.Platform.Apps.Components.AppBuilder.Instance().AssginIcon(\''+Icons[i].Name+"','"+Icons[i].Icon+'\');"><i class="fa fa-circle fa-stack-2x text-success dker"><\/i><i class="'+Icons[i].Icon+' fa-stack-1x text-white"><\/i><\/a><\/span>';html+="<\/div><\/div><\/li>";$(".icon-item:last").after(html)}AssginIcon(Name,Icon){$(".div_GroupIcon").html("");$("#txtfafaIcon").val(Icon);$("#txt_IconName").val(Icon);var html='<span class="fa-stack fa-2-5x m-t-sm"><i class="fa fa-circle fa-stack-2x text-success dker"><\/i><i class=" fa '+Icon+' fa-stack-1x text-white"><\/i><\/span><a class="pull-right" onclick="Unibase.Platform.Apps.Components.AppBuilder.Instance().RemoveImage();"><i class="m-r fa fa-close text-danger fa-lg" id="close" onclick=""><\/i><\/a>';$(".iconname").addClass("hidden");$(".div_GroupIcon").append(html);$("#icons").toggleClass("hidden");$("#txtfafaIcon").val()!=""?($(".tokenable").addClass("hidden"),$(".div_IconGroupName").addClass("floating-label-form-group-with-value")):$(".div_IconGroupName").removeClass("floating-label-form-group-with-value")}RemoveImage(){$(".div_GroupIcon").html("");$(".iconname").removeClass("hidden");$(".tokenable").removeClass("hidden");$("#txt_IconName").val("");$(".div_IconGroupName").removeClass("floating-label-form-group-with-value");$("#div_IconMargin").css("margin-top","0px")}AppTitle(id){let apptitle=$("#txt_FriendlyName").val().toString().replace(/ /g,"");var uniqueid=$("#txt_UniqueId").text(),companynametext=$("#txtAutoComplete_Company option:selected").text(),ModuleText=$("#txtAutoComplete_ModuleType option:selected").text(),Module=$("#txtAutoComplete_Module option:selected").text();if(companynametext!=""&&companynametext!="null"&&ModuleText!=""&&ModuleText!="null"&&Module!=""&&Module!="null")$("#txt_UniqueId").text(companynametext+"_"+ModuleText+"_"+Module+"_"+apptitle+"_App_"+apptitle);else if(id!=0)return MessageHelper.Instance().showError("Please Arrange CompanyName,ModuleType and Module","div_appmessage"),!1}Company(){var companyname=Number($("#txtAutoComplete_Company").val()),companynametext=$("#txtAutoComplete_Company option:selected").text();$("#txtAutoComplete_ModuleType").val(0);$("#txtAutoComplete_Module").val(0);$("#txt_UniqueId").text("");companyname!=0&&($("#txtAutoComplete_ModuleType").removeAttr("disabled"),$("#txt_UniqueId").text(companynametext+"_"));$("#txt_UniqueId").attr("readonly","readonly")}ModuleType(){var companyname=Number($("#txtAutoComplete_Company").val()),Module=Number($("#txtAutoComplete_ModuleType").val()),ModuleText=$("#txtAutoComplete_ModuleType option:selected").text(),uniqueid=$("#txt_UniqueId").text(),url;Module!=0&&($("#txtAutoComplete_Module").removeAttr("disabled"),$("#txt_UniqueId").text(uniqueid+ModuleText+"_"));$("#txtAutoComplete_ModuleType").attr("disabled","true");url=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/getmodulenames/devorgid/"+companyname+"/moduletypeid/"+Module;AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Module","#hfAutoComplete_Module",url,function(){})}Module(){var Module=$("#txtAutoComplete_Module option:selected").text(),Modulevalue=Number($("#txtAutoComplete_Module option:selected").val()),uniqueid=$("#txt_UniqueId").text(),apptitle;Modulevalue!=0&&($("#txt_FriendlyName").val()!=""?(apptitle=$("#txt_FriendlyName").val().toString().replace(/ /g,""),$("#txt_UniqueId").text(uniqueid+Module+"_"+apptitle+"_App_"+apptitle)):(MessageHelper.Instance().showError("Please Enter AppTitle","div_appmessage"),$("#txtAutoComplete_Company").empty(),$("#txt_UniqueId").text(""),$("#txtAutoComplete_ModuleType").empty(),$("#txtAutoComplete_Module").empty()));$("#txtAutoComplete_Module").attr("disabled","true")}AppProviderType(){var providertype=$("#Autocomplete_AppproviderType option:selected").text(),providertypevalue=$("#Autocomplete_AppproviderType option:selected").val();providertype=="Dependent"?$(".div_dependentapps").removeClass("hidden"):$(".div_dependentapps").addClass("hidden")}Dependentapp(containerid){var instance=this;Unibase.Themes.Providers.DetailHelper.recordId!=0&&instance.appmanager.getAllApps(Unibase.Themes.Providers.DetailHelper.recordId).then(function(response){var html,data;$("."+containerid).empty();html='<ul class="list-group gutter list-group list-group-sp sortable ul_dependentapps">';for(let i=0;i<response.result.length;i++)data=response.result[i],html+='<li class="list-group-item box-shadow status-item group-item li_'+data.InstalledAppId+'"><input type="hidden" id="hfAppdependentid" value='+data.InstalledAppId+'><span class="pull-left media-xs mr-30"><i class="fa fa-sort text-muted fa mr-10"><\/i>'+data.AppIndex+'<\/span><div class="clear"><div class="header"> <label class="">'+data.AppTitle+"<\/label><\/div><\/div><\/div><\/li>";if(html+="<\/ul>",$("."+containerid).append(html),$.fn.sortable){$(".sortable").sortable();$(".sortable").on("sortupdate",function(){instance.UpdateAppIndex(containerid)})}})}UpdateAppIndex(containerid){var instance=this,ids="",postData;$("."+containerid).find(".list-group-item").each(function(){var id=$(this).find("#hfAppdependentid").val();id!=0&&(ids+=id+",")});ids!=""&&(postData={id:ids},instance.appmanager.updateAppIndex(postData).then(function(response){response.status!=Unibase.Data.Status.Error&&(instance.Dependentapp(containerid),MessageHelper.Instance().showSuccess(response.message,"div_message"))}))}fileEvent($event){const fileSelected=$event.target.files[0];Unibase.Platform.Apps.Components.AppBuilder.fileData=new FormData;Unibase.Platform.Apps.Components.AppBuilder.fileData.append(fileSelected.name,fileSelected)}exportApp(){var instance=this,recordid=Unibase.Themes.Providers.DetailHelper.recordId;instance.navigationHelper.showLoading();instance.appmanager.getInstallApp(recordid).then(function(appresponse){instance.appmanager.exportApp(recordid).then(function(response){if(response.status==Unibase.Data.Status.Error)return instance.navigationHelper.hideLoading(),MessageHelper.Instance().showError(response.message,"div_message"),!1;var filename=appresponse.result.AppTitle+".xml",xmltext=response.result,pom=document.createElement("a"),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=!0;pom.classList.add("dragout");pom.click();instance.navigationHelper.hideLoading()})})}SaveApp(Pk_Value,containerid){var instance=this,appdependentlist=[],dependentid=$("#Select2_DependentApps").val()!=null?$("#Select2_DependentApps").val().toString().replace(/,/g,"|"):"0",apparray,roleids,nav;let dependenttype;dependentid!=""&&(dependenttype=Unibase.Platform.Apps.Enums.DependentType.Apps,apparray=[],apparray=dependentid.split("|"),$.each(apparray,function(index,value){var appdependentObj={AppDependentId:0,InstalledAppId:Pk_Value,DependentId:Number(value),DependentType:Number(dependenttype)};appdependentlist.push(appdependentObj)}));var defaultwidgetparameter="",imagepath=$("#txt_AppImage").val(),svgiconpath=$("#txt_SvgImage").val(),imageurl=imagepath.split(/(\\|\/)/g).pop(),svgicon=svgiconpath.split(/(\\|\/)/g).pop();if(Pk_Value!=0){if(Number($("#Sel_Dwparameter option:selected").val())==0)return MessageHelper.Instance().showError("Please Select Defaultwidget parameter","div_appmessage"),!1;if(Number($("#hfAutoComplete_Report").val())==0)return MessageHelper.Instance().showError("Please Select report","div_appmessage"),!1;Number($("#Sel_Dwparameter option:selected").val())!=0&&(defaultwidgetparameter=$("#Sel_Dwparameter option:selected").text()+":=:recordid")}roleids="";$("#Select2_Roles").val()!=null&&$("#Select2_Roles").val()!=""&&(roleids=$("#Select2_Roles").val().toString(),roleids=roleids.replace(/\,/g,"|"));var contents=$(".summernote").summernote("code"),plainText=$("<p>"+contents+"<\/p>").text(),content=$(".summernote1").summernote("code"),plaintext=$("<p>"+content+"<\/p>").text();let postData={InstalledAppId:Pk_Value,AppTitle:$("#txt_FriendlyName").val(),IconName:$("#txt_IconName").val(),AppImage:$("#txt_ImageFile").val(),AppColor:$("#txt_AppColor").val(),Description:plainText,UniqueId:$("#txt_UniqueId").text(),DevOrgId:Number($("#txtAutoComplete_Company").val()),DevOrgName:$("#txtAutoComplete_Company option:selected").text(),ModuleTypeName:$("#txtAutoComplete_ModuleType option:selected").text(),ModuleTypeId:Number($("#txtAutoComplete_ModuleType").val()),ModuleName:$("#txtAutoComplete_Module option:selected").text(),ModuleId:Number($("#txtAutoComplete_Module").val()),AppProviderTypeId:Number($("#Autocomplete_AppproviderType").val()),ParentAppId:Number($("#Autocomplete_ParentApp").val()),ReportId:Number($("#Autocomplete_Report").val()),AppKeyId:0,SvgIconUrl:$("#txt_SvgImage").val(),DefaultWidgetTemplateText:$("#txt_DefaultWidgetTemplateText").val(),DefaultWidgetParameters:defaultwidgetparameter,EnableStage:$("#chkStageEnable").prop("checked"),AppDependent:appdependentlist,EnableDefaults:$("#chkEnableDefaults").prop("checked"),TableName:$("#txt_TableName").val(),PrimaryKeyName:$("#txt_PrimaryKey").val(),IsDynamic:!0,DefaultDocTypeId:Pk_Value!=0?Number($("#Autocomplete_AppDocTypes").val()):0,ImageUrl:imageurl,DisplayText:$("#txt_DisplayName").val(),ReverseText:$("#txt_ReverseName").val(),RoleIds:roleids,FileData:Unibase.Platform.Apps.Components.AppBuilder.FileInfo,IsSystemLock:$("#chkSystemlock").prop("checked"),IsSyncEnabled:$("#chkSyncEnabled").prop("checked"),LockAppliedOn:Number($("#Autocomplete_LockAppliedOn").val()),EnableSeriesExport:$("#chkSeriesExport").prop("checked"),EnablePermissionsExport:$("#chkPermissionsExport").prop("checked"),AppTypeId:Number($("#Autocomplete_AppType").val())};nav=Unibase.Platform.Helpers.NavigationHelper.Instance();Pk_Value!=0?(instance.navigationHelper.showLoading(),instance.appmanager.updateDynamicApp(postData).then(function(response){response.status==Unibase.Data.Status.Error?MessageHelper.Instance().showError(response.message,"div_appmessage"):(MessageHelper.Instance().showSuccess(response.message,"div_appmessage"),instance.appmanager.getMyApps(),$("#"+containerid).modal("hide"),$("#"+containerid).remove());instance.navigationHelper.hideLoading()})):(instance.navigationHelper.showLoading(),instance.appmanager.saveDynamicApp(postData).then(function(response){response.status==Unibase.Data.Status.Error?MessageHelper.Instance().showError(response.message,"div_appmessage"):(MessageHelper.Instance().showSuccess(response.message,"div_appmessage"),instance.appmanager.getMyApps(),$("#"+containerid).modal("hide"),$("#"+containerid).remove());instance.navigationHelper.hideLoading()}))}static Instance(){return this.instance===undefined&&(this.instance=new AppBuilder),this.instance}}AppBuilder.fileData=new FormData;Components.AppBuilder=AppBuilder})(Components=Apps.Components||(Apps.Components={}))})(Apps=Platform.Apps||(Platform.Apps={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))})(Unibase||(Unibase={})),function(Unibase){let Platform;(function(Platform){let Apps;(function(Apps){let Enums;(function(Enums){let DependentType;(function(DependentType){DependentType[DependentType.Apps=1]="Apps";DependentType[DependentType.Reports=2]="Reports"})(DependentType=Enums.DependentType||(Enums.DependentType={}))})(Enums=Apps.Enums||(Apps.Enums={}))})(Apps=Platform.Apps||(Platform.Apps={}))})(Platform=Unibase.Platform||(Unibase.Platform={}))}(Unibase||(Unibase={}));