// link
@Override
	public void onInitialize() {
		super.onInitialize();
		// unpack model
		final Map<String, Object> modelData = this.model.getObject();
		final String eid = (String) modelData.get("eid");
		final String firstName = (String) modelData.get("firstName");
		final String lastName = (String) modelData.get("lastName");
		final String displayName = (String) modelData.get("displayName");
		final GbStudentNameSortOrder nameSortOrder = (GbStudentNameSortOrder) modelData.get("nameSortOrder");
		// link
		final GbAjaxLink<String> link = new GbAjaxLink<String>("link") {
			private static final long serialVersionUID = 1L;
			@Override
			public void onClick(final AjaxRequestTarget target) {
				final GradebookPage gradebookPage = (GradebookPage) getPage();
				final GbModalWindow window = gradebookPage.getStudentGradeSummaryWindow();
				final GradebookUiSettings settings = gradebookPage.getUiSettings();
				final Map<String, Object> windowModel = new HashMap<>(StudentNameCellPanel.this.model.getObject());
				windowModel.put("groupedByCategoryByDefault", settings.isCategoriesEnabled());
				final Component content = new StudentGradeSummaryPanel(window.getContentId(), Model.ofMap(windowModel), window);
				if (window.isShown() && window.isVisible()) {
					window.replace(content);
					content.setVisible(true);
					target.add(content);
				} else {
					window.setContent(content);
					window.setComponentToReturnFocusTo(this);
					window.show(target);
				}
				content.setOutputMarkupId(true);
				final String modalTitle = (new StringResourceModel("heading.studentsummary",
						null, new Object[] { displayName, eid })).getString();
				target.appendJavaScript(String.format(
						"new GradebookGradeSummary($(\"#%s\"), false, \"%s\");",
						content.getMarkupId(), modalTitle));
			}
		};
		link.setOutputMarkupId(true);
		// name label
		link.add(new Label("name", getFormattedStudentName(firstName, lastName, nameSortOrder)));
		// eid label, configurable
		link.add(new Label("eid", eid) {
			private static final long serialVersionUID = 1L;
			@Override
			public boolean isVisible() {
				return true; // TODO use config, will need to be passed in the model map
			}
		});
		add(link);
	}
final String displayName = (String) modelData.get("displayName");
final GbStudentNameSortOrder nameSortOrder = (GbStudentNameSortOrder) modelData.get("nameSortOrder");
// link
final GbAjaxLink<String> link = new GbAjaxLink<String>("link") {
private static final long serialVersionUID = 1L;
@Override
public void onInitialize() {
super.onInitialize();
// unpack model
final Map<String, Object> modelData = this.model.getObject();
final String eid = (String) modelData.get("eid");
final String firstName = (String) modelData.get("firstName");
final String lastName = (String) modelData.get("lastName");
final String displayName = (String) modelData.get("displayName");
final GbStudentNameSortOrder nameSortOrder = (GbStudentNameSortOrder) modelData.get("nameSortOrder");
// link
final GbAjaxLink<String> link = new GbAjaxLink<String>("link") {
private static final long serialVersionUID = 1L;
@Override
public void onClick(final AjaxRequestTarget target) {
final GradebookPage gradebookPage = (GradebookPage) getPage();
final GbModalWindow window = gradebookPage.getStudentGradeSummaryWindow();
final GradebookUiSettings settings = gradebookPage.getUiSettings();
final Map<String, Object> windowModel = new HashMap<>(StudentNameCellPanel.this.model.getObject());
windowModel.put("groupedByCategoryByDefault", settings.isCategoriesEnabled());
final Component content = new StudentGradeSummaryPanel(window.getContentId(), Model.ofMap(windowModel), window);
@Override
public void onInitialize() {
super.onInitialize();
// unpack model
final Map<String, Object> modelData = this.model.getObject();
final String eid = (String) modelData.get("eid");
final String firstName = (String) modelData.get("firstName");
final String lastName = (String) modelData.get("lastName");
final String displayName = (String) modelData.get("displayName");
final GbStudentNameSortOrder nameSortOrder = (GbStudentNameSortOrder) modelData.get("nameSortOrder");
// link
final GbAjaxLink<String> link = new GbAjaxLink<String>("link") {
private static final long serialVersionUID = 1L;
@Override
public void onClick(final AjaxRequestTarget target) {
final GradebookPage gradebookPage = (GradebookPage) getPage();
final GbModalWindow window = gradebookPage.getStudentGradeSummaryWindow();
final GradebookUiSettings settings = gradebookPage.getUiSettings();
final Map<String, Object> windowModel = new HashMap<>(StudentNameCellPanel.this.model.getObject());
windowModel.put("groupedByCategoryByDefault", settings.isCategoriesEnabled());
final Component content = new StudentGradeSummaryPanel(window.getContentId(), Model.ofMap(windowModel), window);
if (window.isShown() && window.isVisible()) {
window.replace(content);
content.setVisible(true);
target.add(content);
} else {
window.setContent(content);
window.setComponentToReturnFocusTo(this);
window.show(target);
}
content.setOutputMarkupId(true);