make Admin interface into a settings template

This commit is contained in:
Doug Bell 2011-04-13 17:51:18 -05:00
parent c3a2714c93
commit d466e757e4
5 changed files with 16 additions and 193 deletions

View file

@ -42,9 +42,6 @@ sub BUILDARGS {
return { session => $session, @args };
}
# Use the template data located in our DATA block
my $tdata = do { local $/ = undef; <WebGUI::Admin::DATA> };
=head1 METHODS
=cut
@ -823,197 +820,11 @@ sub www_view {
# Asset types for later use
$var->{assetTypesJson} = JSON->new->encode( { $self->getAssetTypes } );
# All this needs to be template attachments
$style->setCss( $url->extras('yui/build/button/assets/skins/sam/button.css'));
$style->setCss( $url->extras('yui/build/menu/assets/skins/sam/menu.css'));
$style->setCss( $url->extras('yui/build/tabview/assets/skins/sam/tabview.css'));
$style->setCss( $url->extras('yui/build/paginator/assets/skins/sam/paginator.css'));
$style->setCss( $url->extras('yui/build/datatable/assets/skins/sam/datatable.css'));
$style->setCss( $url->extras('yui/build/container/assets/skins/sam/container.css'));
$style->setCss( $url->extras('yui/build/autocomplete/assets/skins/sam/autocomplete.css'));
$style->setCss( $url->extras('yui/build/menu/assets/skins/sam/menu.css'));
$style->setCss( $url->extras('yui/build/progressbar/assets/skins/sam/progressbar.css') );
$style->setCss( $url->extras('admin/admin.css'));
$style->setScript($url->extras('yui/build/yahoo-dom-event/yahoo-dom-event.js'));
$style->setScript($url->extras('yui/build/utilities/utilities.js'));
$style->setScript($url->extras('yui/build/element/element-min.js'));
$style->setScript( $url->extras( 'yui/build/paginator/paginator-min.js ' ) );
$style->setScript($url->extras('yui/build/animation/animation-min.js'));
$style->setScript( $url->extras( 'yui/build/datasource/datasource-min.js ' ) );
$style->setScript( $url->extras( 'yui/build/connection/connection-min.js ' ) );
$style->setScript( $url->extras( 'yui/build/datatable/datatable-min.js ' ) );
$style->setScript( $url->extras( 'yui/build/dragdrop/dragdrop-min.js' ) );
$style->setScript( $url->extras( 'yui/build/container/container-min.js' ) );
$style->setScript($url->extras('yui/build/tabview/tabview-min.js'));
$style->setScript($url->extras('yui/build/menu/menu-min.js'));
$style->setScript($url->extras('yui/build/button/button-min.js'));
$style->setScript($url->extras('yui/build/autocomplete/autocomplete-min.js'));
$style->setScript( $url->extras( 'yui/build/json/json-min.js' ) );
$style->setScript( $url->extras( 'yui/build/progressbar/progressbar-min.js' ) );
$style->setScript( $url->extras( 'yui-webgui/build/i18n/i18n.js' ) );
$style->setScript( $url->extras( 'Fork/poll.js' ) );
$style->setScript($url->extras('admin/admin.js'));
# Use the template in our __DATA__ block
my $tmpl = WebGUI::Asset::Template::HTMLTemplate->new( $session );
# Use the blank style
my $output = $style->process( $tmpl->process( $tdata, $var ), "PBtmplBlankStyle000001" );
my $tmpl = WebGUI::Asset::Template->newById( $session, $session->setting->get('templateIdAdmin') );
my $output = $style->process( $tmpl->process( $var ), "PBtmpl0000000000000137" );
return $output;
} ## end sub www_view
1;
__DATA__
<dl id="adminBar" class="accordion-menu">
<dt id="adminConsole" class="a-m-t clickable">^International("admin console","AdminConsole");</dt>
<dd class="a-m-d">
<ul id="admin_list">
<TMPL_LOOP adminPlugins>
<li class="clickable with_icon" style="background-image: url(<tmpl_var icon.small default="^Extras('icon/cog.png');">);">
<TMPL_IF className>
<span onclick="window.admin.requestPlugin({ className : '<tmpl_var className>' })">
<tmpl_var title>
</span>
<TMPL_ELSE>
<a href="<tmpl_var url>" target="view"><tmpl_var title></a>
</TMPL_IF>
</li>
</TMPL_LOOP>
</ul>
</dd>
<!-- placeholder for version tags -->
<dt id="versionTags" class="a-m-t clickable">^International('version tags','VersionTag');</dt>
<dd class="a-m-d">
<div id="versionTagItems"></div>
</dd>
<!-- placeholder for clipboard -->
<dt id="clipboard" class="a-m-t clickable">^International('1082','Asset');</dt>
<dd class="a-m-d">
<input type="checkbox" id="clipboardShowAll" />
<label for="clipboardShowAll" id="clipboardShowAllLabel">^International('show all','WebGUI');</label>
<div id="clipboardItems"></div>
</dd>
<!-- placeholder for asset helpers -->
<dt id="assetHelpers" class="a-m-t clickable">^International('asset helpers','WebGUI');</dt>
<dd id="assetHelpers_pane" class="a-m-d">
<h1 class="with_icon" id="helper_asset_name"></h1>
<ul id="helper_list">
</ul>
<h2 class="with_icon" style="background-image: url(^Extras(icon/clock.png););">^International('history','Asset');</h2>
<ul id="history_list">
</ul>
</dd>
<!-- placeholder for new content menu -->
<dt id="newContent" class="a-m-t clickable">^International('1083','Macro_AdminBar');</dt>
<dd class="a-m-d">
<dl id="newContentBar" class="accordion-menu">
<tmpl_loop newContentTabs>
<dt class="a-m-t clickable" id="<tmpl_var id>"><tmpl_var title></dt>
<dd class="a-m-d"><div class="bd">
<ul class="new_content_list">
<tmpl_loop items>
<li class="clickable with_icon" onclick="window.admin.addNewContent('<tmpl_var url>'); return false" style="background-image: url(<tmpl_var icon default="^Extras('icon/cog.png');">);">
<tmpl_var title>
</li>
</tmpl_loop>
</ul>
</div></dd>
</tmpl_loop>
</dl>
</dd>
</dl>
<div id="wrapper" class="yui-skin-sam">
<div id="infoMessageContainer" style="display: none" >
<div id="infoMessage" class="with_icon" style="background-image: url(^Extras(icon/information.png););"></div>
</div>
<div id="versionTag" style="display: none">
<div style="float: right">
<span href="#" target="view" id="publishTag" class="clickable">^International('publish','VersionTag');</span>
| <span href="#" target="view" id="leaveTag" class="clickable">^International('leave','VersionTag');</span>
</div>
<a href="#" id="editTag" class="with_icon" target="view" style="background-image: ^Extras(icon/tag_blue.png);;"></a>
</div>
<div id="user">
<div style="float: right">
<a href="<tmpl_var homeUrl>">^International('back to site','VersionTag');</a>
| <a href="<tmpl_var logoutUrl>">^International('log out','WebGUI');</a>
</div>
<a href="<tmpl_var userEditUrl>" target="view" class="with_icon" style="background-image: url(^Extras(icon/user.png););">
<tmpl_var userName>
</a>
</div>
<div id="tabBar" class="yui-navset">
<ul class="yui-nav">
<li class="selected"><a href="#tab1"><em>View</em></a></li>
<li><a href="#tab2"><em>Tree</em></a></li>
</ul>
<div id="tab_wrapper">
<div id="locationBar">
<span id="left">
<input type="button" id="backButton" value="&lt;" /><input type="button" id="forwardButton" value="&gt;" />
</span>
<div id="location">
<input type="text" id="locationInput" value="" />
<span id="locationTitle"></span>
</div>
<span id="right">
<input type="button" id="searchDialogButton" value="S" /><input type="button" id="homeButton" value="H" />
</span>
</div>
<div id="tab_content_wrapper">
<div id="yui-tabs" class="yui-content">
<div id="viewTab"><iframe src="<tmpl_var viewUrl>" name="view"></iframe></div>
<div id="treeTab">
<div id="treeCrumbtrail"></div>
<div id="treeDataTableContainer"></div>
<div id="treeBottom">
<div id="treeButtons">
<input type="button" id="treeUpdate" value="^i18n('update');" />
<input type="button" id="treeDelete" value="^i18n('delete');" />
<input type="button" id="treeCut" value="^i18n('cut');" />
<input type="button" id="treeCopy" value="^i18n('copy');" />
<input type="button" id="treeDuplicate" value="^i18n('duplicate');" />
<input type="button" id="treeCreateShortcut" value="^i18n('create shortcut');" />
</div>
<div id="treePagination"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- placeholder for search form
this form is cloned by javascript and placed into the tab div when a
search is requested -->
<div id="searchForm" style="display: none">
<form>
<input type="button" class="searchButton" name="searchButton" value="^International("search","Asset");" />
<input type="text" class="searchKeywords" name="searchKeywords" />
<ul class="searchFilters"></ul>
<input type="button" name="searchFilterAdd" class="searchFilterAdd" value="Add Filter" />
<select name="searchFilterSelect">
<option value="ownerUserId">Owner</option>
<option value="lineage">Parent</option>
<option value="title">Title</option>
<option value="className">Type</option>
</select>
</form>
</div>
</div>
<script type="text/javascript">
YAHOO.util.Event.onDOMReady( function() {
window.admin = new WebGUI.Admin( {
homeUrl : '<tmpl_var homeUrl>',
assetTypes : <tmpl_var assetTypesJson>
} );
document.body.className="yui-skin-sam";
} );
</script>

