1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-18 20:41:16 +02:00

Merge branch 'dev-css' into dev-dev

This commit is contained in:
Ryan Cramer
2016-11-02 13:09:31 -04:00
72 changed files with 550 additions and 419 deletions

View File

@@ -124,8 +124,8 @@ class AdminThemeDefaultHelpers extends WireData {
$out =
"<div id='head_button'>" .
"<button class='ui-button dropdown-toggle'><i class='fa fa-angle-down'></i> $label</button>" .
"<ul class='dropdown-menu shortcuts' data-at='right bottom+1'>$out</ul>" .
"<button class='ui-button pw-dropdown-toggle'><i class='fa fa-angle-down'></i> $label</button>" .
"<ul class='pw-dropdown-menu pw-dropdown-menu-rounded' data-at='right bottom+1'>$out</ul>" .
"</div>";
return $out;
@@ -286,10 +286,10 @@ class AdminThemeDefaultHelpers extends WireData {
if(!$level && count($children)) {
$out .= "<a href='$p->url' id='topnav-page-$p' data-from='topnav-page-{$p->parent}' class='page-$p- dropdown-toggle'>$title</a>";
$out .= "<a href='$p->url' id='topnav-page-$p' data-from='topnav-page-{$p->parent}' class='page-$p- pw-dropdown-toggle'>$title</a>";
$my = 'left-1 top';
if(in_array($p->name, array('access', 'page', 'module'))) $my = 'left top';
$out .= "<ul class='dropdown-menu topnav' data-my='$my' data-at='left bottom'>";
$out .= "<ul class='pw-dropdown-menu topnav' data-my='$my' data-at='left bottom'>";
if($children instanceof PageArray) foreach($children as $c) {
@@ -308,7 +308,7 @@ class AdminThemeDefaultHelpers extends WireData {
$title = $this->_($c->title);
if(!$title) $title = $c->name;
$out .=
"<li><a class='has-items' data-from='topnav-page-$p' href='$c->url'>$icon$title</a>" .
"<li><a class='pw-has-items' data-from='topnav-page-$p' href='$c->url'>$icon$title</a>" .
"<ul>" . $this->renderTopNavItemArray($c, $moduleInfo['nav']) . "</ul></li>";
} else if(!empty($moduleInfo['useNavJSON'])) {
@@ -317,7 +317,7 @@ class AdminThemeDefaultHelpers extends WireData {
if(!strlen($title)) continue;
$icon = $this->getPageIcon($c);
$out .=
"<li><a class='has-items has-ajax-items' data-from='topnav-page-$p' data-json='{$c->url}navJSON/' " .
"<li><a class='pw-has-items pw-has-ajax-items' data-from='topnav-page-$p' data-json='{$c->url}navJSON/' " .
"href='$c->url'>$icon$title</a><ul></ul></li>";
} else {
@@ -396,7 +396,7 @@ class AdminThemeDefaultHelpers extends WireData {
$out .= "<li><a href='{$p->url}$item[url]'>$icon$label</a></li>";
} else {
$out .=
"<li><a class='has-items has-ajax-items' data-from='topnav-page-$p' data-json='{$p->url}$item[navJSON]' " .
"<li><a class='pw-has-items pw-has-ajax-items' data-from='topnav-page-$p' data-json='{$p->url}$item[navJSON]' " .
"href='{$p->url}$item[url]'>$icon$label</a><ul></ul></li>";
}
}
@@ -452,17 +452,17 @@ class AdminThemeDefaultHelpers extends WireData {
"<i class='fa fa-fw fa-power-off'></i> " . $this->_('Logout') . "</a></li>";
}
$outMobile = "<ul id='topnav-mobile' class='dropdown-menu topnav' data-my='left top' data-at='left bottom'>$outMobile$outTools</ul>";
$outMobile = "<ul id='topnav-mobile' class='pw-dropdown-menu topnav' data-my='left top' data-at='left bottom'>$outMobile$outTools</ul>";
$out .=
"<li>" .
"<a target='_blank' id='tools-toggle' class='dropdown-toggle' href='{$config->urls->root}'>" .
"<a target='_blank' id='tools-toggle' class='pw-dropdown-toggle' href='{$config->urls->root}'>" .
"<i class='fa fa-wrench'></i></a>" .
"<ul class='dropdown-menu topnav' data-my='left top' data-at='left bottom'>" . $outTools .
"<ul class='pw-dropdown-menu topnav' data-my='left top' data-at='left bottom'>" . $outTools .
"</ul></li>";
$out .=
"<li class='collapse-topnav-menu'><a href='$admin->url' class='dropdown-toggle'>" .
"<li class='collapse-topnav-menu'><a href='$admin->url' class='pw-dropdown-toggle'>" .
"<i class='fa fa-lg fa-bars'></i></a>$outMobile</li>";
$this->wire('session')->setFor('AdminThemeDefault', 'topnav', $out);

View File

@@ -17,6 +17,7 @@ if(!isset($content)) $content = '';
$searchForm = $user->hasPermission('page-edit') ? $modules->get('ProcessPageSearch')->renderSearchForm() : '';
$version = $adminTheme->version . 'h';
$config->styles->prepend($config->urls->root . "wire/templates-admin/styles/AdminTheme.css?v=$version");
$config->styles->prepend($config->urls->adminTemplates . "styles/" . ($adminTheme->colors ? "main-$adminTheme->colors" : "main-classic") . ".css?v=$version");
$config->styles->append($config->urls->root . "wire/templates-admin/styles/font-awesome/css/font-awesome.min.css?v=$version");
@@ -30,7 +31,7 @@ $helpers = $this->wire(new AdminThemeDefaultHelpers());
$extras = $adminTheme->getExtraMarkup();
?><!DOCTYPE html>
<html lang="<?php echo $helpers->_('en');
<html class="pw" lang="<?php echo $helpers->_('en');
/* this intentionally on a separate line */ ?>">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
@@ -57,10 +58,12 @@ $extras = $adminTheme->getExtraMarkup();
echo $extras['notices'];
?>
<div id="masthead" class="masthead ui-helper-clearfix">
<div class="container">
<div id="masthead" class="pw-masthead ui-helper-clearfix">
<div class="pw-container container">
<a id='logo' href='<?php echo $config->urls->admin?>'><img width='130' src="<?php echo $config->urls->adminTemplates?>styles/images/logo.png" alt="ProcessWire" /></a>
<a id='logo' href='<?php echo $config->urls->admin?>'>
<img width='130' src="<?php echo $config->urls->adminTemplates?>styles/images/logo.png" alt="ProcessWire" />
</a>
<?php
if($user->isLoggedin()) {
@@ -74,7 +77,7 @@ $extras = $adminTheme->getExtraMarkup();
</div><!--/#masthead-->
<div id='breadcrumbs'>
<div class='container'>
<div class='pw-container container'>
<?php
if($page->process == 'ProcessPageList' || ($page->name == 'lister' && $page->parent->name == 'page')) {
@@ -87,8 +90,8 @@ $extras = $adminTheme->getExtraMarkup();
</div>
</div><!--/#breadcrumbs-->
<div id="content" class="content fouc_fix">
<div class="container">
<div id="content" class="pw-content content pw-fouc-fix">
<div class="pw-container container">
<?php
if($page->body) echo $page->body;
@@ -99,8 +102,8 @@ $extras = $adminTheme->getExtraMarkup();
</div>
</div><!--/#content-->
<div id="footer" class="footer">
<div class="container">
<div id="footer" class="pw-footer footer">
<div class="pw-container container">
<p>
<?php if($user->isLoggedin()): ?>
<span id='userinfo'>

View File

@@ -31,7 +31,7 @@ function hookMarkupPagerNavRender(HookEvent $event) {
if(!isset($options['nextItemLabel'])) {
$options['nextItemLabel'] = "<i class='fa fa-angle-right'></i>";
$options['previousItemLabel'] = "<i class='fa fa-angle-left'></i>";
$options['separatorItemLabel'] = "<span class='detail'>&hellip;</span>";
$options['separatorItemLabel'] = "<span class='pw-detail'>&hellip;</span>";
$event->arguments(1, $options);
}
}

View File

@@ -4,8 +4,8 @@
</div>
</div><!--/#content-->
<div id="footer" class="footer">
<div class="container">
<div id="footer" class="pw-footer">
<div class="pw-container">
<p>ProcessWire <?php echo PROCESSWIRE_INSTALL; ?> &copy; 2016</p>
</div>
</div><!--/#footer-->

View File

@@ -3,7 +3,7 @@ if(!defined("PROCESSWIRE_INSTALL")) die();
if(!isset($title)) $title = 'Title';
if(!isset($formAction)) $formAction = './install.php';
?><!DOCTYPE html>
<html lang="en">
<html class="pw" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex, nofollow" />
@@ -23,27 +23,23 @@ if(!isset($formAction)) $formAction = './install.php';
</head>
<body>
<div id="masthead" class="masthead ui-helper-clearfix">
<div class="container">
<div id="masthead" class="pw-masthead ui-helper-clearfix">
<div class="pw-container">
<a id='logo' target='_blank' href='http://processwire.com'><img width='130' src="wire/modules/AdminTheme/AdminThemeDefault/styles/images/logo.png" alt="ProcessWire" /></a>
</div>
</div><!--/#masthead-->
<div id='breadcrumbs'>
<div class='container'>
<div class='pw-container'>
<ul class='nav'>
<li class='title'><?php echo htmlentities($title, ENT_QUOTES, "UTF-8"); ?></li>
<li class='support'><a target='_blank' href='https://processwire.com/talk/'><i class='fa fa-comments'></i> Need help?</a></li>
</ul>
</div>
</div><!--/#breadcrumbs-->
<div id="content" class="content">
<div class="container">
<div id="content" class="pw-content">
<div class="pw-container">
<?php if($formAction): ?>
<form action='<?php echo htmlentities($formAction, ENT_QUOTES, "UTF-8"); ?>' method='post'>
<?php endif; ?>

View File

@@ -13,7 +13,7 @@ var ProcessWireAdminTheme = {
*/
init: function() {
// fix annoying fouc with this particular button
var $button = $("#head_button > button.dropdown-toggle").hide();
var $button = $("#head_button > button.pw-dropdown-toggle").hide();
this.setupCloneButton();
ProcessWireAdmin.init();
@@ -22,7 +22,7 @@ var ProcessWireAdminTheme = {
var $body = $("body");
if($body.hasClass('hasWireTabs') && $("ul.WireTabs").length == 0) $body.removeClass('hasWireTabs');
$('#content').removeClass('fouc_fix'); // FOUC fix, deprecated
$('#content').removeClass('pw-fouc-fix'); // FOUC fix, deprecated
$body.removeClass("pw-init").addClass("pw-ready");
if($button.length > 0) $button.show();
@@ -41,13 +41,13 @@ var ProcessWireAdminTheme = {
// or buttons in the format button.head_button_clone with an ID attribute.
// var $buttons = $("#content a[id=''] button[id=''], #content button.head_button_clone[id!='']");
// var $buttons = $("#content a:not([id]) button:not([id]), #content button.head_button_clone[id!=]");
var $buttons = $("button.head_button_clone, button.head-button");
var $buttons = $("button.pw-head-button, button.head_button_clone"); // head_button_clone is legacy
// don't continue if no buttons here or if we're in IE
if($buttons.length == 0) return; // || $.browser.msie) return;
var $head = $("#head_button");
if($head.length == 0) $head = $("<div id='head_button'></div>").prependTo("#breadcrumbs .container");
if($head.length == 0) $head = $("<div id='head_button'></div>").prependTo("#breadcrumbs .pw-container");
$buttons.each(function() {
var $t = $(this);
@@ -56,7 +56,7 @@ var ProcessWireAdminTheme = {
if($a.length > 0) {
$button = $t.parent('a').clone(true);
$head.prepend($button);
} else if($t.hasClass('head_button_clone') || $t.hasClass('head-button')) {
} else if($t.hasClass('pw-head-button') || $t.hasClass('head_button_clone')) {
$button = $t.clone(true);
$button.attr('data-from_id', $t.attr('id')).attr('id', $t.attr('id') + '_copy');
//$a = $("<a></a>").attr('href', '#');
@@ -67,7 +67,6 @@ var ProcessWireAdminTheme = {
//$head.prepend($a.append($button));
$head.prepend($button);
}
// if($button.hasClass('dropdown-toggle') && $button.attr('data-dropdown')) { }
});
$head.show();
},

View File

@@ -1 +1 @@
var ProcessWireAdminTheme={init:function(){var b=$("#head_button > button.dropdown-toggle").hide();this.setupCloneButton();ProcessWireAdmin.init();this.setupSearch();this.setupMobile();var a=$("body");if(a.hasClass("hasWireTabs")&&$("ul.WireTabs").length==0){a.removeClass("hasWireTabs")}$("#content").removeClass("fouc_fix");a.removeClass("pw-init").addClass("pw-ready");if(b.length>0){b.show()}},setupCloneButton:function(){if($("body").is(".modal")){return}var b=$("button.head_button_clone, button.head-button");if(b.length==0){return}var a=$("#head_button");if(a.length==0){a=$("<div id='head_button'></div>").prependTo("#breadcrumbs .container")}b.each(function(){var e=$(this);var d=e.parent("a");var c;if(d.length>0){c=e.parent("a").clone(true);a.prepend(c)}else{if(e.hasClass("head_button_clone")||e.hasClass("head-button")){c=e.clone(true);c.attr("data-from_id",e.attr("id")).attr("id",e.attr("id")+"_copy");c.click(function(){$("#"+$(this).attr("data-from_id")).click();return false});a.prepend(c)}}});a.show()},setupSearch:function(){$.widget("custom.adminsearchautocomplete",$.ui.autocomplete,{_renderMenu:function(e,c){var f=this;var d="";$.each(c,function(g,h){if(h.type!=d){e.append("<li class='ui-widget-header'><a>"+h.type+"</a></li>");d=h.type}e.attr("id","ProcessPageSearchAutocomplete");f._renderItemData(e,h)})},_renderItemData:function(c,d){if(d.label==d.template){d.template=""}c.append("<li><a href='"+d.edit_url+"'>"+d.label+" <small>"+d.template+"</small></a></li>")}});var b=$("#ProcessPageSearchQuery");var a=$("#ProcessPageSearchStatus");b.adminsearchautocomplete({minLength:2,position:{my:"right top",at:"right bottom"},search:function(c,d){a.html("<img src='"+ProcessWire.config.urls.modules+"Process/ProcessPageList/images/loading.gif'>")},open:function(c,d){$("#topnav").hide()},close:function(c,d){$("#topnav").show()},source:function(e,c){var d=b.parents("form").attr("data-action")+"for?get=template_label,title&include=all&admin_search="+e.term;$.getJSON(d,function(g){var f=g.matches.length;if(f<g.total){a.text(g.matches.length+"/"+g.total)}else{a.text(f)}c($.map(g.matches,function(h){return{label:h.title,value:h.title,page_id:h.id,template:h.template_label?h.template_label:"",edit_url:h.editUrl,type:h.type}}))})},select:function(c,d){}}).focus(function(){$(this).siblings("label").find("i").hide()}).blur(function(){a.text("");$(this).siblings("label").find("i").show()})},setupMobile:function(){var a=0;var c=0;var b=function(){var h=$("#topnav");var g=$("body");var e=h.height();if(e>50){if(!g.hasClass("collapse-topnav")){g.addClass("collapse-topnav");a=g.width()}}else{if(a>0){var f=g.width();if(g.hasClass("collapse-topnav")&&f>a){g.removeClass("collapse-topnav");a=0}}}h.children(".collapse-topnav-menu").children("a").click(function(){if($(this).is(".hover")){$(this).mouseleave()}else{$(this).mouseenter()}return false});var d=$(".WireTabs");if(d.length<1){return}d.each(function(){var j=$(this);var i=j.height();if(i>65){if(!g.hasClass("collapse-wiretabs")){g.addClass("collapse-wiretabs");c=g.width()}}else{if(c>0){var k=g.width();if(g.hasClass("collapse-wiretabs")&&k>c){g.removeClass("collapse-wiretabs");c=0}}}})};b();$(window).resize(b)}};$(document).ready(function(){ProcessWireAdminTheme.init();$("a.notice-remove","#notices").click(function(){$("#notices").slideUp("fast",function(){$(this).remove()});return false})});
var ProcessWireAdminTheme={init:function(){var b=$("#head_button > button.pw-dropdown-toggle").hide();this.setupCloneButton();ProcessWireAdmin.init();this.setupSearch();this.setupMobile();var a=$("body");if(a.hasClass("hasWireTabs")&&$("ul.WireTabs").length==0){a.removeClass("hasWireTabs")}$("#content").removeClass("pw-fouc-fix");a.removeClass("pw-init").addClass("pw-ready");if(b.length>0){b.show()}},setupCloneButton:function(){if($("body").is(".modal")){return}var b=$("button.pw-head-button, button.head_button_clone");if(b.length==0){return}var a=$("#head_button");if(a.length==0){a=$("<div id='head_button'></div>").prependTo("#breadcrumbs .pw-container")}b.each(function(){var e=$(this);var d=e.parent("a");var c;if(d.length>0){c=e.parent("a").clone(true);a.prepend(c)}else{if(e.hasClass("pw-head-button")||e.hasClass("head_button_clone")){c=e.clone(true);c.attr("data-from_id",e.attr("id")).attr("id",e.attr("id")+"_copy");c.click(function(){$("#"+$(this).attr("data-from_id")).click();return false});a.prepend(c)}}});a.show()},setupSearch:function(){$.widget("custom.adminsearchautocomplete",$.ui.autocomplete,{_renderMenu:function(e,c){var f=this;var d="";$.each(c,function(g,h){if(h.type!=d){e.append("<li class='ui-widget-header'><a>"+h.type+"</a></li>");d=h.type}e.attr("id","ProcessPageSearchAutocomplete");f._renderItemData(e,h)})},_renderItemData:function(c,d){if(d.label==d.template){d.template=""}c.append("<li><a href='"+d.edit_url+"'>"+d.label+" <small>"+d.template+"</small></a></li>")}});var b=$("#ProcessPageSearchQuery");var a=$("#ProcessPageSearchStatus");b.adminsearchautocomplete({minLength:2,position:{my:"right top",at:"right bottom"},search:function(c,d){a.html("<img src='"+ProcessWire.config.urls.modules+"Process/ProcessPageList/images/loading.gif'>")},open:function(c,d){$("#topnav").hide()},close:function(c,d){$("#topnav").show()},source:function(e,c){var d=b.parents("form").attr("data-action")+"for?get=template_label,title&include=all&admin_search="+e.term;$.getJSON(d,function(g){var f=g.matches.length;if(f<g.total){a.text(g.matches.length+"/"+g.total)}else{a.text(f)}c($.map(g.matches,function(h){return{label:h.title,value:h.title,page_id:h.id,template:h.template_label?h.template_label:"",edit_url:h.editUrl,type:h.type}}))})},select:function(c,d){}}).focus(function(){$(this).siblings("label").find("i").hide()}).blur(function(){a.text("");$(this).siblings("label").find("i").show()})},setupMobile:function(){var a=0;var c=0;var b=function(){var h=$("#topnav");var g=$("body");var e=h.height();if(e>50){if(!g.hasClass("collapse-topnav")){g.addClass("collapse-topnav");a=g.width()}}else{if(a>0){var f=g.width();if(g.hasClass("collapse-topnav")&&f>a){g.removeClass("collapse-topnav");a=0}}}h.children(".collapse-topnav-menu").children("a").click(function(){if($(this).is(".hover")){$(this).mouseleave()}else{$(this).mouseenter()}return false});var d=$(".WireTabs");if(d.length<1){return}d.each(function(){var j=$(this);var i=j.height();if(i>65){if(!g.hasClass("collapse-wiretabs")){g.addClass("collapse-wiretabs");c=g.width()}}else{if(c>0){var k=g.width();if(g.hasClass("collapse-wiretabs")&&k>c){g.removeClass("collapse-wiretabs");c=0}}}})};b();$(window).resize(b)}};$(document).ready(function(){ProcessWireAdminTheme.init();$("a.notice-remove","#notices").click(function(){$("#notices").slideUp("fast",function(){$(this).remove()});return false})});

View File

@@ -23,6 +23,7 @@
float: left;
}
#content label .pw-detail,
#content label .detail {
font-weight: normal;
}
@@ -47,7 +48,8 @@
margin-top: 1em;
}
.container {
.container,
.pw-container {
max-width: 1024px;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -504,6 +504,7 @@
$ui-tabs-container-bg: transparentize($subtle-bg, 0.3); /* note same as item nested item list header */
.Inputfields .langTabsContainer,
#content .Inputfields .langTabsContainer {
padding-top: 0;
padding-left: 0;
@@ -595,7 +596,8 @@ $ui-tabs-container-bg: transparentize($subtle-bg, 0.3); /* note same as item nes
margin-bottom: 0;
}
#content.fouc_fix .Inputfields .InputfieldHeader {
.pw-fouc-fix .Inputfields .InputfieldHeader,
#content.pw-fouc-fix .Inputfields .InputfieldHeader {
// don't show right-aligned header icons when page is rendering
.toggle-icon,
.langTabsToggle {

View File

@@ -87,7 +87,7 @@
}
ul.dropdown-menu {
ul.pw-dropdown-menu {
display: none;
}
@@ -223,16 +223,16 @@
display: none;
}
.has-items-icon {
.pw-has-items-icon {
float: right;
position: relative;
top: 4px;
}
.pw-button-dropdown,
.dropdown-menu-rounded,
.dropdown-menu-rounded ul,
.dropdown-menu.shortcuts {
.pw-dropdown-menu-rounded,
.pw-dropdown-menu-rounded ul,
.pw-dropdown-menu.pw-dropdown-shortcuts {
border-radius: 5px !important;
li:first-child > a {

View File

@@ -3,7 +3,7 @@
*
*/
.content {
.pw-content {
/**
* Actions: like the "|edit|view|new" in the PageList

View File

@@ -1,4 +1,4 @@
.content {
.pw-content {
/**
* Pagination

View File

@@ -1,4 +1,4 @@
.content {
.pw-content {
table th,
table th.header,
@@ -18,7 +18,7 @@
.AdminDataList {
margin-top: 0;
.container > & {
.pw-container > & {
margin-top: 1em;
}

View File

@@ -26,7 +26,8 @@
*
*/
.content {
.content,
.pw-content {
.ui-widget-content a {
color: $link-color;
}
@@ -67,8 +68,8 @@
color: $reverse-text-color;
}
.ui-accordion-content,
.content .InputfieldForm .ui-accordion-content,
.content .InputfieldForm .InputfieldMarkup .ui-accordion-content {
.pw-content .InputfieldForm .ui-accordion-content,
.pw-content .InputfieldForm .InputfieldMarkup .ui-accordion-content {
margin-top: 0;
padding-top: 0;
}
@@ -415,7 +416,7 @@ body.hidpi-device .ui-slider .ui-slider-handle {
}
}
.dropdown-menu {
.pw-dropdown-menu {
/* dropdown menu for admin theme */
display: none;
border-radius: 0 !important;

View File

@@ -4,6 +4,7 @@
*
*/
.WireTabs,
#content .WireTabs {
position: relative;
top: (-1 * $tabs-height);

View File

@@ -192,7 +192,7 @@ $no-ghost-error-icon-color: $no-ghost-error-color;
*
*/
.dropdown-menu a.on {
.pw-dropdown-menu a.on {
color: $text-color;
}

View File

@@ -48,12 +48,14 @@ body {
font-family: $regular-font;
}
.container,
.pw-container,
.container,
.ui-dialog {
line-height: $base-line-height;
font-size: $base-font-size;
}
.pw-container,
.container {
position: relative;
width: 95%;
@@ -94,51 +96,30 @@ code {
font-size: 14px;
}
.description {
.pw-description, .description {
color: $medium-text-color;
margin: 0.5em 0;
@include word-wrap();
}
.notes,
.detail {
.pw-notes, .notes,
.pw-detail, .detail {
color: $medium-text-color;
font-size: 0.875em;
line-height: 1.5em;
}
.notes {
.pw-notes, .notes {
background: $notes-bg;
@include word-wrap();
}
.description strong,
.notes strong {
.pw-description strong, .description strong,
.pw-notes strong .notes strong {
color: $medium-text-color;
font-weight: $bold-weight;
}
.align_left,
.align-left {
float: left;
margin: 0 1em 0.5em 0;
}
.align_right,
.align-right {
float: right;
margin: 0 0 0.5em 1em;
}
.align_center,
.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
.error {
.pw-error, .error {
background: $error-bg;
color: $error-color;
font-weight: $bold-weight;
@@ -153,15 +134,6 @@ code {
z-index: 9999;
}
.pw-no-select {
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-o-user-select: none;
user-select: none; /* prevent selection of this element */
}
/***********************************************************************************************
* CONTENT
*
@@ -175,7 +147,7 @@ code {
z-index: 0;
background: $text-bg;
.container {
.pw-container, .container {
min-height: 50px;
> form,
@@ -186,7 +158,7 @@ code {
}
}
.content {
.pw-content, .content {
/* any content area that you want to inherit these general use styles */
img {
@@ -254,7 +226,7 @@ code {
dl {
margin: 1em 0;
}
.container > dl:first-child {
.pw-container > dl:first-child {
margin-top: 0;
}
dt,
@@ -309,7 +281,7 @@ code {
#debug {
// margin-top: 2em;
.container {
.pw-container {
width: 100%;
}
@@ -359,7 +331,7 @@ code {
body.modal {
.container {
.pw-container, .container {
margin: 0;
width: 100%;
min-width: 300px;
@@ -377,7 +349,7 @@ body.modal {
}
}
.content h2 {
.pw-content h2 {
margin: 1em 0 0.5em 0;
font-size: 1.3em;
}
@@ -412,7 +384,7 @@ body.modal-inline {
#content {
padding-bottom: 0;
}
.container {
.pw-container, .container {
padding-left: 0;
padding-right: 0;
}
@@ -435,21 +407,21 @@ body.id-23 #content form {
margin-top: 1em;
}
#content .container > form,
#content .container > .ui-helper-clearfix > form {
#content .pw-container > form,
#content .pw-container > .ui-helper-clearfix > form {
/* for wiretabs and/or forms to line up with headline area */
top: $form-top-margin-adjustment;
}
body:not(.hasWireTabs) #headline .container {
body:not(.hasWireTabs) #headline .pw-container {
min-height: 40px;
}
.content > .container > #PageListContainer {
.pw-content > .pw-container > #PageListContainer {
margin-top: 0;
}
.hasWireTabs .content #fieldgroupContext {
.hasWireTabs .pw-content #fieldgroupContext {
/* context selection in field editor */
top: -2.25em;
right: 0;
@@ -558,7 +530,7 @@ body:not(.hasWireTabs) #headline .container {
display: block;
}
.container {
.pw-container, .container {
width: 100%;
}
#footer #userinfo {

View File

@@ -124,11 +124,11 @@ class AdminThemeRenoHelpers extends AdminThemeDefaultHelpers {
"class" => "superuser",
"label" => "<i class='fa fa-bolt'></i>",
"children" => array(
"<i class='fa fa-life-ring'></i> " . $this->_('Support Forums') => array('http://processwire.com/talk/', 'target="_blank"'),
"<i class='fa fa-life-ring'></i> " . $this->_('Support Forums') => array('https://processwire.com/talk/', 'target="_blank"'),
"<i class='fa fa-book'></i> " . $this->_('Documentation') => array('https://processwire.com/docs/', 'target="_blank"'),
"<i class='fa fa-github'></i> " . $this->_('Github Repo') => array('https://github.com/ryancramerdesign/ProcessWire/', 'target="_blank"'),
"<i class='fa fa-github'></i> " . $this->_('Github Repo') => array('https://github.com/processwire/processwire/', 'target="_blank"'),
"<i class='fa fa-code'></i> " . $this->_('Cheatsheet') => array('http://cheatsheet.processwire.com', 'target="_blank"'),
"<i class='fa fa-anchor'></i> " . $this->_('Captain Hook') => array('http://processwire.com/api/hooks/captain-hook/', 'target="_blank"'),
"<i class='fa fa-anchor'></i> " . $this->_('Hooks') => array('https://processwire.com/api/hooks/', 'target="_blank"'),
)
);
}
@@ -181,7 +181,7 @@ class AdminThemeRenoHelpers extends AdminThemeDefaultHelpers {
}
// Add dropdown class if there are children
if($children) $class .= " dropdown";
if($children) $class .= " pw-dropdown";
$out .= "<li class='$class'><a href='$link' $attrs>$label</a>";
if (is_array($children)){

View File

@@ -29,6 +29,7 @@ $colorFile = file_exists($config->paths->adminTemplates . $defaultColors) ? $con
// Styles
$config->styles->prepend($colorFile . "?v=" . $version);
$config->styles->prepend($config->urls->root . "wire/templates-admin/styles/AdminTheme.css?v=$version");
$config->styles->append($config->urls->root . "wire/templates-admin/styles/font-awesome/css/font-awesome.min.css?v=$version");
// Scripts
@@ -42,7 +43,7 @@ $extras = $adminTheme->getExtraMarkup();
?>
<!DOCTYPE html>
<html class="<?php echo $helpers->renderBodyClass(); ?>" lang="<?php echo $helpers->_('en');
<html class="pw <?php echo $helpers->renderBodyClass(); ?>" lang="<?php echo $helpers->_('en');
/* this intentionally on a separate line */ ?>">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
@@ -72,7 +73,7 @@ $extras = $adminTheme->getExtraMarkup();
<a href="#" class='main-nav-toggle'><i class="fa fa-bars"></i></a>
<div id="masthead" class="masthead ui-helper-clearfix">
<div id="masthead" class="pw-masthead masthead ui-helper-clearfix">
<?php echo $extras['masthead']; ?>
@@ -107,7 +108,7 @@ $extras = $adminTheme->getExtraMarkup();
<h1 id="title"><?php echo $helpers->getHeadline(); ?></h1>
</div>
<div id="content" class="content fouc_fix">
<div id="content" class="pw-content content pw-fouc-fix">
<?php
if($page->body) echo $page->body;
@@ -117,7 +118,7 @@ $extras = $adminTheme->getExtraMarkup();
</div>
<div id="footer" class="footer">
<div id="footer" class="pw-footer footer">
<p>
<?php if(!$user->isGuest()): ?>
<span id="userinfo">

View File

@@ -24,7 +24,7 @@ var ProcessWireAdminTheme = {
var $body = $("body");
var $html = $("html");
if($body.hasClass('hasWireTabs') && $("ul.WireTabs").length == 0) $body.removeClass('hasWireTabs');
$('#content').removeClass('fouc_fix'); // FOUC fix, deprecated
$('#content').removeClass('pw-fouc-fix'); // FOUC fix, deprecated
$body.removeClass('pw-init').addClass('pw-ready');
$html.removeClass('pw-init').addClass('pw-ready');
// this.browserCheck();
@@ -258,7 +258,7 @@ var ProcessWireAdminTheme = {
// if there are buttons in the format "a button" without ID attributes, copy them into the masthead
// or buttons in the format button.head_button_clone with an ID attribute.
// var $buttons = $("#content a[id=''] button[id=''], #content button.head_button_clone[id!='']");
var $buttons = $("button.head_button_clone, button.head_button, button.head-button");
var $buttons = $("button.pw-head-button, button.head_button_clone");
// don't continue if no buttons here or if we're in IE
if($buttons.length == 0 || $.browser.msie) return;
@@ -273,7 +273,7 @@ var ProcessWireAdminTheme = {
//$head.prepend($button);
$head.append($button);
// } else if($t.is('.head_button_clone')) {
} else if($t.hasClass('head_button_clone') || $t.hasClass('head-button')) {
} else if($t.hasClass('head_button_clone') || $t.hasClass('pw-head-button')) {
$button = $t.clone();
$button.attr('data-from_id', $t.attr('id')).attr('id', $t.attr('id') + '_copy');
//$a = $("<a></a>").attr('href', '#');
@@ -425,83 +425,20 @@ var ProcessWireAdminTheme = {
setupDropdowns: function() {
$('#masthead li.dropdown > a').on('click', function(e){
$('#masthead li.pw-dropdown > a').on('click', function(e){
$(this).next("ul").toggleClass('open');
$(this).parent().siblings().find('ul.open').removeClass('open');
return false;
});
$('#masthead li.dropdown > ul li a').on('click', function(e){
$('#masthead li.pw-dropdown > ul li a').on('click', function(e){
e.stopPropagation();
});
$(document).on('click', function(){
$('#masthead li.dropdown ul').removeClass('open');
$('#masthead li.pw-dropdown ul').removeClass('open');
});
/*
$("ul.dropdown-menu").each(function() {
var $ul = $(this).hide();
var $a = $ul.siblings(".dropdown-toggle");
if($a.is("button")) {
$a.button();
} else {
$ul.css({ 'border-top-right-radius': 0 });
}
// hide nav when an item is selected to avoid the whole nav getting selected
$ul.find('a').click(function() {
$ul.hide();
return true;
});
$ul.find(".has-items").each(function() {
var $icon = $("<i class='has-items-icon fa fa-angle-right ui-priority-secondary'></i>");
$(this).prepend($icon);
});
var lastOffset = null;
$a.mouseenter(function() {
var offset = $a.offset();
if(lastOffset != null) {
if(offset.top != lastOffset.top || offset.left != lastOffset.left) {
// dropdown-toggle has moved, destroy and re-create
$ul.menu('destroy').removeClass('dropdown-ready');
}
}
if(!$ul.hasClass('dropdown-ready')) {
$ul.css('position', 'absolute');
$ul.prependTo($('body')).addClass('dropdown-ready').menu();
var position = { my: 'right top', at: 'right bottom', of: $a };
var my = $ul.attr('data-my');
var at = $ul.attr('data-at');
if(my) position.my = my;
if(at) position.at = at;
$ul.position(position).css('z-index', 200);
}
$a.addClass('hover');
$ul.show();
lastOffset = offset;
}).mouseleave(function() {
setTimeout(function() {
if($ul.is(":hover")) return;
$ul.find('ul').hide();
$ul.hide();
$a.removeClass('hover');
}, 50);
});
$ul.mouseleave(function() {
if($a.is(":hover")) return;
$ul.hide();
$a.removeClass('hover');
});
});
*/
},
setupSideBarToggle: function() {
@@ -569,7 +506,7 @@ var ProcessWireAdminTheme = {
*/
browserCheck: function() {
if($.browser.msie && $.browser.version < 8)
$("#content .container").html("<h2>ProcessWire does not support IE7 and below at this time. Please try again with a newer browser.</h2>").show();
$("#content .pw-container").html("<h2>ProcessWire does not support IE7 and below at this time. Please try again with a newer browser.</h2>").show();
}
};

File diff suppressed because one or more lines are too long

View File

@@ -97,7 +97,7 @@ body,
font-size: $base-font-size;
}
.container {
.pw-container {
position: relative;
width: 100%;
max-width: $container-max-width;
@@ -278,11 +278,11 @@ body.id-23 {
padding: 1.8em 1.5em 3.5em 1.5em;
width: 100%;
}
#content .container {
#content .pw-container {
min-height: 50px;
}
#content .container > form,
#content .container > .ui-helper-clearfix > form {
#content .pw-container > form,
#content .pw-container > .ui-helper-clearfix > form {
position: relative;
top: -1px;
}
@@ -343,7 +343,7 @@ ul.action-group{
}
}
.content {
.pw-content {
img {
display: block;
@@ -371,7 +371,7 @@ ul.action-group{
font-size: 0.8em;
}
.container > table.AdminDataList {
.pw-container > table.AdminDataList {
margin-top: 1em;
}
@@ -513,7 +513,7 @@ ul.action-group{
dl {
margin: 1em 0;
}
.container > dl:first-child {
.pw-container > dl:first-child {
margin-top: 0;
}
dt,
@@ -951,7 +951,7 @@ body.modal-inline #ProcessListerResults {
#debug {
.container {
.pw-container {
width: 100%;
}
@@ -1000,7 +1000,7 @@ html.modal, body.modal {
body.modal {
.container {
.pw-container {
margin: 0;
width: 100%;
min-width: 300px;
@@ -1017,7 +1017,7 @@ body.modal {
padding: 0 20px 20px 20px;
}
.content h2 {
.pw-content h2 {
margin: 1em 0;
font-size: 1.2em;
color: $medium-text-color;
@@ -1042,7 +1042,7 @@ body.modal {
display: none;
}
& .content #fieldgroupContext {
& .pw-content #fieldgroupContext {
/* context selection in field editor */
top: 0 ;
right: 1.5em;
@@ -1055,7 +1055,7 @@ body.modal-inline {
#content {
padding: 0;
}
.container {
.pw-container {
padding-left: 0;
padding-right: 0;
}
@@ -1074,21 +1074,21 @@ body.id-8:not(.hasUrlSegments) #breadcrumbs ul li:not(:first-child):not(:last-ch
display: none;
}
#content .container > form,
#content .container > .ui-helper-clearfix > form {
#content .pw-container > form,
#content .pw-container > .ui-helper-clearfix > form {
/* for wiretabs and/or forms to line up with headline area */
top: $form-top-margin-adjustment;
}
body:not(.hasWireTabs) #headline .container {
body:not(.hasWireTabs) #headline .pw-container {
min-height: 40px;
}
.content > .container > #PageListContainer {
.pw-content > .pw-container > #PageListContainer {
margin-top: 0;
}
.content #fieldgroupContext {
.pw-content #fieldgroupContext {
/* context selection in field editor */
top: 1.5em;
right: 1.5em;
@@ -1195,7 +1195,7 @@ body.pw-init .toggle-icon {
display: inline-block;
}
#masthead #topnav li.dropdown:not(.superuser) > a:after{
#masthead #topnav li.pw-dropdown:not(.superuser) > a:after{
margin-left: 3px;
}
@@ -1220,7 +1220,7 @@ body.pw-init .toggle-icon {
margin-left: 0 !important;
}
.container {
.pw-container {
width: 100%;
}
#footer #userinfo {

View File

@@ -94,7 +94,7 @@
padding-left: 0;
}
.container {
.pw-container {
line-height: 1;
}
@@ -165,7 +165,7 @@
}
& li.dropdown{
& li.pw-dropdown{
position: relative;
&:not(.superuser) > a:after{
@@ -287,7 +287,7 @@
*
*/
.dropdown-menu {
.pw-dropdown-menu {
display: none;
position: relative;
z-index: 100;
@@ -303,7 +303,7 @@
display: none;
}
.has-items-icon {
.pw-has-items-icon {
float: right;
position: relative;
right: 0.5em;
@@ -311,8 +311,8 @@
}
// add-new dropdown
&.dropdown-menu-rounded,
&.shortcuts {
&.pw-dropdown-menu-rounded,
&.pw-dropdown-shortcuts {
min-width: 200px;
padding: 0.3em 0 0.3em 0;
background: $dropdown-bg;

View File

@@ -73,7 +73,7 @@
border: none;
border-bottom: 1px solid $no-border-color;
}
.container {
.pw-container {
margin-left: 0.5em;
margin-right: 1em;
max-width: 100%;

View File

@@ -1,6 +1,6 @@
// When PW 2.5 support no longer needed, please replace this file with _pagination-2.6.scss
body .content{
body .pw-content{
.MarkupPagerNav {
list-style: none;
margin: 0;

View File

@@ -43,7 +43,8 @@
*
*/
.content {
.content,
.pw-content {
.ui-widget-content a {
color: $link-color;
@@ -88,8 +89,10 @@
}
}
.ui-accordion-content,
.content .InputfieldForm .ui-accordion-content,
.content .InputfieldForm .InputfieldMarkup .ui-accordion-content {
.pw-content .InputfieldForm .ui-accordion-content,
.pw-content .InputfieldForm .InputfieldMarkup .ui-accordion-content,
.content .InputfieldForm .ui-accordion-content, // TBD
.content .InputfieldForm .InputfieldMarkup .ui-accordion-content { // TBD
margin-top: 0;
padding-top: 0;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -35,7 +35,7 @@
display: inline;
}
.fouc_fix .InputfieldAsmSelect select[multiple] {
.pw-fouc-fix .InputfieldAsmSelect select[multiple] {
display: none;
}

View File

@@ -2,72 +2,53 @@
* Note that #content precedes inline (permanent calendars), not the ones displayed on focus or click
*
*/
#content .ui-datepicker {
font-size: 1.1em;
}
#content .ui-datepicker-calendar {
margin-top: 0;
}
.pw-content .ui-datepicker, #content .ui-datepicker {
font-size: 1.1em; }
.pw-content .ui-datepicker-calendar, #content .ui-datepicker-calendar {
margin-top: 0; }
.pw-content .ui-datepicker-inline, #content .ui-datepicker-inline {
padding-bottom: 0.5em; }
.ui-timepicker-div .ui-widget-header,
#content .ui-timepicker-div .ui-widget-header {
margin-bottom: 8px;
}
#content .ui-timepicker-div .ui-widget-header {
margin-bottom: 8px; }
.ui-timepicker-div dl,
#content .ui-timepicker-div dl {
text-align: left;
border: none;
margin: 0;
padding: 0 0 0 5px; }
.ui-timepicker-div dl dt,
#content .ui-timepicker-div dl dt {
height: 25px;
margin-bottom: -25px;
padding-top: 0;
border: none;
font-weight: normal; }
.ui-timepicker-div dl dd,
#content .ui-timepicker-div dl dd {
margin: 0 10px 10px 65px;
padding: 0; }
.ui-timepicker-div td,
#content .ui-timepicker-div td {
font-size: 90%; }
#content .ui-timepicker-div dl,
.ui-timepicker-div dl {
text-align: left;
border: none;
margin: 0;
padding: 0 0 0 5px;
}
#content .ui-timepicker-div dl dt,
.ui-timepicker-div dl dt {
height: 25px;
margin-bottom: -25px;
padding-top: 0;
border: none;
font-weight: normal;
}
#content .ui-timepicker-div dl dd,
.ui-timepicker-div dl dd {
margin: 0 10px 10px 65px;
padding: 0;
}
#content .ui-timepicker-div td,
.ui-timepicker-div td {
font-size: 90%;
}
#content .ui-tpicker-grid-label,
.ui-tpicker-grid-label {
background: none;
border: none;
margin: 0;
padding: 0;
}
#content .ui-datepicker-inline {
padding-bottom: 0.5em;
}
.ui-tpicker-grid-label,
#content .ui-tpicker-grid-label {
background: none;
border: none;
margin: 0;
padding: 0; }
#ui-datepicker-div {
/* hide the datepicker div, which shows up at the bottom of the form if not hidden */
/* also set default type sizes, since it displays too large otherwise */
font-size: 12px;
line-height: 14px;
display: none;
}
/* hide the datepicker div, which shows up at the bottom of the form if not hidden */
/* also set default type sizes, since it displays too large otherwise */
font-size: 12px;
line-height: 14px;
display: none; }
button.ui-datepicker-trigger {
/* tweak to datepicker trigger */
margin: 0 0 0 0.5em;
}
/* tweak to datepicker trigger */
margin: 0 0 0 0.5em; }
/*# sourceMappingURL=InputfieldDatetime.css.map */

View File

@@ -0,0 +1,67 @@
/**
* Note that #content precedes inline (permanent calendars), not the ones displayed on focus or click
*
*/
.pw-content, #content {
.ui-datepicker {
font-size: 1.1em;
}
.ui-datepicker-calendar {
margin-top: 0;
}
.ui-datepicker-inline {
padding-bottom: 0.5em;
}
}
.ui-timepicker-div,
#content .ui-timepicker-div {
.ui-widget-header {
margin-bottom: 8px;
}
dl {
text-align: left;
border: none;
margin: 0;
padding: 0 0 0 5px;
dt {
height: 25px;
margin-bottom: -25px;
padding-top: 0;
border: none;
font-weight: normal;
}
dd {
margin: 0 10px 10px 65px;
padding: 0;
}
}
td {
font-size: 90%;
}
}
.ui-tpicker-grid-label,
#content .ui-tpicker-grid-label {
background: none;
border: none;
margin: 0;
padding: 0;
}
#ui-datepicker-div {
/* hide the datepicker div, which shows up at the bottom of the form if not hidden */
/* also set default type sizes, since it displays too large otherwise */
font-size: 12px;
line-height: 14px;
display: none;
}
button.ui-datepicker-trigger {
/* tweak to datepicker trigger */
margin: 0 0 0 0.5em;
}

View File

@@ -3,12 +3,12 @@
position: relative;
cursor: move; }
.content .InputfieldFile.InputfieldItemListCollapse ul.InputfieldFileList > li,
.pw-content .InputfieldFile.InputfieldItemListCollapse ul.InputfieldFileList > li,
.Inputfields > li.InputfieldHasFileList.InputfieldRenderValueMode > .InputfieldContent > ul.InputfieldFileList > li,
.Inputfields > li.InputfieldFile.InputfieldItemListCollapse > .InputfieldContent > ul.InputfieldFileList > li {
margin-bottom: 0.25em; }
.content .Inputfields > .InputfieldItemList > .InputfieldContent > ul.InputfieldFileList > li:last-child {
.pw-content .Inputfields > .InputfieldItemList > .InputfieldContent > ul.InputfieldFileList > li:last-child {
margin-bottom: 0; }
.InputfieldItemList .InputfieldContent.ui-state-hover {
@@ -144,6 +144,7 @@ ul.InputfieldFileListBlank + p.description {
cursor: inherit;
width: 100%; }
.pw-content ul.InputfieldFileList li .langTabs > ul,
#content ul.InputfieldFileList li .langTabs > ul {
padding-left: 0; }

View File

@@ -4,13 +4,13 @@
cursor: move;
}
.content .InputfieldFile.InputfieldItemListCollapse ul.InputfieldFileList > li,
.pw-content .InputfieldFile.InputfieldItemListCollapse ul.InputfieldFileList > li,
.Inputfields > li.InputfieldHasFileList.InputfieldRenderValueMode > .InputfieldContent > ul.InputfieldFileList > li,
.Inputfields > li.InputfieldFile.InputfieldItemListCollapse > .InputfieldContent > ul.InputfieldFileList > li {
// items that have no text inputs or items that are in render value mode
margin-bottom: 0.25em;
}
.content .Inputfields > .InputfieldItemList > .InputfieldContent > ul.InputfieldFileList > li:last-child {
.pw-content .Inputfields > .InputfieldItemList > .InputfieldContent > ul.InputfieldFileList > li:last-child {
// last item needs no margin
margin-bottom: 0;
}
@@ -199,6 +199,7 @@ ul.InputfieldFileListBlank + p.description {
// multi-language -----------------------------------------------------------
.pw-content ul.InputfieldFileList li .langTabs > ul,
#content ul.InputfieldFileList li .langTabs > ul {
padding-left: 0;
}

View File

@@ -1,14 +1,14 @@
.content .InputfieldPageAutocomplete p {
.pw-content .InputfieldPageAutocomplete p {
margin: 0;
}
.content .InputfieldPageAutocomplete ol {
.pw-content .InputfieldPageAutocomplete ol {
margin: 0;
list-style: none;
}
.content .InputfieldPageAutocomplete ol li {
.pw-content .InputfieldPageAutocomplete ol li {
/* li item from the html list above */
position: relative;
margin: 0 0 1px 0;
@@ -28,7 +28,7 @@
left: 3px;
opacity: 0.7;
}
.content .InputfieldPageAutocomplete ol li:last-child {
.pw-content .InputfieldPageAutocomplete ol li:last-child {
margin-bottom: 0.5em;
}

View File

@@ -6,6 +6,9 @@
* ProcessWire 3.x, Copyright 2016 by Ryan Cramer
* https://processwire.com
* License: MPL 2.0
*
* @property bool $header Whether or not button will also appear in header.
* @property bool $secondary Whether or not button is secondary.
*
*/
class InputfieldSubmit extends Inputfield {
@@ -42,6 +45,72 @@ class InputfieldSubmit extends Inputfield {
// name of 'hidden' input that will receive the clicked dropdown item value
$this->set('dropdownInputName', '_action_value');
}
public function set($key, $value) {
if($key == 'header') {
$this->showInHeader($value);
} else if($key == 'secondary') {
$this->setSecondary($value);
}
return parent::set($key, $value);
}
public function get($key) {
if($key == 'header') return $this->hasClass('pw-head-button');
if($key == 'secondary') return $this->hasClass('ui-priority-secondary');
return parent::get($key);
}
/**
* Show another copy of this button in the header?
*
* @param bool $show True=yes, false=no (default=true)
* @return $this
*
*/
public function showInHeader($show = true) {
if($show) {
$this->addClass('pw-head-button');
} else {
$this->removeClass('pw-head-button');
}
return $this;
}
/**
* Make this button secondary? (slightly faded)
*
* Note: by default, buttons are not secondary
*
* @param bool $secondary Default=true
* @return $this
*
*/
public function setSecondary($secondary = true) {
if($secondary) {
$this->addClass('ui-priority-secondary');
} else {
$this->removeClass('ui-priority-secondary');
}
}
/**
* Render ready
*
* @param Inputfield|InputfieldWrapper|null The parent InputfieldWrapper that is rendering it, or null if no parent.
* @param bool $renderValueMode Specify true only if this is for `Inputfield::renderValue()` rather than `Inputfield::render()`.
* @return bool True if assets were just added, false if already added.
*
*/
public function renderReady(Inputfield $parent = null, $renderValueMode = false) {
$class = $this->attr('class');
if(strpos($class, 'head_button_clone') !== false) {
// if legacy class name used, convert to updated pw- class name to accomodate 3rd party usages
$class = str_replace('head_button_clone', 'pw-head-button', $class);
$this->attr('class', $class);
}
return parent::renderReady($parent, $renderValueMode);
}
/**
* Render the button
@@ -90,7 +159,7 @@ class InputfieldSubmit extends Inputfield {
$out .= "<li><a href='$item[value]'>";
} else {
// populate hidden input with value before submit
$out .= "<li><a data-dropdown-value='$item[value]' href='#'>";
$out .= "<li><a data-pw-dropdown-value='$item[value]' href='#'>";
$numValues++;
}
// icon to accompany label
@@ -106,7 +175,7 @@ class InputfieldSubmit extends Inputfield {
// there are values that can be populated to a hidden input
$inputID = $dropdownID . '_value';
$out = "<input type='hidden' name='{$this->dropdownInputName}' id='$inputID' value='' />" .
str_replace("<ul ", "<ul data-dropdown-input='#$inputID' ", $out);
str_replace("<ul ", "<ul data-pw-dropdown-input='#$inputID' ", $out);
}
// script to initialize this dropdown immediately

View File

@@ -23,7 +23,7 @@ var InputfieldSubmitDropdown = {
if(!$dropdown.length) return true;
$button = $dropdown.data('button');
$button = $dropdown.data('pw-button');
if($a.hasClass('pw-button-dropdown-default')) {
@@ -31,8 +31,8 @@ var InputfieldSubmitDropdown = {
} else {
var value = $a.attr('data-dropdown-value');
var selector = $dropdown.attr('data-dropdown-input');
var value = $a.attr('data-pw-dropdown-value');
var selector = $dropdown.attr('data-pw-dropdown-input');
if(!value) return true;
@@ -92,8 +92,8 @@ var InputfieldSubmitDropdown = {
InputfieldSubmitDropdown.dropdownCnt++;
var dropdownCntClass = 'pw-button-dropdown-' + InputfieldSubmitDropdown.dropdownCnt;
$dropdown.addClass('dropdown-menu pw-dropdown-menu shortcuts pw-button-dropdown-init ' + dropdownCntClass);
$dropdown.data('button', $mainButton);
$dropdown.addClass('pw-dropdown-menu pw-dropdown-menu-rounded pw-button-dropdown-init ' + dropdownCntClass);
$dropdown.data('pw-button', $mainButton);
var $buttonText = $mainButton.find('.ui-button-text');
var labelText = $.trim($buttonText.text());
@@ -126,10 +126,10 @@ var InputfieldSubmitDropdown = {
$mainButton.addClass('pw-button-dropdown-main');
$toggleButton.after($dropdown)
.addClass('dropdown-toggle dropdown-toggle-click pw-dropdown-toggle pw-button-dropdown-toggle')
.attr('data-dropdown', '.' + dropdownCntClass);
.addClass('pw-dropdown-toggle-click pw-dropdown-toggle pw-button-dropdown-toggle')
.attr('data-pw-dropdown', '.' + dropdownCntClass);
if($mainButton.hasClass('ui-priority-secondary')) $toggleButton.addClass('ui-priority-secondary');
if($mainButton.hasClass('head_button_clone')) $toggleButton.addClass('head_button_clone');
if($mainButton.hasClass('pw-head-button')) $toggleButton.addClass('pw-head-button');
$toggleButton.click(function() {
return false;

View File

@@ -1 +1 @@
var InputfieldSubmitDropdown={click:function(){var e=$(this);var b=e.attr("href");var f=e.closest(".pw-button-dropdown");var d;if(!f.length){return true}d=f.data("button");if(e.hasClass("pw-button-dropdown-default")){}else{var c=e.attr("data-dropdown-value");var a=f.attr("data-dropdown-input");if(!c){return true}if(a){var g=$(a);if(!g.length){return true}g.val(c)}else{if(b.length>1){return true}}if(d){d.attr("value",c)}}if(!d){return true}$(":input:focus").blur();d.click();return false},dropdownCnt:0,initDropdown:function(e,d){var c=$("<button><i class='fa fa-angle-down'></i></button>").attr("id","pw-dropdown-toggle-"+d.attr("id"));d.after(c);c.button();var h=null;if(e.hasClass("pw-button-dropdown-template")){h=e;e=h.clone();h.hide()}InputfieldSubmitDropdown.dropdownCnt++;var g="pw-button-dropdown-"+InputfieldSubmitDropdown.dropdownCnt;e.addClass("dropdown-menu pw-dropdown-menu shortcuts pw-button-dropdown-init "+g);e.data("button",d);var a=d.find(".ui-button-text");var b=$.trim(a.text());var f=a.html();e.find("a").each(function(){var j=$(this);if(h){var i=j.html();if(i.indexOf("%s")>-1){j.html(i.replace("%s",b))}}j.click(InputfieldSubmitDropdown.click)});d.addClass("pw-button-dropdown-main");c.after(e).addClass("dropdown-toggle dropdown-toggle-click pw-dropdown-toggle pw-button-dropdown-toggle").attr("data-dropdown","."+g);if(d.hasClass("ui-priority-secondary")){c.addClass("ui-priority-secondary")}if(d.hasClass("head_button_clone")){c.addClass("head_button_clone")}c.click(function(){return false}).on("pw-button-dropdown-off",function(){$(this).siblings(".pw-button-dropdown-main").removeClass("pw-button-dropdown-main").addClass("pw-button-dropdown-disabled");$(this).hide()}).on("pw-button-dropdown-on",function(){$(this).siblings(".pw-button-dropdown-disabled").addClass("pw-button-dropdown-main").removeClass("pw-button-dropdown-disabled");$(this).show()})},init:function(b,c){if($("body").hasClass("touch-device")||$("body").hasClass("modal")){$("ul.pw-button-dropdown").hide();return false}var a=(typeof b=="string")?$(b):b;a.each(function(){var d=$(this);if(typeof c!="undefined"){c.addClass("pw-button-dropdown-template");InputfieldSubmitDropdown.initDropdown(c,d)}else{var e=$("#"+$(this).prop("id")+"_dropdown");if(e.length){InputfieldSubmitDropdown.initDropdown(e,d)}}});return true}};
var InputfieldSubmitDropdown={click:function(){var e=$(this);var b=e.attr("href");var f=e.closest(".pw-button-dropdown");var d;if(!f.length){return true}d=f.data("pw-button");if(e.hasClass("pw-button-dropdown-default")){}else{var c=e.attr("data-pw-dropdown-value");var a=f.attr("data-pw-dropdown-input");if(!c){return true}if(a){var g=$(a);if(!g.length){return true}g.val(c)}else{if(b.length>1){return true}}if(d){d.attr("value",c)}}if(!d){return true}$(":input:focus").blur();d.click();return false},dropdownCnt:0,initDropdown:function(e,d){var c=$("<button><i class='fa fa-angle-down'></i></button>").attr("id","pw-dropdown-toggle-"+d.attr("id"));d.after(c);c.button();var h=null;if(e.hasClass("pw-button-dropdown-template")){h=e;e=h.clone();h.hide()}InputfieldSubmitDropdown.dropdownCnt++;var g="pw-button-dropdown-"+InputfieldSubmitDropdown.dropdownCnt;e.addClass("pw-dropdown-menu pw-dropdown-menu-rounded pw-button-dropdown-init "+g);e.data("pw-button",d);var a=d.find(".ui-button-text");var b=$.trim(a.text());var f=a.html();e.find("a").each(function(){var j=$(this);if(h){var i=j.html();if(i.indexOf("%s")>-1){j.html(i.replace("%s",b))}}j.click(InputfieldSubmitDropdown.click)});d.addClass("pw-button-dropdown-main");c.after(e).addClass("pw-dropdown-toggle-click pw-dropdown-toggle pw-button-dropdown-toggle").attr("data-pw-dropdown","."+g);if(d.hasClass("ui-priority-secondary")){c.addClass("ui-priority-secondary")}if(d.hasClass("pw-head-button")){c.addClass("pw-head-button")}c.click(function(){return false}).on("pw-button-dropdown-off",function(){$(this).siblings(".pw-button-dropdown-main").removeClass("pw-button-dropdown-main").addClass("pw-button-dropdown-disabled");$(this).hide()}).on("pw-button-dropdown-on",function(){$(this).siblings(".pw-button-dropdown-disabled").addClass("pw-button-dropdown-main").removeClass("pw-button-dropdown-disabled");$(this).show()})},init:function(b,c){if($("body").hasClass("touch-device")||$("body").hasClass("modal")){$("ul.pw-button-dropdown").hide();return false}var a=(typeof b=="string")?$(b):b;a.each(function(){var d=$(this);if(typeof c!="undefined"){c.addClass("pw-button-dropdown-template");InputfieldSubmitDropdown.initDropdown(c,d)}else{var e=$("#"+$(this).prop("id")+"_dropdown");if(e.length){InputfieldSubmitDropdown.initDropdown(e,d)}}});return true}};

View File

@@ -24,10 +24,4 @@
font-weight: bold;
border-bottom: 1px dotted #aaa;
}
/*
#content.fouc_fix .WireTab,
#content.fouc_fix .WireTabs li {
visibility: hidden;
}
*/

View File

@@ -1,7 +1,9 @@
.pw-content .langTabsContainer,
#content .langTabsContainer {
padding-bottom: 0;
}
.pw-content .langTabsContainer .InputfieldError,
#content .langTabsContainer .InputfieldError {
margin-bottom: 0;
}

View File

@@ -258,7 +258,7 @@ class ProcessLanguage extends ProcessPageType {
$btn1->href = "{$translationUrl}add/?language_id={$page->id}";
$btn1->value = $this->_('Find Files to Translate');
$btn1->icon = 'plane';
if($inputfield->name == 'language_files') $btn1->addClass('head_button_clone');
if($inputfield->name == 'language_files') $btn1->showInHeader();
$out .= $btn1->render();
if(count($inputfield->attr('value'))) {
@@ -266,7 +266,8 @@ class ProcessLanguage extends ProcessPageType {
$btn2->href = "../download/?language_id={$page->id}&field=" . $inputfield->attr('name');
$btn2->value = $this->_('Download ZIP');
$btn2->icon = 'file-zip-o';
$btn2->addClass('ui-priority-secondary download-button');
$btn2->setSecondary();
$btn2->addClass('download-button');
$out .= $btn2->render();
$btn2->href .= '&csv=1';

View File

@@ -158,10 +158,11 @@ class ProcessLanguageTranslator extends Process {
$out .= $table->render();
}
/** @var InputfieldButton $btn */
$btn = $this->modules->get('InputfieldButton');
$btn->href = $url . 'add/';
$btn->icon = 'plane';
$btn->addClass('head_button_clone');
$btn->showInHeader();
$out .= $btn->render();
return $out;
@@ -271,13 +272,13 @@ class ProcessLanguageTranslator extends Process {
$submit = $this->modules->get("InputfieldSubmit");
$submit->attr('id+name', 'submit_add');
$submit->icon = 'plane';
$submit->addClass('head_button_clone');
$submit->showInHeader();
$form->add($submit);
$submit = $this->modules->get("InputfieldSubmit");
$submit->attr('name', 'submit_refresh');
$submit->attr('value', $this->_('Refresh File List'));
$submit->addClass('ui-priority-secondary');
$submit->setSecondary();
$submit->icon = 'refresh';
$form->add($submit);
@@ -510,7 +511,7 @@ class ProcessLanguageTranslator extends Process {
$submit = $this->modules->get("InputfieldSubmit");
$submit->attr('id+name', 'save_translations');
$submit->value = $this->_x('Save', 'button');
$submit->attr('class', $submit->attr('class') . ' head_button_clone');
$submit->showInHeader();
$submit->addActionValue('exit', $this->_('Save + Exit'), 'times');
$submit->addActionValue('next', $this->_('Save + Next'), 'edit');
$form->add($submit);

View File

@@ -131,27 +131,27 @@
font-weight: bold;
color: #444; }
.content .MarkupPagerNav {
.pw-content .MarkupPagerNav {
padding-top: 0.5em;
float: right; }
.content .MarkupPagerNav + button {
.pw-content .MarkupPagerNav + button {
margin-top: 1em; }
.AdminThemeReno .content .MarkupPagerNav li a,
.AdminThemeReno .content .MarkupPagerNav li:first-child a,
.AdminThemeReno .content .MarkupPagerNav li.MarkupPagerNavOn a {
.AdminThemeReno .pw-content .MarkupPagerNav li a,
.AdminThemeReno .pw-content .MarkupPagerNav li:first-child a,
.AdminThemeReno .pw-content .MarkupPagerNav li.MarkupPagerNavOn a {
border-color: #fff !important;
border: none !important;
border-left: 1px solid #fff !important; }
.AdminThemeReno .content .MarkupPagerNav li {
.AdminThemeReno .pw-content .MarkupPagerNav li {
margin-bottom: 1px; }
.AdminThemeReno .content #CommentListHeader {
.AdminThemeReno .pw-content #CommentListHeader {
border-top: 1px solid #eee; }
.AdminThemeReno .content #CommentListHeader .MarkupPagerNav {
.AdminThemeReno .pw-content #CommentListHeader .MarkupPagerNav {
margin-top: 0.5em; }
@media only screen and (max-width: 960px) {
.content .MarkupPagerNav {
.pw-content .MarkupPagerNav {
float: none; }
#CommentListHeader {

View File

@@ -583,7 +583,7 @@ class ProcessCommentsManager extends Process {
if($cnt) {
$button = $this->modules->get('InputfieldSubmit');
$button->attr('name', 'processComments');
$button->attr('class', $button->attr('class') . ' head_button_clone');
$buton->showInHeader();
$button = $button->render();
} else $button = '';

View File

@@ -203,7 +203,7 @@
color: #444;
}
.content .MarkupPagerNav {
.pw-content .MarkupPagerNav {
padding-top: 0.5em;
float: right;
@@ -212,7 +212,7 @@
}
}
.AdminThemeReno .content {
.AdminThemeReno .pw-content {
.MarkupPagerNav {
// AdminThemeReno pagination looks incorrect here with the "on" item having extra borders
// so this bit of code corrects it. @todo resolve this within AdminThemeReno rather than here
@@ -237,7 +237,7 @@
@media only screen and (max-width: 960px) {
.content .MarkupPagerNav {
.pw-content .MarkupPagerNav {
float: none;
}

View File

@@ -319,7 +319,7 @@ class ProcessField extends Process implements ConfigurableModule {
$button->href = "./add";
$button->value = $this->_x('Add New Field', 'list button');
$button->icon = 'plus-circle';
$button->addClass('head_button_clone');
$button->showInHeader();
$out .= $button->render();
$button = $this->modules->get('InputfieldButton');
@@ -327,7 +327,7 @@ class ProcessField extends Process implements ConfigurableModule {
$button->href = "./import/";
$button->value = $this->labels['import'];
$button->icon = 'paste';
$button->addClass('ui-priority-secondary');
$button->setSecondary();
$out .= $button->render();
$button = $this->modules->get('InputfieldButton');
@@ -335,7 +335,7 @@ class ProcessField extends Process implements ConfigurableModule {
$button->href = "./export/";
$button->value = $this->labels['export'];
$button->icon = 'copy';
$button->addClass('ui-priority-secondary');
$button->setSecondary();
$out .= $button->render();
if($this->input->nosave) {
@@ -807,7 +807,7 @@ class ProcessField extends Process implements ConfigurableModule {
$field = $this->modules->get('InputfieldSubmit');
$field->attr('value', $this->labels['save']);
$field->attr('name', 'submit_save_field');
$field->class .= ' head_button_clone';
$field->showInHeader();
$form->add($field);
if($this->wire('input')->get('process_template')) {
@@ -816,7 +816,7 @@ class ProcessField extends Process implements ConfigurableModule {
$field = $this->modules->get('InputfieldButton');
$field->attr('id+name', 'modal_cancel_button');
$field->attr('value', $this->_x('Cancel', 'button'));
$field->attr('class', $field->attr('class') . ' ui-priority-secondary');
$field->setSecondary();
$form->append($field);
// contains the asm list item status, populated by JS

View File

@@ -291,7 +291,7 @@ class ProcessFieldExportImport extends Wire {
$f = $this->modules->get('InputfieldSubmit');
$f->attr('name', 'submit_commit');
$f->attr('value', $this->_('Commit Changes'));
$f->addClass('head_button_clone');
$f->showInHeader();
$form->add($f);
} else {

View File

@@ -3,11 +3,6 @@ h3.ui-widget-header {
margin-bottom: 0 !important;
font-size: 1.2em;
}
/*
#content h2 {
margin-bottom: 0.5em;
}
*/
table.AdminDataList {
clear: both;

View File

@@ -564,7 +564,7 @@ class ProcessModule extends Process {
$submit = $this->modules->get('InputfieldButton');
$submit->attr('href', './?reset=1');
$submit->attr('id', 'reset_modules');
$submit->attr('class', $submit->attr('class') . ' head_button_clone');
$submit->showInHeader();
$submit->attr('name', 'reset');
$submit->attr('value', $this->labels['reset']);
$submit->icon = $fieldset->icon;
@@ -1249,7 +1249,7 @@ class ProcessModule extends Process {
if(count($form->children)) {
$field = $this->modules->get("InputfieldSubmit");
$field->attr('name', 'submit_save_module');
$field->addClass('head_button_clone');
$field->showInHeader();
$field->addActionValue('exit', sprintf($this->_('%s + Exit'), $field->attr('value')), 'times');
$form->append($field);

View File

@@ -16,9 +16,9 @@
display: inline;
}
.content dl.nav dd ul {
.pw-content dl.nav dd ul {
margin: 0;
}
.content dl.nav dd ul li {
.pw-content dl.nav dd ul li {
margin: 0;
}

View File

@@ -295,7 +295,7 @@ class ProcessPageAdd extends Process implements ConfigurableModule, WirePageEdit
$button = $this->wire('modules')->get('InputfieldButton');
$button->href = $bookmarkItem['url'];
$button->value = $bookmarkItem['label'];
$button->addClass('head_button_clone');
$button->showInHeader();
$button->icon = $bookmarkItem['icon'];
$out .= $button->render();
}
@@ -754,7 +754,7 @@ class ProcessPageAdd extends Process implements ConfigurableModule, WirePageEdit
$field = $this->modules->get('InputfieldSubmit');
$field->attr('name', 'submit_save');
$field->attr('value', $this->_('Save'));
$field->addClass('head_button_clone');
$field->showInHeader();
$form->append($field);
if($numPublishable && !$this->noAutoPublish) {
@@ -767,7 +767,7 @@ class ProcessPageAdd extends Process implements ConfigurableModule, WirePageEdit
$field = $this->modules->get('InputfieldSubmit');
$field->attr('id+name', 'submit_publish');
$field->attr('value', $this->_('Save + Publish'));
$field->addClass('ui-priority-secondary');
$field->setSecondary();
$form->append($field);
}
}

View File

@@ -1,16 +1,16 @@
.content ul.bookmarks {
.pw-content ul.bookmarks {
margin: 1em 0;
}
.content ul.bookmarks li {
.pw-content ul.bookmarks li {
margin: 0;
}
.content ul.bookmarks li.separator {
.pw-content ul.bookmarks li.separator {
border-top: 1px solid #eee;
margin-top: 0.5em;
padding-top: 0.5em;
}
.content ul.bookmarks li .role-name {
.pw-content ul.bookmarks li .role-name {
float: right;
}

View File

@@ -156,7 +156,7 @@ class PageBookmarks extends Wire {
$button->href = "./?role=0";
$button->value = $this->labels['edit-bookmarks'];
$button->icon = 'edit';
$button->addClass('head_button_clone');
$button->showInHeader();
$out .= $button->render();
}
@@ -227,7 +227,7 @@ class PageBookmarks extends Wire {
$submit = $modules->get('InputfieldSubmit');
$submit->attr('name', 'submit_save_bookmarks');
$submit->addClass('head_button_clone');
$submit->showInHeader();
$form->add($submit);
if($this->wire('input')->post('submit_save_bookmarks')) {

View File

@@ -7,16 +7,6 @@
margin: 0 0 1em 0;
}
/**
* To assist in avoiding FOUC
*
* Note the 'js' class is removed after document.ready()
*
#content.fouc_fix #ProcessPageEdit {
padding-top: 2.85em;
}
*/
/**
* Hide the edit/view/move actions for first (current) page since they aren't applicable in this context
*

View File

@@ -462,13 +462,13 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod
$out = str_replace('</form>', "$input</form>", $out);
$out .=
"<ul class='pw-button-dropdown' data-dropdown-input='#after-submit-action' data-my='right top' data-at='right bottom+1'>" .
"<li><a data-dropdown-value='exit' href='#'><i class='fa fa-fw fa-close'></i> " .
"<ul class='pw-button-dropdown' data-pw-dropdown-input='#after-submit-action' data-my='right top' data-at='right bottom+1'>" .
"<li><a data-pw-dropdown-value='exit' href='#'><i class='fa fa-fw fa-close'></i> " .
$this->_('%s + Exit') . "</a></li>";
if($viewable) {
$out .=
"<li><a data-dropdown-value='view' href='#'><i class='fa fa-fw fa-eye'></i> " .
"<li><a data-pw-dropdown-value='view' href='#'><i class='fa fa-fw fa-eye'></i> " .
$this->_('%s + View') . "</a></li>";
}
@@ -476,12 +476,12 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod
$parent = $this->page->parent();
if($parent->addable()) {
$out .=
"<li><a data-dropdown-value='add' href='#'><i class='fa fa-fw fa-plus-circle'></i> " .
"<li><a data-pw-dropdown-value='add' href='#'><i class='fa fa-fw fa-plus-circle'></i> " .
$this->_('%s + Add New') . "</a></li>";
}
if($parent->numChildren > 1) {
$out .=
"<li><a data-dropdown-value='next' href='#'><i class='fa fa-fw fa-edit'></i> " .
"<li><a data-pw-dropdown-value='next' href='#'><i class='fa fa-fw fa-edit'></i> " .
$this->_('%s + Next') . "</a></li>";
}
@@ -492,7 +492,7 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod
if($viewable) {
// this supports code in the buildFormView() method
$out .= "<ul id='_ProcessPageEditViewDropdown' class='dropdown-menu dropdown-menu-rounded' data-my='left top' data-at='left top-9'>";
$out .= "<ul id='_ProcessPageEditViewDropdown' class='pw-dropdown-menu pw-dropdown-menu-rounded' data-my='left top' data-at='left top-9'>";
foreach($this->getViewActions() as $name => $action) {
$out .= "<li class='page-view-action-$name'>$action</li>";
}
@@ -546,7 +546,7 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod
$languageUrls = array();
if($languages) {
$userLanguage = $this->wire('user')->language;
$class .= ' has-items';
$class .= ' pw-has-items';
foreach($languages as $language) {
if(!$this->page->viewable($language)) continue;
$localUrl = $language->id == $userLanguage->id ? $url : $this->page->localHttpUrl($language);
@@ -569,7 +569,7 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod
if(!isset($languageUrls[$language->id])) continue;
$localUrl = $languageUrls[$language->id];
$label = $language->get('title|name');
$_action = str_replace(' has-items', '', $action);
$_action = str_replace(' pw-has-items', '', $action);
$_action = str_replace("'$url'", "'$localUrl'", $_action);
$_action = str_replace(">" . $labels[$name] . "<", ">$label<", $_action);
$_action = str_replace("='$labels[view]'", "='$label'", $_action); // panel language
@@ -578,7 +578,7 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod
$ul .= "</ul>";
$actions[$name] = str_replace('</a>', ' &nbsp;</a>', $actions[$name]) . $ul;
} else {
$actions[$name] = str_replace(' has-items', '', $action);
$actions[$name] = str_replace(' pw-has-items', '', $action);
}
}
@@ -729,7 +729,8 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod
$submit2 = $this->modules->get('InputfieldSubmit');
$submit2->attr('name', 'submit_save');
$submit2->attr('id', 'submit_save_unpublished');
$submit2->class .= ' ui-priority-secondary head_button_clone';
$submit2->showInHeader();
$submit2->setSecondary();
$submit2->attr('value', $this->_('Save + Keep Unpublished')); // Button: save unpublished
}
@@ -749,7 +750,7 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod
$submit = $this->modules->get('InputfieldSubmit');
$submit->attr('id+name', $saveName);
$submit->attr('value', $saveLabel);
$submit->addClass('head_button_clone');
$submit->showInHeader();
$form->append($submit);
}
@@ -1200,7 +1201,7 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod
$a =
"<a id='_ProcessPageEditView' $target href='$url' data-action='$this->viewAction'>$label</a>&nbsp;" .
"<span id='_ProcessPageEditViewDropdownToggle' class='dropdown-toggle' data-dropdown='#_ProcessPageEditViewDropdown'>&nbsp;" .
"<span id='_ProcessPageEditViewDropdownToggle' class='pw-dropdown-toggle' data-pw-dropdown='#_ProcessPageEditViewDropdown'>&nbsp;" .
"<i class='fa fa-angle-down'></i>&nbsp;</span>";
$this->addTab($id, $a);

View File

@@ -34,6 +34,7 @@
position: static !important;
}
.pw-content,
#content {
max-width: 100%;
overflow: hidden;

View File

@@ -95,9 +95,11 @@
top: -15px;
left: 0; }
.pw-content .lister_headline,
#content .lister_headline {
float: left; }
@media only screen and (max-width: 767px) {
.pw-content .lister_headline,
#content .lister_headline {
float: none;
clear: both; } }

View File

@@ -1736,7 +1736,7 @@ class ProcessPageLister extends Process implements ConfigurableModule {
}
$btn->attr('value', $this->_('Add New'));
$btn->href = $this->addURL . $action;
$btn->addClass('head_button_clone');
$btn->showInHeader();
$btn->icon = 'plus-circle';
$out = str_replace("<a ", "<a class='$btnClass' ", $btn->render());
if($this->editMode == self::windowModeBlank) $out = str_replace("<a " ,"<a target='_blank' ", $out);

View File

@@ -161,6 +161,7 @@
}
}
.pw-content .lister_headline,
#content .lister_headline {
float: left;
@media only screen and (max-width: 767px) {

View File

@@ -116,7 +116,7 @@ class ProcessProfile extends Process implements ConfigurableModule, WirePageEdit
/** @var InputfieldSubmit $field */
$field = $this->modules->get('InputfieldSubmit');
$field->attr('id+name', 'submit_save_profile');
$field->addClass('head_button_clone');
$field->showInHeader();
$form->add($field);
return $form;

View File

@@ -22,6 +22,7 @@ span.asmFieldsetIndent {
height: 5px;
}
.pw-content .asmFieldset,
#content .asmFieldset {
font-weight: bold;
}

View File

@@ -216,7 +216,8 @@ class ProcessTemplate extends Process {
$button->href = "./add";
$button->value = $this->labels['Add New'];
$button->icon = 'plus-circle';
$button->addClass('add_template_button head_button_clone');
$button->addClass('add_template_button');
$button->showInHeader();
$out .= $button->render();
$button = $this->modules->get('InputfieldButton');
@@ -224,7 +225,7 @@ class ProcessTemplate extends Process {
$button->href = "./import/";
$button->value = $this->labels['Import'];
$button->icon = 'paste';
$button->addClass('ui-priority-secondary');
$button->setSecondary();
$out .= $button->render();
$button = $this->modules->get('InputfieldButton');
@@ -232,7 +233,7 @@ class ProcessTemplate extends Process {
$button->href = "./export/";
$button->value = $this->labels['Export'];
$button->icon = 'copy';
$button->addClass('ui-priority-secondary');
$button->setSecondary();
$out .= $button->render();
if($this->input->get('nosave')) {
@@ -725,9 +726,10 @@ class ProcessTemplate extends Process {
$field->attr('value', $template->id);
$form->append($field);
/** @var InputfieldSubmit $field */
$field = $this->modules->get('InputfieldSubmit');
$field->attr('value', $this->_x('Save', 'button'));
$field->class .= ' head_button_clone';
$field->showInHeader();
$form->append($field);
return $form;

View File

@@ -319,11 +319,12 @@ class ProcessTemplateExportImport extends Wire {
} else {
$form->description = $this->_('Please review the changes below and commit them when ready. If there are any changes that you do not want applied, uncheck the boxes where appropriate.');
}
/** @var InputfieldSubmit $f */
$f = $this->modules->get('InputfieldSubmit');
$f->attr('name', 'submit_commit');
$f->attr('value', $this->_('Commit Changes'));
$f->addClass('head_button_clone');
$f->showInHeader();
$form->add($f);
} else {

View File

@@ -141,11 +141,12 @@ class ProcessSessionDB extends Process {
$markup->value = "<div id='SessionList'>$out</div>";
$form->add($markup);
/** @var InputfieldSubmit $submit */
$submit = $this->wire('modules')->get('InputfieldSubmit');
$submit->attr('value', $this->_('Refresh'));
$submit->icon = 'refresh';
$submit->attr('id+name', 'submit_session');
$submit->attr('class', $submit->attr('class') . ' head_button_clone');
$submit->showInHeader();
$form->add($submit);
return $form->render();