Skip to content

Commit

Permalink
SAK-50395 Gradebook Migrate from Handsontable to Tabulator
Browse files Browse the repository at this point in the history
  • Loading branch information
kunaljaykam committed Aug 30, 2024
1 parent ea800ec commit 7410d5d
Show file tree
Hide file tree
Showing 8 changed files with 1,149 additions and 1,223 deletions.
6 changes: 3 additions & 3 deletions gradebookng/tool/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,9 @@

<!-- Webjars -->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>handsontable</artifactId>
<version>6.2.2</version>
<groupId>org.webjars.npm</groupId>
<artifactId>tabulator-tables</artifactId>
<version>6.2.4</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
</div>

<script id="courseGradeHeaderTemplate" type="text/template">
<span class="colHeader d-none" data-col-index="${col}">${col}</span>
<span class="colHeader d-none" data-col-index="${colIndex}">${colIndex}</span>
<div class="relative">
<a class="gb-title d-block overflow-hidden text-truncate" wicket:message="title:sortbygrade,aria-label:sortbygrade">
<wicket:message key="column.header.coursegrade"/>
Expand Down Expand Up @@ -35,9 +35,9 @@
{/if}
</div>
{if settings.isUserAbleToEditAssessments}
<div class="dropdown dropend">
<div class="dropdown dropend position-absolute top-0 end-0">
<button type="button"
class="btn btn-sm btn-default dropdown-toggle"
class="btn btn-sm btn-default bi bi-gear-fill"
data-bs-toggle="dropdown"
data-bs-popper-config='{"strategy": "fixed"}'
aria-haspopup="true"
Expand Down Expand Up @@ -68,7 +68,7 @@
</div>
</script>
<script id="assignmentHeaderTemplate" type="text/template">
<span class="colHeader d-none" data-col-index="${col}">${col}</span>
<span class="colHeader d-none" data-col-index="${colIndex}">${colIndex}</span>
<div class="relative">
{if extraCredit}
<span class="gb-flag-extra-credit" wicket:message="title:label.gradeitem.extracredit"></span>
Expand Down Expand Up @@ -133,9 +133,9 @@
<span class="gb-flag-not-released" wicket:message="title:label.gradeitem.notreleased"></span>
{/if}
</div>
<div class="dropdown dropend">
<div class="dropdown dropend position-absolute top-0 end-0">
<button type="button"
class="btn btn-sm btn-default dropdown-toggle"
class="btn btn-sm btn-default bi bi-gear-fill"
data-bs-toggle="dropdown"
data-bs-popper-config='{"strategy": "fixed"}'
aria-haspopup="true"
Expand Down Expand Up @@ -171,7 +171,7 @@
</div>
</script>
<script id="categoryScoreHeaderTemplate" type="text/template">
<span class="colHeader d-none" data-col-index="${col}">${col}</span>
<span class="colHeader d-none" data-col-index="${colIndex}">${colIndex}</span>
<div class="relative">
{if getExtraCredit}
<span class="gb-flag-extra-credit" wicket:message="title:label.gradeitem.extracreditcategory"></span>
Expand Down Expand Up @@ -206,9 +206,9 @@
{for info in dropInfo}
<div class="gb-drop-info overflow-hidden text-truncate">${info}</div>
{/for}
<div class="dropdown dropend">
<div class="dropdown dropend position-absolute top-0 end-0">
<button type="button"
class="btn btn-sm btn-default dropdown-toggle"
class="btn btn-sm btn-default bi bi-gear-fill"
data-bs-toggle="dropdown"
data-bs-popper-config='{"strategy": "fixed"}'
aria-expanded="false"
Expand All @@ -223,13 +223,13 @@
</script>
<script id="studentHeaderTemplate" type="text/template">
<div class="relative">
<div class="colHeader" data-col-index="${col}">
<div class="colHeader" data-col-index="${colIndex}">
<a class="gb-title d-block overflow-hidden text-truncate" wicket:message="title:sortbyname,aria-label:sortbyname">
<wicket:message key="column.header.students"/>
</a>
<div class="dropdown dropend">
<div class="dropdown dropend position-absolute top-0 end-0">
<button type="button"
class="btn btn-sm btn-default dropdown-toggle"
class="btn btn-sm btn-default bi bi-gear-fill"
data-bs-toggle="dropdown"
data-bs-popper-config='{"strategy": "fixed"}'
aria-haspopup="true"
Expand All @@ -251,7 +251,7 @@
</script>
<script id="studentNumberHeaderTemplate" type="text/template">
<div class="relative">
<div class="colHeader" data-col-index="${col}">
<div class="colHeader" data-col-index="${colIndex}">
<a class="gb-title" wicket:message="title:label.gradeitem.studentnumberheadertooltip,aria-label:label.gradeitem.studentnumberheadertooltip">
<wicket:message key="column.header.studentNumber"/>
</a>
Expand All @@ -260,7 +260,7 @@
</script>
<script id="studentNumberCellTemplate" type="text/template">
<div class="relative gb-student-number-cell">
<div class="gb-value">
<div class="gb-value d-flex mt-3 justify-content-center">
<div class="rowHeader">
${studentNumber}
</div>
Expand All @@ -269,19 +269,19 @@
</script>
<script id="sectionsHeaderTemplate" type="text/template">
<div class="relative">
<div class="colHeader" data-col-index="${col}">
<div class="colHeader" data-col-index="${colIndex}">
<a class="gb-title" wicket:message="title:label.gradeitem.sectionsheadertooltip,aria-label:label.gradeitem.sectionsheadertooltip">
<wicket:message key="column.header.sections"/>
</a>
</div>
</div>
</script>
<script id="sectionsCellTemplate" type="text/template">
<div class="gb-value gb-section-cell">
<div class="gb-value d-flex mt-3 justify-content-center gb-section-cell">
{if sections.length > 0}
<div class="dropdown">
<button type="button"
class="btn btn-secondary dropdown-toggle gb-section-button"
class="btn btn-secondary gb-section-button"
title="${sections[0]}"
id="dropdownMenuButton"
data-bs-toggle="dropdown"
Expand All @@ -303,12 +303,15 @@
</script>
<script id="cellTemplate" type="text/template">
<div class="relative">
<span class="gb-value">${value}</span>
<div class="gb-editable" style="min-height: 20px">
<span class="gb-value d-flex mt-3 justify-content-center">${value}</span>
</div>
<span class="gb-notification"></span>
<span class="gb-comment-notification"></span>
<div class="btn-group dropend">
<span class="gb-comment-notification bi bi-chat-right-dots position-absolute bottom-0" style="right:7px;"></span>
<div class="btn-group dropend position-absolute top-0 end-0">
<button type="button"
class="btn btn-sm btn-default dropdown-toggle"
class="btn btn-sm btn-default bi bi-gear"
id="mybtn"
data-bs-toggle="dropdown"
data-bs-popper-config='{"strategy": "fixed"}'
aria-haspopup="true"
Expand All @@ -326,15 +329,15 @@
</script>
<script id="courseGradeCellTemplate" type="text/template">
<div class="relative">
<span class="gb-value {if isOverridden} gb-overridden {/if}">
<span class="gb-value d-flex mt-3 justify-content-center {if isOverridden} gb-overridden {/if}">
${value}
</span>
<span class="gb-notification"></span>
<span class="gb-course-comment-notification"></span>
<span class="gb-comment-notification bi bi-chat-right-dots position-absolute bottom-0" style="right:7px;"></span>
{if GbGradeTable.settings.isUserAbleToEditAssessments}
<div class="btn-group dropend">
<div class="btn-group dropend position-absolute top-0 end-0">
<button type="button"
class="btn btn-sm btn-default dropdown-toggle"
class="btn btn-sm btn-default bi bi-gear"
data-bs-toggle="dropdown"
data-bs-popper-config='{"strategy": "fixed"}'
aria-haspopup="true"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,8 @@ public void renderHead(final IHeaderResponse response) {
JavaScriptHeaderItem.forUrl(String.format("/gradebookng-tool/scripts/gradebook-gbgrade-table.js%s", version)));

