RT-Extension-LifecycleUI
view release on metacpan or search on metacpan
html/Elements/LifecycleGraph view on Meta::CPAN
<div class="lifecycle-ui<% $Editing ? ' editing' : '' %><% $Interactive ? ' interactive' : '' %><% $Zoomable ? ' zoomable' : '' %> center-<% $Center || 'origin' %>" id="lifecycle-<% $id %>">
<div class="lifecycle-view">
<div class="overlay-buttons">
<button class="zoom zoom-in">+</button>
<button class="zoom zoom-reset">0</button>
<button class="zoom zoom-out">-</button>
</div>
<svg>
<& /Elements/LifecycleGraphExtras, %ARGS &>
<g class="transform">
<g class="decorations"></g>
<g class="transitions"></g>
<g class="statuses"></g>
</g>
</svg>
</div>
% if ($Editing) {
<& /Elements/LifecycleInspector, %ARGS &>
% }
% if ($Interactive) {
<& /Elements/LifecycleInteractive, %ARGS &>
% }
<script type="text/javascript">
jQuery(function () {
jQuery(".lifecycle-ui#lifecycle-<% $id %>").each(function () {
var container = this;
var config = <% JSON($config) |n %>;
var name = <% $Lifecycle | j%>;
% if ($Ticket) {
var ticketStatus = <% $Ticket->Status | j%>;
% } else {
var ticketStatus = undefined;
% }
% if ($Editing) {
var editor = new RT.LifecycleEditor();
editor.initializeEditor(container, name, config, ticketStatus);
% } else {
% if ($Interactive) {
var viewer = new RT.LifecycleViewerInteractive();
% } else {
var viewer = new RT.LifecycleViewer();
% }
viewer.initializeViewer(container, name, config, ticketStatus);
% }
});
});
</script>
</div>
<%ARGS>
$Editing => 0
$Interactive => 0
$Zoomable => 0
$Center => 'origin'
$Lifecycle => undef
$Ticket => undef
</%ARGS>
<%INIT>
$Lifecycle ||= $Ticket->Lifecycle
if $Ticket;
( run in 2.537 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )