@kineticdata/react 6.0.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/lib/apis/http.js +33 -1
  2. package/lib/apis/http.test.js +100 -0
  3. package/lib/apis/system/index.js +141 -10
  4. package/lib/apis/task/index.js +15 -1
  5. package/lib/components/agent/bridge/BridgeTable.js +4 -1
  6. package/lib/components/agent/filestore/FilestoreTable.js +4 -1
  7. package/lib/components/agent/handler/AgentHandlerTable.js +5 -2
  8. package/lib/components/common/ToastContainer.js +170 -0
  9. package/lib/components/common/defaults/Toast.js +26 -0
  10. package/lib/components/common/defaults/index.js +13 -0
  11. package/lib/components/core/attribute_definition/AttributeDefinitionTable.js +7 -3
  12. package/lib/components/core/bridge_model/BridgeModelTable.js +5 -2
  13. package/lib/components/core/category/CategoryTable.js +13 -6
  14. package/lib/components/core/field_definition/FieldDefinitionTable.js +11 -5
  15. package/lib/components/core/form/FormTable.js +22 -11
  16. package/lib/components/core/form_type/FormTypeTable.js +3 -1
  17. package/lib/components/core/index_definition/IndexDefinitionTable.js +12 -5
  18. package/lib/components/core/kapp/KappTable.js +17 -32
  19. package/lib/components/core/log/LogTable.js +8 -2
  20. package/lib/components/core/security_definition/SecurityDefinitionTable.js +9 -4
  21. package/lib/components/core/submission/FormSubmissionTable.js +37 -19
  22. package/lib/components/core/submission/KappSubmissionTable.js +37 -19
  23. package/lib/components/core/team/TeamForm.js +1 -1
  24. package/lib/components/core/team/TeamTable.js +11 -5
  25. package/lib/components/core/user/UserTable.js +23 -5
  26. package/lib/components/core/webapi/WebApiForm.js +49 -30
  27. package/lib/components/core/webapi/WebApiTable.js +14 -7
  28. package/lib/components/core/webhook/WebhookTable.js +19 -9
  29. package/lib/components/core/webhook_job/WebhookJobTable.js +39 -19
  30. package/lib/components/form/Form.helpers.js +81 -19
  31. package/lib/components/form/Form.models.js +1 -0
  32. package/lib/components/index.js +53 -0
  33. package/lib/components/system/SystemCassandraForm.js +98 -0
  34. package/lib/components/system/SystemElasticSearchForm.js +98 -0
  35. package/lib/components/system/SystemFilestoreForm.js +10 -5
  36. package/lib/components/system/SystemIngressForm.js +77 -29
  37. package/lib/components/system/SystemTaskAdapterForm.js +29 -5
  38. package/lib/components/system/SystemTrustedCertificateForm.js +40 -0
  39. package/lib/components/system/SystemTrustedCertificatesTable.js +74 -0
  40. package/lib/components/system/helpers.js +226 -45
  41. package/lib/components/system/spaces/SystemTenantForm.js +75 -34
  42. package/lib/components/table/Table.js +88 -7
  43. package/lib/components/table/Table.redux.js +68 -47
  44. package/lib/components/table/Table.test.js +39 -0
  45. package/lib/components/table/defaults/ColumnControl.js +26 -0
  46. package/lib/components/table/defaults/index.js +3 -1
  47. package/lib/components/task/errors/RunErrorTable.js +33 -14
  48. package/lib/components/task/handlers/HandlerTable.js +23 -11
  49. package/lib/components/task/runs/RunTable.js +22 -9
  50. package/lib/components/task/sources/SourceTable.js +15 -7
  51. package/lib/components/task/triggers/TriggerTable.js +50 -23
  52. package/lib/components/task/workflows/LinkedWorkflowTable.js +32 -16
  53. package/lib/components/task/workflows/WorkflowTable.js +30 -15
  54. package/lib/index.js +4 -3
  55. package/package.json +17 -4
  56. package/proxyhelper.js +17 -11
package/lib/apis/http.js CHANGED
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.validateOptions = exports.transformCoreResult = exports.submissionPath = exports.paramBuilder = exports.operations = exports.headerBuilder = exports.handleErrors = exports.generateSortParams = exports.generatePaginationParams = exports.generateCESearchParams = exports.formPath = exports.corePath = exports.apiGroup = exports.apiFunction = void 0;
7
+ exports.validateOptions = exports.transformCoreResult = exports.submissionPath = exports.paramBuilder = exports.operations = exports.headerBuilder = exports.handleErrors = exports.generateSortParams = exports.generatePaginationParams = exports.generateCESearchParams = exports.formPath = exports.formDataBuilder = exports.corePath = exports.apiGroup = exports.apiFunction = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
9
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
10
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
@@ -91,6 +91,38 @@ var headerBuilder = function headerBuilder(options) {
91
91
  return headers;
92
92
  };
93
93
  exports.headerBuilder = headerBuilder;