response.render(
JavaScriptHeaderItem.forUrl(String.format("/gradebookng-tool/webjars/handsontable/6.2.2/handsontable.full.min.js%s", version)));
response.render(CssHeaderItem.forUrl(String.format("/gradebookng-tool/webjars/handsontable/6.2.2/handsontable.full.min.css%s", version)));
JavaScriptHeaderItem.forUrl(String.format("/gradebookng-tool/webjars/tabulator-tables/6.2.4/dist/js/tabulator.min.js%s", version)));
response.render(CssHeaderItem.forUrl(String.format("/gradebookng-tool/webjars/tabulator-tables/6.2.4/dist/css/tabulator.min.css%s", version)));

final GbGradebookData gradebookData = new GbGradebookData(
gbGradeTableData,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,39 +148,39 @@ private void setDefaultWindowClosedCallback() {
@Override
public void onClose(final AjaxRequestTarget target) {
// Disable all buttons with in the modal in case it takes a moment to close
target.appendJavaScript(
String.format("$('#%s :input').prop('disabled', true);",
GbModalWindow.this.getContent().getMarkupId()));

// Ensure the date picker is hidden
target.appendJavaScript("$('#ui-datepicker-div').hide();");

// Ensure any mask is hidden
target.appendJavaScript("GradebookGradeSummaryUtils.clearBlur();");

// Return focus to defined component
if (GbModalWindow.this.componentToReturnFocusTo != null) {
target.appendJavaScript(String.format("setTimeout(function() {$('#%s').focus();});",
GbModalWindow.this.componentToReturnFocusTo.getMarkupId()));
} else if (GbModalWindow.this.assignmentIdToReturnFocusTo != null &&
GbModalWindow.this.studentUuidToReturnFocusTo != null) {
target.appendJavaScript(String.format("setTimeout(function() {GbGradeTable.selectCell('%s', '%s');});",
GbModalWindow.this.assignmentIdToReturnFocusTo,
GbModalWindow.this.studentUuidToReturnFocusTo));
} else if (GbModalWindow.this.assignmentIdToReturnFocusTo != null) {
target.appendJavaScript(String.format("setTimeout(function() {GbGradeTable.selectCell('%s', null);});",
GbModalWindow.this.assignmentIdToReturnFocusTo));
} else if (GbModalWindow.this.studentUuidToReturnFocusTo != null) {
if (GbModalWindow.this.returnFocusToCourseGrade) {
target.appendJavaScript(String.format("setTimeout(function() {GbGradeTable.selectCourseGradeCell('%s');});",
GbModalWindow.this.studentUuidToReturnFocusTo));
} else {
target.appendJavaScript(String.format("setTimeout(function() {GbGradeTable.selectCell(null, '%s');});",
GbModalWindow.this.studentUuidToReturnFocusTo));
}
} else if (GbModalWindow.this.returnFocusToCourseGrade) {
target.appendJavaScript("setTimeout(function() {GbGradeTable.selectCourseGradeCell();});");
}
// target.appendJavaScript(
// String.format("$('#%s :input').prop('disabled', true);",
// GbModalWindow.this.getContent().getMarkupId()));

// // Ensure the date picker is hidden
// target.appendJavaScript("$('#ui-datepicker-div').hide();");

// // Ensure any mask is hidden
// target.appendJavaScript("GradebookGradeSummaryUtils.clearBlur();");

// // Return focus to defined component
// if (GbModalWindow.this.componentToReturnFocusTo != null) {
// target.appendJavaScript(String.format("setTimeout(function() {$('#%s').focus();});",
// GbModalWindow.this.componentToReturnFocusTo.getMarkupId()));
// } else if (GbModalWindow.this.assignmentIdToReturnFocusTo != null &&
// GbModalWindow.this.studentUuidToReturnFocusTo != null) {
// target.appendJavaScript(String.format("setTimeout(function() {GbGradeTable.selectCell('%s', '%s');});",
// GbModalWindow.this.assignmentIdToReturnFocusTo,
// GbModalWindow.this.studentUuidToReturnFocusTo));
// } else if (GbModalWindow.this.assignmentIdToReturnFocusTo != null) {
// target.appendJavaScript(String.format("setTimeout(function() {GbGradeTable.selectCell('%s', null);});",
// GbModalWindow.this.assignmentIdToReturnFocusTo));
// } else if (GbModalWindow.this.studentUuidToReturnFocusTo != null) {
// if (GbModalWindow.this.returnFocusToCourseGrade) {
// target.appendJavaScript(String.format("setTimeout(function() {GbGradeTable.selectCourseGradeCell('%s');});",
// GbModalWindow.this.studentUuidToReturnFocusTo));
// } else {
// target.appendJavaScript(String.format("setTimeout(function() {GbGradeTable.selectCell(null, '%s');});",
// GbModalWindow.this.studentUuidToReturnFocusTo));
// }
// } else if (GbModalWindow.this.returnFocusToCourseGrade) {
// target.appendJavaScript("setTimeout(function() {GbGradeTable.selectCourseGradeCell();});");
// }
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@

<div class="act">
<button wicket:id="submit" type="submit" class="active button_color"><wicket:message key="button.saveoverride" /></button>
<button wicket:id="cancel" type="button"><wicket:message key="button.cancel" /></button>
<button wicket:id="cancel" type="button" class="btn-link"><wicket:message key="button.cancel" /></button>
</div>

</form>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

<div class="act">
<button class="active button_color" wicket:id="submit"><wicket:message key="button.update" /></button>
<button wicket:id="cancel"><wicket:message key="button.cancel"/></button>
<button class="btn-link" wicket:id="cancel"><wicket:message key="button.cancel"/></button>
</div>
</div>

Expand Down
Loading

0 comments on commit 7410d5d

Please sign in to comment.