BaseSystemTab.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. "use strict";
  2. /**
  3. * Licensed Materials - Property of IBM
  4. * IBM Cognos Products: admin
  5. * Copyright IBM Corp. 2017
  6. * US Government Users Restricted Rights - Use,
  7. * duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  8. */
  9. define(['underscore', 'bi/glass/app/ContentView', 'bi/commons/ui/properties/PropertyUIControl', 'bi/admin/nls/StringResource'], function (_, View, PropertyUIControl, StringResource) {
  10. var BaseSystemTab = View.extend({
  11. _newPropertyUIControl: function _newPropertyUIControl(items) {
  12. return new PropertyUIControl({
  13. 'glassContext': this.glassContext,
  14. 'el': this.$el,
  15. 'items': items
  16. });
  17. },
  18. addUnitToMBInputs: function addUnitToMBInputs(MBInputs) {
  19. for (var i = 0; i < MBInputs.length; i++) {
  20. MBInputs[i].after("<span>" + StringResource.get('unitIsMegabytes') + "</span>");
  21. }
  22. return MBInputs;
  23. },
  24. _editValue: function _editValue($el, evt) {
  25. var iconPropRow = $($el.closest(".propertyRow"));
  26. var textPropRow = iconPropRow.next();
  27. if (textPropRow.hasClass("separator")) {
  28. $(iconPropRow.find("input")).focus();
  29. } else {
  30. $(textPropRow.find("input")).focus();
  31. }
  32. },
  33. sysRender: function sysRender() {//override this method
  34. },
  35. render: function render() {
  36. return this.sysRender().then(function () {
  37. var $iconElems = this.$el.find('div.editIcon');
  38. var iconRows = $iconElems.toArray();
  39. iconRows.forEach(function (el) {
  40. var $parent = $($(el).parent());
  41. var $el = this.$el.find('div.editIcon');
  42. for (var index = 0; index < $el.length; index++) {
  43. var $currentEl = $($el[index]);
  44. $currentEl.on("primaryaction", this._editValue.bind(this, $currentEl));
  45. }
  46. }.bind(this));
  47. return Promise.resolve();
  48. }.bind(this));
  49. },
  50. _saveHelper: function _saveHelper(globalSettings) {
  51. var globalSettingsDeferred;
  52. if (!_.isEmpty(globalSettings)) {
  53. var ajaxService = this.glassContext.services.ajax;
  54. var url = "v1/configuration/keys/global";
  55. globalSettingsDeferred = ajaxService.ajax({
  56. 'type': 'PUT',
  57. 'url': url,
  58. 'contentType': 'application/json',
  59. 'data': JSON.stringify(globalSettings),
  60. beforeSend: function beforeSend(response) {
  61. response.overrideMimeType('xml');
  62. }
  63. });
  64. }
  65. return Promise.resolve(globalSettingsDeferred);
  66. }
  67. });
  68. return BaseSystemTab;
  69. });