Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

datalistbuilder.min.js 55KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. var SelectedDocProperties=[],SelectedDoctypes=[],SelectedTables=[],SelectedJoins=[],SelectedGroups=[],SelectedConditions=[],doctypelist=Array(),Unibase;(function(n){let t;(function(t){let i;(function(i){let r;(function(r){class u extends t.Core.BaseComponent{constructor(){super();this.IsWhere=!1;this.IsGroupBy=!1;this.IsAutoData=!0;this.IsInternalDataList=!1;this.HasIdentityFilter=!1;this.EnableInsideWhere=!1;this._datalistManager=i.Managers.DataListManager.Instance()}jsFiles(){return["platform/datasources/requests/datalist.js","platform/datasources/infos/datalist.js","platform/datasources/enums/relationtype.js","platform/datasources/enums/queryparserenums.js","platform/datasources/requests/queryparser.js","platform/datasources/infos/queryparser.js","platform/datasources/managers/datalistmanager.js","platform/datasources/components/queryparser/queryparser.js","platform/datasources/components/queryparser/queryparser.js","platform/datasources/components/datalistbuilder/customfilters.js","platform/datasources/components/datalistbuilder/datalistbuilder.template.js"]}cssFiles(){return[]}html(){return`<div class="bl-datalist-builder container-fluid pa-0">
  2. <nav class="bl-nav bg-teal text-white bl-nav-left">
  3. <div class="header pa-10" id="doctype_header">
  4. <span id="doctype_columnheader"class="font-weight-400"><strong>Tables</strong></span>
  5. <input type="text" id="txt-doctypesearch" placeholder="Search" class="hidden txt-doctypesearch">
  6. <span class="pull-right"id="bt_DoctypeSearch"><i class="fa fa-search"></i></span>
  7. <span class="pull-right hidden"id="bt_DoctypeSearchclose"><i class="fa fa-times"></i></span>
  8. </div>
  9. <div class="col-sm" id="column-container">
  10. <div class="bl-dd mt-10" id="nestable2">
  11. <ul class="dd-list" id="ul_doctypeList" style="overflow: hidden auto; z-index: 0;"></ul>
  12. </div>
  13. </div>
  14. </nav>
  15. <nav id="bl-nav-right-wrap" data-simplebar class="bl-nav bl-nav-right bg-light pa-5 pb-20 simple-scroll-bar">
  16. <div id="bl-nav-right"></div>
  17. <div class="header">Properties</div>
  18. </nav>
  19. <div class="datalist-builder-container">
  20. <div id="bl-datalist_error"></div>
  21. <div class="bg-white shadow-bottom bl-datalist-header">
  22. <div class="pull-right">
  23. <button class="btn btn-icon mr-5" id="btn-CustomFilters"><i class="fa fa-filter"></i></button>
  24. <button class="btn btn-icon mr-5" id="btn-DatalistPreview"><i class="fa fa-eye"></i></button>
  25. </div>
  26. <div id="tab-container" class="tab-container"></div>
  27. </div>
  28. <div class="datalist-builder-body bg-white">
  29. <div class="tab-content h-100 bg-default">
  30. <div id="designer-container" class="tab-pane fade h-50 in active show"><div id="canvas" class="h-50"></div></div>
  31. <div id="sql-container" class="tab-pane fade h-50"><textarea class="sql-textarea" style="width:100%;height:100%;"></textarea></div>
  32. <div id="storedprocedure-container" class="tab-pane fade h-50"><textarea class="storedprocedure-textarea" style="width:100%;height:100%;"></textarea></div>
  33. <div id="datalist_newsql_container_wrapper" class="tab-pane show fade h-100"><div id="bl-datalist_error"></div><div id="newsql_container"></div></div>
  34. <div class="table-canvas" id="table-canvas">
  35. </div>
  36. </div>
  37. </div>
  38. <div class="footer bg-white"><button id="btn-datalist-builder-close" class="btn-datalistbuilder-close btn btn-secondary btn-sm mr-auto">Close</button>
  39. <button id="btn-preview-close" class="btn-datalist_preview-close btn btn-secondary btn-sm mr-auto hidden">Close Preview</button>
  40. <button class="btn btn-primary btn-sm" id="btn-SaveDatalist">Save Datalist</button>
  41. </div></div></div>`}loadForm(n,t){this.init(t)}load(i,u){this._queryParser=r.QueryParser.Instance();this._customfilters=r.CustomFilters.Instance();$("#newsql_container").append(this._queryParser.getInitialSelectHtml(!1));$("#"+u).find(".datalist-builder-body").height($(window).outerHeight()-100);$("#"+u).find(".table-canvas").addClass(u+"-table-canvas");$("#"+u).find(".table-canvas").addClass("hidden");$("#btn-datalist-builder-close").click(function(){$("#"+u).modal("hide");$("#"+u).remove();f._customfilters.customFilters=[]});$("#canvas").css({left:"auto",width:"100%","overflow-x":"hidden",height:"100%"});var f=n.Platform.DataSources.Components.DatalistBuilder.Instance();f.loadChartIcons();f.loadTabs(u);f.loadRightNav();f.loadInstalledApps();let e;n.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("libs/tabulator/js/tabulator.min.js",function(){e=f.initTable(u)});$("#"+u).find("#btn-DatalistPreview").click(function(){if(Number($(".DataSourceType").val())==0)return $(".datalist-builder-body").add(".chart-metrics").click(function(){$("#Bizgaze-messageInfo").fadeOut(2e3,"swing")}),MessageHelper.Instance().showError("Please select DataSourceType","bl-datalist_error");$("#btn-datalist-builder-close").addClass("hidden");$("#btn-preview-close").removeClass("hidden");$("#"+u).find("#sql-container").hasClass("show")?f.load_data(u,e):f.buildQuery(u)});$("#"+u).find("#datalist_design").click(function(){$("#"+u).find(".sql-textarea").val("");$("#"+u).find("#table-container").addClass("hidden")});$("#"+u).find("#btn-BuildQuery").click(function(){$("#"+u).find("#sql-container").hasClass("show")?($("#"+u).find("#table-container").removeClass("hidden"),f.load_data(u,e)):f.buildQuery(u)});$("#"+u).find("#btn-SaveDatalist").click(function(){f.saveDataList(u)});$("#btn-preview-close").click(function(){$("#"+u).find("#sql-container").hasClass("show")?($("#"+u).find("#table-container").addClass("hidden"),$("#"+u).find("#datalist-table").remove(),$("#"+u).find(".tab-content").removeClass("hidden"),$("#btn-preview-close").addClass("hidden"),$("#btn-datalist-builder-close").removeClass("hidden"),$("#"+u).find(".datalist-builder-body").find("#span_error").remove()):($("#"+u).find("#datalist-table").remove(),$("#"+u).find(".tab-content").removeClass("hidden"),$("#"+u).find(".table-container").addClass("hidden"),$("#btn-preview-close").addClass("hidden"),$("#btn-datalist-builder-close").removeClass("hidden"),$("#"+u).find(".datalist-builder-body").find("#span_error").remove())});$("#txt_SelectColumnName").select2({placeholder:"Select Contact Columns"});$("#"+u).find("#bt_DoctypeSearch").click(function(){$("#"+u).find("#txt-doctypesearch").removeClass("hidden");$("#"+u).find("#doctype_columnheader").addClass("hidden");$("#"+u).find("#bt_DoctypeSearchclose").removeClass("hidden")});$("#"+u).find("#bt_DoctypeSearchclose").click(function(){$("#"+u).find("#txt-doctypesearch").addClass("hidden");$("#"+u).find("#doctype_columnheader").removeClass("hidden");$("#"+u).find("#bt_DoctypeSearchclose").addClass("hidden");$("#"+u).find("#txt-doctypesearch").val("");f.getDoctypes(u,0)});$("#"+u).find(".txt-doctypesearch").unbind("input");$("#"+u).find("#txt-doctypesearch").on("input",function(){f.getDoctypes(u,0)});$("#chk_IsFlatTable").change(function(){$("#chk_IsFlatTable").is(":checked")==!0?($("#div_SpName").removeClass("hidden"),$("#div_Scheduler").removeClass("hidden")):($("#div_SpName").addClass("hidden"),$("#div_Scheduler").addClass("hidden"))});$("#chk_Scheduler").change(function(){$("#chk_Scheduler").is(":checked")==!0?($("#div_TenureValue").removeClass("hidden"),$("#div_TenureType").removeClass("hidden"),$("#div_StartingDate").removeClass("hidden")):($("#div_TenureValue").addClass("hidden"),$("#div_TenureType").addClass("hidden"),$("#div_StartingDate").addClass("hidden"))});$("#"+u).find("#table-container").addClass("hidden");$("#isAutoData_checkbox").click(function(){$("#isAutoData_checkbox").prop("checked")==!1?(f.IsAutoData=!1,$("#isAutoData_checkbox").prop("checked",!1)):(f.IsAutoData=!0,$("#isAutoData_checkbox").prop("checked",!0))});$("#iswhere_checkbox").click(function(){$("#iswhere_checkbox").prop("checked")==!1?(f.IsWhere=!1,$("#iswhere_checkbox").prop("checked",!1)):(f.IsWhere=!0,$("#iswhere_checkbox").prop("checked",!0))});$("#isGroupBy_checkbox").click(function(){$("#isGroupBy_checkbox").prop("checked")==!1?(f.IsGroupBy=!1,$("#isGroupBy_checkbox").prop("checked",!1)):(f.IsGroupBy=!0,$("#isGroupBy_checkbox").prop("checked",!0))});$("#enableInsideWhere_checkbox").click(function(){$("#enableInsideWhere_checkbox").prop("checked")==!1?(f.EnableInsideWhere=!1,$("#enableInsideWhere_checkbox").prop("checked",!1)):(f.EnableInsideWhere=!0,$("#enableInsideWhere_checkbox").prop("checked",!0))});$("#hasidentityfilter_checkbox").click(function(){$("#hasidentityfilter_checkbox").prop("checked")==!1?(f.HasIdentityFilter=!1,$("#hasidentityfilter_checkbox").prop("checked",!1)):(f.HasIdentityFilter=!0,$("#hasidentityfilter_checkbox").prop("checked",!0))});$("#internaldatalist_checkbox").click(function(){$("#internaldatalist_checkbox").prop("checked")==!1?(f.IsInternalDataList=!1,$("#internaldatalist_checkbox").prop("checked",!1)):(f.IsInternalDataList=!0,$("#internaldatalist_checkbox").prop("checked",!0))});$("#datalist_newsql_container_wrapper").mousedown(this._queryParser.mouseDown.bind(this._queryParser));$("#datalist_newsql_container_wrapper").on("change",this._queryParser.changeEvent.bind(this._queryParser));$("#btn-CustomFilters").click(function(){f.fileCacheHelper.loadJsFile("libs/querybuilder/query-builder.standalone.min.js",function(){f.navigationHelper.popup(i,"",n.Platform.DataSources.Components.CustomFilters.Instance(),null,t.Helpers.Size.Large)})})}loadDataListForm(t){var i=0;t||(i=n.Themes.Providers.DetailHelper.recordId);this.init(i)}init(n=0){var t=this.fileCacheHelper;t.loadCssFile("platform/datasources/components/datalistbuilder/style.datalistbuilder.css",null);t.loadCssFile("libs/jquery/ui/jquery-ui.min.css",null);t.loadCssFile("libs/tabulator-tables/css/bootstrap/tabulator_bootstrap4.min.css",null);t.loadCssFile("libs/querybuilder/query-builder.default.css",null);t.loadCssFile("libs/flowy/styles.css",function(){t.loadCssFile("libs/flowy/flowy.min.css",function(){t.loadJsFile("libs/flowy/flowy.js",function(){t.loadJsFile("platform/datasources/components/datalistbuilder/main.js",function(){})})})});this.render(n,null)}loadInstalledApps(){var n=_appsettings.server_url()+"/apis/v4/unibase/platform/apps/InstalledAppAutocomplete";AutoCompleteHelper.getHelper().Create("#InstalledApp_AutoComplete_DataList","#hfAutoComplete_InstalledApp",n,null);AutoCompleteHelper.getHelper().Create("#InstalledApp_AutoComplete_DataList","#hfAutoComplete_InstalledApp",n,null);AutoCompleteHelper.getHelper().Create("#dependecyapps","#hfAutoCompleteId_dependency",n,null)}render(i){var r=this;r.DataListId=i;this.navigationHelper.popup(i,"",r,()=>{i!=0&&n.Platform.DataSources.Managers.DataListManager.Instance().getDataList(i).then(t=>{var u=t.result;$("#datalist_sql").click();$(".sql-textarea").text(u.QueryString);$(".Datalistname").val(u.DataListName).prop("readonly",!0).css("cursor","not-allowed");u.DataListTypeId==5&&($(".option_externalapi").removeClass("hidden"),$(".DatalistType").val(u.DataListTypeId),$(".DatalistType").attr("disabled","true"));$(".DatalistType").val(u.DataListTypeId);$(".DataSourceType").val(u.DataSourceId);$("#txt_parameters").val(u.Parameters);$(".TableType").val(u.TableTypeId);u.IsCommon&&$("#Iscommon_checkbox").prop("checked",!0);u.InstalledAppId!=0&&n.Platform.Apps.Managers.AppManager.Instance().getInstallApp(u.InstalledAppId).then(function(n){var t=n.result;t!=""&&t!=null&&($("#InstalledApp_AutoComplete_DataList").append(`<option value="`+t.InstalledAppId+`">`+t.AppTitle+`</option>`),$("#InstalledApp_AutoComplete_DataList").val(t.InstalledAppId).trigger("change"))});n.Platform.DataSources.Managers.DataListManager.Instance().getprimarykey(i).then(function(n){n.result!=null&&$(".PrimaryKeyColumn").val(n.result.ColumnName)});u.IsAutoData?(r.IsAutoData=!0,$("#isAutoData_checkbox").prop("checked",!0)):(r.IsAutoData=!1,$("#isAutoData_checkbox").prop("checked",!1));u.IsWhere?(r.IsWhere=!0,$("#iswhere_checkbox").prop("checked",!0)):(r.IsWhere=!1,$("#iswhere_checkbox").prop("checked",!1));u.IsGroupBy?(r.IsGroupBy=!0,$("#isGroupBy_checkbox").prop("checked",!0)):(r.IsGroupBy=!1,$("#isGroupBy_checkbox").prop("checked",!1));u.EnableInsideWhere?(r.EnableInsideWhere=!0,$("#enableInsideWhere_checkbox").prop("checked",!0)):(r.EnableInsideWhere=!1,$("#enableInsideWhere_checkbox").prop("checked",!1));u.HasIdentityFilter?(r.HasIdentityFilter=!0,$("#hasidentityfilter_checkbox").prop("checked",!0)):(r.HasIdentityFilter=!1,$("#hasidentityfilter_checkbox").prop("checked",!1));u.IsInternalDataList?(r.IsInternalDataList=!0,$("#internaldatalist_checkbox").prop("checked",!0)):(r.IsInternalDataList=!1,$("#internaldatalist_checkbox").prop("checked",!1));u.EnableInsideWhere?(r.EnableInsideWhere=!0,$("#enableInsideWhere_checkbox").prop("checked",!0)):(r.IsInternalDataList=!1,$("#enableInsideWhere_checkbox").prop("checked",!1));u.IsFlatTable?$("#chk_IsFlatTable").prop("checked",!0):$("#chk_IsFlatTable").prop("checked",!1);u.CustomFilters&&(r._customfilters.customFilters=JSON.parse(u.CustomFilters));let f=JSON.parse(u.DynamicQuery),e=(f&&f.DataListColumns&&f.DataListColumns.length||f&&f.IsStarSelected)&&f.DataListDocTypes.length;if(e)r._queryParser.bindDynamicQuery(f,!1);else if(u.QueryString&&!e){for(r._queryParser.subQueryNumber=0,u.QueryString=u.QueryString.replaceAll("\t"," "),u.QueryString=u.QueryString.replaceAll("\n"," ");u.QueryString.indexOf(" ")!=-1;)u.QueryString=u.QueryString.replaceAll(" "," ");r._queryParser.subQueryNumber=0}})},t.Helpers.Size.ExtraLarge)}loadRightNav(){let n=`<div class="card chart-metrics h-20">
  42. <div class="card-header"><span class="h5">Properties</span></div>
  43. <div class="card-body pa-5">
  44. <div class="form-group">
  45. <input type="text" class="form-control Datalistname" placeholder="Datalist Name"></input>
  46. </div>
  47. <div class="form-group">
  48. <select class="form-control DatalistType" placeholder="datalist group">
  49. <option value="0">Select DataListType</option>
  50. <option value="1" selected>Query</option>
  51. <option value="2">Provider</option>
  52. <option value="3">Object</option>Object
  53. <option value="4">Function</option>
  54. <option value="5" class="option_externalapi hidden">External Api</option>
  55. </select>
  56. </div>
  57. <div class="form-group">
  58. <select class="form-control DataSourceType" placeholder="datasource type">
  59. <option value="0" selected>Select DataSourceType</option>
  60. <option value="1">Sql</option>
  61. <option value="2">NoSql</option>
  62. </select>
  63. </div>
  64. <div class="form-group">
  65. <select class="form-control TableType" placeholder="Tabletype">
  66. <option value="0" selected>Select Tabletype</option>
  67. <option value="1">Auto Complete</option>
  68. </select>
  69. </div>
  70. <div class="form-group">
  71. <select class="form-control" id="InstalledApp_AutoComplete_DataList" placeholder="InstalledApp">
  72. <option selected>Select InstalledApp</option>
  73. </select>
  74. <input type="hidden" id="hfAutoComplete_InstalledApp" class="hfAutoCompleteId_InstalledApp' form-control value-control" data-isdynamic="true"/>
  75. </div>
  76. <!------->
  77. <div class="form-group">
  78. <label for="CommonDb_checkbox">
  79. IsCommon
  80. </label>
  81. <div>
  82. <input type="checkbox" class="chk_Iscommon mr-10" onclick="" id="Iscommon_checkbox">IsCommon
  83. </div>
  84. </div>
  85. <!---end--->
  86. <div class="form-group">
  87. <div class="row"><span class="col-sm-6">IsFlatTable</span>
  88. <label class="switch m-t-sm col-sm-6">
  89. <input type="checkbox" class="pull-right hidden" id="chk_IsFlatTable">
  90. <span></span>
  91. </label></div>
  92. </div>
  93. <div class="form-group">
  94. <label for="isAutoData_checkbox">
  95. IsAutoData
  96. </label>
  97. <div>
  98. <input type="checkbox" class="chkIsAutoData mr-10" onclick="" id="isAutoData_checkbox" checked="true">IsAutoData
  99. </div>
  100. </div>
  101. <div class="form-group">
  102. <label for="isWhere_checkbox">
  103. IsWhere
  104. </label>
  105. <div>
  106. <input type="checkbox" class="chkIsWhere mr-10" onclick="" id="iswhere_checkbox" data-tooltip="true" title="Don't check if where clasue is in subquery">IsWhere
  107. </div>
  108. </div>
  109. <div class="form-group">
  110. <label for="isGroupBy_checkbox">
  111. IsGroupBy
  112. </label>
  113. <div>
  114. <input type="checkbox" class="chkisGroupBy mr-10" onclick="" id="isGroupBy_checkbox" data-tooltip="true" title="Check if group by clasue is in subquery">IsGroupBy
  115. </div>
  116. </div>
  117. <div class="form-group">
  118. <label for="enableinsideWhere_checkbox">
  119. Enable Inside WhereClause
  120. </label>
  121. <div>
  122. <input type="checkbox" class="chkenableInsideWhere mr-10" onclick="" id="enableInsideWhere_checkbox">EnableInsideWhere
  123. </div>
  124. </div>
  125. <div class="form-group">
  126. <label for="hasidentityfilter_checkbox">
  127. HasIdentityFilter
  128. </label>
  129. <div>
  130. <input type="checkbox" class="chkHasIdentityFilter mr-10" onclick="" id="hasidentityfilter_checkbox">HasIdentityFilter
  131. </div>
  132. </div>
  133. <div class="form-group">
  134. <label for="isInternalDatalist_checkbox">
  135. IsInternalDataList
  136. </label>
  137. <div>
  138. <input type="checkbox" class="chkInternalDataList mr-10" onclick="" id="internaldatalist_checkbox">IsInternalDataList
  139. </div>
  140. </div>
  141. <div class="form-group">
  142. <input type="text" class="form-control PrimaryKeyColumn" placeholder="PrimaryKey ColumnName">
  143. </div>
  144. <div class="form-group">
  145. <label for="txt_parameters">
  146. Parameters
  147. </label>
  148. <textarea type="text" class="form-control" id="txt_parameters" placeholder="Parameters"> </textarea>
  149. </div>
  150. <div class="form-group" id="selectedcolumns">
  151. <div class="floating-label-form-group-with-value" id="SelectColumnName">
  152. <label for="txt_SelectColumnName">Select Contact Columns</label>
  153. <select id="txt_SelectColumnName" class="txt_SelectColumnName form-control text-control required" data-isdefault="true" multiple="multiple" style="width:100%"></select>
  154. </div>
  155. </div>
  156. <div class="form-group hidden" id="div_SpName">
  157. <input type="text" class="form-control StoredProcedureName" id="txt_spName" placeholder="StoredProcedure Name"></input>
  158. </div>
  159. <div class="form-group hidden" id="div_Scheduler">
  160. <div class="row"><span class="col-sm-6">Scheduler</span>
  161. <label class="switch m-t-sm col-sm-6">
  162. <input type="checkbox" class="pull-right hidden" id="chk_Scheduler">
  163. <span></span>
  164. </label></div>
  165. </div>
  166. <div class="form-group hidden" id="div_TenureValue">
  167. <input type="text" class="form-control TenureValue" id="txt_TenureValue" placeholder="TenureValue"></input>
  168. </div>
  169. <div class="form-group hidden" id="div_TenureType">
  170. <p class="font-14">Tenure Type</p>
  171. <select id="select_TenureType"class="form-control">
  172. <option value="0">--Select Tenure Type--</option>
  173. <option value="1" >Daily</option>
  174. <option value="2">Years</option>
  175. <option value="3" >Months</option>
  176. <option value="4">Days</option>
  177. <option value="5">Hours</option>
  178. <option value="6">Minutes</option>
  179. <option value="7">Seconds</option>
  180. </select>
  181. </div>
  182. <div class="form-group hidden" id="div_StartingDate">
  183. <input type="text" class="form-control StartingDate datepicker-input" id="txt_StartingDate" placeholder="StartingDate"></input>
  184. </div>
  185. </div>
  186. <div class="card-footer"><button class="btn btn-primary btn-wth-icon icon-wthot-bg btn-md" onclick="javascript:Unibase.DataSources.DataLists.DatalistBuilder.Instance().loadDataSourceProviders()"><span class="icon-label"><i class="fa fa-database"></i> </span><span class="btn-text">DataSourcesProviders</span></button></div>
  187. </div>`;$("#bl-nav-right").html(n)}getOptions(n,i){let r=`<div class="card" style="position: initial;height: -webkit-fill-available;"><div class="card-header"> <ul class="nav nav-tabs nav-light">
  188. <li role="tablist" class="Active">
  189. <a data-toggle="tab" href="#columns-container" class="nav-link active show">Columns</a>
  190. <li role="tablist"><a data-toggle="tab" href="#filter-container" class="nav-link">Filter</a></li>
  191. </li></ul>
  192. </div>
  193. <div class="card-body">
  194. <div class="tab-content"> <div id="filter-container" class="tab-pane fade in" style="overflow: hidden auto; z-index: 0; height:450px;"><div class="card filter_docproperties"></div>
  195. </div>
  196. <div id="columns-container" class="tab-pane fade in active show"><ul class="list-group list-group-flush" id="ul_docproperties" style="overflow: hidden auto; z-index: 0; max-height: 450px;"></ul></div></div>
  197. </div>
  198. <div class="card-footer"><button id="btn-doctypeproperty-close" class="btn-doctype-close btn btn-secondary btn-sm mr-auto">Close</button>
  199. <button id="btn-doctypeproperty-save" class="btn-doctype-save btn btn-primary btn-sm pull-right" onclick="javascript:Unibase.DataSources.DataLists.DatalistBuilder.Instance().getSelectedDocProperties(${n},'${i}')">Apply</button></div>
  200. </div>`;this.navigationHelper.popupHtml(r,t.Helpers.Size.Large,function(n){$("#btn-doctypeproperty-close").click(function(){$("#"+n).modal("hide");$("#"+n).remove()})});u.Instance().getDocProperties(n)}getDoctypes(){let t=$("#txt-doctypesearch").val();t==""&&(t=null);n.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/datasources/managers/datalistmanager.js",function(){n.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/datasources/components/datalistbuilder/datalistbuilder.template.js",function(){n.Platform.DataSources.Managers.DocTypeManager.Instance().getDoctypeByName(t).then(function(n){let r="",u=JSON.parse(n.toString());for(let n=0;n<u.length;n++){var t=u[n],f=i.Templates.DatalistBuilder.Instance().loadDocTypeTemplate(),e=Handlebars.compile(f),o={DocTypeId:t.DocTypeId,DocTypeName:t.DocTypeName,DocTypeTableName:t.DocTypeTableName};r+=e(o)}$("#ul_doctypeList").html(r)})})})}getdragelementTemplate(n,t,i){let u,r=doctypelist.findIndex(n=>n.DocTypeName===t);r>-1&&(t=t+"_"+(r+1),u=i+"_"+(r+1));var f={DocTypeId:Number(n),DocTypeName:t,DocTableName:i,AliasName:u};let e=i;SelectedTables.push(e);doctypelist.push(f);return`<div class='blockyleft btn ml-10'><i class="fa fa-database"></i>
  201. <input type="hidden" name="blockelemtypeid" class="blockelemtypeId" value="{{DocTypeId}}">
  202. <p class="blockyname h4" id=${n}>${t}</p>
  203. </div>
  204. <div class="blockyright"><span class="badge badge-secondary badge-pill" id="columns_count_${n}">0</span></div>
  205. <div class='blockydiv'></div>
  206. <div class='blockyinfo'>${t}<div class="pull-right btn-group border-0 btn-group-xs my-auto mr-10">
  207. <button class="btn btn-outline-light" type="button" onclick="javascript:Unibase.DataSources.DataLists.DatalistBuilder.Instance().loadJoins(${n},'${t}','${i}')"><i class="fa fa-link"></i></button>
  208. <button class="btn btn-outline-light" type="button" onclick="javascript:Unibase.DataSources.DataLists.DatalistBuilder.Instance().getOptions(${n},'${t}')"><i class="fa fa-list"></i></button>
  209. </div></div>`}selectAllDocProperties(){$("input.chk_DocPropertyId_All").is(":checked")?$(".chk_DocPropertyId").prop("checked",!0):$(".chk_DocPropertyId").prop("checked",!1)}getDocProperties(n){this.fileCacheHelper.loadJsFile("platform/datasources/managers/datalistmanager.js",function(){this.fileCacheHelper.loadJsFile("platform/datasources/components/datalistbuilder/datalistbuilder.template.js",function(){i.Managers.DocTypeManager.Instance().getDocProperties(n).then(function(n){var r;let t=`<div id="div_docproperty_all" class="text-right mb-10 mr-10"><input type="checkbox" class="chk_DocPropertyId_All" id="chk_DocPropertyId_All" value = "" onchange="Unibase.DataSources.DataLists.DatalistBuilder.Instance().selectAllDocProperties()"> <span id="spn_allDocproperties" class="text-right"> Select All</span></div>`;r=JSON.parse(n.toString());for(let n=0;n<r.length;n++){var f=r[n],e=i.Templates.DatalistBuilder.Instance().loadDocPropertyTemplate(),o=Handlebars.compile(e),s={DocPropertyId:f.DocPropertyId,DocPropertyName:f.DocPropertyName,PropTableName:f.PropTableName};t+=o(s);t+=`</optgroup>`}jQuery("#ul_docproperties").html(t);u.Instance().loadQueryBuilderDiv(n);u.Instance().editColumns()})})})}columnsCount(n){var i=SelectedDocProperties.length;let t=0;for(let r=0;r<i;r++)SelectedDocProperties[r].DocTypeId==n&&(t=t+1);$("#columns_count_"+n).text(t)}editColumns(){if(SelectedDocProperties!=null)for(let n=0;n<SelectedDocProperties.length;n++)$("#chk_DocPropertyId_"+SelectedDocProperties[n].DocPropertyId).prop("checked","true")}getSelectedDocProperties(n){SelectedDoctypes.push(n);let t=$("#doc_tablename").val();$(".li_docproperty").each(function(){if($(this).find("input:checkbox").prop("checked")==!0){let r=$(this).find("input:checkbox").val(),u=SelectedDocProperties.findIndex(n=>n.DocPropertyId===Number(r));if(u<0){let u=$(this).find("#spn_DocpropertyName").text();var i={DocPropertyId:Number(r),DocPropertyName:u,DocTypeTableName:t.toString(),DocTypeId:n};SelectedDocProperties.push(i)}}});u.Instance().columnsCount(n)}removeDocProperty(n){if(SelectedDocProperties.length!=0){var t=SelectedDocProperties.findIndex(t=>t.DocPropertyId===n);SelectedDocProperties.splice(t,1)}}loadJoins(n,i,r){let f=`<div class="card">
  210. <div class="card-header"><h5>Joins</h5>
  211. </div>
  212. <div class="card-body">
  213. <div class="" style="overflow: hidden auto; z-index: 0; height:450px;"><div id="joins-container" class="container"><div class="joins_docproperties"><ul class="list-group col-sm-12" id="ul_joins"><li class="list-group-item li_join hidden" id="li_join"></li></ul></div>
  214. <div class="joins_table_Container mt-20">
  215. <div class= "card hidden" id="card_joins_table">
  216. <div class="card-header"><p class="">Selected Joins</p></div>
  217. <div class="card-body">
  218. <table id="joins_table" class="table table-bordered"><thead>
  219. <th>LeftDocType</th><th>LeftDocTypeColumn</th><th>RightDocType</th><th>RightDocTypeColumn</th><th>JoinType</th><th> </th>
  220. </thead><tbody class="joins_table_body"></tbody></table></div>
  221. </div>
  222. </div></div>
  223. </div></div>
  224. <div class="card-footer"><button id="btn-joins-close" class="btn-joins-close btn btn-secondary btn-sm mr-auto">Close</button>
  225. <button id="btn-joins-save" class="btn-join-save btn btn-primary btn-sm pull-right" onclick="javascript:Unibase.DataSources.DataLists.DatalistBuilder.Instance().GetSelectedJoins(${n},'${i}')">Apply</button></div>
  226. </div>`;this.navigationHelper.popupHtml(f,t.Helpers.Size.Large,function(n){$("#btn-joins-close").click(function(){$("#"+n).modal("hide");$("#"+n).remove()})});u.Instance().loadJoinsProperties(n,i,r,1)}addJoin(n,t,r,u){u=u+1;let e,f=1,o=$("#li_join_"+f).find("#select_docproperties_"+n+"_"+f+" option:selected").val(),s=$("#li_join_"+f).find("#select_docproperties_"+n+"_"+f+" option:selected").text(),h=$("#li_join_"+f).find("#select_docproperty_"+f+" option:selected").val(),c=$("#li_join_"+f).find("#select_docproperty_"+f+" option:selected").text(),l=$("#li_join_"+f).find("#select_joins_"+f+" option:selected").val(),a=$("#li_join_"+f).find("#select_joins_"+f+" option:selected").text(),d=$("#li_join_"+f).find("#leftdoctypeid_"+f).val(),g=$("#li_join_"+f).find("#leftdoctypename_"+f).text(),v=$("#li_join_"+f).find("#hf_rightDoctype_"+f).val(),y=$("#li_join_"+f).find("#hf_rightDoctypeName_"+f).val(),p=$("#li_join_"+f).find("#hf_rightDocTableName_"+f).val();var w=i.Templates.DatalistBuilder.Instance().addJoinTemplate(),b=Handlebars.compile(w),k={LeftDocTypeId:n,LeftDocTypeName:t,LeftDocTableName:r,LeftDocPropertyId:o,LeftDocPropertyName:s,RightDocTypeId:v,RightDocTableName:p,RightDocTypeName:y,RightDocPropertyId:h,RightDocPropertyName:c,JoinId:l,JoinName:a};e=b(k);$("#card_joins_table").removeClass("hidden");$(".joins_table_body").append(e);$(".btn_joindelete").click(function(){let n=$(this).closest("tr").find("#leftdocpropid").val(),t=$(this).closest("tr").find("#rightdocpropid").val();if(SelectedJoins.length!=0){let i=SelectedJoins.findIndex(t=>t.LeftDocPropertyId===Number(n)),r=SelectedJoins.findIndex(n=>n.RightDocPropertyId===Number(t));i!=-1&&r!=-1&&i==r&&(SelectedJoins.splice(i,1),$(this).closest("tr").remove())}})}loadJoinsProperties(n,t,r,f){let e="";var o=i.Templates.DatalistBuilder.Instance().loadJoinDoctypesTemplate(n,t,r,1),s=Handlebars.compile(o),h={DoctypeId:n,DoctypeName:t};e+=s(h);$(".li_join:last").after(e);u.Instance().getDocpropertiesForJoins(n,f);u.Instance().loadDocTypesDropdown(f)}loadDocTypesDropdown(n){let r="<option value='0'>Select<\/option>";for(let n=0;n<doctypelist.length;n++){var t=doctypelist[n],f=i.Templates.DatalistBuilder.Instance().loadDoctypesDropdownTemplate(),e=Handlebars.compile(f),o={DocTypeId:t.DocTypeId,DocTypeName:t.DocTypeName,DocTableName:t.DocTableName};r+=e(o)}jQuery("#select_doctypes_"+n).append(r);u.Instance().editJoins()}editJoins(){if(SelectedJoins.length>0){$("#card_joins_table").removeClass("hidden");for(let u=0;u<SelectedJoins.length;u++){let f,e=SelectedJoins[u].LeftDocPropertyId,o=SelectedJoins[u].LeftDocPropertyName,s=SelectedJoins[u].RightDocPropertyId,h=SelectedJoins[u].RightDocPropertyName,c=SelectedJoins[u].JoinTypeId,l=SelectedJoins[u].JoinName,a=SelectedJoins[u].LeftDocTypeId,v=SelectedJoins[u].LeftDocTypeName,y=SelectedJoins[u].RightDocTypeId,p=SelectedJoins[u].RightDocTypeName,w=SelectedJoins[u].RightDocTableName,b=SelectedJoins[u].LeftDocTableName;var n=i.Templates.DatalistBuilder.Instance().addJoinTemplate(),t=Handlebars.compile(n),r={LeftDocTypeId:a,LeftDocTypeName:v,LeftDocTableName:b,LeftDocPropertyId:e,LeftDocPropertyName:o,RightDocTypeId:y,RightDocTableName:w,RightDocTypeName:p,RightDocPropertyId:s,RightDocPropertyName:h,JoinId:c,JoinName:l};f=t(r);$(".joins_table_body").append(f)}}}getDocPropertiesByDoctypeId(n){let t=$("#select_doctypes_"+n+" option:selected").val(),r=$("#select_doctypes_"+n+" option:selected").text(),u=$("#select_doctypes_"+n+" option:selected").attr("data-table");jQuery("#hf_rightDoctype_"+n).val(t);jQuery("#hf_rightDoctypeName_"+n).val(r);jQuery("#hf_rightDocTableName_"+n).val(u);i.Managers.DocTypeManager.Instance().getDocProperties(t).then(function(t){var r;let f="";r=JSON.parse(t.toString());for(let n=0;n<r.length;n++){var u=r[n],e=i.Templates.DatalistBuilder.Instance().loadJoinDocPropertiesTemplate(),o=Handlebars.compile(e),s={DocPropertyId:u.DocPropertyId,DocPropertyName:u.DocPropertyName,PropTableName:u.PropTableName};f+=o(s)}jQuery("#select_docproperty_"+n).append(f)});jQuery("#selected_doctype_"+n).html("<strong>"+r+"<\/strong>");jQuery("#doctypeproperty_"+n).removeClass("hidden")}getDocpropertiesForJoins(n,t){i.Managers.DocTypeManager.Instance().getDocProperties(n).then(function(r){var u;let e="";u=r.result;for(let r=0;r<u.length;r++){var f=u[r],o=i.Templates.DatalistBuilder.Instance().loadJoinDocPropertiesTemplate(),s=Handlebars.compile(o),h={DocPropertyId:f.DocPropertyId,DocPropertyName:f.DocPropertyName,PropTableName:f.PropTableName};e=s(h);$("#select_docproperties_"+n+"_"+t).append(e)}})}GetSelectedJoins(){SelectedJoins=[];var n={LeftDocPropertyId:0,LeftDocPropertyName:"",LeftDocTypeId:0,LeftDocTypeName:"",LeftDocTableName:"",RightDocPropertyId:0,RightDocPropertyName:"",RightDocTypeId:0,RightDocTypeName:"",RightDocTableName:"",JoinTypeId:0,JoinName:""};$("#joins_table .join-rows").each(function(){let t=$(this).find("#leftdoctypeid").val(),i=$(this).find("#leftdocpropid").val(),r=$(this).find("#td_leftdocpropname").text(),u=$(this).find("#td_leftdoctypename").text(),f=$(this).find("#leftdoctypeid").attr("data-table"),e=$(this).find("#rightdocpropid").val(),v=$(this).find("#td_rightdoctypename").text(),o=$(this).find("#doctype_joinid").val(),s=$(this).find("#td_jointype").text(),h=$(this).find("#rightdoctypeid").val(),c=$(this).find("#td_rightdoctypename").text(),l=$(this).find("#rightdoctypeid").attr("data-table"),a=$(this).find("#td_rightdocpropname").text();n={LeftDocPropertyId:Number(i),LeftDocPropertyName:r,RightDocPropertyId:Number(e),RightDocPropertyName:a,JoinTypeId:Number(o),JoinName:s,LeftDocTypeId:Number(t),LeftDocTypeName:u,LeftDocTableName:f,RightDocTypeId:Number(h),RightDocTypeName:c,RightDocTableName:l};SelectedJoins.push(n)})}getConditions(){var f,i;let n;n=$("#builder");$("#Conditiontable_Container").empty();var e=n.queryBuilder("getRules").rules.length,r={GroupId:0,LogicalOperatorType:"",Conditions:SelectedConditions},u={DocPropertyId:0,ConditionValue:"",ConditionType:"",RelationalOperatorType:"",ConditionGroupId:0};let t=1;for(let o=0;o<e;o++)if(n.queryBuilder("getRules").rules[o].rules!=null){for(f=n.queryBuilder("getRules").rules[o].rules.length,t=t+1,i=0;i<f;i++)u={DocPropertyId:n.queryBuilder("getRules").rules[o].rules[i].id,ConditionValue:n.queryBuilder("getRules").rules[o].rules[i].value,ConditionType:n.queryBuilder("getRules").rules[o].condition,RelationalOperatorType:n.queryBuilder("getRules").rules[o].rules[i].operator,ConditionGroupId:t},SelectedConditions.push(u);r={GroupId:t,LogicalOperatorType:n.queryBuilder("getRules").rules[o].condition,Conditions:SelectedConditions};SelectedGroups.push(r);SelectedConditions=[]}else u={DocPropertyId:n.queryBuilder("getRules").rules[o].id,ConditionValue:n.queryBuilder("getRules").rules[o].value,ConditionType:n.queryBuilder("getRules").condition,RelationalOperatorType:n.queryBuilder("getRules").rules[o].operator,ConditionGroupId:t},SelectedConditions.push(u),r={GroupId:t,LogicalOperatorType:n.queryBuilder("getRules").condition,Conditions:SelectedConditions},SelectedGroups.push(r),SelectedConditions=[]}loadQueryBuilderDiv(n){$("#filter-container").html(`<div id="builder"></div> <button class="btn btn-primary parse-json mt-20" id="btn_ApplyConditions">Apply</button> <div id="result" class="mt-20"> <pre></pre> <div id="Output"></div><div id="Conditiontable_Container" style="overflow-x:auto;"></div> </div>`);this.fileCacheHelper.loadJsFile("libs/querybuilder/query-builder.standalone.js",function(){var i,u;let r;r=$("#builder");let t=[];for(i=0;i<n.length;i++){let r=n[i];t.push({id:r.docPropertyId,label:r.docPropertyName,type:"string",size:30,unique:!0,optgroup:r.docTypeName})}t.length==0&&(t=[{id:"id",label:"label",table:"table",type:"string",size:30,unique:!0},]);u={allow_empty:!0,filters:t};r.queryBuilder(u);$(".parse-json").on("click",function(){console.log(JSON.stringify(r.queryBuilder("getRules"),undefined,2))});$("#builder_group_0").addClass("col-sm-12 mt-20")});$("#btn_ApplyConditions").click(function(){u.Instance().getConditions()})}loadDataSourceProviders(){let n=i.Templates.DatalistBuilder.Instance().loadDataSourceProviders();this.navigationHelper.popupHtml(n,t.Helpers.Size.Auto,function(n){$("#btn-data-source-close").click(function(){$("#"+n).modal("hide");$("#"+n).remove()})});u.Instance().getDataSourceProviders()}getDataSourceProviders(){this.fileCacheHelper.loadJsFile("platform/datasources/managers/datalistmanager.js",function(){this.fileCacheHelper.loadJsFile("platform/datasources/components/datalistbuilder/datalistbuilder.template.js",function(){i.Managers.DataListManager.Instance().getDataSourceProviders().then(function(n){var t=JSON.parse(n.toString());let r="";for(let n=0;n<t.length;n++){let o=t[n].DataSourceProviderName,s=t[n].DataSourceProviderId;var u=i.Templates.DatalistBuilder.Instance().loadDataSourceProvidersTemplate(),f=Handlebars.compile(u),e={DataSourceProviderId:s,DataSourceProviderName:o};r+=f(e)}jQuery("#div_datasourceproviders").html(r)})})})}bindDataSourceProviderDropdown(){i.Managers.DataListManager.Instance().getDataSourceProviders().then(function(n){var t;let r="";t=JSON.parse(n.toString());for(let n=0;n<t.length;n++){var u=t[n],f=i.Templates.DatalistBuilder.Instance().loadDataSourceProviderDropdownTemplate(),e=Handlebars.compile(f),o={DataSourceProviderId:u.DataSourceProviderId,DataSourceProviderName:u.DataSourceProviderName};r+=e(o)}$("#select_datasourceproviders").append(r)})}getDataSources(n,i){let r=`<div class="card" style="position: initial;height:-webkit-fill-available;"><div class="card-header"><span class="pull-right"><a href="javascript:;" onclick="Unibase.DataSources.DataLists.DatalistBuilder.Instance().loadSettings(${n},'${i}')" title="DatasourceProviderSettings" class="mr-15"><i class="fa fa-cog"></i></a><a href="javascript:;"onclick="Unibase.DataSources.DataLists.DatalistBuilder.Instance().addDataSource(${n})" title="Add DataSource"><i class="fa fa-plus"></i></a></span><p class="h5">Data Sources (${i})</p> </div>
  227. <div class="card-body row h-800" id="div_datasources_${n}">
  228. </div>
  229. <div class="card-footer"><button id="btn-source-close" class="btn-source-close btn btn-secondary btn-sm mr-auto">Close</button></div>
  230. </div>`;this.navigationHelper.popupHtml(r,t.Helpers.Size.Auto,function(n){$("#btn-source-close").click(function(){$("#"+n).modal("hide");$("#"+n).remove()})});u.Instance().bindDataSources(n)}bindDataSources(n){this.fileCacheHelper.loadJsFile("platform/datasources/managers/datalistmanager.js",function(){this.fileCacheHelper.loadJsFile("platform/datasources/components/datalistbuilder/datalistbuilder.template.js",function(){this._datalistManager.getDataSources(n).then(function(t){var r;let f="";r=JSON.parse(t.toString());for(let n=0;n<r.length;n++){var u=r[n],e=i.Templates.DatalistBuilder.Instance().loadDataSourceTemplate(),o=Handlebars.compile(e),s={DataSourceId:u.DataSourceId,DataSourceName:u.DataSourceName,DataSourceProviderId:u.DataSourceProviderId};f+=o(s)}jQuery("#div_datasources_"+n).html(f)})})})}addDataSource(n){let r=i.Templates.DatalistBuilder.Instance().loadAddDataSourceTemplate(n);this.navigationHelper.popupHtml(r,t.Helpers.Size.Auto,function(n){$("#btn-addsource-close").click(function(){$("#"+n).modal("hide");$("#"+n).remove()})});u.Instance().bindDataSourceProviderDropdown()}saveDataSource(n){var t={UserId:$("#div_addDataSource_"+n).find("#datasource_UserId").val().toString(),Password:$("#div_addDataSource_"+n).find("#datasource_Password").val().toString(),DataSourceId:Number($("#div_addDataSource_"+n).find("#datasource_DataSourceId").val()),DataSourceName:$("#div_addDataSource_"+n).find("#datasource_DataSourceName").val().toString(),UserDeviceId:$("#div_addDataSource_"+n).find("#datasource_UserDeviceId").val().toString(),DataSourceProviderId:Number($("#div_addDataSource_"+n).find("#select_datasourceproviders option:selected").val())};this.fileCacheHelper.loadJsFile("platform/datasources/managers/datalistmanager.js",function(){i.Managers.DataListManager.Instance().saveDataSource(t).then(function(n){if(n!=null)return n})})}editDataSource(n,t){u.Instance().addDataSource(t);$("#addDataSource_title").text("Edit DataSource");i.Managers.DataListManager.Instance().getDataSource(n).then(function(n){var i=n.result;$("#div_addDataSource_"+t).find("#datasource_DataSourceId").val(i.dataSourceId);$("#div_addDataSource_"+t).find("#datasource_UserId").val(i.userId);$("#div_addDataSource_"+t).find("#datasource_Password").val(i.password);$("#div_addDataSource_"+t).find("#datasource_DataSourceName").val(i.dataSourceName);$("#div_addDataSource_"+t).find("#datasource_UserDeviceId").val(i.userDeviceId);$("#div_addDataSource_"+t).find("#select_datasourceproviders").val(i.dataSourceProviderId)})}loadSettings(n,i){let r=`<div class="card" style="position: initial;height:-webkit-fill-available;"><div class="card-header"><p class="h5">Settings (${i})</p></div>
  231. <div class="card-body row" id="div_dataSourceprovidersettings_${n}">
  232. <div class="form-group col-md-4"><label>SettingName</label><input type="hidden" class="form-control datasourceprovider_SettingId"/ value="0"><input type="text" class="form-control datasourceprovider_SettingName"/></div>
  233. <div class="form-group col-md-4"><label>Value</label><input type="text" class="form-control datasourceprovider_SettingValue"/></div>
  234. <div class="form-group col-md-4"><label>DataSourceProvider</label><select class="form-control datasource_DataSourceProviderId"></select></div>
  235. </div>
  236. <div class="card-footer"><button id="btn-settings-close" class="btn-settings-close btn btn-secondary btn-sm mr-auto">Close</button><button id="btn-settings-save" class="btn-settings-save btn btn-primary btn-sm" onclick="Unibase.DataSources.DataLists.DatalistBuilder.Instance().saveDataSourceSetting()">Save</button></div>
  237. </div>`;this.navigationHelper.popupHtml(r,t.Helpers.Size.Auto,function(n){$("#btn-settings-close").click(function(){$("#"+n).modal("hide");$("#"+n).remove()})});this.bindDataSourceProviderDropdownInSettings()}saveDataSourceSetting(){var n={SettingId:Number($(".datasourceprovider_SettingId").val()),SettingName:$(".datasourceprovider_SettingName").val().toString(),SettingValue:Number($(".datasourceprovider_SettingValue").val().toString()),DataSourceProviderId:Number($(".datasource_DataSourceProviderId option:selected").val())};this.fileCacheHelper.loadJsFile("platform/datasources/managers/datalistmanager.js",function(){i.Managers.DataListManager.Instance().saveDataSourceSetting(n).then(function(n){if(n!=null)return n})})}bindDataSourceProviderDropdownInSettings(){this._datalistManager.getDataSourceProviders().then(function(n){var t;let r="";t=JSON.parse(n.toString());for(let n=0;n<t.length;n++){var u=t[n],f=i.Templates.DatalistBuilder.Instance().loadDataSourceProviderDropdownTemplate(),e=Handlebars.compile(f),o={DataSourceProviderId:u.DataSourceProviderId,DataSourceProviderName:u.DataSourceProviderName};r+=e(o)}$(".datasource_DataSourceProviderId").append(r)})}buildQuery(n){$("#"+n).find(".tab-content").addClass("hidden");$("#"+n).find(".table-container").addClass("hidden");$("#"+n).find("#datalist-table").remove();var t={DocProperties:SelectedDocProperties,DocTypeIds:SelectedDoctypes,DocTables:doctypelist,ConditionGroups:SelectedGroups,DataListJoins:SelectedJoins,QueryString:null,datalistid:this.DataListId};this.fileCacheHelper.loadJsFile("platform/datasources/managers/datalistmanager.js",function(){this._dataListManager.buildQuery(t).then(function(t){let i=JSON.parse(t.result);if(t!=null){$("."+n+"-table-canvas").addClass("hidden");$("#"+n).find("#table-container").find("#datalist-table").remove();let t;if(i.QueryData.error==null){t=`<table id="datalist-table"><thead><tr>`;for(let n=0;n<i.QueryData.columns.length-1;n++)t+=`<th>`+i.QueryData.columns[n].toString()+`</th>`;t+=`</thead><tbody>`;for(let n=0;n<i.QueryData.rows.length-1;n++){let r=i.QueryData.rows[n];t+=`<tr>`;for(let n=0;n<r.length-1;n++)t+=`<td>`+r[n].toString()+`</td>`;t+=`</tr>`}t+=`</tbody></table>`;$("#"+n).find(".datalist-builder-body").append(t);var u=new Tabulator("#datalist-table",{}),r=$("#"+n).find(".datalist-builder-body").height()-49+"px";console.log(r);u.setHeight(r)}else t=`<span id="span_error">`+i.QueryData.error+`</span>`,$("#"+n).find(".datalist-builder-body").append(t)}})})}saveDataList(t){var i=this,h,c;let u=2,f=0,l=0;this._queryParser.ErrorThrown=!1;let r=$("#"+t).find(".Datalistname").val();$(".datalist-builder-body").add(".chart-metrics").click(function(){$("#Bizgaze-messageInfo").fadeOut(2e3,"swing")});let e=Number($("#"+t).find(".DatalistType").val()),o=Number($("#"+t).find(".DataSourceType").val());if(r=="")return MessageHelper.Instance().showError("Please provide DatalistName","bl-datalist_error");if(e==0)return MessageHelper.Instance().showError("Please select DataListType","bl-datalist_error");if(o==0)return MessageHelper.Instance().showError("Please select DataSourceType","bl-datalist_error");let a="FT_"+r,v=this._queryParser.generateDynamicQuery($("#main_query")),y=$("#"+t).find(".sql-textarea").val();if($("#"+t).find("#datalist_design").hasClass("active")){u=1;let n=``}$("#chk_IsFlatTable").is(":checked")==!0&&(f=1);$("#chk_Scheduler").is(":checked")==!0&&(l=1);let s="";i._customfilters.customFilters.length!=0&&(s=JSON.stringify(i._customfilters.customFilters));h={DocProperties:SelectedDocProperties,DocTypeIds:SelectedDoctypes,DocTables:doctypelist,ConditionGroups:SelectedGroups,DataListJoins:SelectedJoins,QueryString:null,datalistid:this.DataListId};c={DataListId:Number(i.DataListId),DataListName:r.toString(),DataListTypeId:e,DataSourceId:o,TableTypeId:Number($("#"+t).find(".TableType").val()),IsCommon:$("#Iscommon_checkbox").is(":checked"),QueryString:y.toString(),QueryTypeId:u,IsFlattable:Boolean(f),StoredProcedureName:$("#"+t).find("#txt_spName").val().toString(),FlatTableName:a,TenureValue:Number($("#"+t).find("#txt_TenureValue").val()),TenureTypeId:Number($("#"+t).find("#select_TenureType option:selected").val()),Query:h,ContactColumns:$("#txt_SelectColumnName").val().toString(),IsWhere:i.IsWhere,IsInternalDataList:i.IsInternalDataList,HasIdentityFilter:i.HasIdentityFilter,Parameters:$("#txt_parameters").val().toString().trim(),FromDate:n.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date,"YYYY/MM/DD"),ToDate:n.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date,"YYYY/MM/DD"),PrimaryKeyColumn:$(".PrimaryKeyColumn").val().toString(),DynamicQuery:v,CustomFilters:s,IsAutoData:i.IsAutoData,InstalledAppId:isNaN(Number($("#InstalledApp_AutoComplete_DataList option:selected").val()))==!0?0:Number($("#InstalledApp_AutoComplete_DataList option:selected").val()),IsGroupBy:i.IsGroupBy,EnableInsideWhere:i.EnableInsideWhere};n.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("/platform/datasources/managers/datalistmanager.js",function(){n.Platform.DataSources.Managers.DataListManager.Instance().saveDataList(c).then(function(r){return r.status===n.Data.Status.Success?(i._customfilters.customFilters=[],$("#"+t).modal("hide"),$("#"+t).remove(),MessageHelper.Instance().showSuccess(r.message,"bl-datalist_error")):MessageHelper.Instance().showError(r.errors.join(","),"bl-datalist_error")})})}initTable(n){var t=function(n){var t=n.getRow(),i=t.getPosition(!1);return i+1};return new Tabulator("."+n+"-table-canvas",{columns:[{title:"",formatter:t,frozen:!0,minWidth:40,width:40},{title:"Name",field:"name"},{title:"Age",field:"age"},{title:"Gender",field:"gender"},{title:"Height",field:"height"},{title:"Favourite Color",field:"col"},{title:"Date Of Birth",field:"dob"},{title:"Cheese Preference",field:"cheese"},],layout:"fitColumns"})}load_data(t,i){var r=$("#"+t).find(".sql-textarea").val(),h={DocProperties:null,DocTypeIds:null,DocTables:null,ConditionGroups:null,DataListJoins:null,QueryString:r.toString(),datalistid:this.DataListId},e=$("#Iscommon_checkbox").is(":checked"),o=Number($(".DataSourceType").val()),s=this.DataListId,f,u;$("#"+t).find("#sql-container").hasClass("show")?r!=null&&r!=""||$(".DatalistType").val()==5?n.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("/platform/datasources/managers/datalistmanager.js",function(){$(".DatalistType").val()==5?n.Platform.DataSources.Managers.DataListManager.Instance().getdatafromapi(s).then(function(i){i.result!=null&&n.Platform.DataSources.Components.DatalistBuilder.Instance().loadresponse(t,i.result)}):n.Platform.DataSources.Managers.DataListManager.Instance().getTable(r.toString(),e,o).then(function(i){i!=null&&n.Platform.DataSources.Components.DatalistBuilder.Instance().loadresponse(t,i.result)})}):alert("Please Enter a Query"):($("."+t+"-table-canvas").removeClass("hidden"),f=[{id:1,name:"sr",age:"12",gender:"male",height:1,col:"red",dob:"",cheese:!1},{id:2,name:"May",age:"1",gender:"female",height:2,col:"blue",dob:"14/05/1982",cheese:!0},{id:3,name:"sr",age:"12",gender:"male",height:1,col:"red",dob:"",cheese:!1},{id:4,name:"May",age:"1",gender:"female",height:2,col:"blue",dob:"14/05/1982",cheese:!0},{id:5,name:"sr",age:"12",gender:"male",height:1,col:"red",dob:"",cheese:!1},{id:6,name:"May",age:"1",gender:"female",height:2,col:"blue",dob:"14/05/1982",cheese:!0},{id:7,name:"sr",age:"12",gender:"male",height:1,col:"red",dob:"",cheese:!1},{id:8,name:"May",age:"1",gender:"female",height:2,col:"blue",dob:"14/05/1982",cheese:!0},{id:9,name:"sr",age:"12",gender:"male",height:1,col:"red",dob:"",cheese:!1},{id:10,name:"May",age:"1",gender:"female",height:2,col:"blue",dob:"14/05/1982",cheese:!0},{id:11,name:"sr",age:"12",gender:"male",height:1,col:"red",dob:"",cheese:!1},{id:12,name:"May",age:"1",gender:"female",height:2,col:"blue",dob:"14/05/1982",cheese:!0},{id:13,name:"sr",age:"12",gender:"male",height:1,col:"red",dob:"",cheese:!1},{id:14,name:"May",age:"1",gender:"female",height:2,col:"blue",dob:"14/05/1982",cheese:!0},{id:15,name:"sr",age:"12",gender:"male",height:1,col:"red",dob:"",cheese:!1},{id:16,name:"May",age:"1",gender:"female",height:2,col:"blue",dob:"14/05/1982",cheese:!0},{id:17,name:"sr",age:"12",gender:"male",height:1,col:"red",dob:"",cheese:!1},{id:18,name:"May",age:"1",gender:"female",height:2,col:"blue",dob:"14/05/1982",cheese:!0},{id:15,name:"sr",age:"12",gender:"male",height:1,col:"red",dob:"",cheese:!1},{id:16,name:"May",age:"1",gender:"female",height:2,col:"blue",dob:"14/05/1982",cheese:!0},{id:17,name:"sr",age:"12",gender:"male",height:1,col:"red",dob:"",cheese:!1},{id:18,name:"May",age:"1",gender:"female",height:2,col:"blue",dob:"14/05/1982",cheese:!0},],i.setData(f),u=$("#"+t).find("#table-container").height()-49+"px",console.log(u),i.setHeight(u))}loadresponse(n,t){var u,f,r;for(let n=0;n<t.columns.length;n++)u=t.columns;$("#txt_SelectColumnName").select2({placeholder:"Select Contact Columns",data:u});$("#"+n).find(".tab-content").addClass("hidden");$("#"+n).find(".table-container").addClass("hidden");$("#"+n).find("#datalist-table").remove();$("."+n+"-table-canvas").addClass("hidden");$("#datalist-table").remove();let i;if(t.error==null){i=`<table id="datalist-table"><thead><tr>`;for(let n=0;n<t.columns.length;n++)i+=`<th>`+t.columns[n].toString()+`</th>`;i+=`</thead><tbody>`;for(let n=0;n<t.rows.length;n++){let r=t.rows[n];i+=`<tr>`;for(let n=0;n<r.length;n++)r[n]==null&&(r[n]="null"),i+=`<td>`+r[n].toString()+`</td>`;i+=`</tr>`}i+=`</tbody></table>`;$("#"+n).find(".datalist-builder-body").append(i);f=new Tabulator("#datalist-table",{});r=$("#"+n).find(".datalist-builder-body").height()-49+"px";console.log(r);f.setHeight(r)}else i=`<span id="span_error">`+t.error+`</span>`,$("#"+n).find(".datalist-builder-body").append(i);$("#btn-preview-close").click(function(){$("#"+n).find("#sql-container").hasClass("show")?($("#"+n).find("#table-container").addClass("hidden"),$("#"+n).find("#datalist-table").remove(),$("#"+n).find(".tab-content").removeClass("hidden"),$("#btn-preview-close").addClass("hidden"),$("#btn-datalist-builder-close").removeClass("hidden"),$("#"+n).find(".datalist-builder-body").find("#span_error").remove()):($("#"+n).find("#datalist-table").remove(),$("#"+n).find(".tab-content").removeClass("hidden"),$("#"+n).find(".table-container").addClass("hidden"),$("#btn-preview-close").addClass("hidden"),$("#btn-datalist-builder-close").removeClass("hidden"),$("#"+n).find(".datalist-builder-body").find("#span_error").remove())})}loadChartIcons(){let n=`<button class="btn btn-icon btn-icon-circle btn-icon-style-3"><i class="fa fa-bar-chart-o"></i></button><button class="btn btn-icon btn-icon-circle btn-icon-style-3"><i class="fa fa-building"></i></button><button class="btn btn-icon btn-icon-circle btn-icon-style-3"><i class="fa fa-filter"></i></button>`;$("#bl-nav-chart").html(n);$("#bl-nav-chart").height($("#chart-container").height())}loadTabs(n){let t=`<ul class="nav nav-tabs nav-light">
  238. <li role="tablist" class="Active">
  239. <a data-toggle="tab" href="#designer-container" id="datalist_design" class="nav-link active show">Design</a>
  240. </li>
  241. <li role="tablist"><a data-toggle="tab" href="#sql-container" id="datalist_sql" class="nav-link">SQL</a></li>
  242. <li role="tablist"><a data-toggle="tab" href="#storedprocedure-container" id="datalist_storedprocedure" class="nav-link">StoredProcedure</a></li>
  243. <li role="tablist"><a data-toggle="tab" href="#datalist_newsql_container_wrapper" id="datalist_tab_newsql" class="nav-link">New Sql</a></li>
  244. </ul>`;$("#"+n).find("#tab-container").html(t)}loadChartToggleButtons(){let n=`<ul class="nav nav-pills"><button id="btnRefresh" class="btn btn-primary"><i class="fa fa-refresh"></i><span> Refresh</span></button><button class="btn btn-icon ml-5"><i class="fa fa-bar-chart-o"></i></button><button class="ml-5 btn btn-icon"><i class="fa fa-filter"></i></button></ul>`;$("#tab-container").after(n)}loadTableToggleButtons(){let n=`<ul class="nav nav-pills"><button id="btnRefresh" class="btn btn-primary"><i class="fa fa-refresh"></i><span> Refresh</span></button><button class="ml-5 btn btn-default"><i class="fa fa-cog"></i><span> Settings</span></button></ul>`;$("#lbl-record-count").after(n)}static Instance(){return this.instance===undefined&&(this.instance=new u),this.instance}}r.DatalistBuilder=u})(r=i.Components||(i.Components={}))})(i=t.DataSources||(t.DataSources={}))})(t=n.Platform||(n.Platform={}))})(Unibase||(Unibase={}));