|
|
@@ -82,6 +82,8 @@ export default class EventRenderer {
|
|
|
if (this.renderFgSegs(fgSegs) !== false) { // no failure?
|
|
|
this.fgSegs = fgSegs
|
|
|
}
|
|
|
+
|
|
|
+ this.view.triggerRenderedSegs(this.getSegs())
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -151,7 +153,7 @@ export default class EventRenderer {
|
|
|
|
|
|
// Renders and assigns an `el` property for each foreground event segment.
|
|
|
// Only returns segments that successfully rendered.
|
|
|
- renderFgSegEls(segs: Seg[]) {
|
|
|
+ renderFgSegEls(segs: Seg[], isMirrors?: boolean) {
|
|
|
let hasEventRenderHandlers = this.view.hasPublicHandlers('eventRender')
|
|
|
let html = ''
|
|
|
let renderedSegs = []
|
|
|
@@ -170,7 +172,7 @@ export default class EventRenderer {
|
|
|
let seg = segs[i]
|
|
|
|
|
|
if (hasEventRenderHandlers) { // optimization
|
|
|
- el = this.filterEventRenderEl(seg, el)
|
|
|
+ el = this.filterEventRenderEl(seg, el, isMirrors)
|
|
|
}
|
|
|
|
|
|
if (el) {
|
|
|
@@ -217,7 +219,7 @@ export default class EventRenderer {
|
|
|
|
|
|
// Given an event and the default element used for rendering, returns the element that should actually be used.
|
|
|
// Basically runs events and elements through the eventRender hook.
|
|
|
- filterEventRenderEl(seg: Seg, el) {
|
|
|
+ filterEventRenderEl(seg: Seg, el: HTMLElement, isMirror: boolean = false) {
|
|
|
|
|
|
let custom = this.view.publiclyTrigger('eventRender', [
|
|
|
{
|
|
|
@@ -226,6 +228,7 @@ export default class EventRenderer {
|
|
|
seg.eventRange.def,
|
|
|
seg.eventRange.instance,
|
|
|
),
|
|
|
+ isMirror,
|
|
|
isStart: seg.isStart,
|
|
|
isEnd: seg.isEnd,
|
|
|
// TODO: include seg.range once all components consistently generate it
|