@kineticdata/react 5.0.17 → 5.0.18
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.
- package/lib/apis/core/authentication.js +11 -3
- package/lib/apis/core/fileResources.js +36 -0
- package/lib/apis/core/filestores.js +40 -0
- package/lib/components/agent/filestore/FilestoreForm.js +132 -0
- package/lib/components/agent/filestore/FilestoreTable.js +53 -0
- package/lib/components/common/Scroller.js +6 -6
- package/lib/components/core/core_form/CoreForm.js +10 -10
- package/lib/components/core/field_definition/FieldDefinitionForm.js +130 -0
- package/lib/components/core/field_definition/FieldDefinitionTable.js +86 -0
- package/lib/components/core/file_resource/FileResourceForm.js +180 -0
- package/lib/components/core/file_resource/FileResourceTable.js +71 -0
- package/lib/components/core/i18n/I18n.js +14 -14
- package/lib/components/core/submission/FormSubmissionFilters.js +378 -0
- package/lib/components/core/submission/FormSubmissionTable.js +116 -0
- package/lib/components/core/submission/KappSubmissionTable.js +250 -0
- package/lib/components/core/submission/SubmissionForm.js +124 -0
- package/lib/components/core/submission/helpers.js +95 -0
- package/lib/components/core/submission/helpers.test.js +96 -0
- package/lib/components/form/Form.js +2 -2
- package/lib/components/index.js +4 -4
- package/lib/components/system/SystemBackgroundTasksTable.js +83 -0
- package/lib/components/system/SystemSecurityForm.js +69 -0
- package/lib/components/task/builder/Connector.js +2 -2
- package/lib/components/task/builder/TaskDefinitionConfigForm.js +113 -0
- package/lib/components/task/builder/TreeBuilder.js +2 -2
- package/package.json +2 -2
|
@@ -52,9 +52,17 @@ export var singleSignOn = function singleSignOn(spaceSlug, dimensions) {
|
|
|
52
52
|
var options = _objectSpread(_objectSpread({}, dimensions), getPopupPosition(window, dimensions));
|
|
53
53
|
|
|
54
54
|
var endpoint = bundle.spaceLocation() + '/app/saml/login/alias/' + spaceSlug;
|
|
55
|
-
var popup = window.open(endpoint, target, stringifyOptions(options));
|
|
55
|
+
var popup = window.open(endpoint, target, stringifyOptions(options));
|
|
56
|
+
|
|
57
|
+
if (!popup) {
|
|
58
|
+
resolve({
|
|
59
|
+
error: 'Enterprise Sign In popup was blocked by the browser.'
|
|
60
|
+
});
|
|
61
|
+
return;
|
|
62
|
+
} // Create an event handler that closes the popup window if we focus the
|
|
56
63
|
// parent window
|
|
57
64
|
|
|
65
|
+
|
|
58
66
|
var windowFocusHandler = function windowFocusHandler() {
|
|
59
67
|
popup.close();
|
|
60
68
|
window.removeEventListener('focus', windowFocusHandler);
|
|
@@ -80,7 +88,7 @@ export var singleSignOn = function singleSignOn(spaceSlug, dimensions) {
|
|
|
80
88
|
}
|
|
81
89
|
|
|
82
90
|
resolve({
|
|
83
|
-
error: '
|
|
91
|
+
error: 'Enterprise Sign In was cancelled'
|
|
84
92
|
});
|
|
85
93
|
_context.next = 12;
|
|
86
94
|
break;
|
|
@@ -107,7 +115,7 @@ export var singleSignOn = function singleSignOn(spaceSlug, dimensions) {
|
|
|
107
115
|
} else {
|
|
108
116
|
popup.close();
|
|
109
117
|
resolve({
|
|
110
|
-
error: '
|
|
118
|
+
error: 'Enterprise Sign In timed out'
|
|
111
119
|
});
|
|
112
120
|
}
|
|
113
121
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { apiGroup } from '../http';
|
|
2
|
+
|
|
3
|
+
var _apiGroup = apiGroup({
|
|
4
|
+
name: 'FileResource',
|
|
5
|
+
dataOption: 'fileResource',
|
|
6
|
+
plural: {
|
|
7
|
+
requiredOptions: [],
|
|
8
|
+
url: function url() {
|
|
9
|
+
return '/fileResources';
|
|
10
|
+
},
|
|
11
|
+
transform: function transform(response) {
|
|
12
|
+
return {
|
|
13
|
+
fileResources: response.data.fileResources
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
singular: {
|
|
18
|
+
requiredOptions: ['fileResourceSlug'],
|
|
19
|
+
url: function url(_ref) {
|
|
20
|
+
var fileResourceSlug = _ref.fileResourceSlug;
|
|
21
|
+
return "/fileResources/".concat(fileResourceSlug);
|
|
22
|
+
},
|
|
23
|
+
transform: function transform(response) {
|
|
24
|
+
return {
|
|
25
|
+
fileResource: response.data.fileResource
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}),
|
|
30
|
+
fetchFileResources = _apiGroup.fetchFileResources,
|
|
31
|
+
fetchFileResource = _apiGroup.fetchFileResource,
|
|
32
|
+
createFileResource = _apiGroup.createFileResource,
|
|
33
|
+
updateFileResource = _apiGroup.updateFileResource,
|
|
34
|
+
deleteFileResource = _apiGroup.deleteFileResource;
|
|
35
|
+
|
|
36
|
+
export { fetchFileResources, fetchFileResource, createFileResource, updateFileResource, deleteFileResource };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { apiGroup } from '../http';
|
|
2
|
+
|
|
3
|
+
var _apiGroup = apiGroup({
|
|
4
|
+
name: 'Filestore',
|
|
5
|
+
dataOption: 'filestore',
|
|
6
|
+
plural: {
|
|
7
|
+
requiredOptions: [],
|
|
8
|
+
url: function url(_ref) {
|
|
9
|
+
var _ref$agentSlug = _ref.agentSlug,
|
|
10
|
+
agentSlug = _ref$agentSlug === void 0 ? 'system' : _ref$agentSlug;
|
|
11
|
+
return "/app/components/agents/".concat(agentSlug, "/app/api/v1/filestores");
|
|
12
|
+
},
|
|
13
|
+
transform: function transform(response) {
|
|
14
|
+
return {
|
|
15
|
+
filestores: response.data.filestores
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
singular: {
|
|
20
|
+
requiredOptions: ['filestoreSlug'],
|
|
21
|
+
url: function url(_ref2) {
|
|
22
|
+
var _ref2$agentSlug = _ref2.agentSlug,
|
|
23
|
+
agentSlug = _ref2$agentSlug === void 0 ? 'system' : _ref2$agentSlug,
|
|
24
|
+
filestoreSlug = _ref2.filestoreSlug;
|
|
25
|
+
return "/app/components/agents/".concat(agentSlug, "/app/api/v1/filestores/").concat(filestoreSlug);
|
|
26
|
+
},
|
|
27
|
+
transform: function transform(response) {
|
|
28
|
+
return {
|
|
29
|
+
filestore: response.data.filestore
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}),
|
|
34
|
+
fetchFilestores = _apiGroup.fetchFilestores,
|
|
35
|
+
fetchFilestore = _apiGroup.fetchFilestore,
|
|
36
|
+
createFilestore = _apiGroup.createFilestore,
|
|
37
|
+
updateFilestore = _apiGroup.updateFilestore,
|
|
38
|
+
deleteFilestore = _apiGroup.deleteFilestore;
|
|
39
|
+
|
|
40
|
+
export { fetchFilestores, fetchFilestore, createFilestore, updateFilestore, deleteFilestore };
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
+
import { createFilestore, fetchFilestore, updateFilestore } from '../../../apis';
|
|
3
|
+
import { fetchAdapters } from '../../../apis';
|
|
4
|
+
import { get, getIn, List, Map } from 'immutable';
|
|
5
|
+
import { buildPropertyFields, handleFormErrors } from '../../form/Form.helpers';
|
|
6
|
+
import { generateForm } from '../../form/Form';
|
|
7
|
+
|
|
8
|
+
var dataSources = function dataSources(_ref) {
|
|
9
|
+
var agentSlug = _ref.agentSlug,
|
|
10
|
+
filestoreSlug = _ref.filestoreSlug,
|
|
11
|
+
adapterClass = _ref.adapterClass;
|
|
12
|
+
return {
|
|
13
|
+
filestore: {
|
|
14
|
+
fn: fetchFilestore,
|
|
15
|
+
params: agentSlug && filestoreSlug && [{
|
|
16
|
+
agentSlug: agentSlug,
|
|
17
|
+
filestoreSlug: filestoreSlug,
|
|
18
|
+
include: 'details'
|
|
19
|
+
}],
|
|
20
|
+
transform: function transform(result) {
|
|
21
|
+
return result.filestore;
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
adapters: {
|
|
25
|
+
fn: fetchAdapters,
|
|
26
|
+
params: [{
|
|
27
|
+
include: 'details',
|
|
28
|
+
type: 'filestore',
|
|
29
|
+
agentSlug: agentSlug
|
|
30
|
+
}],
|
|
31
|
+
transform: function transform(result) {
|
|
32
|
+
return result.adapters;
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
adapterProperties: {
|
|
36
|
+
fn: function fn(adapters, filestore) {
|
|
37
|
+
var appliedAdapterClass = filestore ? filestore.get('adapterClass') : adapterClass;
|
|
38
|
+
var adapter = adapters.find(function (adapter) {
|
|
39
|
+
return adapter.get('class') === appliedAdapterClass;
|
|
40
|
+
});
|
|
41
|
+
return adapter ? List(adapter.get('properties')) : List();
|
|
42
|
+
},
|
|
43
|
+
params: function params(_ref2) {
|
|
44
|
+
var adapters = _ref2.adapters,
|
|
45
|
+
filestore = _ref2.filestore;
|
|
46
|
+
return (!filestoreSlug || filestore) && adapters && [adapters, filestore];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
var handleSubmit = function handleSubmit(_ref3) {
|
|
53
|
+
var agentSlug = _ref3.agentSlug,
|
|
54
|
+
filestoreSlug = _ref3.filestoreSlug;
|
|
55
|
+
return function (values) {
|
|
56
|
+
return (filestoreSlug ? updateFilestore : createFilestore)({
|
|
57
|
+
agentSlug: agentSlug,
|
|
58
|
+
filestoreSlug: filestoreSlug,
|
|
59
|
+
filestore: values.toJS()
|
|
60
|
+
}).then(handleFormErrors('filestore', 'There was a problem saving the filestore.'));
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var fields = function fields(_ref4) {
|
|
65
|
+
var adapterClass = _ref4.adapterClass;
|
|
66
|
+
return function (_ref5) {
|
|
67
|
+
var filestore = _ref5.filestore,
|
|
68
|
+
adapters = _ref5.adapters,
|
|
69
|
+
adapterProperties = _ref5.adapterProperties;
|
|
70
|
+
|
|
71
|
+
if (adapterProperties) {
|
|
72
|
+
var _buildPropertyFields = buildPropertyFields({
|
|
73
|
+
isNew: !filestore,
|
|
74
|
+
properties: adapterProperties,
|
|
75
|
+
getName: function getName(property) {
|
|
76
|
+
return property.get('name');
|
|
77
|
+
},
|
|
78
|
+
getRequired: function getRequired(property) {
|
|
79
|
+
return property.get('required');
|
|
80
|
+
},
|
|
81
|
+
getSensitive: function getSensitive(property) {
|
|
82
|
+
return property.get('sensitive');
|
|
83
|
+
},
|
|
84
|
+
getOptions: function getOptions(property) {
|
|
85
|
+
return property.get('options');
|
|
86
|
+
},
|
|
87
|
+
getValue: function getValue(property) {
|
|
88
|
+
return getIn(filestore, ['properties', property.get('name')], '');
|
|
89
|
+
}
|
|
90
|
+
}),
|
|
91
|
+
propertiesFields = _buildPropertyFields.propertiesFields,
|
|
92
|
+
propertiesSerialize = _buildPropertyFields.propertiesSerialize;
|
|
93
|
+
|
|
94
|
+
return [{
|
|
95
|
+
name: 'slug',
|
|
96
|
+
label: 'Filestore Slug',
|
|
97
|
+
type: 'text',
|
|
98
|
+
required: true,
|
|
99
|
+
initialValue: get(filestore, 'slug', ''),
|
|
100
|
+
pattern: /^[a-z\d-]+$/,
|
|
101
|
+
patternMessage: 'File Store Slug may only contain letters, numbers, and dashes',
|
|
102
|
+
helpText: 'Unique name used in the bridge path.'
|
|
103
|
+
}, {
|
|
104
|
+
name: 'adapterClass',
|
|
105
|
+
label: 'Adapter Class',
|
|
106
|
+
type: 'text',
|
|
107
|
+
enabled: false,
|
|
108
|
+
required: false,
|
|
109
|
+
initialValue: filestore ? filestore.get('adapterClass') : adapterClass,
|
|
110
|
+
options: adapters.map(function (adapter) {
|
|
111
|
+
return Map({
|
|
112
|
+
value: adapter.get('class'),
|
|
113
|
+
label: adapter.get('name')
|
|
114
|
+
});
|
|
115
|
+
})
|
|
116
|
+
}].concat(_toConsumableArray(propertiesFields), [{
|
|
117
|
+
name: 'properties',
|
|
118
|
+
visible: false,
|
|
119
|
+
initialValue: get(filestore, 'properties', {}),
|
|
120
|
+
serialize: propertiesSerialize
|
|
121
|
+
}]);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
export var FilestoreForm = generateForm({
|
|
127
|
+
formOptions: ['filestoreSlug', 'adapterClass', 'agentSlug'],
|
|
128
|
+
dataSources: dataSources,
|
|
129
|
+
fields: fields,
|
|
130
|
+
handleSubmit: handleSubmit
|
|
131
|
+
});
|
|
132
|
+
FilestoreForm.displayName = 'FilestoreForm';
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { defineFilter } from '../../../helpers';
|
|
2
|
+
import { fetchFilestores } from '../../../apis';
|
|
3
|
+
import { generateTable } from '../../table/Table';
|
|
4
|
+
var clientSide = defineFilter(true).startsWith('slug', 'slug').end();
|
|
5
|
+
|
|
6
|
+
var dataSource = function dataSource(_ref) {
|
|
7
|
+
var agentSlug = _ref.agentSlug;
|
|
8
|
+
return {
|
|
9
|
+
fn: fetchFilestores,
|
|
10
|
+
clientSide: clientSide,
|
|
11
|
+
params: function params() {
|
|
12
|
+
return [{
|
|
13
|
+
agentSlug: agentSlug,
|
|
14
|
+
include: 'details'
|
|
15
|
+
}];
|
|
16
|
+
},
|
|
17
|
+
transform: function transform(result) {
|
|
18
|
+
return {
|
|
19
|
+
data: result.filestores
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var filters = function filters() {
|
|
26
|
+
return function () {
|
|
27
|
+
return [{
|
|
28
|
+
name: 'slug',
|
|
29
|
+
label: 'Slug',
|
|
30
|
+
type: 'text'
|
|
31
|
+
}];
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
var columns = [{
|
|
36
|
+
value: 'slug',
|
|
37
|
+
title: 'Slug',
|
|
38
|
+
sortable: true
|
|
39
|
+
}, {
|
|
40
|
+
value: 'adapterClass',
|
|
41
|
+
title: 'Adapter',
|
|
42
|
+
sortable: true,
|
|
43
|
+
valueTransform: function valueTransform(_value) {
|
|
44
|
+
return _value.split('.').pop().match(/[A-Z][a-z]+/g).join(' ');
|
|
45
|
+
}
|
|
46
|
+
}];
|
|
47
|
+
export var FilestoreTable = generateTable({
|
|
48
|
+
tableOptions: ['agentSlug'],
|
|
49
|
+
columns: columns,
|
|
50
|
+
filters: filters,
|
|
51
|
+
dataSource: dataSource
|
|
52
|
+
});
|
|
53
|
+
FilestoreTable.displayName = 'FilestoreTable';
|
|
@@ -50,13 +50,13 @@ export var Scroller = /*#__PURE__*/function (_Component) {
|
|
|
50
50
|
}
|
|
51
51
|
} // when scrolling up...
|
|
52
52
|
else if (childTop < this.lastTop) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
53
|
+
// check to see if the top of the child element is above the top of the
|
|
54
|
+
// scrollable parent
|
|
55
|
+
if (childTop < parent.scrollTop) {
|
|
56
|
+
// scroll the child into view (passing true which aligns by top)
|
|
57
|
+
child.scrollIntoView(true);
|
|
59
58
|
}
|
|
59
|
+
}
|
|
60
60
|
|
|
61
61
|
this.lastTop = child.offsetTop;
|
|
62
62
|
}
|
|
@@ -286,16 +286,16 @@ export var CoreFormComponent = /*#__PURE__*/function (_Component) {
|
|
|
286
286
|
}));
|
|
287
287
|
} // If pending and error state has just been set, call error callback
|
|
288
288
|
else if (this.state.pending && this.state.error && !prevState.error) {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
289
|
+
if (this.state.error.statusCode === 401) {
|
|
290
|
+
applyGuard(this.props.onUnauthorized || this.props.unauthorized);
|
|
291
|
+
} else if (this.state.error.statusCode === 403) {
|
|
292
|
+
applyGuard(this.props.onForbidden || this.props.forbidden);
|
|
293
|
+
} else if (this.state.error.statusCode === 404) {
|
|
294
|
+
applyGuard(this.props.onNotFound || this.props.onNotFound);
|
|
295
|
+
} else {
|
|
296
|
+
applyGuard(this.props.onError || this.props.error);
|
|
297
|
+
}
|
|
298
|
+
} // If locking is turned on and has been initalized
|
|
299
299
|
|
|
300
300
|
|
|
301
301
|
if (this.state.lock && this.state.lock.init) {
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { generateForm } from '../../form/Form';
|
|
2
|
+
import { fetchKapp, fetchSpace, updateKapp, updateSpace } from '../../../apis';
|
|
3
|
+
import { FIELD_DATA_TYPES } from './FieldDefinitionTable';
|
|
4
|
+
|
|
5
|
+
var dataSources = function dataSources(_ref) {
|
|
6
|
+
var kappSlug = _ref.kappSlug,
|
|
7
|
+
name = _ref.name;
|
|
8
|
+
return {
|
|
9
|
+
form: {
|
|
10
|
+
fn: kappSlug ? fetchKapp : fetchSpace,
|
|
11
|
+
params: [{
|
|
12
|
+
kappSlug: kappSlug,
|
|
13
|
+
include: 'fields'
|
|
14
|
+
}],
|
|
15
|
+
transform: function transform(result) {
|
|
16
|
+
return kappSlug ? result.kapp : result.space;
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
fieldDefinition: {
|
|
20
|
+
fn: function fn(form, name) {
|
|
21
|
+
return form.get('fields').find(function (f) {
|
|
22
|
+
return f.get('name') === name;
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
params: function params(_ref2) {
|
|
26
|
+
var form = _ref2.form;
|
|
27
|
+
return form && name && [form, name];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
var handleSubmit = function handleSubmit(_ref3) {
|
|
34
|
+
var kappSlug = _ref3.kappSlug,
|
|
35
|
+
name = _ref3.name;
|
|
36
|
+
return function (values, _ref4) {
|
|
37
|
+
var form = _ref4.form;
|
|
38
|
+
var dataType = FIELD_DATA_TYPES.find(function (fdt) {
|
|
39
|
+
return fdt.value === values.get('renderType');
|
|
40
|
+
}).dataType;
|
|
41
|
+
var field = values.set('dataType', dataType);
|
|
42
|
+
var fields = name ? form.get('fields').map(function (fd) {
|
|
43
|
+
return fd.get('name') === name ? field : fd;
|
|
44
|
+
}) : form.get('fields').push(field);
|
|
45
|
+
return (kappSlug ? updateKapp({
|
|
46
|
+
kapp: {
|
|
47
|
+
fields: fields
|
|
48
|
+
},
|
|
49
|
+
kappSlug: kappSlug
|
|
50
|
+
}) : updateSpace({
|
|
51
|
+
space: {
|
|
52
|
+
fields: fields
|
|
53
|
+
}
|
|
54
|
+
})).then(function (_ref5) {
|
|
55
|
+
var kapp = _ref5.kapp,
|
|
56
|
+
space = _ref5.space,
|
|
57
|
+
error = _ref5.error;
|
|
58
|
+
|
|
59
|
+
if (error) {
|
|
60
|
+
throw error.statusCode === 400 && error.message || 'There was an error saving the field definition';
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return kappSlug ? kapp : space;
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
var fields = function fields(_ref6) {
|
|
69
|
+
var name = _ref6.name;
|
|
70
|
+
return function (_ref7) {
|
|
71
|
+
var form = _ref7.form,
|
|
72
|
+
fieldDefinition = _ref7.fieldDefinition;
|
|
73
|
+
return (!name || fieldDefinition) && form && [{
|
|
74
|
+
name: 'name',
|
|
75
|
+
label: 'Name',
|
|
76
|
+
type: 'text',
|
|
77
|
+
required: true,
|
|
78
|
+
initialValue: fieldDefinition ? fieldDefinition.get('name') : ''
|
|
79
|
+
}, {
|
|
80
|
+
name: 'renderType',
|
|
81
|
+
label: 'Type',
|
|
82
|
+
type: 'select',
|
|
83
|
+
required: true,
|
|
84
|
+
options: FIELD_DATA_TYPES,
|
|
85
|
+
initialValue: fieldDefinition ? fieldDefinition.get('renderType') : ''
|
|
86
|
+
}, {
|
|
87
|
+
name: 'createdAt',
|
|
88
|
+
label: 'Created At',
|
|
89
|
+
type: 'text',
|
|
90
|
+
visible: false,
|
|
91
|
+
initialValue: fieldDefinition ? fieldDefinition.get('createdAt') : '2020-08-24T22:06:20.572Z'
|
|
92
|
+
}, {
|
|
93
|
+
name: 'createdBy',
|
|
94
|
+
label: 'Created By',
|
|
95
|
+
type: 'text',
|
|
96
|
+
visible: false,
|
|
97
|
+
initialValue: fieldDefinition ? fieldDefinition.get('createdBy') : 'admin'
|
|
98
|
+
}, {
|
|
99
|
+
name: 'updatedAt',
|
|
100
|
+
label: 'Updated At',
|
|
101
|
+
type: 'text',
|
|
102
|
+
visible: false,
|
|
103
|
+
initialValue: fieldDefinition ? fieldDefinition.get('updatedAt') : '2020-08-24T22:06:20.572Z'
|
|
104
|
+
}, {
|
|
105
|
+
name: 'updatedBy',
|
|
106
|
+
label: 'Updated By',
|
|
107
|
+
type: 'text',
|
|
108
|
+
visible: false,
|
|
109
|
+
initialValue: fieldDefinition ? fieldDefinition.get('updatedBy') : 'admin'
|
|
110
|
+
}];
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* @component
|
|
115
|
+
* A form for creating and updating Field Definitions within the Kinetic Platform
|
|
116
|
+
*/
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
export var FieldDefinitionForm = generateForm({
|
|
120
|
+
formOptions: ['kappSlug', 'name'],
|
|
121
|
+
dataSources: dataSources,
|
|
122
|
+
fields: fields,
|
|
123
|
+
handleSubmit: handleSubmit
|
|
124
|
+
});
|
|
125
|
+
FieldDefinitionForm.displayName = 'FieldDefinitionForm'; // Specifies the default values for props:
|
|
126
|
+
|
|
127
|
+
FieldDefinitionForm.defaultProps = {
|
|
128
|
+
fieldName: null,
|
|
129
|
+
kappSlug: null
|
|
130
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { generateTable } from '../../table/Table';
|
|
2
|
+
import { fetchKapp, fetchSpace } from '../../../apis';
|
|
3
|
+
import { defineFilter } from '../../../helpers';
|
|
4
|
+
export var FIELD_DATA_TYPES = [{
|
|
5
|
+
value: 'checkbox',
|
|
6
|
+
label: 'Checkbox',
|
|
7
|
+
dataType: 'json'
|
|
8
|
+
}, {
|
|
9
|
+
value: 'date',
|
|
10
|
+
label: 'Date',
|
|
11
|
+
dataType: 'string'
|
|
12
|
+
}, {
|
|
13
|
+
value: 'datetime',
|
|
14
|
+
label: 'Date/Time',
|
|
15
|
+
dataType: 'string'
|
|
16
|
+
}, {
|
|
17
|
+
value: 'dropdown',
|
|
18
|
+
label: 'Dropdown',
|
|
19
|
+
dataType: 'string'
|
|
20
|
+
}, {
|
|
21
|
+
value: 'radio',
|
|
22
|
+
label: 'Radio',
|
|
23
|
+
dataType: 'string'
|
|
24
|
+
}, {
|
|
25
|
+
value: 'text',
|
|
26
|
+
label: 'Text',
|
|
27
|
+
dataType: 'string'
|
|
28
|
+
}, {
|
|
29
|
+
value: 'time',
|
|
30
|
+
label: 'Time',
|
|
31
|
+
dataType: 'string'
|
|
32
|
+
}];
|
|
33
|
+
var clientSide = defineFilter(true).startsWith('name', 'name').end();
|
|
34
|
+
|
|
35
|
+
var dataSource = function dataSource(_ref) {
|
|
36
|
+
var kappSlug = _ref.kappSlug;
|
|
37
|
+
return {
|
|
38
|
+
fn: kappSlug ? fetchKapp : fetchSpace,
|
|
39
|
+
clientSide: clientSide,
|
|
40
|
+
params: function params() {
|
|
41
|
+
return [{
|
|
42
|
+
kappSlug: kappSlug,
|
|
43
|
+
include: 'fields'
|
|
44
|
+
}];
|
|
45
|
+
},
|
|
46
|
+
transform: function transform(result) {
|
|
47
|
+
return {
|
|
48
|
+
data: kappSlug ? result.kapp.fields : result.space.fields
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
var filters = function filters() {
|
|
55
|
+
return function () {
|
|
56
|
+
return [{
|
|
57
|
+
name: 'name',
|
|
58
|
+
label: 'Name',
|
|
59
|
+
type: 'text'
|
|
60
|
+
}];
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var columns = [{
|
|
65
|
+
value: 'name',
|
|
66
|
+
title: 'Name'
|
|
67
|
+
}, {
|
|
68
|
+
value: 'renderType',
|
|
69
|
+
title: 'Render Type'
|
|
70
|
+
}, {
|
|
71
|
+
value: 'dataType',
|
|
72
|
+
title: 'Data Type'
|
|
73
|
+
}, {
|
|
74
|
+
value: 'updatedAt',
|
|
75
|
+
title: 'Updated At'
|
|
76
|
+
}, {
|
|
77
|
+
value: 'updatedBy',
|
|
78
|
+
title: 'Updated By'
|
|
79
|
+
}];
|
|
80
|
+
export var FieldDefinitionTable = generateTable({
|
|
81
|
+
tableOptions: ['kappSlug'],
|
|
82
|
+
columns: columns,
|
|
83
|
+
filters: filters,
|
|
84
|
+
dataSource: dataSource
|
|
85
|
+
});
|
|
86
|
+
FieldDefinitionTable.displayName = 'FieldDefinitionTable';
|