diff --git a/src/Gargantext/Utils/ReactBootstrap.js b/src/Gargantext/Utils/ReactBootstrap.js new file mode 100644 index 0000000000000000000000000000000000000000..d574ee1eaabfe82c56a0b05f36a7c3da6aa1b6f4 --- /dev/null +++ b/src/Gargantext/Utils/ReactBootstrap.js @@ -0,0 +1,15 @@ +'use strict'; + +const ReactBootstrap = require('react-bootstrap'); + +if (typeof window !== 'undefined') { + window.ReactBootstrap = ReactBootstrap; +} + +const OverlayTrigger = require('react-bootstrap/OverlayTrigger'); +const Popover = require('react-bootstrap/Popover'); + +exports.overlayTriggerCpt = OverlayTrigger; +exports.popoverCpt = Popover; +exports.popoverContentCpt = Popover.Content; +exports.popoverTitleCpt = Popover.Title; diff --git a/src/Gargantext/Utils/ReactBootstrap.purs b/src/Gargantext/Utils/ReactBootstrap.purs new file mode 100644 index 0000000000000000000000000000000000000000..4a21334a63e8a313fa68e2dcbedda3a92df5c8a7 --- /dev/null +++ b/src/Gargantext/Utils/ReactBootstrap.purs @@ -0,0 +1,55 @@ +module Gargantext.Utils.ReactBootstrap where + +import Reactix as R + +import Gargantext.Prelude + +type OverlayTriggerProps = + ( + overlay :: R.Element + , placement :: String + , trigger :: String + ) + +type Props = + ( + ) + +type ContentProps = + ( + ) + +type TitleProps = + ( + "as" :: String + ) + +foreign import overlayTriggerCpt :: R.Component OverlayTriggerProps +foreign import popoverCpt :: R.Component Props +foreign import popoverContentCpt :: R.Component ContentProps +foreign import popoverTitleCpt :: R.Component TitleProps + +overlayTrigger :: Record OverlayTriggerProps -> Array R.Element -> R.Element +overlayTrigger = R.rawCreateElement overlayTriggerCpt + +popover :: Record Props -> Array R.Element -> R.Element +popover = R.rawCreateElement popoverCpt + +popoverContent :: Record ContentProps -> Array R.Element -> R.Element +popoverContent = R.rawCreateElement popoverContentCpt + +popoverTitle :: Record TitleProps -> Array R.Element -> R.Element +popoverTitle = R.rawCreateElement popoverTitleCpt + + +-- example +-- example = +-- let popover = GUB.popover {} [ +-- GUB.popoverTitle { "as": "h3" } [ H.text "hello title" ] +-- , GUB.popoverContent {} [ H.div {} [ H.text "content" ] ] +-- ] +-- in GUB.overlayTrigger { overlay: popover +-- , placement: "right" +-- , trigger: "click" } [ +-- H.button { className: "btn btn-default" } [ H.text "Click me" ] +-- ]