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.

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