Back to October

Popover

modules/system/assets/toolbox/controls/popover/README.md

4.3.02.9 KB
Original Source

Popover

Renders a rich popover with content, positioning, modal overlay, and animation. This is October's custom popover, not Bootstrap's — it supports modal overlays, center placement, mobile bottom-sheet behavior, and rich content from templates or callbacks.

Basic Usage

Add data-control="popover" to an anchor or button. Use data-content for inline content.

html
<a
    href="javascript:;"
    class="btn btn-primary"
    data-control="popover"
    data-content="I am a standard popover">
    Basic popover
</a>

Template Content

Reference a hidden element with data-content-from.

html
<div style="display:none" id="myPopoverContent">
    <div class="popover-head">
        <h3>Popover</h3>
        <button type="button" class="btn-close" data-dismiss="popover"></button>
    </div>
    <div class="popover-body">
        I am a popover
    </div>
</div>

<a
    href="javascript:;"
    class="btn btn-primary"
    data-control="popover"
    data-width="200"
    data-content-from="#myPopoverContent">
    Template popover
</a>

JavaScript API

js
$('#element').ocPopover({
    content: '<p>This is a popover</p>',
    placement: 'top'
})

Methods

  • .ocPopover('hide') — Closes the popover
  • .ocPopover('getContainer') — Returns the popover DOM element

Options

OptionTypeDefaultDescription
placementstring'bottom'top, bottom, left, right, or center
fallbackPlacementstring'bottom'Fallback when preferred placement doesn't fit
contentstring/functionHTML content string or callback
contentFromstringnullSelector to source content HTML from
widthnumberfalseFixed width in pixels
modalbooleanfalseShow backdrop overlay
highlightModalTargetbooleanfalseHighlight the trigger element above the overlay
closeOnPageClickbooleantrueClose when clicking outside
closeOnEscbooleantrueClose on Escape key
containerstring/elementfalseParent element (default: document body)
containerClassstringnullCSS class(es) for the popover container
offsetnumber15Offset in pixels from trigger
offsetXnumberX offset, overrides offset for top/bottom
offsetYnumberY offset, overrides offset for left/right
useAnimationbooleanfalseFade/scale animation

Events

EventDescription
showing.oc.popoverBefore display. Use e.preventDefault() to cancel
show.oc.popoverAfter display
hiding.oc.popoverBefore close. Use e.preventDefault() to cancel
hide.oc.popoverAfter close

Closing

Three ways to close a popover:

  1. Call .ocPopover('hide') on the trigger element
  2. Trigger close.oc.popover on any element inside the popover
  3. Click an element with data-dismiss="popover" inside the popover