94
+ var formDataBuilder = function formDataBuilder(data, prefix) {
95
+ var formData = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new FormData();
96
+ return Object.keys(data).reduce(function (result, property) {
97
+ // Reduce the data object into a FormData object
98
+ if (Array.isArray(data[property])) {
99
+ // If value of property is an array of non-file objects, recursively add
100
+ // each object in the array
101
+ if (data[property].some(function (value) {
102
+ return typeof value === 'object' && !(value instanceof File);
103
+ })) {
104
+ data[property].forEach(function (value, index) {
105
+ return formDataBuilder(value, prefix ? "".concat(prefix, "[").concat(property, "][").concat(index, "]") : "".concat(property, "[").concat(index, "]"), result);
106
+ });
107
+ }
108
+ // If it's an array of other types, add each value
109
+ else {
110
+ data[property].forEach(function (value) {
111
+ return result.append(prefix ? "".concat(prefix, "[").concat(property, "]") : property, value);
112
+ });
113
+ }
114
+ } else if (typeof data[property] === 'object' && !(data[property] instanceof File)) {
115
+ // If value of property is an object that's not a file, append the
116
+ // object's nested properties recursively
117
+ formDataBuilder(data[property], prefix ? "".concat(prefix, "[").concat(property, "]") : property, result);
118
+ } else {
119
+ // Otherwise append the value
120
+ result.set(prefix ? "".concat(prefix, "[").concat(property, "]") : property, data[property]);
121
+ }
122
+ return result;
123
+ }, formData);
124
+ };
125
+ exports.formDataBuilder = formDataBuilder;
94
126
  var validateOptions = function validateOptions(functionName, requiredOptions, options) {
95
127
  var missing = requiredOptions.filter(function (requiredOption) {
96
128
  return !options[requiredOption];
@@ -162,4 +162,104 @@ describe('http module', function () {
162
162
  expect(op('field', (0, _immutable.List)(['v1', 'v2']))).toEqual('field IN ("v1", "v2")');
163
163
  });
164
164
  });
165
+
166
+ // The `paramBuilder` only strips out unnecessary options.
167
+ describe('#formDataBuilder', function () {
168
+ test('simple values only', function () {
169
+ var data = {
170
+ name: 'foo'
171
+ };
172
+ var formData = (0, _http.formDataBuilder)(data);
173
+ expect(formData.getAll('name')).toContain('foo');
174
+ });
175
+ test('with array values', function () {
176
+ var data = {
177
+ name: ['foo', 'bar']
178
+ };
179
+ var formData = (0, _http.formDataBuilder)(data);
180
+ expect(formData.getAll('name')).toContain('foo');
181
+ expect(formData.getAll('name')).toContain('bar');
182
+ });
183
+ test('with array of objects', function () {
184
+ var data = {
185
+ array: [{
186
+ name: 'foo'
187
+ }, {
188
+ name: 'bar'
189
+ }]
190
+ };
191
+ var formData = (0, _http.formDataBuilder)(data);
192
+ expect(formData.getAll('array[0][name]')).toContain('foo');
193
+ expect(formData.getAll('array[1][name]')).toContain('bar');
194
+ });
195
+ test('with File', function () {
196
+ var data = {
197
+ file: new File(['test'], 'test')
198
+ };
199
+ var formData = (0, _http.formDataBuilder)(data);
200
+ expect(formData.get('file') instanceof File).toBeTruthy();
201
+ });
202
+ test('with multiple Files', function () {
203
+ var data = {
204
+ files: [new File(['test'], 'test'), new File(['test2'], 'test2')]
205
+ };
206
+ var formData = (0, _http.formDataBuilder)(data);
207
+ expect(formData.getAll('files')[0] instanceof File).toBeTruthy();
208
+ expect(formData.getAll('files')[1] instanceof File).toBeTruthy();
209
+ });
210
+ test('nested values', function () {
211
+ var data = {
212
+ name: 'foo',
213
+ child: {
214
+ name: 'bar'
215
+ }
216
+ };
217
+ var formData = (0, _http.formDataBuilder)(data);
218
+ expect(formData.getAll('name')).toContain('foo');
219
+ expect(formData.get('child')).toBeNull();
220
+ expect(formData.getAll('child[name]')).toContain('bar');
221
+ });
222
+ test('nested values with array', function () {
223
+ var data = {
224
+ child: {
225
+ name: ['bar', 'baz']
226
+ }
227
+ };
228
+ var formData = (0, _http.formDataBuilder)(data);
229
+ expect(formData.getAll('child[name]')).toContain('bar');
230
+ expect(formData.getAll('child[name]')).toContain('baz');
231
+ });
232
+ test('nested values with File', function () {
233
+ var data = {
234
+ child: {
235
+ file: new File(['test'], 'test')
236
+ }
237
+ };
238
+ var formData = (0, _http.formDataBuilder)(data);
239
+ expect(formData.get('child[file]') instanceof File).toBeTruthy();
240
+ });
241
+ test('deeply nested data', function () {
242
+ var data = {
243
+ name: 'foo',
244
+ child: {
245
+ array: ['bar', 'baz'],
246
+ sub: {
247
+ file: new File(['test'], 'test'),
248
+ last: {
249
+ slug: 'foobar'
250
+ }
251
+ }
252
+ }
253
+ };
254
+ var formData = (0, _http.formDataBuilder)(data);
255
+ expect(formData.getAll('name')).toContain('foo');
256
+ expect(formData.get('child')).toBeNull();
257
+ expect(formData.getAll('child[array]')).toContain('bar');
258
+ expect(formData.getAll('child[array]')).toContain('baz');
259
+ expect(formData.get('child[sub]')).toBeNull();
260
+ expect(formData.get('child[sub][file]') instanceof File).toBeTruthy();
261
+ expect(formData.get('child[sub][last]')).toBeNull();
262
+ expect(formData.getAll('child[sub][last][slug]')).toContain('foobar');
263
+ });
264
+ });
165
265
  });
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.updateTenant = exports.updateSystemUser = exports.updateSystemSecurity = exports.updateSystemFilestore = exports.updateSystemDefaultTaskDbAdapter = exports.updateSystemDefaultSmtpAdapter = exports.updateSystem = exports.systemLogin = exports.rotateEncryptionKey = exports.resetSystemLicense = exports.refreshSystemToken = exports.postPlatformComponentRestart = exports.importSystemLicense = exports.fetchTenants = exports.fetchTenant = exports.fetchTaskDbAdapters = exports.fetchTaskDbAdapter = exports.fetchSystemUser = exports.fetchSystemSecurity = exports.fetchSystemLicenseStats = exports.fetchSystemLicenseCheck = exports.fetchSystemLicense = exports.fetchSystemIngress = exports.fetchSystemFilestore = exports.fetchSystemDefaultTaskDbAdapter = exports.fetchSystemDefaultSmtpAdapter = exports.fetchSystemBackgroundTasks = exports.fetchSystemBackgroundTask = exports.fetchSystem = exports.fetchPlatformComponentStatus = exports.fetchElasticSearchConfig = exports.fetchCassandraConfig = exports.deleteTenant = exports.deleteSystemLicense = exports.deleteSystemBackgroundTask = exports.createTenant = void 0;
7
+ exports.updateTenant = exports.updateSystemUser = exports.updateSystemSecurity = exports.updateSystemIngress = exports.updateSystemFilestore = exports.updateSystemDefaultTaskDbAdapter = exports.updateSystemDefaultSmtpAdapter = exports.updateSystem = exports.updateElasticSearchConfig = exports.updateCassandraConfig = exports.systemLogin = exports.rotateEncryptionKey = exports.restartResources = exports.resetSystemLicense = exports.refreshSystemToken = exports.postPlatformComponentRestart = exports.importSystemLicense = exports.fetchTrustedCertificates = exports.fetchTenants = exports.fetchTenant = exports.fetchTaskDbAdapters = exports.fetchTaskDbAdapter = exports.fetchSystemUser = exports.fetchSystemSecurity = exports.fetchSystemLicenseStats = exports.fetchSystemLicenseCheck = exports.fetchSystemLicense = exports.fetchSystemIngress = exports.fetchSystemFilestore = exports.fetchSystemDefaultTaskDbAdapter = exports.fetchSystemDefaultSmtpAdapter = exports.fetchSystemBackgroundTasks = exports.fetchSystemBackgroundTask = exports.fetchSystem = exports.fetchPlatformComponentStatus = exports.fetchNotifications = exports.fetchNotificationLabels = exports.fetchElasticSearchConfig = exports.fetchCassandraConfig = exports.deleteTrustedCertificate = exports.deleteTenant = exports.deleteSystemLicense = exports.deleteSystemBackgroundTask = exports.createTrustedCertificate = exports.createTenant = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
9
  var _axios = _interopRequireDefault(require("axios"));
