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.

addsource.js 27KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  2. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  3. return new (P || (P = Promise))(function (resolve, reject) {
  4. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  5. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  6. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  7. step((generator = generator.apply(thisArg, _arguments || [])).next());
  8. });
  9. };
  10. var Unibase;
  11. (function (Unibase) {
  12. let Platform;
  13. (function (Platform) {
  14. let Sources;
  15. (function (Sources) {
  16. let Components;
  17. (function (Components) {
  18. class AddSource extends Platform.Core.BaseComponent {
  19. jsFiles() {
  20. return ["platform/sources/managers/sourcemanager.js", "platform/widgets/managers/widgetmanager.js", "tenants/themes/default/components/details/details.js"];
  21. }
  22. cssFiles() {
  23. return [];
  24. }
  25. html(id, containerid) {
  26. let html = '<form id="Unibase_AddWidget" default="" data-validate="parsley" data-isdynamic="false">'
  27. + '<div><div class="b-b bg-white header"><strong id="formName" class="text-dark">Add Source</strong>'
  28. + '</div><div data-simplebar class="simple-scroll-bar scrollable"><div id="Unibase_ValidationSummary" class="clear mt-10"></div>'
  29. + '<div class="card"><div class="card-body"><div class="row"><div class="col-sm-6"><input type="hidden" id="hf_sourcesettingid"/><input type="hidden" id="hf_txtSource"/><div class="floating-label-form-group-with-value"><label for="txt_Source">Source<span class="text-danger " id="spnApp"> *</span></label><select onchange="" id="txt_Source" class="form-control value-control floating-label-control required" data-placeholder="Select" placeholder="Select"></select></div></div>'
  30. + '<div class="col-sm-6"><div class="floating-label-form-group"><label for="txt_Value">Value<span class="text-danger " id="spnPortlet"> *</span></label><input type="text" id=txt_Value class="form-control floating-label-control required" data-placeholder="Enter Value" placeholder="Value *" data-label="Value *"/></div></div><div class="col-sm-6"><div class="floating-label-form-group-with-value required"><input type="hidden" id="hf_txtAppDocType"/><label for="txt_appDocType">Doc Type<span class="text-danger " id="spnAppDocType"> *</span></label><select onchange="Unibase.Platform.Sources.Components.AddSource.Instance().loadDocProperties();" id="txt_DocType" class="form-control value-control floating-label-control required" data-placeholder="Select" placeholder="Select"></select></div></div><div class="col-sm-6"><input type="hidden" id="hf_txtDocProperty"/><div class="floating-label-form-group-with-value"><label for="txt_appDocType">Doc Property<span class="text-danger " id="spnAppDocProperty"> *</span></label><select onchange="" id="txt_DocProperty" class="form-control value-control floating-label-control required" data-placeholder="Select" placeholder="Select"></select></div></div><div class="col-sm-2 mt-30"><a class="btn btn-primary btn-center btn-sm text-white" id="btnAdd">Add</a></div></div></div></div><div class="card hidden" id="div_sourceDetails"><div class="card-header"><div class="row"><div class="col-sm-12"><div class="row"><strong class="col-sm-2">Source</strong><strong class="col-sm-2">value</strong><strong class="col-sm-3">Doc Type</strong><strong class="col-sm-3">Doc Property</strong></div></div></div></div><div class="card-body" id="div_sourceList"><div class="row"><ul class="col-sm-12 list-group ulSourceList"></ul></div></div></div></div></div><div id="div_dataApiFooter" class="bg-white modal-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 hidden" id="btnSave">Save</a></div></div></form>';
  31. return html;
  32. }
  33. load(id, containerid, callback) {
  34. var instance = this;
  35. instance.loadSource();
  36. instance.loadAppDocTypes(Unibase.Themes.Providers.DetailHelper.installedAppId);
  37. $("#btnSave").click(function () {
  38. instance.saveSource($("#hf_sourcesettingid").val(), containerid);
  39. });
  40. $("#btnAdd").click(function () {
  41. instance.addSource();
  42. });
  43. }
  44. init() {
  45. var instance = this;
  46. instance.fileCacheHelper.loadJsFiles(["platform/sources/managers/sourcemanager.js", "platform/widgets/managers/widgetmanager.js"], function () {
  47. instance.render();
  48. });
  49. }
  50. render() {
  51. var instance = this;
  52. instance.navigationHelper.popup(0, '', Unibase.Platform.Sources.Components.AddSource.Instance(), function () {
  53. }, Platform.Helpers.Size.Large);
  54. instance.loadSource();
  55. instance.loadAppDocTypes(Unibase.Themes.Providers.DetailHelper.installedAppId);
  56. this.loadDetails();
  57. }
  58. loadSource() {
  59. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/sources/autocomplete';
  60. AutoCompleteHelper.getHelper().Create("#txt_Source", "#hf_txtSource", url, function (response) {
  61. var data = response;
  62. });
  63. }
  64. loadAppDocTypes(installedappid) {
  65. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/appdoctypesautocomplete/installedappid/' + installedappid;
  66. AutoCompleteHelper.getHelper().Create("#txt_DocType", "#hf_txtAppDocType", url, function (response) {
  67. var data = response;
  68. });
  69. }
  70. loadDocProperties() {
  71. $("#txt_DocProperty").val(null).trigger("change");
  72. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/docpropertiesautocomplete/doctypeid/' + $("#txt_DocType").val();
  73. AutoCompleteHelper.getHelper().Create("#txt_DocProperty", "#hf_txtDocProperty", url, function (response) {
  74. var data = response;
  75. });
  76. }
  77. validation() {
  78. var instance = this;
  79. let appcontrolid = "Unibase_AddWidget";
  80. let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
  81. if (result == false) {
  82. MessageHelper.Instance().showError("Mandatory fields are missing", "Unibase_ValidationSummary");
  83. return false;
  84. }
  85. else {
  86. return true;
  87. }
  88. }
  89. saveSource(id, containerid) {
  90. var instance = this;
  91. var versionGuid = "";
  92. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  93. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_versionguid") {
  94. versionGuid = obj.Value.toString();
  95. }
  96. }
  97. var postData = {
  98. RefGuid: versionGuid,
  99. InstalledAppId: Number(Unibase.Themes.Providers.DetailHelper.recordId),
  100. RefSourceId: Number($("#txt_Source").val()),
  101. Value: $("#txt_Value").val().toString(),
  102. SourceSettingId: Number(id),
  103. RefId: Number(Unibase.Themes.Providers.DetailHelper.recordId),
  104. DocTypeId: Number($("#txt_DocType").val()),
  105. DocPropertyId: Number($("#txt_DocProperty").val())
  106. };
  107. Unibase.Platform.Sources.Managers.SourceManager.Instance().addSource(postData).then(function (response) {
  108. if (response.errors == null) {
  109. $('#' + containerid).modal('hide');
  110. $('#' + containerid).remove();
  111. }
  112. else {
  113. MessageHelper.Instance().showError(response.message, "");
  114. }
  115. });
  116. }
  117. addSource() {
  118. var instance = this;
  119. var versionGuid = "";
  120. var getValidation = instance.validation();
  121. if (getValidation == true) {
  122. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  123. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_versionguid") {
  124. versionGuid = obj.Value.toString();
  125. }
  126. }
  127. var postData = {
  128. RefGuid: versionGuid,
  129. InstalledAppId: Number(Unibase.Themes.Providers.DetailHelper.recordId),
  130. RefSourceId: Number($("#txt_Source").val()),
  131. Value: $("#txt_Value").val().toString(),
  132. RefId: Number(Unibase.Themes.Providers.DetailHelper.recordId),
  133. DocTypeId: Number($("#txt_DocType").val()),
  134. DocPropertyId: Number($("#txt_DocProperty").val())
  135. };
  136. Unibase.Platform.Sources.Managers.SourceManager.Instance().addSource(postData).then(function (response) {
  137. if (response.errors == null) {
  138. instance.loadDetails();
  139. }
  140. else {
  141. MessageHelper.Instance().showError(response.message, "");
  142. }
  143. });
  144. }
  145. }
  146. loadDetails() {
  147. var versionGuid = "";
  148. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  149. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_versionguid") {
  150. versionGuid = obj.Value.toString();
  151. }
  152. }
  153. Unibase.Platform.Sources.Managers.SourceManager.Instance().getSourceSettings(versionGuid).then(function (response) {
  154. if (response.result.length > 0)
  155. $("#div_sourceDetails").removeClass("hidden");
  156. else
  157. $("#div_sourceDetails").addClass("hidden");
  158. $(".ulSourceList").html("").html("<li class='list-group-item ulSourceList-item hidden'></li>");
  159. for (var i = 0; i < response.result.length; i++) {
  160. var html = "";
  161. html += "<li class='list-group-item sourceSetting-" + response.result[i].SourceSettingId + "'>" +
  162. "<input type='hidden' id='hfSourceSettingId-" + response.result[i].SourceSettingId + "' value='" + response.result[i].SourceSettingId + "' />" +
  163. "<input type='hidden' id='hfRefGuid-" + response.result[i].SourceSettingId + "' value='" + response.result[i].RefGuid + "' />" +
  164. "<div class='row'>" +
  165. "<label class='col-sm-2 lblSourceName-" + response.result[i].SourceSettingId + "' style='overflow:hidden;word-wrap:break-word;'><span class='spn_sourceName font-bold'>" + response.result[i].SourceName + "</span></label>" +
  166. "<label class='col-sm-2 lblSourceValue-" + response.result[i].SourceSettingId + "' style='overflow:hidden;word-wrap:break-word;'><span class='font-bold'>" + response.result[i].Value + "</span></label>" +
  167. "<label class='col-sm-3 lblDoctypeName-" + response.result[i].SourceSettingId + "' style='overflow:hidden;word-wrap:break-word;'><span class='spn_DocTypeName font-bold'>" + response.result[i].DocTypeName + "</span></label>" +
  168. "<label class='col-sm-3 lblDocPropertyName-" + response.result[i].SourceSettingId + "' style='overflow:hidden;word-wrap:break-word;'><span class='spn_DocPropertyName font-bold'>" + response.result[i].DocPropertyName + "</span></label>" +
  169. "<div class='col-sm-2 pull-right input-group divButtons-" + response.result[i].SourceSettingId + "'>" +
  170. "<a class='btn btn-icon bg-info text-white' href='javascript:;' onclick='Unibase.Platform.Sources.Components.AddSource.Instance().editSetting(" + response.result[i].SourceSettingId + ");' title='Edit'><i class='fa fa-pencil'></i></a>" +
  171. "<a class='btn btn-icon btn-danger' href='javascript:;' onclick='Unibase.Platform.Sources.Components.AddSource.Instance().deleteSetting(" + response.result[i].SourceSettingId + ");' title='Delete'><i class='fa fa-trash-o'></i></a></div>" +
  172. "<div class='col-sm-2 hidden inpSourceName-" + response.result[i].SourceSettingId + "'><div class='floating-label-form-group'>" +
  173. "<select class='form-control required floating-label-control' value='" + response.result[i].SourceName + "' id='txtSourceName-" + response.result[i].SourceSettingId + "' placeholder='Select'></select>" +
  174. "<input id='hfSourceId-" + response.result[i].SourceSettingId + "' value=" + response.result[i].RefSourceId + " type='hidden' />" +
  175. "</div></div>" +
  176. "<div class='col-sm-2 hidden inpSourceValue-" + response.result[i].SourceSettingId + "'><div class='floating-label-form-group floating-label-form-group-with-value'>" +
  177. "<input id='txtSourceValue-" + response.result[i].SourceSettingId + "' class='form-control' value='" + response.result[i].Value + "' />" +
  178. "</div></div>" +
  179. "<div class='col-sm-3 hidden inpAppDoctype-" + response.result[i].SourceSettingId + "'><div class='floating-label-form-group'>" +
  180. "<select class='form-control required floating-label-control' value='" + response.result[i].DocTypeName + "' id='txtDocTypeName-" + response.result[i].SourceSettingId + "' placeholder='Select'></select>" +
  181. "<input id='hfDocTypeId-" + response.result[i].SourceSettingId + "' value=" + response.result[i].DocTypeId + " type='hidden' />" +
  182. "</div></div>" +
  183. "<div class='col-sm-3 hidden inpAppDocPropertytype-" + response.result[i].SourceSettingId + "'><div class='floating-label-form-group'>" +
  184. "<select class='form-control required floating-label-control' value='" + response.result[i].DocPropertyName + "' id='txtDocPropertyName-" + response.result[i].SourceSettingId + "' placeholder='Select'></select>" +
  185. "<input id='hfDocPropertyId-" + response.result[i].SourceSettingId + "' value=" + response.result[i].DocPropertyId + " type='hidden' />" +
  186. "</div></div>" +
  187. "<div class='col-sm-2 input-group divButtons2-" + response.result[i].SourceSettingId + " hidden'><div class='m-t'>" +
  188. "<a class='btn btn-icon bg-primary text-white btnUpdateSyncSett-" + response.result[i].SourceSettingId + "' href='javascript:;' onclick='Unibase.Platform.Sources.Components.AddSource.Instance().updateSetting(" + response.result[i].SourceSettingId + ");' title='Update'><i class='fa fa-save'></i></a>" +
  189. "<a class='btn btn-icon btn-warning' href='javascript:;' onclick='Unibase.Platform.Sources.Components.AddSource.Instance().cancel(" + response.result[i].SourceSettingId + ");' title='Cancel Update'><i class='fa fa-times'></i></a>" +
  190. "</div></div>" +
  191. "</div>" +
  192. "</li>";
  193. $(".ulSourceList-item:last").after(html);
  194. }
  195. });
  196. }
  197. editSetting(sourceSettingId) {
  198. var element = document.getElementsByClassName("ulSourceList");
  199. $(element).find(".lblSourceName-" + sourceSettingId + "").addClass("hidden");
  200. $(element).find(".lblSourceValue-" + sourceSettingId + "").addClass("hidden");
  201. $(element).find(".lblDoctypeName-" + sourceSettingId + "").addClass("hidden");
  202. $(element).find(".lblDocPropertyName-" + sourceSettingId + "").addClass("hidden");
  203. $(element).find(".divButtons-" + sourceSettingId + "").addClass("hidden");
  204. $(element).find(".inpSourceName-" + sourceSettingId + "").removeClass("hidden");
  205. $(element).find(".inpSourceValue-" + sourceSettingId + "").removeClass("hidden");
  206. $(element).find(".inpAppDoctype-" + sourceSettingId + "").removeClass("hidden");
  207. $(element).find(".inpAppDocPropertytype-" + sourceSettingId + "").removeClass("hidden");
  208. $(element).find(".divButtons2-" + sourceSettingId + "").removeClass("hidden");
  209. var sourceName = $(element).find(".lblSourceName-" + sourceSettingId + "").find(".spn_sourceName").text();
  210. var sourceId = $(element).find("#hfSourceId-" + sourceSettingId).val().toString();
  211. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/sources/autocomplete';
  212. AutoCompleteHelper.getHelper().Create("#txtSourceName-" + sourceSettingId, "#hfSourceId-" + sourceSettingId, url, function (response) {
  213. var data = response;
  214. });
  215. var option = new Option(sourceName, sourceId, true);
  216. $("#txtSourceName-" + sourceSettingId).append(option);
  217. var docTypeName = $(element).find(".lblDoctypeName-" + sourceSettingId + "").find(".spn_DocTypeName").text();
  218. var docTypeId = $(element).find("#hfDocTypeId-" + sourceSettingId).val().toString();
  219. var installedappid = Unibase.Themes.Providers.DetailHelper.installedAppId;
  220. var docTypeUrl = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/appdoctypesautocomplete/installedappid/' + installedappid;
  221. AutoCompleteHelper.getHelper().Create("#txtDocTypeName-" + sourceSettingId, "#hfDocTypeId-" + sourceSettingId, docTypeUrl, function (response) {
  222. var data = response;
  223. });
  224. var docTypeoption = new Option(docTypeName, docTypeId, true);
  225. $("#txtDocTypeName-" + sourceSettingId).append(docTypeoption);
  226. var docPropertyName = $(element).find(".lblDocPropertyName-" + sourceSettingId + "").find(".spn_DocPropertyName").text();
  227. var docPropertyId = $(element).find("#hfDocPropertyId-" + sourceSettingId).val().toString();
  228. var docPropertyUrl = _appsettings.server_url() + '/apis/v4/unibase/platform/doctypes/docpropertiesautocomplete/doctypeid/' + docTypeId;
  229. AutoCompleteHelper.getHelper().Create("#txtDocPropertyName-" + sourceSettingId, "#hfDocPropertyId-" + sourceSettingId, docPropertyUrl, function (response) {
  230. var data = response;
  231. });
  232. var docPropertyoption = new Option(docPropertyName, docPropertyId, true);
  233. $("#txtDocPropertyName-" + sourceSettingId).append(docPropertyoption);
  234. }
  235. updateSetting(settingId) {
  236. var instance = this;
  237. var element = document.getElementsByClassName("ulSourceList");
  238. var sourceId = $(element).find("#hfSourceId-" + settingId + "").val();
  239. var sourceValue = $(element).find("#txtSourceValue-" + settingId + "").val();
  240. var sourceSettingId = $(element).find("#hfSourceSettingId-" + settingId + "").val();
  241. var refGuid = $(element).find("#hfRefGuid-" + settingId + "").val();
  242. var refid = Unibase.Themes.Providers.DetailHelper.recordId;
  243. var doctypeId = $(element).find("#hfDocTypeId-" + settingId + "").val();
  244. var docpropertyId = $(element).find("#hfDocPropertyId-" + settingId + "").val();
  245. var versionGuid = "";
  246. var postData = {
  247. SourceSettingId: Number(sourceSettingId),
  248. RefGuid: refGuid,
  249. InstalledAppId: Number(Unibase.Themes.Providers.DetailHelper.recordId),
  250. RefSourceId: Number(sourceId),
  251. RefId: refid,
  252. Value: sourceValue.toString(),
  253. DocTypeId: Number(doctypeId),
  254. DocPropertyId: Number(docpropertyId)
  255. };
  256. Unibase.Platform.Sources.Managers.SourceManager.Instance().addSource(postData).then(function (response) {
  257. if (response.errors == null) {
  258. instance.loadDetails();
  259. }
  260. else {
  261. MessageHelper.Instance().showError(response.message, "");
  262. }
  263. });
  264. }
  265. cancel(settingId) {
  266. var element = document.getElementsByClassName("ulSourceList");
  267. $(element).find(".inpSourceName-" + settingId + "").addClass("hidden");
  268. $(element).find(".inpSourceValue-" + settingId + "").addClass("hidden");
  269. $(element).find(".inpAppDoctype-" + settingId + "").addClass("hidden");
  270. $(element).find(".inpAppDocPropertytype-" + settingId + "").addClass("hidden");
  271. $(element).find(".divButtons2-" + settingId + "").addClass("hidden");
  272. $(element).find(".lblSourceName-" + settingId + "").removeClass("hidden");
  273. $(element).find(".lblSourceValue-" + settingId + "").removeClass("hidden");
  274. $(element).find(".lblDoctypeName-" + settingId + "").removeClass("hidden");
  275. $(element).find(".lblDocPropertyName-" + settingId + "").removeClass("hidden");
  276. $(element).find(".divButtons-" + settingId + "").removeClass("hidden");
  277. }
  278. deleteSetting(sourceSettingId) {
  279. var instance = this;
  280. Unibase.Platform.Sources.Managers.SourceManager.Instance().deleteSourceSetting(sourceSettingId).then(function (response) {
  281. if (response.errors == null) {
  282. MessageHelper.Instance().showSuccess(response.message, "");
  283. }
  284. else {
  285. MessageHelper.Instance().showError(response.message, "");
  286. }
  287. instance.loadDetails();
  288. });
  289. }
  290. loadEdit(sourceSettingId) {
  291. return __awaiter(this, void 0, void 0, function* () {
  292. Unibase.Platform.Sources.Managers.SourceManager.Instance().deleteSourceSetting(0).then(function (response) { MessageHelper.Instance().showSuccess(response.message, ''); });
  293. var instance = this;
  294. instance.fileCacheHelper.loadJsFiles(["platform/sources/managers/sourcemanager.js", "platform/widgets/managers/widgetmanager.js"], null);
  295. instance.navigationHelper.popup(0, '', Unibase.Platform.Sources.Components.AddSource.Instance(), null, Platform.Helpers.Size.Large);
  296. $("#btnAdd").addClass("hidden");
  297. $("#div_sourceList").addClass("hidden");
  298. $("#btnSave").removeClass("hidden");
  299. instance.loadSource();
  300. yield Unibase.Platform.Sources.Managers.SourceManager.Instance().getSourceSetting(sourceSettingId).then(function (response) {
  301. var option = new Option(response.result.SourceName, response.result.RefSourceId, true);
  302. $("#txt_Source").append(option);
  303. $("#txt_Value").val(response.result.Value.toString());
  304. $("#hf_sourcesettingid").val(sourceSettingId);
  305. instance.loadAppDocTypes(Unibase.Themes.Providers.DetailHelper.installedAppId);
  306. $("#txt_DocType").append(new Option(response.result.DocTypeName, response.result.DocTypeId, true));
  307. instance.loadDocProperties();
  308. $("#txt_DocProperty").append(new Option(response.result.DocPropertyName, response.result.DocPropertyId, true));
  309. });
  310. $("#btnAdd").addClass("hidden");
  311. $("#div_sourceList").addClass("hidden");
  312. $("#btnSave").removeClass("hidden");
  313. });
  314. }
  315. static Instance() {
  316. return new AddSource();
  317. }
  318. }
  319. Components.AddSource = AddSource;
  320. })(Components = Sources.Components || (Sources.Components = {}));
  321. })(Sources = Platform.Sources || (Platform.Sources = {}));
  322. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  323. })(Unibase || (Unibase = {}));