Bivio::UI::XHTML::Widget::OpenGraphProperty
# Copyright (c) 2018 Bivio Software, Inc. All Rights Reserved. # $Id$ package Bivio::UI::XHTML::Widget::OpenGraphProperty; use strict; use Bivio::Base 'UI.Widget'; b_use('UI.ViewLanguageAUTOLOAD'); our($VERSION) = sprintf('%d.%02d', q$Revision: 0.0$ =~ /\d+/g); sub NEW_ARGS { return [qw(value property)]; } sub SUPPORTED_PROPERTIES { return [qw(description title)]; } sub REQ_KEY { return shift->package_name . '.properties'; } sub initialize { my($self) = @_; $self->initialize_attr('value'); my($p) = $self->get('property'); unless (grep($p eq $_, @{$self->SUPPORTED_PROPERTIES})) { $self->die($p, ': unsupported op:<property>'); } return shift->SUPER::initialize(@_); } sub render { my($self, $source, $buffer) = @_; my($res) = $self->render_simple_attr('value', $source); if (length($res)) { my($h) = $source->req->get_if_exists_else_put($self->REQ_KEY, {}); $h->{$self->get('property')} ||= $res; } $$buffer .= $res; return; } 1;