class SlideView < Live::View

Inherits from
Live::View

A live view containing presentation slide content.

Definitions

def render_slide_path(builder, path)

Render a presentation-relative slide path which can truncate its directory.

Signature

parameter builder XRB::Builder

The HTML builder.

parameter path String

The presentation-relative slide path.

Implementation

def render_slide_path(builder, path)
	directory = File.dirname(path)
	filename = File.basename(path)
	
	builder.tag(:code, class: "slide-path", title: path) do
		unless directory == "."
			builder.tag(:span, class: "slide-path-directory") do
				builder.text(directory)
			end
		end
		
		builder.tag(:span, class: "slide-path-filename") do
			builder.text(directory == "." ? filename : "/#{filename}")
		end
	end
end

def render_slide!(transition: nil)

Ask the client to render the current slide view.

Signature

parameter transition String | Nil

The transition to apply while rendering.

Implementation

def render_slide!(transition: nil)
	dispatch_event(self.selector, "presently:slide:render",
		bubbles: true,
		detail: {
			html: self.to_html.to_s,
			transition: transition,
		}
	)
end