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.

appversion.component.js 9.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Apps;
  6. (function (Apps) {
  7. let Components;
  8. (function (Components) {
  9. class AppVersions extends Platform.Core.BaseComponent {
  10. cssFiles() {
  11. return ["libs/summernote/summernote.css"];
  12. }
  13. jsFiles() {
  14. return ["platform/apps/components/appversions/appversion.component.js", "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', "libs/summernote/summernote.min.js", 'platform/core/helpers/file/filehelper.js'];
  15. }
  16. load(id, containerid, callback) {
  17. var instance = this;
  18. instance.fileCacheHelper.loadJsFiles(["libs/summernote/summernote.min.js"], null);
  19. instance.fileCacheHelper.loadCssFile("libs/summernote/summernote.css", null);
  20. instance.loadSummernote();
  21. $("#txt_VersionNo").keypress(function (e) {
  22. instance.isNumberKey(e);
  23. }).on('paste', function (event) {
  24. event.preventDefault();
  25. });
  26. $("#btnSave").click(function () {
  27. let appcontrolid = "frmUnibase_AppVersion";
  28. let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
  29. if (result == false) {
  30. MessageHelper.Instance().showError("Mandatory fields are missing", "Unibase_ValidationSummary");
  31. return false;
  32. }
  33. else {
  34. instance.save(id, containerid);
  35. }
  36. });
  37. $("#txt_FilePath").change(function (e) {
  38. Unibase.Platform.Helpers.FileHelper.Instance().getBase64(e).then(function (response) {
  39. instance.FileInfo = response;
  40. });
  41. });
  42. }
  43. html(id, containerid) {
  44. let html = '<form id="frmUnibase_AppVersion" default="" data-validate="parsley" data-isdynamic="false">'
  45. + '<div class="b-b bg-white header"><strong id="" class="text-dark">Add Version</strong>'
  46. + '</div><div data-simplebar class="simple-scroll-bar scrollable"><div id="Unibase_ValidationSummary" class="clear mt-10"></div>'
  47. + '<div class="card"><div class="card-body">' +
  48. '<div class="row"><div class="col-sm-6">' +
  49. '<div class="floating-label-form-group"> <label for="txt_VersionNo">Version Number<span class="text-danger"> *</span></label><input class="form-control floating-label-control required" type="text" id="txt_VersionNo" placeholder="Version Number *" data-placeholder="Enter Version Number" data-label="Version Number *" /></div>' +
  50. '</div></div>' +
  51. '</div></div>' +
  52. '<div class="card"><div class="card-header"><strong>Version Files</strong></div><div class="card-body" id="div_versionFiles"><div class="row"><div class="col-sm-6">' +
  53. '<div id="fileUpload" class="row"><label for="" class="col-sm-4">Select Zip File</label><input type="file" accept=".zip" id="txt_FilePath" class="bg-light col-sm-6" style="width:150px"></div></div>' +
  54. '</div></div>' +
  55. '</div>' +
  56. '<div class="card"><div class="card-header"><strong>Version Queries</strong></div><div class="card-body" id="div_versionQueries"><div class="row"><div class="col-sm-6">' +
  57. '<div class="floating-label-form-group"> <label for="txt_QueryName">Query Name</label><input class="form-control floating-label-control" type="text" id="txt_QueryName" placeholder="Query Name *" data-placeholder="Enter Query Name" data-label="Query Name" /></div>' +
  58. '</div></div>' +
  59. '<div class="row mt-10"><div class="col-sm-12"><textarea placeholder="Enter Query" id="txt_query" rows="10" class="col-sm-12"></textarea></div>' +
  60. '</div></div></div><div class="description"><div class="card"><div class="card-header"><strong class="text-dark">Description</strong></div><div class="card-body"><div class="type-control summernote" style="display: block;" id="summernote" data-propdoctypename="" placeholder = "Enter Description" data-placeholder="Enter Descrpition" data-label="Descrpition"></div>' +
  61. '<label for="Validation" id="lblValidation"></label></div></div></div></div>' +
  62. '<div class="bg-white footer"><a class="btn btn-light btn-sm btn-center mr-auto btn-close" id="btnClose">Close</a><a class="btn btn-primary btn-center btn-sm text-white" id="btnSave">Save</a>'
  63. + '</div></form>';
  64. return html;
  65. }
  66. validateVersionNo() {
  67. var appVersion = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_appversion").Value;
  68. var versionNo = $("#txt_VersionNo").val();
  69. if (versionNo < appVersion && $("#txt_VersionNo").val() != "") {
  70. MessageHelper.Instance().showError("Version no should be greater than latest version", "Unibase_ValidationSummary");
  71. return false;
  72. }
  73. }
  74. isNumberKey(evt) {
  75. var instance = this;
  76. var charCode = (evt.which) ? evt.which : evt.keyCode;
  77. if (charCode != 46 && charCode > 31
  78. && (charCode < 48 || charCode > 57)) {
  79. evt.preventDefault();
  80. }
  81. else {
  82. return true;
  83. }
  84. }
  85. init() {
  86. var instance = this;
  87. instance.fileCacheHelper.loadJsFiles(["platform/apps/components/appversions/appversion.component.js"], function () {
  88. instance.navigationHelper.popup(0, '', Unibase.Platform.Apps.Components.AppVersions.Instance(), function () {
  89. }, Platform.Helpers.Size.Large);
  90. });
  91. }
  92. save(id, containerid) {
  93. var instance = this;
  94. var contents = $('#summernote').summernote('code');
  95. var plainText = $("<p>" + contents + "</p>").text();
  96. var postData = {
  97. VersionId: Number(0),
  98. VersionNo: $("#txt_VersionNo").val(),
  99. Description: plainText,
  100. FilePath: $("#txt_FilePath").val(),
  101. QueryName: $("#txt_QueryName").val(),
  102. QueryString: $("#txt_query").val(),
  103. InstalledAppId: Number(Unibase.Themes.Providers.DetailHelper.recordId),
  104. FileObj: instance.FileInfo
  105. };
  106. Unibase.Platform.Apps.Managers.AppManager.Instance().saveVersion(postData).then(function (response) {
  107. if (response.errors == null) {
  108. $('#' + containerid).modal('hide');
  109. $('#' + containerid).remove();
  110. MessageHelper.Instance().showSuccess(response.message, "");
  111. }
  112. else {
  113. MessageHelper.Instance().showError(response.message, "Unibase_ValidationSummary");
  114. return false;
  115. }
  116. });
  117. }
  118. getQueries() {
  119. var queryData = [];
  120. queryData.push({
  121. QueryName: $("#txt_QueryName").val(), QueryString: $("#txt_query").val()
  122. });
  123. return queryData;
  124. }
  125. loadSummernote() {
  126. $("#summernote").summernote({
  127. height: 100,
  128. minHeight: null,
  129. maxHeight: null,
  130. placeholder: "Enter Description",
  131. toolbar: [
  132. ['font', ['bold', 'italic', 'underline']],
  133. ['color', ['color']]
  134. ]
  135. });
  136. }
  137. static Instance() {
  138. return new AppVersions();
  139. }
  140. }
  141. Components.AppVersions = AppVersions;
  142. })(Components = Apps.Components || (Apps.Components = {}));
  143. })(Apps = Platform.Apps || (Platform.Apps = {}));
  144. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  145. })(Unibase || (Unibase = {}));