/** * This method is used to print scored questions data * * @param scoredQuestionsData */ void setQuestionsPrintData(ArrayList<UserDataDo> scoredQuestionsData) { scoredPrintWidget.clear(); final SortTable sortableTable = new SortTable(); sortableTable.setStyleName(res.css().tableMain()); sortableTable.getElement().setId("results"); sortableTable.setBorderWidth(1); sortableTable.setCellPadding(4); sortableTable.setCellSpacing(1); sortableTable.addColumnHeader(i18n.GL3259(), 0); sortableTable.addColumnHeader(i18n.GL0308(), 1); sortableTable.addColumnHeader(i18n.GL2229(), 2); sortableTable.addColumnHeader(i18n.GL3269(), 3); sortableTable.addColumnHeader(i18n.GL2084(), 4); sortableTable.addColumnHeader(i18n.GL3261(), 5); sortableTable.getRowFormatter().addStyleName(0, res.css().tableHeader()); // To add scored questions scoredQuestionHeading.setText(i18n.GL2282()); scoredQuestionHeading.getElement().getStyle().setClear(Clear.BOTH); scoredQuestionHeading.getElement().getStyle().setPaddingTop(15, Unit.PX); scoredQuestionHeading.getElement().getStyle().setPaddingBottom(20, Unit.PX); scoredQuestionHeading.getElement().getStyle().setTextAlign(TextAlign.LEFT); printWidget.add(scoredQuestionHeading); scoredPrintWidget.add(sortableTable); scoredPrintWidget.getElement().getStyle().setPaddingTop(15, Unit.PX); if (scoredQuestionsData.size() != 0) { setSortedData(scoredQuestionsData, sortableTable, true); } else { Label erroeMsg = new Label(); erroeMsg.setStyleName(res.css().displayMessageTextForScoredQuestions()); erroeMsg.setText(i18n.GL3265()); scoredPrintWidget.add(erroeMsg); } scoredPrintWidget.setVisible(false); }
/** * This method is used to display scored data * * @param scoredQuestionsData */ void setScoredQuestionsData(ArrayList<UserDataDo> scoredQuestionsData) { teacherScoredData.clear(); final SortTable sortableTable = new SortTable(); sortableTable.setStyleName(res.css().tableMain()); sortableTable.getElement().setId("results"); sortableTable.setBorderWidth(1); sortableTable.setCellPadding(4); sortableTable.setCellSpacing(1); sortableTable.setWidth("800"); sortableTable.addColumnHeader(i18n.GL3259(), 0); sortableTable.addColumnHeader(i18n.GL0308(), 1); sortableTable.addColumnHeader(i18n.GL3276(), 2); sortableTable.addColumnHeader(i18n.GL3277(), 3); sortableTable.addColumnHeader(i18n.GL2084(), 4); sortableTable.addColumnHeader(i18n.GL3261(), 5); sortableTable.getRowFormatter().addStyleName(0, res.css().tableHeader()); teacherScoredData.add(sortableTable); if (scoredQuestionsData.size() != 0) { setSortedData(scoredQuestionsData, sortableTable, false); } else { Label erroeMsg = new Label(); erroeMsg.setStyleName(res.css().displayMessageTextForScoredQuestions()); erroeMsg.setText(i18n.GL3265()); teacherScoredData.add(erroeMsg); } }
/** * This method is used to display collection break down data. * * @param result * @param loadingImage */ void setCollectionBreakDown(ArrayList<UserDataDo> result, final HTMLPanel loadingImage) { UserDataDo maxAvgValue = Collections.max( result, new Comparator<UserDataDo>() { public int compare(UserDataDo o1, UserDataDo o2) { Long obj1 = new Long(o1.getTimeSpent()); Long obj2 = new Long(o2.getTimeSpent()); return obj1.compareTo(obj2); } }); final SortTable sortableTable = new SortTable(); sortableTable.setStyleName(res.css().tableMain()); sortableTable.getElement().setId("collectionbreak"); sortableTable.setBorderWidth(1); sortableTable.setCellPadding(4); sortableTable.setCellSpacing(1); sortableTable.setWidth("800"); sortableTable.getElement().getStyle().setBackgroundColor("#fff"); sortableTable.addColumnHeader(i18n.GL3259(), 0); sortableTable.addColumnHeader(i18n.GL3267(), 1); sortableTable.addColumnHeader(i18n.GL3182(), 2); sortableTable.addColumnHeader(i18n.GL3268(), 3); sortableTable.addColumnHeader(i18n.GL0934(), 4); sortableTable.addColumnHeader(i18n.GL3261(), 5); sortableTable.getRowFormatter().addStyleName(0, res.css().tableHeader()); int rowVal = 1; for (int i = 0; i < result.size(); i++) { Label number = new Label(String.valueOf(result.get(i).getItemSequence())); number.setStyleName(res.css().alignCenterAndBackground()); sortableTable.setWidget(rowVal, 0, number); // set Format String resourceCategory = result.get(i).getResourceFormat() != null ? result.get(i).getResourceFormat().trim() : ""; String categoryStyle = ""; if (resourceCategory.equalsIgnoreCase("website") || resourceCategory.equalsIgnoreCase("webpage")) { resourceCategory = "webpage"; categoryStyle = res.css().category_new_type_webpage(); } else if (resourceCategory.equalsIgnoreCase("slide") || resourceCategory.equalsIgnoreCase("image")) { resourceCategory = "image"; categoryStyle = res.css().category_new_type_image(); } else if (resourceCategory.equalsIgnoreCase("handout") || resourceCategory.equalsIgnoreCase("lesson") || resourceCategory.equalsIgnoreCase("textbook") || resourceCategory.equalsIgnoreCase("text")) { resourceCategory = "text"; categoryStyle = res.css().category_new_type_text(); } else if (resourceCategory.equalsIgnoreCase("exam")) { resourceCategory = "webpage"; categoryStyle = res.css().category_new_type_webpage(); } else if (resourceCategory.equalsIgnoreCase("video")) { resourceCategory = "video"; categoryStyle = res.css().category_new_type_video(); } else if (resourceCategory.equalsIgnoreCase("interactive")) { resourceCategory = "webpage"; categoryStyle = res.css().category_new_type_interactive(); } else if (resourceCategory.equalsIgnoreCase("audio")) { resourceCategory = "audio"; categoryStyle = res.css().category_new_type_audio(); } else { categoryStyle = res.css().category_new_type_other(); } Label categorylbl = new Label(); categorylbl.setStyleName(res.css().alignCenterAndBackground()); categorylbl.addStyleName(categoryStyle); categorylbl.addStyleName(res.css().setMarginAuto()); sortableTable.setWidget(rowVal, 1, categorylbl); // Set Question Title Label questionTitle = new Label( AnalyticsUtil.html2text( result.get(i).getTitle() != null ? result.get(i).getTitle() : "")); questionTitle.setStyleName(res.css().alignCenterAndBackground()); questionTitle.addStyleName(res.css().alignLeft()); sortableTable.setWidget(rowVal, 2, questionTitle); // Set time spent HorizontalPanel timeSpentpnl = new HorizontalPanel(); timeSpentpnl.add(AnalyticsUtil.getTimeStampLabel(result.get(i).getAvgTimeSpent())); Label progressBar = new Label(); progressBar.setStyleName(res.css().setProgressBar()); timeSpentpnl.add(progressBar); double maxAvgVal = ((double) result.get(i).getAvgTimeSpent()) / ((double) maxAvgValue.getTimeSpent()); progressBar.getElement().getStyle().setWidth(maxAvgVal * 100, Unit.PX); sortableTable.setWidget(rowVal, 3, timeSpentpnl); // set Views label Label viewlbl = new Label(Integer.toString(result.get(i).getViews())); viewlbl.setStyleName(res.css().alignCenterAndBackground()); sortableTable.setWidget(rowVal, 4, viewlbl); // Set reactions int reaction = result.get(i).getAvgReaction(); HTMLPanel reactionpnl = new HTMLPanel(""); reactionpnl.add(new AnalyticsReactionWidget(reaction)); Label reactioncount = new Label(); reactionpnl.add(reactioncount); reactioncount.setText(reaction + "/5"); reactioncount.setStyleName(res.css().alignCenterAndBackground()); sortableTable.setWidget(rowVal, 5, reactionpnl); if (rowVal % 2 == 0) { sortableTable .getRowFormatter() .getElement(rowVal) .setAttribute("style", "background-color: #fafafa"); } rowVal++; } if (result.size() == 0) { Label erroeMsg = new Label(); erroeMsg.setStyleName(res.css().displayMessageTextForScoredQuestions()); erroeMsg.setText(i18n.GL3467()); teacherResourceBreakdownData.add(erroeMsg); } teacherResourceBreakdownData.add(sortableTable); filterDropDown.addChangeHandler( new ChangeHandler() { @Override public void onChange(ChangeEvent event) { teacherResourceBreakdownData.clear(); int selectedIndex = filterDropDown.getSelectedIndex(); sortableTable.setStyleName("collectionProgressTable"); sortableTable.getElement().setId("collectionbreak"); if (selectedIndex == 1) { if (questionsData.size() > 0) { setCollectionBreakDown(questionsData, loadingImage); } else { Label erroeMsg = new Label(); erroeMsg.setStyleName(res.css().displayMessageTextForOEQuestions()); erroeMsg.setText(i18n.GL3274()); teacherResourceBreakdownData.add(erroeMsg); } } else if (selectedIndex == 2) { if (resourceData.size() > 0) { setCollectionBreakDown(resourceData, loadingImage); } else { Label erroeMsg = new Label(); erroeMsg.setStyleName(res.css().displayMessageTextForOEQuestions()); erroeMsg.setText(i18n.GL3467()); teacherResourceBreakdownData.add(erroeMsg); } } else { if (allData.size() > 0) { setCollectionBreakDown(allData, loadingImage); } else { Label erroeMsg = new Label(); erroeMsg.setStyleName(res.css().displayMessageTextForOEQuestions()); erroeMsg.setText(i18n.GL3467()); teacherResourceBreakdownData.add(erroeMsg); } } sortableTable.addDomHandler(new ClickOnTableCell(), ClickEvent.getType()); } }); loadingImage.setVisible(false); }