View file

@ -257,6 +257,15 @@ sub definition {
namespace => 'Asset/Edit',
defaultValue => $setting->get('templateIdAssetEdit') || "yKl2HX76TSuv42vmprFbXQ",
};
push @fields, {
tab => 'ui',
fieldType => 'template',
name => 'templateIdAdmin',
label => $i18n->get('templateIdAdmin label'),
hoverHelp => $i18n->get('templateIdAdmin description'),
namespace => 'Admin',
defaultValue => $setting->get('templateIdAdmin') || "p8g7xlQaTeKSRRDo-_ejSQ",
};
push(@fields, {
tab => "ui",
fieldType => "yesNo",

View file

@ -3145,8 +3145,8 @@ or are under your current version tag.</p>
},
'admin console template' => {
message => q|Admin Console Template|,
lastUpdated =>1118453709,
message => q|Legacy Admin Console Template|,
lastUpdated => 0,
},
'admin console template variables' => {

View file

@ -12,4 +12,7 @@ session->config->addToArrayAfter(
session->config->deleteFromHash( 'adminConsole', 'adminConsoleOff' );
session->config->deleteFromHash( 'adminConsole', 'assets' );
# Add template setting
session->setting->set( 'templateIdAdmin' => 'p8g7xlQaTeKSRRDo-_ejSQ' );
done;