aboutsummaryrefslogtreecommitdiff
path: root/src/webex/renderHtml.tsx
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-08-27 04:19:11 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-08-27 04:19:11 +0200
commit24181bdf20e0d23ec5ec5d2eaa08ae1cfb905f0f (patch)
tree98fc0ddbdc6c5589604ce7eac4a23d9a148f2f5c /src/webex/renderHtml.tsx
parent8697efd2c8751717a3a3fcaf72feb7c49ebfec02 (diff)
downloadwallet-core-24181bdf20e0d23ec5ec5d2eaa08ae1cfb905f0f.tar.xz
better error report / retry prompt for failed payments
Diffstat (limited to 'src/webex/renderHtml.tsx')
-rw-r--r--src/webex/renderHtml.tsx37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/webex/renderHtml.tsx b/src/webex/renderHtml.tsx
index fe964e68a..2a5b50533 100644
--- a/src/webex/renderHtml.tsx
+++ b/src/webex/renderHtml.tsx
@@ -91,3 +91,40 @@ export function abbrev(s: string, n: number = 5) {
</span>
);
}
+
+
+
+interface CollapsibleState {
+ collapsed: boolean;
+}
+
+interface CollapsibleProps {
+ initiallyCollapsed: boolean;
+ title: string;
+}
+
+export class Collapsible extends React.Component<CollapsibleProps, CollapsibleState> {
+ constructor(props: CollapsibleProps) {
+ super(props);
+ this.state = { collapsed: props.initiallyCollapsed };
+ }
+ render() {
+ const doOpen = (e: any) => {
+ this.setState({collapsed: false});
+ e.preventDefault();
+ };
+ const doClose = (e: any) => {
+ this.setState({collapsed: true});
+ e.preventDefault();
+ };
+ if (this.state.collapsed) {
+ return <h2><a className="opener opener-collapsed" href="#" onClick={doOpen}>{this.props.title}</a></h2>;
+ }
+ return (
+ <div>
+ <h2><a className="opener opener-open" href="#" onClick={doClose}>{this.props.title}</a></h2>
+ {this.props.children}
+ </div>
+ );
+ }
+}