@methodexists/me-help
v0.1.0
Published
Help System components
Downloads
7
Keywords
Readme
me-help
Help system for MethodExists apps.
Usage
<HelpWrapper>
requires help
namespace and help
table to operate. <HelpWrapperReadOnly>
could be used as is without model.
Setting up
Create help
table with the schema as in '/abt/schema/help' mock in demo/src/apiService.js
file.
Provide API Service into module using init
method:
import { init as initHelp } from '@methodexists/me-help';
// ...
initHelp({
apiService: APIService,
});
Register help model in the app:
import { model as helpModel } from '@methodexists/me-help';
// ...
app.model(helpModel);
Using backend-powered Help
Wrap text or component into <HelpWrapper>
and provide required id
prop:
import HelpWrapper from '@methodexists/me-help';
// ...
<HelpWrapper id="help-id-1">
Wrapped text or component
</HelpWrapper>
It will show help topic stored by 'help-id-1' id
in the help
table.
Admins may create and edit that topic. Other users may see it only if it has content.
Using readonly Help
Wrap text or component into <HelpWrapperReadOnly>
and provide optional body
and videoUrl
props:
import { HelpWrapperReadOnly } from '@methodexists/me-help';
// ...
<HelpWrapperReadOnly body="Help text" videoUrl="http://...">
Wrapped text or component
</HelpWrapperReadOnly>
HelpWrapperReadOnly
acts as HelpWrapper
for non-admin users. If both body
and videoUrl
are undefined then nothing will be rendered.
API
<HelpWrapper />
| Prop | Type | Description
| --------------- | ------------------- | -----------
| *
id | string | ID to access help topic from help
table
| isAdminSelector | func(state) => bool | Receives state
as argument and returns true
or false
. By default returns true
if auth.profile.groups[]
includes 'Admins'
| buttonClassName | string | Custom class for ?
button
<HelpWrapperReadOnly />
| Prop | Type | Description | -------- | ------ | ----------- | body | string | Text to show in the popup | videoUrl | string | Video to show in the popup
Contributing
See CONTRIBUTING.md for how to develop a component.