Built files from Bizgaze WebServer
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

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 = {}));