package UR::Object::View::Static::Html; use strict; use warnings; require UR; our $VERSION = "0.46"; # UR $VERSION; class UR::Object::View::Static::Html { is => 'UR::Object::View', has => { output_format => { value => 'html' }, html_root => { doc => 'path to plain-old html files' } }, has_constant => [ perspective => { value => 'static' }, toolkit => { value => 'html' }, ], }; sub content { my ($self) = @_; my $filename = class_to_filename($self->subject->class); my $perspective = $self->perspective() || die "Error: I have no perspective"; my $pathname = join('/', $self->html_root(), $perspective, $filename); open(my $fh, $pathname); if (!$fh) { die "Could not open the static html file: $pathname"; } my $c = do { undef $/; <$fh>; }; close($pathname); return $c; } sub class_to_filename { my ($class) = @_; $class = lc($class); $class =~ s/::/_/g; $class .= '.html'; return $class; } 1; =pod =head1 NAME UR::Object::View::Static::Html - represent object state in HTML format =head1 SYNOPSIS package Genome::Sample::Set::View::Detail::Html; class Genome::Sample::Set::View::Detail::Html { is => 'UR::Object::View::Static::Html', has_constant => [ toolkit => { value => 'html' }, perspective => { value => 'detail' } ] }; =head1 DESCRIPTION The current default HTML class creates HTML by getting XML and applying XSL. This class, on the other hand, displays some static html =head1 SEE ALSO UR::Object::View::Default::Html, UR::Object::View::Default::Text, UR::Object::View, UR::Object::View::Toolkit::XML, UR::Object::View::Toolkit::Text, UR::Object =cut