/** * Instantiates a new user statistics. * * @param userId the user id * @param model the model * @param dateFrom the date from * @param dateTo the date to * @param segVal the seg val * @param dispatcher */ public UserStatisticsLayout( Record userRec, String model, Date dateFrom, Date dateTo, final String segVal, DispatchAsync dispatcher, LangConstants lang) { this.dispatcher = dispatcher; this.userId = userRec != null ? userRec.getAttributeAsString(Constants.ATTR_ID) : UNIFYING; this.chartsLayout = new HLayout(); this.lang = lang; this.userName = userRec != null ? (userRec.getAttributeAsString(Constants.ATTR_NAME) + " " + userRec.getAttribute(Constants.ATTR_SURNAME)) : lang.unifyingCharts(); HTMLFlow nameFlow = new HTMLFlow(HtmlCode.title(userName, 3)); nameFlow.setHeight(40); addMember(nameFlow); addMember(chartsLayout); setBackgroundColor("white"); htmlPieFlow = new HTMLFlow(html.replace("%s", PIE_CHART_NESTED_DIV_ID + userId)); htmlPieFlow.setWidth("40%"); htmlPieFlow.setHeight(250); htmlPieFlow.setExtraSpace((userRec != null) ? 10 : 50); chartsLayout.addMember(htmlPieFlow); htmlLineFlow = new HTMLFlow(html.replace("%s", LINE_CHART_NESTED_DIV_ID + userId)); htmlLineFlow.setWidth("*"); htmlLineFlow.setHeight(250); chartsLayout.addMember(htmlLineFlow); setShowEdges(true); setEdgeSize(3); setEdgeOpacity(60); setPadding(5); setExtraSpace(5); setHeight(280); final ModalWindow mw = new ModalWindow(chartsLayout); mw.setLoadingIcon("loadingAnimation.gif"); mw.show(true); setdata(model, dateFrom, dateTo, segVal, mw); }
TableListGrid(String[] intervals, HashMap<String, Integer[]> userValues) { setWidth100(); if (userValues.size() < 6) { setHeight(userValues.size() * 25 + 30); } setShowAllRecords(true); setCanDragSelect(true); List<ListGridField> fields = new ArrayList<ListGridField>(); int fieldsIndex = 0; if (userValues.size() > 1) { ListGridField nameField = new ListGridField(Constants.ATTR_NAME, HtmlCode.bold(lang.name())); nameField.setWidth(140); fields.add(nameField); } ArrayList<Integer> indexes = new ArrayList<Integer>(); for (String interv : intervals) { for (String user : userValues.keySet()) { if (userValues.get(user)[fieldsIndex] > 0) { indexes.add(fieldsIndex); fields.add( new ListGridField( Constants.ATTR_INTERVAL + fieldsIndex, interv.replaceAll(" ", ""))); break; } } fieldsIndex++; } Integer layoutWidth = UserStatisticsLayout.this.getWidth(); int width = indexes.size() * 115 + (userValues.size() > 1 ? 200 : 65); if (width < layoutWidth - 10) setWidth(width); fields.add(new ListGridField(Constants.ATTR_OBJECT, HtmlCode.bold(lang.inTotal()))); ListGridField[] fieldsArray = new ListGridField[fields.size()]; fields.toArray(fieldsArray); setFields(fieldsArray); ListGridRecord[] records = new ListGridRecord [intervals.length > userValues.size() ? intervals.length : userValues.size()]; fieldsIndex = 0; for (String user : userValues.keySet()) { ListGridRecord userRecord = new ListGridRecord(); if (userValues.size() > 1) userRecord.setAttribute(Constants.ATTR_NAME, HtmlCode.bold(user)); int overall = 0; for (Integer ind : indexes) { int val = userValues.get(user)[ind]; overall += val; userRecord.setAttribute(Constants.ATTR_INTERVAL + ind, val); } userRecord.setAttribute(Constants.ATTR_OBJECT, HtmlCode.bold(String.valueOf(overall))); records[fieldsIndex++] = userRecord; } setData(records); }
/** Instantiates a new home view. */ @Inject public HomeView(LangConstants lang) { this.lang = lang; layout = new VStack(); layout.setHeight100(); layout.setPadding(15); HTMLFlow html1 = new HTMLFlow(); html1.setContents(lang.introduction() + HtmlCode.title(lang.availCoopSys(), 2)); html1.setExtraSpace(15); status = new HTMLFlow(getStatusString()); status.setExtraSpace(35); checkButton = new IButton(lang.checkAvailability()); checkButton.setAutoFit(true); checkButton.setExtraSpace(60); HTMLFlow html2 = new HTMLFlow(); html2.setContents(HtmlCode.title(lang.openDigitalObject(), 2)); html2.setExtraSpace(30); DataSource dataSource = new DataSource(); dataSource.setID("regularExpression"); RegExpValidator regExpValidator = new RegExpValidator(); regExpValidator.setExpression( "^.*:([\\da-fA-F]){8}-([\\da-fA-F]){4}-([\\da-fA-F]){4}-([\\da-fA-F]){4}-([\\da-fA-F]){12}$"); uuidField = new TextItem(); uuidField.setTitle("PID"); uuidField.setWidth(255); uuidField.setHint(HtmlCode.nobr(lang.withoutPrefix())); uuidField.setValidators(regExpValidator); form = new DynamicForm(); form.setWidth(300); form.setFields(uuidField); open = new IButton(); open.setTitle(lang.open()); open.setDisabled(true); open.setAutoShowParent(false); HLayout hLayout = new HLayout(); hLayout.setMembersMargin(10); hLayout.addMember(form); hLayout.addMember(open); // HTMLFlow html3 = new HTMLFlow(); // html3.setHeight("*"); // html3.setLayoutAlign(VerticalAlignment.BOTTOM); // html3.setContents(lang.credits()); // html3.setHeight(20); layout.addMember(html1); layout.addMember(status); layout.addMember(checkButton); layout.addMember(html2); layout.addMember(hLayout); // layout.addMember(html3); }