private Panel bulkIssuePanel() { TextField number = new TextField("Number"); TextField amount = new TextField("Amount"); Button submit = new Button("Submit"); Panel panel = new Panel("Bulk issue cards"); submit.addClickListener(evt -> { submit.setEnabled(false); new BulkIssuer(commandGateway, Integer.parseInt(number.getValue()), Integer.parseInt(amount.getValue()), bulkIssuer -> { access(() -> { if(bulkIssuer.getRemaining().get() == 0) { submit.setEnabled(true); panel.setCaption("Bulk issue cards"); Notification.show("Bulk issue card completed", Notification.Type.HUMANIZED_MESSAGE) .addCloseListener(e -> cardSummaryDataProvider.refreshAll()); } else { panel.setCaption(String.format("Progress: %d suc, %d fail, %d rem", bulkIssuer.getSuccess().get(), bulkIssuer.getError().get(), bulkIssuer.getRemaining().get())); cardSummaryDataProvider.refreshAll(); } }); }); }); FormLayout form = new FormLayout(); form.addComponents(number, amount, submit); form.setMargin(true); panel.setContent(form); return panel; }
private Panel issuePanel() { TextField id = new TextField("Card id"); TextField amount = new TextField("Amount"); Button submit = new Button("Submit"); submit.addClickListener(evt -> { commandGateway.sendAndWait(new IssueCmd(id.getValue(), Integer.parseInt(amount.getValue()))); Notification.show("Success", Notification.Type.HUMANIZED_MESSAGE) .addCloseListener(e -> cardSummaryDataProvider.refreshAll()); }); FormLayout form = new FormLayout(); form.addComponents(id, amount, submit); form.setMargin(true); Panel panel = new Panel("Issue single card"); panel.setContent(form); return panel; }
private Panel redeemPanel() { TextField id = new TextField("Card id"); TextField amount = new TextField("Amount"); Button submit = new Button("Submit"); submit.addClickListener(evt -> { commandGateway.sendAndWait(new RedeemCmd(id.getValue(), Integer.parseInt(amount.getValue()))); Notification.show("Success", Notification.Type.HUMANIZED_MESSAGE) .addCloseListener(e -> cardSummaryDataProvider.refreshAll()); }); FormLayout form = new FormLayout(); form.addComponents(id, amount, submit); form.setMargin(true); Panel panel = new Panel("Redeem card"); panel.setContent(form); return panel; }