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.template.js 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let DataSources;
  6. (function (DataSources) {
  7. let Templates;
  8. (function (Templates) {
  9. class DatalistBuilder {
  10. loadDocTypeTemplate() {
  11. let html = `<li class="dd-item dd3-item" id="liDoctype_{{DocTypeId}}">
  12. <div class="blockelem create-flowy noselect">
  13. <input type="hidden" name="blockelemtypeid" class="blockelemtypeId" value="{{DocTypeId}}">
  14. <input type="hidden" name="blockelemtypename" class="blockelemtypename" value="{{DocTypeName}}">
  15. <input type="hidden" name="blockelemtablename" class="blockelemtablename" value="{{DocTypeTableName}}">
  16. <div class="grabme" style="margin-top:-5px;"><img src="libs/flowy/assets/grabme.svg"></div>
  17. <div class="blockin">
  18. <div class="blocktext" style="margin-left:-5px;">
  19. <p class="blocktitle text-sun">{{DocTypeName}}</p>
  20. </div>
  21. </div>
  22. </div>
  23. </li>`;
  24. return html;
  25. }
  26. loadDataSourceProvidersTemplate() {
  27. let html = `<div class="col-sm-3">
  28. <div class="card text-center"><a href="javascript:;" onclick="Unibase.DataSources.DataLists.DatalistBuilder.Instance().getDataSources({{DataSourceProviderId}},'{{DataSourceProviderName}}')">
  29. <div class="card-body text-center">
  30. <div class="avatar rounder-cornor"><i class="fa fa-cloud-download fa-4x"></i></div>
  31. <div class="mt-2"> {{DataSourceProviderName}}</div>
  32. </div></a>
  33. </div>
  34. </div>`;
  35. return html;
  36. }
  37. loadDataSourceTemplate() {
  38. let html = `<div class="col-sm-3">
  39. <div class="card text-center"><a href="javascript:;" onclick="Unibase.DataSources.DataLists.DatalistBuilder.Instance().editDataSource({{DataSourceId}},{{DataSourceProviderId}})">
  40. <div class="card-body text-center">
  41. <div class="avatar rounder-cornor"><i class="fa fa-database fa-4x"></i></div>
  42. <div class="mt-2">{{DataSourceName}}</div>
  43. </div></a>
  44. </div>
  45. </div>`;
  46. return html;
  47. }
  48. loadAddDataSourceTemplate(dataSourceproviderid) {
  49. let html = `<div class="card"><div class="card-header"><p class="h5" id="addDataSource_title">Add Data Source</p></div>
  50. <div class="card-body row" id="div_addDataSource_${dataSourceproviderid}">
  51. <input type="hidden" id="datasource_DataSourceId">
  52. <div class="form-group col-md-4"><label>User Id</label><input type="text" class="form-control" placeholder="User Id"id="datasource_UserId"></div>
  53. <div class="form-group col-md-4"><label>Password</label><input type="text" class="form-control" placeholder="Password" id="datasource_Password"></div>
  54. <div class="form-group col-md-4"><label>DataSourceName</label><input type="text" class="form-control" placeholder="DataSourceName" id="datasource_DataSourceName"></div>
  55. <div class="form-group col-md-4"><label>UserDeviceId</label><input type="text" class="form-control" placeholder="UserDeviceId" id="datasource_UserDeviceId"></div>
  56. <div class="form-group col-md-4"><label>Data Source Provider</label>
  57. <select class="form-control" id="select_datasourceproviders"></select>
  58. </div>
  59. </div>
  60. <div class="card-footer"><button id="btn-addsource-close" class="btn-addsource-close btn btn-secondary btn-sm mr-auto">Close</button><button id="btn-settings-save" class="btn-datasource-save btn btn-primary btn-sm" onclick="Unibase.DataSources.DataLists.DatalistBuilder.Instance().saveDataSource(${dataSourceproviderid})">Save</button></div>
  61. </div>`;
  62. return html;
  63. }
  64. loadDocPropertyTemplate() {
  65. let html = `<input type="hidden" id="doc_tablename" value="{{PropTableName}}"><li class="list-group-item li_docproperty" id="liDocProperty_{{DocPropertyId}}">
  66. <div id="div_docproperty" class="custom-control custom-checkbox"><input type="checkbox" class="chk_DocPropertyId custom-control-input" id="chk_DocPropertyId_{{DocPropertyId}}" value="{{DocPropertyId}}" onchange="DatalistBuilder.Instance().removeDocProperty({{DocPropertyId}})"> <label id="spn_DocpropertyName" class="custom-control-label" for="chk_DocPropertyId_{{DocPropertyId}}">{{DocPropertyName}}</label></div></li>`;
  67. return html;
  68. }
  69. loadJoinDoctypesTemplate(doctypeid, doctypename, doctablename, len) {
  70. let html = ` <li class="list-group-item" id="li_join_${len}">
  71. <div class="row">
  72. <div class="col-sm-3"><div id="docproperty_${doctypeid}"><p class="font-14"><strong>${doctypename}</strong></p><input type="hidden" id="hf_leftdoctablename_${len}" value="${doctablename}">
  73. <select id="select_docproperties_${doctypeid}_${len}"class="form-control">{{Options}}</select>
  74. </div></div>
  75. <div class="col-sm-2"><div id="jointype"><p class="font-14"><strong>Join Type</strong></p>
  76. <select id="select_joins_${len}"class="form-control">
  77. <option value="1" data-name="Inner" >Inner</option>
  78. <option value="2" data-name="LeftOuter" >LeftOuter</option>
  79. <option value="3" data-name="RightOuter" >RightOuter</option>
  80. <option value="4" data-name="FullOuter" >FullOuter</option>
  81. <option value="5" data-name="Cross" >Cross</option>
  82. <option value="6" data-name="Self" >Self</option>
  83. </select>
  84. </div></div>
  85. <div class="col-sm-3"><div id="doctypes_{{DoctypeId}}_${len}"><p class="font-14"><strong>Select DocType</strong></p><input type="hidden" id="hf_rightDoctype_${len}"><input type="hidden" id="hf_rightDoctypeName_${len}"><input type="hidden" id="hf_rightDocTableName_${len}">
  86. <select id="select_doctypes_${len}"class="form-control" onchange="javascript:Unibase.DataSources.DataLists.DatalistBuilder.Instance().getDocPropertiesByDoctypeId(${len})"></select>
  87. </div></div>
  88. <div class="col-sm-3"><div id="doctypeproperty_${len}" class="hidden"><p class="font-14 font-bold" id="selected_doctype_${len}"></p>
  89. <select id="select_docproperty_${len}"class="form-control"></select>
  90. </div></div>
  91. <button class="btn btn-icon btn-primary mt-10" id="btn_addJoins" onclick="javascript:Unibase.DataSources.DataLists.DatalistBuilder.Instance().addJoin(${doctypeid},'${doctypename}','${doctablename}',${len})"><i class="fa fa-plus"></i></button>
  92. </div></li>`;
  93. return html;
  94. }
  95. addJoinTemplate() {
  96. let html = `<tr class="join-rows"><td width="45%"><input type="hidden" id="leftdoctypeid" value={{LeftDocTypeId}} data-table={{LeftDocTableName}}><span id="td_leftdoctypename">{{LeftDocTypeName}}</span></td>
  97. <td width="50%"><input type="hidden" id="leftdocpropid" value={{LeftDocPropertyId}} ><span id="td_leftdocpropname">{{LeftDocPropertyName}}</span></td>
  98. <td width="45%"><input type="hidden" id="rightdoctypeid" value={{RightDocTypeId}} data-table={{RightDocTableName}} /><span id="td_rightdoctypename">{{RightDocTypeName}}</span></td>
  99. <td width="50%"><input type="hidden" id="rightdocpropid" value={{RightDocPropertyId}} ><span id="td_rightdocpropname">{{RightDocPropertyName}}</span></td>
  100. <td width="50%"><input type="hidden" id="doctype_joinid" value={{JoinId}} ><span id="td_jointype">{{JoinName}}</span></td>
  101. <td width="50%"><a href="javasrcipt:;" class="btn_joindelete"><i class="fa fa-trash text-danger"></i></a></td>
  102. </tr>`;
  103. return html;
  104. }
  105. loadJoinDocPropertiesTemplate() {
  106. let html = `<option value="{{DocPropertyId}}">{{DocPropertyName}}<option>`;
  107. return html;
  108. }
  109. loadDoctypesDropdownTemplate() {
  110. let html = `<option value="{{DocTypeId}}" data-table="{{DocTableName}}">{{DocTypeName}}<option>`;
  111. return html;
  112. }
  113. loadDataSourceProviderDropdownTemplate() {
  114. let html = `<option value="{{DataSourceProviderId}}">{{DataSourceProviderName}}<option>`;
  115. return html;
  116. }
  117. loadDataSourceProviders() {
  118. let html = `<div class="card" style="position: initial;height:-webkit-fill-available;"><div class="card-header"><p class="h5">Data Source Providers</div>
  119. <div class="card-body row" id="div_datasourceproviders">
  120. <div id="div_datasourceproviders" class="accordion"></div>
  121. </div>
  122. <div class="card-footer"><button id="btn-data-source-close" class="btn-datasource-close btn btn-secondary btn-sm mr-auto">Close</button></div>
  123. </div>`;
  124. return html;
  125. }
  126. loadCustomFilterTemplate() {
  127. let html = `<section id="custom-filter-section" class="modal-content">
  128. <div class="modal-header pa-10" id="reportrolesetting_header">
  129. <strong class="modal-title biz-highlight-bg-color">Custom Filter</strong>
  130. </div>
  131. <div data-simplebar class="simple-scroll-bar modal-body bg-charcoal-light-5">
  132. <div id="divCustomFilter_ErrorMessage"></div>
  133. <div class="sub-report-block" id="cutomfilter_modal">
  134. <div class="customfilter-block card" data-select2-id="24">
  135. <div data-select2-id="23">
  136. <header class="custom-filter-head">
  137. <h6 class="required">
  138. Custom Filters
  139. </h6>
  140. <div class="div_CustomFilter pull-right"><a id="btnAddCustomFilter" onclick="Unibase.Platform.DataSources.Components.CustomFilters.Instance().loadCustomFilterSection()"; class="btn btn-primary text-white"><span class="mr-2">Add</span></a></div>
  141. </button>
  142. </header>
  143. <div class="custom-filters pa-10"></div>
  144. </div>
  145. </div>
  146. </div>
  147. </div>
  148. </div>
  149. <div class="modal-footer pa-10" id="customfilter_footer">
  150. <button type="button" class="btn btn-sm btn-light mr-auto" id="btn-customfilter-close">Cancel</button>
  151. <button type="button" class="btn btn-sm btn-primary" id="btn-customfilter-add">Save</button>
  152. </div>
  153. </section>`;
  154. return html;
  155. }
  156. loadCustomFilterCardTemplate(index) {
  157. var html = `<div id="div_CustomFilterSection_` + index + `">
  158. <div class="card custom-filter-` + index + ` py-10">
  159. <input type="hidden" name="index" class="hf_index" value="${index}">
  160. <div class="row mx-0">
  161. <div class="col-sm-6" id="div_filtername">
  162. <div class="floating-label-form-group">
  163. <label for="lbl" id="lbl_filtername" class="lbl_txt">Filter Name<span
  164. class="text-danger">*</span></label>
  165. <input type="text" id="txt_filtername_` + index + `"
  166. class="type-control form-control type-control value-control required floating-label-control txt_name"
  167. placeholder="Filter Name *" data-placeholder="Filter Name" data-label="Filter Name *"
  168. data-regularexp="" data-validatemsg="">
  169. </div>
  170. </div>
  171. <div class="col-auto align-self-end div_iswhere"><div class="form-group d-flex align-items-center mb-0">
  172. <input type="checkbox" class="mr-10" onclick="Unibase.Platform.DataSources.Components.CustomFilters.Instance().isWhere(` + index + `)" id="cf_iswhere_checkbox_${index}"><label for="cf_iswhere_checkbox_${index}" class="mb-0">IsWhere</label>
  173. </div></div>
  174. <div class="col-auto align-self-end div_autodate"><div class="form-group d-flex align-items-center mb-0">
  175. <input type="checkbox" class="mr-10" onclick="" id="cf_autodata_checkbox_${index}" checked="true"><label for="cf_autodata_checkbox_${index}" class="mb-0">Auto Data</label>
  176. </div></div>
  177. <div class="col-auto align-self-end div_isrulevalue"><div class="form-group d-flex align-items-center mb-0">
  178. <input type="checkbox" class="mr-10" onclick="" id="cf_isrulevalue_checkbox_${index}" checked="true"><label for="cf_isrulevalue_checkbox_${index}" class="mb-0">IsRuleValue</label>
  179. </div></div>
  180. <div class="col-sm-12 mt-15" id="div_expression_${index}"><div id="expression_builder_${index}" class="d-block"></div></div>
  181. </div>
  182. <a id="RemoveCustomFilter_` + index + `" class="position-absolute r-0 t-0 px-2 py-1"
  183. onclick="Unibase.Platform.DataSources.Components.CustomFilters.Instance().removeCustomFilter(` + index + `)"
  184. style="cursor:pointer"><i class="fa fa-times"></i></a>
  185. </div>
  186. </div>`;
  187. return html;
  188. }
  189. static Instance() {
  190. if (this._instance === undefined)
  191. this._instance = new Templates.DatalistBuilder();
  192. return this._instance;
  193. }
  194. }
  195. Templates.DatalistBuilder = DatalistBuilder;
  196. })(Templates = DataSources.Templates || (DataSources.Templates = {}));
  197. })(DataSources = Platform.DataSources || (Platform.DataSources = {}));
  198. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  199. })(Unibase || (Unibase = {}));