Support a module API surface for custom functionality (#8246)
* Early implementation of module API surface + functions for ILAG module * Wire up dialog functions and ILAG-needed surface * Ensure component renders for modules get overridden * Respond to changes from module API interface * Use a real module-api dependency * Update for new Dialogs interface * Add support for getConfigValue from module API * Update the remainder of the module API interface * Docs & cleanup * Add some unit tests around module stuff Needs end-to-end tests still. * Appease early linters * Break import cycles by not directly depending on Lifecycle * Appease the linter * Fix bad merge
This commit is contained in:
parent
2dd683a42f
commit
7f5bb61a79
22 changed files with 906 additions and 34 deletions
66
test/modules/__snapshots__/ModuleComponents-test.tsx.snap
Normal file
66
test/modules/__snapshots__/ModuleComponents-test.tsx.snap
Normal file
|
@ -0,0 +1,66 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Module Components should override the factory for a ModuleSpinner 1`] = `
|
||||
<Spinner>
|
||||
<Spinner
|
||||
h={32}
|
||||
w={32}
|
||||
>
|
||||
<div
|
||||
className="mx_Spinner"
|
||||
>
|
||||
<div
|
||||
aria-label="Loading..."
|
||||
className="mx_Spinner_icon"
|
||||
style={
|
||||
Object {
|
||||
"height": 32,
|
||||
"width": 32,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
</Spinner>
|
||||
</Spinner>
|
||||
`;
|
||||
|
||||
exports[`Module Components should override the factory for a TextInputField 1`] = `
|
||||
<TextInputField
|
||||
label="My Label"
|
||||
onChange={[Function]}
|
||||
value="My Value"
|
||||
>
|
||||
<Field
|
||||
autoComplete="off"
|
||||
element="input"
|
||||
label="My Label"
|
||||
onChange={[Function]}
|
||||
type="text"
|
||||
validateOnBlur={true}
|
||||
validateOnChange={true}
|
||||
validateOnFocus={true}
|
||||
value="My Value"
|
||||
>
|
||||
<div
|
||||
className="mx_Field mx_Field_input"
|
||||
>
|
||||
<input
|
||||
autoComplete="off"
|
||||
id="mx_Field_1"
|
||||
label="My Label"
|
||||
onBlur={[Function]}
|
||||
onChange={[Function]}
|
||||
onFocus={[Function]}
|
||||
placeholder="My Label"
|
||||
type="text"
|
||||
value="My Value"
|
||||
/>
|
||||
<label
|
||||
htmlFor="mx_Field_1"
|
||||
>
|
||||
My Label
|
||||
</label>
|
||||
</div>
|
||||
</Field>
|
||||
</TextInputField>
|
||||
`;
|
Loading…
Add table
Add a link
Reference in a new issue