Skip to content

Commit

Permalink
fix(Reports) reset buttons and save layout
Browse files Browse the repository at this point in the history
  • Loading branch information
joebordes committed Dec 27, 2021
1 parent 650bbb3 commit aac4d0d
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 18 deletions.
27 changes: 10 additions & 17 deletions Smarty/templates/ReportContents.tpl
Expand Up @@ -31,10 +31,12 @@
<div class="slds-col slds-size_12-of-12 mainbar" id="mainbar">
<div class="grid-stack" data-gs-animate="yes">
<input id="folder_ids" class="slds-input" name="folderId" type="hidden" value='{$FOLDE_IDS}'>
{assign var=BOXEXPAND value="{ 'w':6,'h':3 }"}
{assign var=BOXCOLLAPSE value="{ 'w':4,'h':2 }"}
{assign var=poscount value=0}
{foreach item=reportfolder from=$REPT_FLDR}
{assign var=poscount value=$poscount+1}
<div class="grid-stack-item" gs-min-w="6" gs-w="6" gs-min-h="2" gs-h="3" id="gridcard{$poscount}">
<div class="grid-stack-item" {if isset($REPORT_LAYOUT[$reportfolder.id])}{$REPORT_LAYOUT[$reportfolder.id]}{else}{$DEFAULT_LAYOUT}{/if} gs-id="{$reportfolder.id}" id="gridcard{$poscount}">
<div class="grid-stack-item-content draggable_bordered">
<div class="slds-grid">
<div class="slds-col slds-size_1-of-1">
Expand All @@ -52,14 +54,12 @@
</div>
</div>
<div class="slds-col slds-size_1-of-6 slds-p-vertical_small slds-text-align_right">
<a class="cardinner maximize minmaxtoggle" onclick="toggleGridCard({$poscount})">
<svg class="slds-icon slds-icon_x-small slds-icon-text-light minimizereport expandthis_svg" aria-hidden="true" >
<use xlink:href="include/LD/assets/icons/utility-sprite/svg/symbols.svg#contract"></use>
</svg>
<svg class="slds-icon slds-icon_x-small slds-icon-text-light maximizereport hidethis_svg" aria-hidden="true" >
<use xlink:href="include/LD/assets/icons/utility-sprite/svg/symbols.svg#expand"></use>
</svg>
</a>
<svg class="slds-icon slds-icon_x-small slds-icon-text-light" aria-hidden="true" onclick="grid.update('gridcard{$poscount}', {$BOXCOLLAPSE})">
<use xlink:href="include/LD/assets/icons/utility-sprite/svg/symbols.svg#contract"></use>
</svg>
<svg class="slds-icon slds-icon_x-small slds-icon-text-light" aria-hidden="true" onclick="grid.update('gridcard{$poscount}', {$BOXEXPAND})">
<use xlink:href="include/LD/assets/icons/utility-sprite/svg/symbols.svg#expand"></use>
</svg>
</div>
</div>
<div class="slds-grid">
Expand Down Expand Up @@ -200,12 +200,5 @@ var grid = GridStack.init({
removeTimeout: 100,
acceptWidgets: '.newWidget'
});
// TODO: switch jquery-ui out
$('.newWidget').draggable({
revert: 'invalid',
scroll: false,
appendTo: 'body',
helper: 'clone'
});
grid.on('change', saveReportGridLayout);
</script>
14 changes: 13 additions & 1 deletion modules/Reports/ListView.php
Expand Up @@ -50,7 +50,19 @@
foreach ($fldrsreps as $entries) {
$fldrids_lists[] =$entries['id'];
}

$replayout = json_decode(coreBOS_Settings::getSetting('ReportGridLayout'.$current_user->id, '[]'), true);
$report_layout = array();
foreach ($replayout as $folderlayout) { // index by folder
$ly = 'gs-min-w="'.$folderlayout['minW'].'"';
$ly.= ' gs-w="'.$folderlayout['w'].'"';
$ly.= ' gs-min-h="'.$folderlayout['minH'].'"';
$ly.= ' gs-h="'.$folderlayout['h'].'"';
$ly.= ' gs-x="'.$folderlayout['x'].'"';
$ly.= ' gs-y="'.$folderlayout['y'].'"';
$report_layout[$folderlayout['id']]=$ly;
}
$list_report_form->assign('REPORT_LAYOUT', $report_layout);
$list_report_form->assign('DEFAULT_LAYOUT', 'gs-min-w="4" gs-w="6" gs-min-h="2" gs-h="3"');
$list_report_form->assign('FOLDE_IDS', implode(',', $fldrids_lists));
$list_report_form->assign('REPT_MODULES', getReportsModuleList($repObj));
$list_report_form->assign('REPT_FOLDERS', $fldrsreps);
Expand Down
8 changes: 8 additions & 0 deletions modules/Reports/Reports.js
Expand Up @@ -1533,3 +1533,11 @@ function MoveReport(id, foldername) {
return false;
}
}

function saveReportGridLayout(event, items) {
let glayout = encodeURIComponent(JSON.stringify(grid.save(false, false)));
jQuery.ajax({
method: 'POST',
url: 'index.php?action=ReportsAjax&file=SaveReportFolder&module=Reports&foldername=&folderdesc=&savemode=Layout&layout='+glayout
});
}
2 changes: 2 additions & 0 deletions modules/Reports/SaveReportFolder.php
Expand Up @@ -55,5 +55,7 @@
echo $errormessage;
}
}
} elseif ($mode=='Layout') {
coreBOS_Settings::setSetting('ReportGridLayout'.$current_user->id, $_REQUEST['layout']);
}
?>

0 comments on commit aac4d0d

Please sign in to comment.