Skip to content

Commit

Permalink
request access ui, 3rd step (shopping cart UI)
Browse files Browse the repository at this point in the history
  • Loading branch information
1azyman committed May 27, 2022
1 parent 2da7fa9 commit 2301c97
Show file tree
Hide file tree
Showing 2 changed files with 157 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,60 @@
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
shopping cart
<div class="row">
<div class="col-md-12 col-xl-7 col-lg-8 col-xxl-9">
<div wicket:id="table"/>
</div>
<div class="col-md-12 col-xl-5 col-lg-4 col-xxl-3">
<div class="card">
<div class="card-header">
<h3 class="card-title">
<i class="fas fa-cash-register mr-1"></i>
Checkout
</h3>
</div>
<div class="card-body d-flex flex-column gap-2">
<label class="mb-0">
Validity
<i class="fas fa-info-circle fa-xs text-primary"></i>
</label>
<select class="form-control">

</select>
<label class="mb-0">
Comment
<i class="fas fa-info-circle fa-xs text-primary"></i>
</label>
<textarea class="form-control" rows="4"></textarea>
<a class="btn btn-danger">
<i class="fas fa-triangle-exclamation"></i>
Open conflict solver
</a>
<a class="btn btn-success">
<i class="fas fa-credit-card"></i>
Submit my request
</a>
</div>
</div>
</div>
</div>
</wicket:panel>

<wicket:fragment wicket:id="tableFooterFragment">
<a class="btn btn-outline-primary" wicket:id="clearCart">
<i class="fa-solid fa-recycle"></i>
Clear the shopping cart
</a>
</wicket:fragment>

<wicket:fragment wicket:id="tableButtonColumn">
<a class="btn btn-link" wicket:id="edit">
<i class="fas fa-pen-to-square"></i>
Edit
</a>
<a class="btn btn-link text-danger" wicket:id="remove">
<i class="fas fa-trash-can"></i>
Remove
</a>
</wicket:fragment>
</html>
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,122 @@

package com.evolveum.midpoint.gui.impl.page.self.requestAccess;

import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.gui.api.component.wizard.WizardPanel;
import java.util.ArrayList;
import java.util.List;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;

import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.gui.api.component.wizard.WizardPanel;
import com.evolveum.midpoint.web.component.data.BoxedTablePanel;
import com.evolveum.midpoint.web.component.util.ListDataProvider;

/**
* Created by Viliam Repan (lazyman).
*/
public class ShoppingCartPanel extends BasePanel implements WizardPanel {

private static final String ID_TABLE = "table";
private static final String ID_TABLE_FOOTER_FRAGMENT = "tableFooterFragment";
private static final String ID_TABLE_BUTTON_COLUMN = "tableButtonColumn";
private static final String ID_CLEAR_CART = "clearCart";
private static final String ID_EDIT = "edit";
private static final String ID_REMOVE = "remove";

public ShoppingCartPanel(String id) {
super(id);

initLayout();
}

@Override
public IModel<String> getTitle() {
return () -> getString("ShoppingCartPanel.title");
}

@Override
public String appendCssToWizard() {
return "w-100";
}

private void initLayout() {
List<IColumn> columns = createColumns();
ISortableDataProvider provider = new ListDataProvider(this, () -> List.of(""));
BoxedTablePanel table = new BoxedTablePanel(ID_TABLE, provider, columns) {

@Override
protected WebMarkupContainer createButtonToolbar(String id) {
Fragment fragment = new Fragment(id, ID_TABLE_FOOTER_FRAGMENT, ShoppingCartPanel.this);
fragment.add(new AjaxLink<>(ID_CLEAR_CART) {

@Override
public void onClick(AjaxRequestTarget target) {
clearCartPerformed(target);
}
});

return fragment;
}
};
add(table);
}

private List<IColumn> createColumns() {
List<IColumn> columns = new ArrayList<>();
// columns.add(new IconColumn() {
// @Override
// protected DisplayType getIconDisplayType(IModel rowModel) {
// return null;
// }
// });
columns.add(new AbstractColumn(createStringResource("Access name")) {
@Override
public void populateItem(Item item, String id, IModel iModel) {
item.add(new Label(id, "asdf"));
}
});
columns.add(new AbstractColumn(createStringResource("Selected users")) {
@Override
public void populateItem(Item item, String id, IModel model) {
item.add(new Label(id, "zxcv"));
}
});
columns.add(new AbstractColumn(() -> "") {
@Override
public void populateItem(Item item, String id, IModel model) {
Fragment fragment = new Fragment(id, ID_TABLE_BUTTON_COLUMN, ShoppingCartPanel.this);
fragment.add(new AjaxLink<>(ID_EDIT) {

@Override
public void onClick(AjaxRequestTarget target) {

}
});
fragment.add(new AjaxLink<>(ID_REMOVE) {

@Override
public void onClick(AjaxRequestTarget target) {

}
});

item.add(fragment);
}
});

return columns;
}

protected void clearCartPerformed(AjaxRequestTarget target) {

}
}

0 comments on commit 2301c97

Please sign in to comment.