Skip to content

Commit 5a2d134

Browse files
plukasewbjones86
authored andcommitted
SAK-40248: Begin the standardization of the toolbar for table controls (e.g. filtering and paging) across tools (sakaiproject#5744)
1 parent d452592 commit 5a2d134

File tree

22 files changed

+681
-473
lines changed

22 files changed

+681
-473
lines changed

announcement/announcement-tool/tool/src/webapp/vm/announcement/chef_announcements.vm

+18-91
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343

4444

4545

46-
46+
<script type="text/javascript" src="/library/js/spinner.js$!{portalCdnQuery}"></script>
4747
<div class="portletBody container-fluid">
4848
#if ($isOnWorkspaceTab.equals("false"))
4949
#if($menu && $EnabledMenuItemExists)
@@ -418,101 +418,29 @@
418418
#if ($toolId == "sakai.announcements") ##In tool or admin MOTD...
419419

420420
#if ($displayOptions.isShowAllColumns())
421-
## <h3>$tlang.getString("gen.announcements")</h3>
422-
423421
<div class="page-header">
424422
<h3>$tlang.getString("gen.announcements") <br /><small>$tlang.getFormattedMessage("gen.viewing.days.phrase.brackets", $daysList.toArray())</small></h3>
425423
</div>
426424

427425
#if ($alertMessage)<div class="alertMessage">$tlang.getFormattedMessage("gen.alert.message", $alertMessage)</div><div class="clear"></div>#end
428-
<div class="navPanel">
429-
<div class="viewNav">
430-
<form name="viewForm" class="inlineForm" method="post" action="#toolForm("$action")">
431-
<input type="hidden" name="eventSubmit_doView" value="view" />
432-
<label for="view">
433-
$tlang.getString("view.label")
434-
</label>
435-
<span class="skip">$tlang.getString("gen.listnavselect")</span>
436-
<select id="view" name="view" size="1" onchange="document.viewForm.submit();">
437-
<option value="view.all" #if ($!view == "'view.all")selected="selected"#end >$!tlang.getString('view.all')</option>
438-
<option value="view.public" #if ($!view == "view.public")selected="selected"#end >$!tlang.getString('view.public')</option>
439-
##if ($!groups)
440-
<option value="view.bygroup" #if ($!view == "view.bygroup")selected="selected"#end >$!tlang.getString('view.bygroup')</option>
441-
##end
442-
</select>
443-
<input type="hidden" name="sakai_csrf_token" value="$sakai_csrf_token" />
444-
</form>
426+
427+
<div class="sakai-table-toolBar">
428+
<div class="sakai-table-filterContainer">
429+
#define($viewSelectOptions)
430+
<option value="view.all" #if ($!view == "'view.all")selected="selected"#end >$!tlang.getString('view.all')</option>
431+
<option value="view.public" #if ($!view == "view.public")selected="selected"#end >$!tlang.getString('view.public')</option>
432+
<option value="view.bygroup" #if ($!view == "view.bygroup")selected="selected"#end >$!tlang.getString('view.bygroup')</option>
433+
#end
434+
#viewFilterPanel("viewFilterForm", "view", $viewSelectOptions, "doView")
445435
</div>
446436
#if ($messageListVector.iterator().hasNext())
447-
<div class="listNav">
448-
<div class="instruction">
449-
$tlang.getFormattedMessage("gen.viewing.phrase", $topMsgPos, $btmMsgPos, $allMsgNumber)
450-
</div>
451-
#if ($pagesize != 0)
452-
#if ($goFPButton == "true")
453-
<form name="firstpageForm" class="inlineForm" method="post" action="#toolForm("$action")">
454-
<fieldset><legend>$tlang.getString("gen.first")</legend><input type="submit" name="eventSubmit_doList_first" value="|&lt;" title="$tlang.getString("gen.first")" /></fieldset>
455-
<input type="hidden" name="sakai_csrf_token" value="$sakai_csrf_token" />
456-
</form>
457-
#else
458-
<form name="firstpageForm" class="inlineForm" method="post" action="#toolForm("$action")">
459-
<fieldset><legend>$tlang.getString("gen.first")</legend><input type="submit" name="eventSubmit_doList_first" value="|&lt;" disabled="disabled" /></fieldset>
460-
<input type="hidden" name="sakai_csrf_token" value="$sakai_csrf_token" />
461-
</form>
462-
#end
463-
#if ($goPPButton == "true")
464-
<form name="prevpageForm" class="inlineForm" method="post" action="#toolForm("$action")">
465-
<fieldset><legend>$tlang.getFormattedMessage('gen.previous.pagesize', $pagesize)</legend><input type="submit" name="eventSubmit_doList_prev" value="&lt;" title="$tlang.getFormattedMessage('gen.previous.pagesize', $pagesize)" accesskey="p" /></fieldset>
466-
<input type="hidden" name="sakai_csrf_token" value="$sakai_csrf_token" />
467-
</form>
468-
#else
469-
<form name="prevpageForm" class="inlineForm" method="post" action="#toolForm("$action")">
470-
<fieldset><legend>$tlang.getFormattedMessage('gen.previous.pagesize', $pagesize)</legend><input type="submit" name="eventSubmit_doList_prev" value="&lt;" disabled="disabled" /></fieldset>
471-
<input type="hidden" name="sakai_csrf_token" value="$sakai_csrf_token" />
472-
</form>
473-
#end
474-
#end
475-
476-
<form name="pagesizeForm" class="inlineForm" method="post" action="#toolForm("$action")">
477-
<input type="hidden" name="eventSubmit_doChange_pagesize" value="changepagesize" />
478-
<span class="skip">$tlang.getString("gen.listnavselect")</span>
479-
<label for="selectPageSize" class="skip">$tlang.getString("gen.select.label")</label>
480-
<select id="selectPageSize" name="selectPageSize" onchange="document.pagesizeForm.submit();">
481-
<option value="5" #if($pagesize == 5) selected="selected" #end>$tlang.getFormattedMessage("gen.show", "5")</option>
482-
<option value="10" #if($pagesize == 10) selected="selected" #end>$tlang.getFormattedMessage("gen.show", "10")</option>
483-
<option value="20" #if($pagesize == 20) selected="selected" #end>$tlang.getFormattedMessage("gen.show", "20")</option>
484-
<option value="50" #if($pagesize == 50) selected="selected" #end>$tlang.getFormattedMessage("gen.show", "50")</option>
485-
<option value="100" #if($pagesize == 100) selected="selected" #end>$tlang.getFormattedMessage("gen.show", "100")</option>
486-
<option value="200" #if($pagesize == 200) selected="selected" #end>$tlang.getFormattedMessage("gen.show", "200")</option>
487-
</select>
488-
<input type="hidden" name="sakai_csrf_token" value="$sakai_csrf_token" />
489-
</form>
490-
#if ($pagesize != 0)
491-
#if ($goNPButton == "true")
492-
<form name="nextpageForm" class="inlineForm" method="post" action="#toolForm("$action")">
493-
<fieldset><legend>$tlang.getFormattedMessage('gen.next.pagesize', $pagesize)</legend><input type="submit" name="eventSubmit_doList_next" value="&gt;" title="$tlang.getFormattedMessage('gen.next.pagesize', $pagesize)" accesskey="n" /></fieldset>
494-
<input type="hidden" name="sakai_csrf_token" value="$sakai_csrf_token" />
495-
</form>
496-
#else
497-
<form name="nextpageForm" class="inlineForm" method="post" action="#toolForm("$action")">
498-
<fieldset><legend>$tlang.getFormattedMessage('gen.next.pagesize', $pagesize)</legend><input type="submit" name="eventSubmit_doList_next" value="&gt;" disabled="disabled" /></fieldset>
499-
<input type="hidden" name="sakai_csrf_token" value="$sakai_csrf_token" />
500-
</form>
501-
#end
502-
#if ($goLPButton == "true")
503-
<form name="lastpageForm" class="inlineForm" method="post" action="#toolForm("$action")">
504-
<fieldset><legend>$tlang.getString("gen.last")</legend><input type="submit" name="eventSubmit_doList_last" value="&gt;|" title="$tlang.getString("gen.last")" /></fieldset>
505-
<input type="hidden" name="sakai_csrf_token" value="$sakai_csrf_token" />
506-
</form>
507-
#else
508-
<form name="lastpageForm" class="inlineForm" method="post" action="#toolForm("$action")">
509-
<fieldset><legend>$tlang.getString("gen.last")</legend><input type="submit" name="eventSubmit_doList_last" value="&gt;|" disabled="disabled" /></fieldset>
510-
<input type="hidden" name="sakai_csrf_token" value="$sakai_csrf_token" />
511-
</form>
512-
#end
513-
#end
514-
</div>
515-
</div> ##end navPanel
437+
<div class="sakai-table-pagerContainer">
438+
#pagerPanel("pager1")
439+
</div>
440+
#end
441+
</div> ##end sakai-table-toolBar
442+
443+
#if ($messageListVector.iterator().hasNext())
516444
<form name="announcementListForm" action="#toolForm("AnnouncementAction")" method="post">
517445
<div class="table-responsive">
518446
<table class="table table-hover table-striped table-bordered" summary="$tlang.getString('gen.tablecaptionsite')">
@@ -715,7 +643,6 @@
715643
</table>
716644
</div>
717645
#else
718-
</div> ##end navPanel
719646
<div class="instruction clear">
720647
#if ($!view == "view.public")
721648
$tlang.getString("gen.therearepublic")
@@ -729,7 +656,7 @@
729656
<input type="hidden" name="sakai_csrf_token" value="$sakai_csrf_token" />
730657
</form>
731658
#end
732-
659+
733660
#if ($messageListVector.iterator().hasNext())
734661
#if ($isOnWorkspaceTab.equals("false"))
735662
##if ($EnableItemCheckBoxes) ## SAK-14021. This checks for new ann permission, which is not a requirement to have update and cancel buttons

assignment/bundles/resources/assignment.properties

+18-4
Original file line numberDiff line numberDiff line change
@@ -315,9 +315,8 @@ dateselectionwidget.ampm = Select AM or PM
315315

316316
letter = Letter grade
317317

318-
lisofass1 = Assignment List
319-
320-
lisofass2 = Assignment List by Student
318+
lisofass1 = Assignments
319+
lisofass2 = Assignments by Student
321320

322321
listassig.allgroups = All groups
323322
listassig.filterbygroup = Filter by group:
@@ -524,7 +523,7 @@ youmust8 = You must upload an attachment
524523
list.show = Show
525524
list.itemsper = items...
526525
update = Update
527-
removedAssignmentList = Removed Assignments List
526+
removedAssignmentList = Removed Assignments
528527
removeSelected = Remove Selected
529528
selectAssignments = Select Assignments
530529
restoreSelected = Restore Selected
@@ -1080,3 +1079,18 @@ option.hidepoints=Hide point values (feedback only)
10801079
option.studentpreview=Hide Rubric preview from student
10811080
grading_rubric=Grading Rubric
10821081
asn.list.userubric=This assignment could be graded using a Rubric
1082+
1083+
# table toolbar common messages
1084+
view.label=View
1085+
gen.viewing.phrase=Viewing {0} - {1} of {2} items
1086+
gen.show=Show {0} items...
1087+
# {0} is the pagesize
1088+
gen.previous.pagesize = Previous {0}
1089+
# {0} is the pagesize
1090+
gen.next.pagesize = Next {0}
1091+
gen.select.label = Choose page size
1092+
gen.listnavselect = To operate the combo box, first press Alt+Down Arrow to open it, and then use the up and down arrow keys to scroll through the options.
1093+
search.label=Search
1094+
search.button=Search
1095+
search.clear=Clear Search
1096+

assignment/tool/src/java/org/sakaiproject/assignment/tool/AssignmentAction.java

+17-7
Original file line numberDiff line numberDiff line change
@@ -4764,6 +4764,8 @@ private String build_instructor_view_students_assignment_context(VelocityPortlet
47644764

47654765
add2ndToolbarFields(data, context);
47664766

4767+
context.put("view", MODE_INSTRUCTOR_VIEW_STUDENTS_ASSIGNMENT);
4768+
47674769
return getContext(data).get("template") + TEMPLATE_INSTRUCTOR_VIEW_STUDENTS_ASSIGNMENT;
47684770

47694771
} // build_instructor_view_students_assignment_context
@@ -5267,13 +5269,7 @@ public void doView_submission_list_option(RunData data) {
52675269

52685270
ParameterParser params = data.getParameters();
52695271
String option = params.getString("option");
5270-
if ("changeView".equals(option)) {
5271-
doChange_submission_list_option(data);
5272-
} else if ("search".equals(option)) {
5273-
state.setAttribute(VIEW_SUBMISSION_SEARCH, params.getString("search"));
5274-
} else if ("clearSearch".equals(option)) {
5275-
state.removeAttribute(VIEW_SUBMISSION_SEARCH);
5276-
} else if ("download".equals(option)) {
5272+
if ("download".equals(option)) {
52775273
// go to download all page
52785274
doPrep_download_all(data);
52795275
} else if ("upload".equals(option)) {
@@ -5286,6 +5282,20 @@ public void doView_submission_list_option(RunData data) {
52865282

52875283
} // doView_submission_list_option
52885284

5285+
public void doView_submission_list_search(RunData data)
5286+
{
5287+
SessionState state = ((JetspeedRunData) data).getPortletSessionState(((JetspeedRunData) data).getJs_peid());
5288+
5289+
ParameterParser params = data.getParameters();
5290+
state.setAttribute(VIEW_SUBMISSION_SEARCH, params.getString("search"));
5291+
}
5292+
5293+
public void doView_submission_list_search_clear(RunData data)
5294+
{
5295+
SessionState state = ((JetspeedRunData) data).getPortletSessionState(((JetspeedRunData) data).getJs_peid());
5296+
state.removeAttribute(VIEW_SUBMISSION_SEARCH);
5297+
}
5298+
52895299
/**
52905300
* Action is to view the content of one specific assignment submission
52915301
*/

assignment/tool/src/webapp/vm/assignment/assignment_macros.vm

+26
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,15 @@
111111
<span class="current">$!tlang.getString( "lisofass1" )</span>
112112
#end
113113
</li>
114+
<li>
115+
#if( !$!view.equals( "lisofass2" ) )
116+
<span>
117+
<a href="#toolLinkParam( "$action" "doView" "view=lisofass2" )" title="$!tlang.getString( "lisofass2" )">$!tlang.getString( "lisofass2" )</a>
118+
</span>
119+
#else
120+
<span class="current">$!tlang.getString( "lisofass2" )</span>
121+
#end
122+
</li>
114123

115124
#if( $withGrade && $!allowGradeSubmission )
116125
<li #if( $prevAction == false ) class="firstToolBarItem" #set( $prevAction = true ) #end>
@@ -214,6 +223,23 @@
214223
<span class="disabled">$!tlang.getString( "lisofass1" )</span>
215224
</li>
216225
#end
226+
#if( !$!view.equals( "lisofass2" ) )
227+
<li>
228+
<span>
229+
<a href="javascript:void(0)" title="$!tlang.getString( "lisofass2" )" onclick="ASN.submitForm( '$formID', 'view', null, 'lisofass2' ); return false;">
230+
$!tlang.getString( "lisofass2" )
231+
</a>
232+
</span>
233+
</li>
234+
#elseif( $current == "list" )
235+
<li>
236+
<span class="current">$!tlang.getString( "lisofass2" )</span>
237+
</li>
238+
#else
239+
<li>
240+
<span class="disabled">$!tlang.getString( "lisofass2" )</span>
241+
</li>
242+
#end
217243
#if( $withGrade && $!allowGradeSubmission )
218244
<li #if( $prevAction == false ) class="firstToolBarItem" #set( $prevAction = true ) #end>
219245
#if( $current == "gradeReport" )

assignment/tool/src/webapp/vm/assignment/chef_assignments_instructor_list_deleted_assignments.vm

+3-5
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,9 @@
1414
$tlang.getString("gen.thearecur1")
1515
</p>
1616
#else
17-
<div class="navPanel row">
18-
<div class="col-sm-5 col-xs-12">
19-
</div>
20-
<div class="col-sm-7 col-xs-12">
21-
#paginator( $topMsgPos $btmMsgPos $allMsgNumber $pagesize $goFPButton $goPPButton $goNPButton $goLPButton $sakai_csrf_token $pagesizes )
17+
<div class="sakai-table-toolBar">
18+
<div class="sakai-table-pagerContainer">
19+
#pagerPanel("pager1")
2220
</div>
2321
</div>
2422
<form name="listDeletedAssignmentsForm" action="#toolForm("$action")" method="post">

0 commit comments

Comments
 (0)