1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-22 14:23:05 +02:00

Updated several modules and classes to better support admin theme customization, consistent with needs in AdminThemeUikit

This commit is contained in:
Ryan Cramer
2017-02-24 12:23:57 -05:00
parent ad90996c0b
commit f137dd2966
50 changed files with 1092 additions and 431 deletions

View File

@@ -17,13 +17,12 @@
if(!defined("PROCESSWIRE")) die();
$debugToolsLabel = __('Debug Mode Tools', __FILE__);
?>
echo
"<p><a class='pw-panel' data-panel-id='debug' data-panel-width='75%' " .
"data-tab-text='$debugToolsLabel' data-tab-icon='bug' data-tab-offset='200' " .
"id='debug_toggle' href='#debug'><i class='fa fa-bug'></i> $debugToolsLabel</a></p>";
<p>
<a class="pw-panel" data-panel-id="debug" data-panel-width="75%" data-tab-text="<?php echo $debugToolsLabel; ?>" data-tab-icon="bug" data-tab-offset="200" id="debug_toggle" href="#debug">
<i class='fa fa-cog'></i> <?php echo $debugToolsLabel; ?>
</a>
</p>
?>
<div id="debug">

View File

@@ -659,9 +659,14 @@ function InputfieldColumnWidths($target) {
*/
function getWidth($item) {
if($item.is(".InputfieldStateHidden")) return 0;
var style = $item.attr('style');
if(typeof style == "undefined" || !style) return $item.width();
var pct = parseInt(style.match(/width:\s*(\d+)/i)[1]);
var pct = $item.attr('data-colwidth'); // colwidth tracked when NoWidths mode enabled
if(typeof pct == "undefined" || !pct.length) {
var style = $item.attr('style');
if(typeof style == "undefined" || !style) return $item.width();
var pct = parseInt(style.match(/width:\s*(\d+)/i)[1]);
} else {
pct = parseInt(pct);
}
// store the original width in another attribute, for later retrieval
if(!$item.attr('data-original-width')) $item.attr('data-original-width', pct);
// consoleLog('getWidth(' + $item.attr('id') + '): ' + pct + '%');
@@ -828,6 +833,7 @@ function InputfieldColumnWidths($target) {
} // updateInputfield
var numForms = 0;
$target.each(function() {
var $form = $(this);
@@ -853,9 +859,14 @@ function InputfieldColumnWidths($target) {
$(".InputfieldColumnWidthFirst.InputfieldColumnWidth:visible", $form).each(function() {
updateInputfieldRow($(this));
});
numForms++;
});
if(!$('body').hasClass('InputfieldColumnWidthsInit')) {
if(!numForms) {
// no need to do anything further
} else if(!$('body').hasClass('InputfieldColumnWidthsInit')) {
// initialize monitoring events on first run
$('body').addClass('InputfieldColumnWidthsInit');
@@ -889,6 +900,7 @@ function InputfieldColumnWidths($target) {
*/
function InputfieldFormBeforeUnloadEvent(e) {
var $changes = $(".InputfieldFormConfirm:not(.InputfieldFormSubmitted) .InputfieldStateChanged");
if($changes.length == 0) $changes = $('.InputfieldStateConfirmLeave');
if($changes.length == 0) return;
var msg = $('.InputfieldFormConfirm:eq(0)').attr('data-confirm') + "\n";
$changes.each(function() {
@@ -928,13 +940,16 @@ function InputfieldStates($target) {
var interval;
var maxRuns = 10;
var runs = 0;
var hAdjust = 0.8;
$("body").append($spinner.hide());
if($header.is('a') && $header.closest('ul').hasClass('uk-tab')) hAdjust = 0.1;
$spinner.css({
position: 'absolute',
top: offset.top - ($spinner.height() + 5),
left: offset.left + ($header.width() / 2) + ($spinner.width() * 0.8)
left: offset.left + ($header.width() / 2) + ($spinner.width() * hAdjust)
}).fadeIn();
interval = setInterval(function() {

File diff suppressed because one or more lines are too long

View File

@@ -274,6 +274,7 @@ var ProcessWireAdmin = {
var setupDropdownHover = false;
var $itemsIcon = $a.children('.pw-has-items-icon');
$itemsIcon.removeClass('fa-angle-right').addClass('fa-spinner fa-spin');
$ul.css('opacity', 0);
$.getJSON(url, function(data) {
$itemsIcon.removeClass('fa-spinner fa-spin').addClass('fa-angle-right');
@@ -308,9 +309,10 @@ var ProcessWireAdmin = {
}
$ul.append($li);
});
$ul.addClass('navJSON')
$ul.addClass('length' + parseInt(data.list.length));
$ul.addClass('navJSON').addClass('length' + parseInt(data.list.length)).hide();
if($ul.children().length) $ul.css('opacity', 1.0).fadeIn('fast');
// trigger the first call
hoverDropdownAjaxItem($a);

File diff suppressed because one or more lines are too long