@tomino/dynamic-form-semantic-ui
Version:
Semantic UI form renderer based on dynamic form generation
54 lines • 2.72 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const apollo_provider_view_1 = require("./apollo_provider_view");
const apollo_query_editor_1 = require("./apollo_query.editor");
const editor_common_1 = require("../editor/editor_common");
const context_1 = require("../context");
const wrapper_1 = require("../wrapper");
const Provider = (props) => (react_1.default.createElement("div", { onMouseOver: props.onMouseOver, onMouseOut: props.onMouseOut },
react_1.default.createElement(apollo_provider_view_1.ApolloProvider, Object.assign({}, props))));
exports.ApolloProviderEditorComponent = props => {
const controlProps = props.formElement.props;
const context = react_1.default.useContext(context_1.Context);
if (controlProps.authorised) {
context.auth.user = {
roles: controlProps.roles.split(','),
name: controlProps.user,
id: controlProps.id
};
}
return react_1.default.createElement(wrapper_1.DynamicComponent, Object.assign({}, props, { control: Provider, preserveProps: true }));
};
exports.ApolloProviderEditorComponent.displayName = 'ApolloProviderEditor';
exports.ApolloProviderEditor = {
Component: exports.ApolloProviderEditorComponent,
title: 'Apollo Provider',
control: 'ApolloProvider',
thumbnail: apollo_query_editor_1.thumbnails,
provider: true,
group: 'Data',
props: {
...editor_common_1.propGroup('Apollo', {
server: editor_common_1.prop({ label: 'Server Url', type: 'string' }),
tokenName: editor_common_1.prop({ label: 'Token', type: 'string' }),
auth: editor_common_1.prop({ label: 'Use Authentication', control: 'Checkbox', type: 'boolean' }),
batchRequests: editor_common_1.prop({ label: 'Batch Requests', control: 'Checkbox', type: 'boolean' }),
disable: editor_common_1.prop({
documentation: 'This is useful during testing when a mocked provider can be used instead.',
label: 'Disable provider',
group: 'Apollo',
control: 'Checkbox',
type: 'boolean'
})
}),
...editor_common_1.propGroup('Test', {
authorised: editor_common_1.prop({ label: 'Authorise', control: 'Checkbox', type: 'boolean' }),
user: editor_common_1.prop({ label: 'User', type: 'string' }),
roles: editor_common_1.prop({ label: 'Roles', type: 'string' }),
id: editor_common_1.prop({ label: 'Id', type: 'string' })
})
}
};
//# sourceMappingURL=apollo_provider_editor.js.map