10
10
  var _http = require("../http");
@@ -42,14 +42,15 @@ exports.fetchTenant = fetchTenant;
42
42
  var updateTenant = function updateTenant() {
43
43
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
44
44
  var slug = options.slug,
45
- tenant = options.tenant;
45
+ tenant = options.tenant,
46
+ multipart = options.multipart;
46
47
  if (!tenant) {
47
48
  throw new Error('updateTenant failed! The option "tenant" is required.');
48
49
  }
49
50
  if (!slug) {
50
51
  throw new Error('updateTenant failed! The option "slug" is required.');
51
52
  }
52
- return _axios["default"].put("/app/system-coordinator/api/v1/tenants/".concat(slug), tenant, {
53
+ return _axios["default"].put("/app/system-coordinator/api/v1/tenants/".concat(slug), !multipart ? tenant : (0, _http.formDataBuilder)(tenant), {
53
54
  params: (0, _http.paramBuilder)(options),
54
55
  headers: (0, _http.headerBuilder)(options)
55
56
  }).then(function (response) {
@@ -61,11 +62,12 @@ var updateTenant = function updateTenant() {
61
62
  exports.updateTenant = updateTenant;
62
63
  var createTenant = function createTenant() {
63
64
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
64
- var tenant = options.tenant;
65
+ var tenant = options.tenant,
66
+ multipart = options.multipart;
65
67
  if (!tenant) {
66
68
  throw new Error('createTenant failed! The option "tenant" is required.');
67
69
  }
68
- return _axios["default"].post('/app/system-coordinator/api/v1/tenants', tenant, {
70
+ return _axios["default"].post('/app/system-coordinator/api/v1/tenants', !multipart ? tenant : (0, _http.formDataBuilder)(tenant), {
69
71
  params: (0, _http.paramBuilder)(options),
70
72
  headers: (0, _http.headerBuilder)(options)
71
73
  }).then(function (response) {
@@ -154,17 +156,30 @@ var updateSystemUser = function updateSystemUser() {
154
156
  exports.updateSystemUser = updateSystemUser;
155
157
  var fetchSystemIngress = function fetchSystemIngress() {
156
158
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
157
- // Build URL and fetch the space.
158
159
  return _axios["default"].get('/app/system-coordinator/api/v1/platform/ingress', {
159
160
  params: (0, _http.paramBuilder)(options),
160
161
  headers: (0, _http.headerBuilder)(options)
161
162
  }).then(function (response) {
162
163
  return {
163
- ingress: response.data
164
+ ingress: response.data.ingress
164
165
  };
165
166
  })["catch"](_http.handleErrors);
166
167
  };
167
168
  exports.fetchSystemIngress = fetchSystemIngress;
169
+ var updateSystemIngress = function updateSystemIngress() {
170
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
171
+ var ingress = options.ingress,
172
+ multipart = options.multipart;
173
+ return _axios["default"].put('/app/system-coordinator/api/v1/platform/ingress', !multipart ? ingress : (0, _http.formDataBuilder)(ingress), {
174
+ params: (0, _http.paramBuilder)(options),
175
+ headers: (0, _http.headerBuilder)(options)
176
+ }).then(function (response) {
177
+ return {
178
+ ingress: response.data.ingress
179
+ };
180
+ })["catch"](_http.handleErrors);
181
+ };
182
+ exports.updateSystemIngress = updateSystemIngress;
168
183
  var fetchTaskDbAdapters = function fetchTaskDbAdapters() {
169
184
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
170
185
  // Build URL and fetch the space.
@@ -206,11 +221,12 @@ var fetchSystemDefaultTaskDbAdapter = function fetchSystemDefaultTaskDbAdapter()
206
221
  exports.fetchSystemDefaultTaskDbAdapter = fetchSystemDefaultTaskDbAdapter;
207
222
  var updateSystemDefaultTaskDbAdapter = function updateSystemDefaultTaskDbAdapter() {
208
223
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
209
- var adapter = options.adapter;
224
+ var adapter = options.adapter,
225
+ multipart = options.multipart;
210
226
  if (!adapter) {
211
227
  throw new Error('updateSystemDefaultTaskDbAdapter failed! The option "adapter" is required.');
212
228
  }
213
- return _axios["default"].put("/app/system-coordinator/api/v1/platform/default-task-db-adapter", adapter, {
229
+ return _axios["default"].put("/app/system-coordinator/api/v1/platform/default-task-db-adapter", !multipart ? adapter : (0, _http.formDataBuilder)(adapter), {
214
230
  params: (0, _http.paramBuilder)(options),
215
231
  headers: (0, _http.headerBuilder)(options)
216
232
  }).then(function (response) {
@@ -335,6 +351,20 @@ var fetchCassandraConfig = function fetchCassandraConfig() {
335
351
  })["catch"](_http.handleErrors);
336
352
  };
337
353
  exports.fetchCassandraConfig = fetchCassandraConfig;
354
+ var updateCassandraConfig = function updateCassandraConfig() {
355
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
356
+ var adapter = options.adapter,
357
+ multipart = options.multipart;
358
+ return _axios["default"].put('/app/system-coordinator/api/v1/platform/cassandra', !multipart ? adapter : (0, _http.formDataBuilder)(adapter), {
359
+ params: (0, _http.paramBuilder)(options),
360
+ headers: (0, _http.headerBuilder)(options)
361
+ }).then(function (response) {
362
+ return {
363
+ adapter: response.data.adapter
364
+ };
365
+ })["catch"](_http.handleErrors);
366
+ };
367
+ exports.updateCassandraConfig = updateCassandraConfig;
338
368
  var fetchElasticSearchConfig = function fetchElasticSearchConfig() {
339
369
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
340
370
  return _axios["default"].get('/app/system-coordinator/api/v1/platform/elasticsearch', {}, {
@@ -347,6 +377,20 @@ var fetchElasticSearchConfig = function fetchElasticSearchConfig() {
347
377
  })["catch"](_http.handleErrors);
348
378
  };
349
379
  exports.fetchElasticSearchConfig = fetchElasticSearchConfig;
380
+ var updateElasticSearchConfig = function updateElasticSearchConfig() {
381
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
382
+ var adapter = options.adapter,
383
+ multipart = options.multipart;
384
+ return _axios["default"].put('/app/system-coordinator/api/v1/platform/elasticsearch', !multipart ? adapter : (0, _http.formDataBuilder)(adapter), {
385
+ params: (0, _http.paramBuilder)(options),
386
+ headers: (0, _http.headerBuilder)(options)
387
+ }).then(function (response) {
388
+ return {
389
+ adapter: response.data.adapter
390
+ };
391
+ })["catch"](_http.handleErrors);
392
+ };
393
+ exports.updateElasticSearchConfig = updateElasticSearchConfig;
350
394
  var fetchSystemSecurity = function fetchSystemSecurity() {
351
395
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
352
396
  return _axios["default"].get('/app/system-coordinator/api/v1/platform/system-security', {}, {
@@ -508,4 +552,91 @@ var rotateEncryptionKey = function rotateEncryptionKey() {
508
552
  };
509
553
  })["catch"](_http.handleErrors);
510
554
  };
511
- exports.rotateEncryptionKey = rotateEncryptionKey;
555
+ exports.rotateEncryptionKey = rotateEncryptionKey;
556
+ var fetchTrustedCertificates = function fetchTrustedCertificates() {
557
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
558
+ var spaceSlug = options.spaceSlug;
559
+ return _axios["default"].get(spaceSlug ? "/app/system-coordinator/api/v1/tenants/".concat(spaceSlug, "/trusted") : '/app/system-coordinator/api/v1/platform/trusted', {
560
+ params: (0, _http.paramBuilder)(options),
561
+ headers: (0, _http.headerBuilder)(options)
562
+ }).then(function (response) {
563
+ return {
564
+ trustedCertificates: response.data.trustedCertificates
565
+ };
566
+ })["catch"](_http.handleErrors);
567
+ };
568
+ exports.fetchTrustedCertificates = fetchTrustedCertificates;
569
+ var createTrustedCertificate = function createTrustedCertificate() {
570
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
571
+ var spaceSlug = options.spaceSlug,
572
+ certificates = options.certificates;
573
+ if (!certificates) {
574
+ throw new Error('createTenant failed! The option "certificates" is required.');
575
+ }
576
+ return _axios["default"].post(spaceSlug ? "/app/system-coordinator/api/v1/tenants/".concat(spaceSlug, "/trusted") : '/app/system-coordinator/api/v1/platform/trusted', (0, _http.formDataBuilder)({
577
+ certificates: certificates
578
+ }), {
579
+ params: (0, _http.paramBuilder)(options),
580
+ headers: (0, _http.headerBuilder)(options)
581
+ }).then(function (response) {
582
+ return {
583
+ trustedCertificates: response.data.trustedCertificates
584
+ };
585
+ })["catch"](_http.handleErrors);
586
+ };
587
+ exports.createTrustedCertificate = createTrustedCertificate;
588
+ var deleteTrustedCertificate = function deleteTrustedCertificate() {
589
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
590
+ var spaceSlug = options.spaceSlug,
591
+ fingerprint = options.fingerprint;
592
+ if (!fingerprint) {
593
+ throw new Error('createTenant failed! The option "fingerprint" is required.');
594
+ }
595
+ return _axios["default"]["delete"](spaceSlug ? "/app/system-coordinator/api/v1/tenants/".concat(spaceSlug, "/trusted/").concat(fingerprint) : "/app/system-coordinator/api/v1/platform/trusted/".concat(fingerprint), {
596
+ params: (0, _http.paramBuilder)(options),
597
+ headers: (0, _http.headerBuilder)(options)
598
+ }).then(function (response) {
599
+ return {
600
+ trustedCertificates: response.data.trustedCertificates
601
+ };
602
+ })["catch"](_http.handleErrors);
603
+ };
604
+ exports.deleteTrustedCertificate = deleteTrustedCertificate;
605
+ var fetchNotifications = function fetchNotifications() {
606
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
607
+ return _axios["default"].get('/app/system-coordinator/api/v1/platform/notifications', {
608
+ params: (0, _http.paramBuilder)(options),
609
+ headers: (0, _http.headerBuilder)(options)
610
+ }).then(function (response) {
611
+ return {
612
+ notifications: response.data
613
+ };
614
+ })["catch"](_http.handleErrors);
615
+ };
616
+ exports.fetchNotifications = fetchNotifications;
617
+ var fetchNotificationLabels = function fetchNotificationLabels() {
618
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
619
+ return _axios["default"].get('/app/system-coordinator/api/v1/platform/notifications/labels', {
620
+ params: (0, _http.paramBuilder)(options),
621
+ headers: (0, _http.headerBuilder)(options)
622
+ }).then(function (response) {
623
+ return {
624
+ notifications: response.data
625
+ };
626
+ })["catch"](_http.handleErrors);
627
+ };
628
+ exports.fetchNotificationLabels = fetchNotificationLabels;
629
+ var restartResources = function restartResources(_ref3) {
630
+ var _ref3$options = _ref3.options,
631
+ options = _ref3$options === void 0 ? {} : _ref3$options,
632
+ notification = _ref3.notification;
633
+ return _axios["default"].post('/app/system-coordinator/api/v1/platform/restartResources', (0, _objectSpread2["default"])({}, notification), {
634
+ params: (0, _http.paramBuilder)(options),
635
+ headers: (0, _http.headerBuilder)(options)
636
+ }).then(function (response) {
637
+ return {
638
+ trustedCertificates: response.data.trustedCertificates
639
+ };
640
+ })["catch"](_http.handleErrors);
641
+ };
642
+ exports.restartResources = restartResources;
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.validateSource = exports.updateTree = exports.updateTaskRun = exports.updateTaskCategory = exports.updateSource = exports.updateRunTaskResults = exports.updatePolicyRule = exports.updateHandler = exports.updateEngineSettings = exports.updateDeferredTask = exports.stopEngine = exports.startEngine = exports.resolveTaskErrors = exports.resolveSystemError = exports.importTree = exports.fetchUsage = exports.fetchTrees = exports.fetchTreeCounts = exports.fetchTree = exports.fetchTaskVersion = exports.fetchTaskTriggers = exports.fetchTaskRuns = exports.fetchTaskRunErrors = exports.fetchTaskRunError = exports.fetchTaskRun = exports.fetchTaskCategory = exports.fetchTaskCategories = exports.fetchSystemErrors = exports.fetchSystemError = exports.fetchSources = exports.fetchSourceAdapters = exports.fetchSource = exports.fetchPolicyRules = exports.fetchPolicyRule = exports.fetchMissingRoutines = exports.fetchMissingHandlers = exports.fetchHandlers = exports.fetchHandlerDurations = exports.fetchHandler = exports.fetchEngineStatus = exports.fetchEngineSettings = exports.fetchEngineLicense = exports.exportTree = exports.deleteTree = exports.deleteTaskCategory = exports.deleteSource = exports.deletePolicyRule = exports.deleteHandler = exports.createTree = exports.createTaskTrigger = exports.createTaskRun = exports.createTaskCategory = exports.createSource = exports.createPolicyRule = exports.createHandler = exports.completeDeferredTask = exports.cloneTree = exports.buildTreeId = void 0;
7
+ exports.validateSource = exports.updateTree = exports.updateTaskRun = exports.updateTaskCategory = exports.updateSource = exports.updateRunTaskResults = exports.updatePolicyRule = exports.updateHandler = exports.updateEngineSettings = exports.updateDeferredTask = exports.stopEngine = exports.startEngine = exports.resolveTaskErrors = exports.resolveSystemError = exports.importTree = exports.fetchUsage = exports.fetchTrees = exports.fetchTreeCounts = exports.fetchTree = exports.fetchTaskVersion = exports.fetchTaskTriggers = exports.fetchTaskRuns = exports.fetchTaskRunViaDeferralToken = exports.fetchTaskRunErrors = exports.fetchTaskRunError = exports.fetchTaskRun = exports.fetchTaskCategory = exports.fetchTaskCategories = exports.fetchSystemErrors = exports.fetchSystemError = exports.fetchSources = exports.fetchSourceAdapters = exports.fetchSource = exports.fetchPolicyRules = exports.fetchPolicyRule = exports.fetchMissingRoutines = exports.fetchMissingHandlers = exports.fetchHandlers = exports.fetchHandlerDurations = exports.fetchHandler = exports.fetchEngineStatus = exports.fetchEngineSettings = exports.fetchEngineLicense = exports.exportTree = exports.deleteTree = exports.deleteTaskCategory = exports.deleteSource = exports.deletePolicyRule = exports.deleteHandler = exports.createTree = exports.createTaskTrigger = exports.createTaskRun = exports.createTaskCategory = exports.createSource = exports.createPolicyRule = exports.createHandler = exports.completeDeferredTask = exports.cloneTree = exports.buildTreeId = void 0;
8
8
  var _axios = _interopRequireDefault(require("axios"));
9
9
  var _immutable = require("immutable");
10
10
  var _http = require("../http");
@@ -700,6 +700,20 @@ var fetchTaskRun = function fetchTaskRun() {
700
700
  })["catch"](_http.handleErrors);
701
701
  };
702
702
  exports.fetchTaskRun = fetchTaskRun;
703
+ var fetchTaskRunViaDeferralToken = function fetchTaskRunViaDeferralToken() {
704
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
705
+ (0, _http.validateOptions)('fetchTaskRunViaDeferralToken', ['deferralToken'], options);
706
+ return _axios["default"].get("".concat(_helpers.bundle.spaceLocation(), "/app/components/task/app/api/v2/runs/task/").concat(options.deferralToken), {
707
+ params: {
708
+ include: options.include
709
+ }
710
+ }).then(function (response) {
711
+ return {
712
+ run: response.data
713
+ };
714
+ })["catch"](_http.handleErrors);
715
+ };
716
+ exports.fetchTaskRunViaDeferralToken = fetchTaskRunViaDeferralToken;
703
717
  var updateTaskRun = function updateTaskRun() {
704
718
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
705
719
  (0, _http.validateOptions)('updateTaskRun', ['runId', 'run'], options);
@@ -42,11 +42,14 @@ var filters = function filters() {
42
42
  var columns = [{
43
43
  value: 'slug',
44
44
  title: 'Slug',
45
- sortable: true
45
+ sortable: true,
46
+ toggleable: false,
47
+ columnOrder: 'first'
46
48
  }, {
47
49
  value: 'adapterClass',
48
50
  title: 'Adapter',
49
51
  sortable: true,
52
+ toggleable: true,
50
53
  valueTransform: function valueTransform(_value) {
51
54
  return _value.split('.').pop().match(/[A-Z][a-z]+/g).join(' ');
52
55
  }
@@ -38,11 +38,14 @@ var filters = function filters() {
38
38
  var columns = [{
39
39
  value: 'slug',
40
40
  title: 'Slug',
41
- sortable: true
41
+ sortable: true,
42
+ toggleable: false,
43
+ columnOrder: 'first'
42
44
  }, {
43
45
  value: 'adapterClass',
44
46
  title: 'Adapter',
45
47
  sortable: true,
48
+ toggleable: true,
46
49
  valueTransform: function valueTransform(_value) {
47
50
  return _value.split('.').pop().match(/[A-Z][a-z]+/g).join(' ');
48
51
  }
@@ -42,11 +42,14 @@ var filters = function filters() {
42
42
  var columns = [{
43
43
  value: 'slug',
44
44
  title: 'Slug',
45
- sortable: true
45
+ sortable: true,
46
+ toggleable: false,
47
+ columnOrder: 'first'
46
48
  }, {
47
49
  value: 'definitionId',
48
50
  title: 'Handler Adapter',
49
- sortable: true
51
+ sortable: true,
52
+ toggleable: true
50
53
  }];
51
54
  var AgentHandlerTable = (0, _Table.generateTable)({
52
55
  tableOptions: ['agentSlug'],
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.showToast = exports.hideToast = exports.clearToasts = exports.ToastState = exports.ToastContainer = void 0;
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _store = require("../../store");
13
+ var _react2 = require("@kineticdata/react");
14
+ var _immutable = require("immutable");
15
+ var _ComponentConfigContext = require("./ComponentConfigContext");
16
+ var _excluded = ["autoHide", "content"];
17
+ var ToastState = (0, _immutable.Record)({
18
+ title: null,
19
+ content: null,
20
+ icon: null,
21
+ color: null,
22
+ className: '',
23
+ autoHide: true,
24
+ duration: null
25
+ });
26
+ exports.ToastState = ToastState;
27
+ (0, _store.regHandlers)({
28
+ // Initialize state for toasts as an OrderedMap so the order doesn't change
29
+ INIT_TOASTS: function INIT_TOASTS(state) {
30
+ return state.update('toasts', function (toasts) {
31
+ return _immutable.OrderedMap.isOrderedMap(toasts) ? toasts : (0, _immutable.OrderedMap)(toasts || {});
32
+ });
33
+ },
34
+ ADD_TOAST: function ADD_TOAST(state, action) {
35
+ return state.setIn(['toasts', action.payload.toastKey], action.payload);
36
+ },
37
+ SHOW_TOAST: function SHOW_TOAST(state, action) {
38
+ return state.setIn(['toasts', action.payload, 'show'], true);
39
+ },
40
+ HIDE_TOAST: function HIDE_TOAST(state, action) {
41
+ return state.setIn(['toasts', action.payload, 'show'], false);
42
+ },
43
+ REMOVE_TOAST: function REMOVE_TOAST(state, action) {
44
+ return state.removeIn(['toasts', action.payload]);
45
+ },
46
+ CLEAR_TOASTS: function CLEAR_TOASTS(state, action) {
47
+ return state.update('toasts', function (toasts) {
48
+ return action.payload ? toasts.filter(function (toast) {
49
+ return toast.containerKey !== action.payload;
50
+ }) : (0, _immutable.OrderedMap)();
51
+ });
52
+ }
53
+ });
54
+
55
+ // Adds toast to state and shows it after 100ms delay to trigger animation
56
+ var showToast = function showToast(toast) {
57
+ var toastKey = (0, _react2.generateKey)();
58
+ (0, _store.dispatch)('ADD_TOAST', {
59
+ containerKey: toast.containerKey,
60
+ toast: ToastState(toast).update(
61
+ // Make sure duration is a number, or set to a default numeric value
62
+ 'duration', function (duration) {
63
+ return typeof duration === 'number' ? Math.max(duration, 4000) : toast.content ? 7000 : 4000;
64
+ }),
65
+ toastKey: toastKey,
66
+ show: false
67
+ });
68
+ setTimeout(function () {
69
+ (0, _store.dispatch)('SHOW_TOAST', toastKey);
70
+ }, 100);
71
+ return toastKey;
72
+ };
73
+
74
+ // Hides the toast and removes it from state after animation ends
75
+ exports.showToast = showToast;
76
+ var hideToast = function hideToast(toastKey) {
77
+ (0, _store.dispatch)('HIDE_TOAST', toastKey);
78
+ setTimeout(function () {
79
+ (0, _store.dispatch)('REMOVE_TOAST', toastKey);
80
+ }, 300);
81
+ };
82
+
83
+ // Clears all toasts, or if containerKey is provided, only the matching ones
84
+ exports.hideToast = hideToast;
85
+ var clearToasts = function clearToasts(containerKey) {
86
+ (0, _store.dispatch)('CLEAR_TOASTS', containerKey);
87
+ };
88
+ exports.clearToasts = clearToasts;
89
+ var ToastWrapper = function ToastWrapper(_ref) {
90
+ var Toast = _ref.component,
91
+ show = _ref.show,
92
+ toastKey = _ref.toastKey,
93
+ toast = _ref.toast;
94
+ var _toast$toJS = toast.toJS(),
95
+ autoHide = _toast$toJS.autoHide,
96
+ content = _toast$toJS.content,
97
+ toastProps = (0, _objectWithoutProperties2["default"])(_toast$toJS, _excluded);
98
+ var toggle = (0, _react.useCallback)(function () {
99
+ return hideToast(toastKey);
100
+ }, [toastKey]);
101
+ return /*#__PURE__*/_react["default"].createElement(Toast, Object.assign({
102
+ key: toastKey
103
+ }, toastProps, {
104
+ show: show,
105
+ toggle: toggle,
106
+ autoHide: autoHide
107
+ }), content);
108
+ };
109
+ var ToastContainerComponent = function ToastContainerComponent(_ref2) {
110
+ var components = _ref2.components,
111
+ toasts = _ref2.toasts,
112
+ persistentToasts = _ref2.persistentToasts;
113
+ (0, _react.useEffect)(function () {
114
+ (0, _store.dispatch)('INIT_TOASTS');
115
+ return function () {};
116
+ }, []);
117
+ return /*#__PURE__*/_react["default"].createElement(_ComponentConfigContext.ComponentConfigContext.Consumer, null, function (componentConfig) {
118
+ var component = (0, _immutable.get)(components, 'Toast', componentConfig.get('Toast'));
119
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
120
+ className: "toast-container",
121
+ "aria-live": "polite",
122
+ "aria-atomic": "true"
123
+ }, toasts.map(function (props) {
124
+ return /*#__PURE__*/_react["default"].createElement(ToastWrapper, Object.assign({
125
+ key: props.toastKey
126
+ }, props, {
127
+ component: component
128
+ }));
129
+ })), /*#__PURE__*/_react["default"].createElement("div", {
130
+ className: "toast-container-persistent",
131
+ "aria-live": "polite",
132
+ "aria-atomic": "true"
133
+ }, persistentToasts.map(function (props) {
134
+ return /*#__PURE__*/_react["default"].createElement(ToastWrapper, Object.assign({
135
+ key: props.toastKey
136
+ }, props, {
137
+ component: component
138
+ }));
139
+ })));
140
+ });
141
+ };
142
+ var mapStateToProps = function mapStateToProps(state, props) {
143
+ // Get the toasts for this container
144
+ var containerToasts = state.get('toasts', (0, _immutable.List)()).filter(function (_ref3) {
145
+ var containerKey = _ref3.containerKey;
146
+ return props.containerKey ? containerKey === props.containerKey : !containerKey;
147
+ }).toList().reverse();
148
+ return {
149
+ // Get all toasts that hide automatically
150
+ toasts: containerToasts.filter(function (_ref4) {
151
+ var toast = _ref4.toast;
152
+ return !!toast.autoHide;
153
+ }),
154
+ // Get all toasts that require a user to close
155
+ persistentToasts: containerToasts.filter(function (_ref5) {
156
+ var toast = _ref5.toast;
157
+ return !toast.autoHide;
158
+ })
159
+ };
160
+ };
161
+ var ToastContainer = (0, _store.connect)(mapStateToProps)(ToastContainerComponent);
162
+ exports.ToastContainer = ToastContainer;
163
+ ToastContainer.propTypes = {
164
+ /** A key used to scope toasts to this container */
165
+ containerKey: _propTypes["default"].string,
166
+ components: _propTypes["default"].shape({
167
+ /** Override the default Toast component */
168
+ Toast: _propTypes["default"].func
169
+ })
170
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var Toast = function Toast(_ref) {
10
+ var className = _ref.className,
11
+ title = _ref.title,
12
+ toggle = _ref.toggle,
13
+ children = _ref.children;
14
+ return /*#__PURE__*/_react["default"].createElement("div", {
15
+ className: className,
16
+ style: {
17
+ zIndex: 9999,
18
+ pointerEvents: 'auto'
19
+ }
20
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("strong", null, title)), /*#__PURE__*/_react["default"].createElement("div", null, children), toggle && /*#__PURE__*/_react["default"].createElement("button", {
21
+ type: "button",
22
+ onClick: toggle
23
+ }, "\xD7"));
24
+ };
25
+ var _default = Toast;
26
+ exports["default"] = _default;