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.

virtualmachine.js 20KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Hyperfusion;
  6. (function (Hyperfusion) {
  7. let Components;
  8. (function (Components) {
  9. class Virtualmachine extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super();
  12. this.pageIndex = 0;
  13. }
  14. cssFiles() {
  15. throw new Error("Method not implemented.");
  16. }
  17. jsFiles() {
  18. return ["apps/hyperfusion/managers/hyperfusionmanager.js", "libs/jquery/pagination/jquery.pagination.js"];
  19. ;
  20. }
  21. html(id, containerid) {
  22. return null;
  23. }
  24. load(id, containerid, callback) { }
  25. loadForm(FormId, Pk_Value, AppConfigurationId, Callback, PortletWidgetId) { }
  26. init(containerid) {
  27. let instance = this;
  28. instance.fileCacheHelper.loadJsFiles(["libs/jquery/pagination/jquery.pagination.js"], null);
  29. $(`.${containerid}`).append(`<div class="card mb-0 border-0 p-2 BindData_` + containerid + ` findcontainer h-100" style="background:0 0">
  30. <div class="card-header border-bottom py-2 px-2 search-bar-main-wrapper viewer-header position-sticky t-0 bg-white z-index-2"
  31. id="ViewerHeader_` + containerid + `">
  32. <div class="card-header-top line-loader-container p-relative">
  33. <div id="bizgaze_hyperfusion" class="bg-white" default="" data-validate="parsley" data-isdynamic="false">
  34. <div class="px-20 pt-3 w-100 d-flex align-items-center justify-content-between"><span
  35. class="font-18 font-weight-600">Virtual Machines</span></div>
  36. <div class="b-b bg-white header log-Header modal-header align-items-end">
  37. <div class="b-b bg-white d-flex flex-column" id="div_Location"><label
  38. class="font-weight-500">Location</label><select type="text" id="txtlocation"
  39. class="form-control floating-label-control " placeholder="Location *"
  40. data-placeholder="Select Location"></select></div>
  41. <div class="b-b bg-white d-flex flex-column" id="div_server"><label
  42. class="font-weight-500">Server Name</label><select type="text" id="txtserver"
  43. class="form-control floating-label-control " placeholder="Server Name *"
  44. data-placeholder="Select Server Name"></select></div>
  45. <div id="log_item" class="flex-column row"><label class="font-weight-500">Stage</label>
  46. <div class=""><select id="txtAutocomplete_log" placeholder="Select" class="form-control pl-0"
  47. data-placeholder="Select" data-label="Log">
  48. <option class="primary-account font-10" value="1">All</option>
  49. <option class="secondary-account font-10" value="0">Created</option>
  50. <option class="secondary-account font-10" value="2">Start</option>
  51. <option class="secondary-account font-10" value="3">Stop</option>
  52. <option class="secondary-account font-10" value="4">Delete</option>
  53. <option class="secondary-account font-10" value="5">Failed</option>
  54. <option class="secondary-account font-10" value="6">Configure</option>
  55. </select><input type="hidden" value="0" id="hfAutocomplete_log"></div>
  56. </div>
  57. <div class="d-flex flex-column" id="div_fromDate" data-dateinitialized="false">
  58. <label class="font-weight-400">From Date</label>
  59. <div class="align-items-center d-flex"><input type="date" id="txt_fromDate" min="1980-01-01"
  60. class="form-control floating-label-control datepicker-input pl-0 w-150p"
  61. style="box-shadow: none;" data-date-format="dd/MM/yyyy" data-isdynamic="false"
  62. placeholder="From Date *" data-placeholder="dd/mm/yyyy" data-label="From Date">
  63. <div id="clr_fdate"><i class="fa fa-close"></i></div>
  64. </div>
  65. <input type="hidden" id="hf_fromDate">
  66. </div>
  67. <div class="d-flex flex-column" id="div_toDate"><label class="font-weight-400">To Date</label>
  68. <div class="floating-label-from-group align-items-center d-flex"><input type="date" id="txt_toDate"
  69. class="form-control floating-label-control datepicker-input pl-0 w-150p"
  70. data-date-format="dd/MM/yyyy" style="box-shadow: none;" data-isdynamic="false"
  71. placeholder="To Date *" data-placeholder="dd/mm/yyyy" data-label="To Date">
  72. <div id="clr_tdate"><i class="fa fa-close"></i></div>
  73. </div>
  74. <input type="hidden" id="hf_toDate">
  75. </div><a href="javascript:;" class="btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p dataapilog-refresh-btn mr-20" id="dataapilogRefreshBtn_" data-tooltip="true" title="Refresh All" onclick="javascript:Bizgaze.Apps.Hyperfusion.Components.Virtualmachine.Instance().refreshData();"><span class="btn-icon-wrap"><i class="fa fa-refresh"></i></span></a>
  76. <a href="javascript:;" id="btnApply" class="btn btn-primary btn-sm" onclick="javascript:Bizgaze.Apps.Hyperfusion.Components.Virtualmachine.Instance().loadData();">Apply</a><a href="javascript:;"
  77. class="btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-30p h-30p dataapilog-refresh-btn " onclick="javascript:Bizgaze.Apps.Hyperfusion.Components.Virtualmachine.Instance().downloadServersReport();"
  78. id="dataapilogRefreshBtn_" data-tooltip="true" title="Download All"><span class="btn-icon-wrap"><i
  79. class="fa fa-download"></i></span></a>
  80. </div>
  81. </div>
  82. </div>
  83. <div class="card-body p-2 border-removed border-white-removed show userDesignWidgetCardBody" id="Viewer_` + containerid + `" data-iscollapseapplied="false">
  84. <div class="hyperfunction_` + containerid + `" id="hyperfunction"></div>
  85. </div>
  86. </div>`);
  87. instance.virtualMeachine(containerid);
  88. var url = _appsettings.server_url() + '/apis/v4/hyperfusion/hireserver/machines/serversautocomplete';
  89. AutoCompleteHelper.getHelper().Create("#txtserver", "#hf_Autocomplete_Services", url, function (response) {
  90. var data = response;
  91. $("#div_server").find('.select2ErrorClass').addClass('w-200p');
  92. });
  93. url = _appsettings.server_url() + '/apis/v4/hyperfusion/hireserver/machines/locationsautocomplete';
  94. AutoCompleteHelper.getHelper().Create($("#txtlocation"), "#hfAutocomplete_Plant", url, function (response) {
  95. var data = response;
  96. $("#div_Location").find('.select2ErrorClass').addClass('w-200p');
  97. });
  98. }
  99. loadPagination(totalRecords) {
  100. var instance = this;
  101. let element = $('#ItemsListPagination');
  102. element.pagination(totalRecords, 20, {
  103. items_per_page: 20,
  104. callback: function (page, component) {
  105. instance.pageIndex = page;
  106. instance.loadData();
  107. }, current_page: instance.pageIndex
  108. });
  109. }
  110. virtualMeachine(containerid) {
  111. var instance = this;
  112. let html = '';
  113. html += `<div class="font-weight-600 list-group-item-secondary mx-0 py-2 row">
  114. <div class="col-2">Machine Name</div>
  115. <div class="col-1 text-nowrap">VM Stage</div>
  116. <div class="col-1 text-nowrap">HS Stage</div>
  117. <div class="col-2">Created Date</div>
  118. <div class="col-2">Contact Name</div>
  119. <div class="col-2">Location</div>
  120. <div class="col-2">Server Name</div>
  121. </div>
  122. <div class="divlog list-group font-14 mb-10 templateviewer-body"></div>
  123. <div class="px-15 d-flex justify-content-between align-items-center">
  124. <div id="totalcount" class="font-14 font-weight-600">Total Count :<a href="javascript:; " id="getcount"></a></div>
  125. <div id="ItemsListPagination" class="pagination custom-pagination pagination-rounded pull-right"></div>
  126. </div>
  127. <div id="div_LogFooter" class="bg-white footer h-50p"></div>`;
  128. $(".hyperfunction_" + containerid).append(html);
  129. instance.loadData();
  130. }
  131. loadData() {
  132. var instance = this;
  133. let datetimeIns = Unibase.Platform.Helpers.DateTimeHelper.Instance();
  134. var instance = this;
  135. var Serverid = $('#txtserver option:selected').val();
  136. var Branchid = $('#txtlocation option:selected').val();
  137. var postData = {
  138. ServerId: Serverid,
  139. BranchId: Branchid,
  140. Page: instance.pageIndex,
  141. Rows: 20,
  142. FromDate: $("#txt_fromDate").val(),
  143. ToDate: $("#txt_toDate").val(),
  144. Stage: $('#txtAutocomplete_log option:selected').text()
  145. };
  146. if (($("#txt_fromDate").val() == "" && $("#txt_toDate").val() != "" && $("#txt_toDate").val() != undefined)) {
  147. MessageHelper.Instance().showError("Please select FromDate", "Unibase_ValidationSummary");
  148. }
  149. else if ($("#txt_fromDate").val() != "" && $("#txt_fromDate").val() != undefined && $("#txt_toDate").val() == "") {
  150. MessageHelper.Instance().showError("Please select ToDate", "Unibase_ValidationSummary");
  151. }
  152. else if (($("#txt_fromDate").val() > $("#txt_toDate").val())) {
  153. MessageHelper.Instance().showError("ToDate is lessthan FromDate", "Unibase_ValidationSummary");
  154. }
  155. else {
  156. $(".divlog").html(Unibase.Themes.Compact.Components.Nav_Template.Instance().skelTonHorizontal());
  157. }
  158. instance.fileCacheHelper.loadJsFiles(["apps/hyperfusion/managers/hyperfusionmanager.js"], () => {
  159. Hyperfusion.Managers.HyperfusionManager.Instance().getMachinesDataforfilter(postData).then((response) => {
  160. let html = '';
  161. if (response.result.length == 0) {
  162. $(".divlog").hide();
  163. $("#totalcount").hide();
  164. }
  165. else {
  166. $(".divlog").show();
  167. $("#totalcount").show();
  168. if (response.result != null) {
  169. for (let i = 0; i < response.result.length; i++) {
  170. let data = response.result[i];
  171. let machine_name = data.MachineName;
  172. let contact_name = data.ContactName;
  173. let stage_name = data.StageName;
  174. var date = Unibase.Platform.Helpers.DateTimeHelper.Instance().FormatDateTime(data.CreatedDate);
  175. html += `<ul class="row mx-0"><li class="col-2">${data.MachineName}</li><li class="col-1">${data.ActualStage}</li><li class="col-1">${data.StageName}</li><li class="col-2">${date}</li><li class="col-2">${data.ContactName}</li><li class="col-2">${data.BranchName}</li><li class="col-2">${data.ServerName}</li></ul>`;
  176. }
  177. }
  178. }
  179. if (response.totalRecords > 20) {
  180. $("#ItemsListPagination").removeClass("hidden");
  181. instance.loadPagination(response.totalRecords);
  182. }
  183. else {
  184. $("#ItemsListPagination").addClass("hidden");
  185. }
  186. $('#getcount').text(response.totalRecords);
  187. $("#lblintegratelogRecords").text(response.result.length);
  188. $(".divlog").html(html);
  189. });
  190. });
  191. }
  192. downloadServersReport() {
  193. let datetimeIns = Unibase.Platform.Helpers.DateTimeHelper.Instance();
  194. var instance = this;
  195. var ServerId = $('#txtserver option:selected').val();
  196. var BranchId = $('#txtlocation option:selected').val();
  197. var postData = {
  198. ServerId: ServerId,
  199. BranchId: BranchId,
  200. Page: instance.pageIndex,
  201. Rows: 20,
  202. FromDate: $("#txt_fromDate").val(),
  203. ToDate: $("#txt_toDate").val(),
  204. Stage: $('#txtAutocomplete_log option:selected').text()
  205. };
  206. if (($("#txt_fromDate").val() == "" && $("#txt_toDate").val() != "" && $("#txt_toDate").val() != undefined)) {
  207. MessageHelper.Instance().showError("Please select FromDate", "Unibase_ValidationSummary");
  208. }
  209. else if ($("#txt_fromDate").val() != "" && $("#txt_fromDate").val() != undefined && $("#txt_toDate").val() == "") {
  210. MessageHelper.Instance().showError("Please select ToDate", "Unibase_ValidationSummary");
  211. }
  212. else if (($("#txt_fromDate").val() > $("#txt_toDate").val())) {
  213. MessageHelper.Instance().showError("ToDate is lessthan FromDate", "Unibase_ValidationSummary");
  214. }
  215. else {
  216. }
  217. this.fileCacheHelper.loadJsFiles(['apps/Hyperfusion/manager/hyperfusionmanager.js'], () => {
  218. Hyperfusion.Managers.HyperfusionManager.Instance().downloadData(postData).then((response) => {
  219. Unibase.Platform.Helpers.FileHelper.Instance().convertBase64tofile(response.result);
  220. });
  221. });
  222. }
  223. refreshData() {
  224. $('#txt_fromDate').val('');
  225. $('#txt_toDate').val('');
  226. $('#txtAutocomplete_log').val(1);
  227. $('#txtserver').text('');
  228. $('#txtlocation').text('');
  229. this.loadData();
  230. }
  231. static Instance() {
  232. return new Virtualmachine();
  233. }
  234. }
  235. Components.Virtualmachine = Virtualmachine;
  236. })(Components = Hyperfusion.Components || (Hyperfusion.Components = {}));
  237. })(Hyperfusion = Apps.Hyperfusion || (Apps.Hyperfusion = {}));
  238. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  239. })(Bizgaze || (Bizgaze = {}));