• Robert Knight's avatar
    Convert `Excerpt` component to Preact · d1485d0b
    Robert Knight authored
    Convert the `Excerpt` component to Preact. Rather than convert the
    existing implementation verbatim, this is a completely new implementation which
    should be easier to understand and use. Instead of requiring callers to
    provide an input property which represents the displayed data, which triggers a
    re-measurement if it changes, the new implementation observes the DOM
    directly for size changes.
    
    This component renders caller-provided content (ie. it accepts a `children`
    prop), which is not supported by the Preact <-> Angular bridge. Therefore it was
    also necessary to create components (`AnnotationBody`, `AnnotationQuote`) that
    encapsulate uses of `Excerpt` inside the `<annotation>` component.
    
     - Add `observe-element-size` utility module to watch for changes in
       the size of a DOM node using APIs available in the current browser
    
     - Add new `Excerpt` implementation and remove the old one
    
     - Remove `excerpt-overflow-monitor` utility that is not used by the new
       implementation
    
     - Add `AnnotationBody` component to render an annotation's markup body
       inside a (new) excerpt and convert the Angular template for
       `<annotation>` (annotation.html) to use it.
    
     - Add `AnnotationQuote` component to render an annotation's quote
       inside an excerpt and convert `annotation.html` to use it
    d1485d0b
Name
Last commit
Last update
..
annotation-body-test.js Loading commit data...
annotation-document-info-test.js Loading commit data...
annotation-header-test.js Loading commit data...
annotation-publish-control-test.js Loading commit data...
annotation-quote-test.js Loading commit data...
annotation-share-dialog-test.js Loading commit data...
annotation-share-info-test.js Loading commit data...
annotation-test.js Loading commit data...
annotation-thread-test.js Loading commit data...
annotation-user-test.js Loading commit data...
annotation-viewer-content-test.js Loading commit data...
excerpt-test.js Loading commit data...
focused-mode-header-test.js Loading commit data...
group-list-item-test.js Loading commit data...
group-list-section-test.js Loading commit data...
group-list-test.js Loading commit data...
help-panel-test.js Loading commit data...
hypothesis-app-test.js Loading commit data...
logged-out-message-test.js Loading commit data...
markdown-editor-test.js Loading commit data...
markdown-view-test.js Loading commit data...
menu-item-test.js Loading commit data...
menu-section-test.js Loading commit data...
menu-test.js Loading commit data...
mock-imported-components.js Loading commit data...
moderation-banner-test.js Loading commit data...
new-note-btn-test.js Loading commit data...
search-input-test.js Loading commit data...
search-status-bar-test.js Loading commit data...
selection-tabs-test.js Loading commit data...
share-annotations-panel-test.js Loading commit data...
sidebar-content-error-test.js Loading commit data...
sidebar-content-test.js Loading commit data...
sidebar-panel-test.js Loading commit data...
slider-test.js Loading commit data...
sort-menu-test.js Loading commit data...
spinner-test.js Loading commit data...
stream-content-test.js Loading commit data...
stream-search-input-test.js Loading commit data...
svg-icon-test.js Loading commit data...
tag-editor-test.js Loading commit data...
thread-list-test.js Loading commit data...
timestamp-test.js Loading commit data...
top-bar-test.js Loading commit data...
tutorial-test.js Loading commit data...
user-menu-test.js Loading commit data...
version-info-test.js Loading commit data...