Skip to content

Commit

Permalink
small css fixed and small refactoring in resource ocntent panels
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Mar 27, 2016
1 parent 6952382 commit 5893399
Show file tree
Hide file tree
Showing 11 changed files with 185 additions and 117 deletions.
Expand Up @@ -31,6 +31,7 @@
import com.evolveum.midpoint.prism.PrismObjectDefinition;
import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.input.QNameChoiceRenderer;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.xml.ns._public.common.common_3.FocusType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType;

Expand Down Expand Up @@ -85,10 +86,18 @@ protected void onUpdate(AjaxRequestTarget target) {

@Override
public void onClick(AjaxRequestTarget target) {
List<T> selected = ((ObjectListPanel) get(ID_TABLE)).getSelectedObjects();
addPerformed(target, selected);
List<T> selected = ((ObjectListPanel) getParent().get(ID_TABLE)).getSelectedObjects();
FocusBrowserPanel.this.addPerformed(target, selected);
}
};

addButton.add(new VisibleEnableBehaviour() {

@Override
public boolean isVisible() {
return multiselect;
}
});

add(addButton);
}
Expand All @@ -97,7 +106,7 @@ protected void onClick(AjaxRequestTarget target, T focus) {

}

private ObjectListPanel<T> createObjectListPanel(Class<T> type, boolean multiselect) {
private ObjectListPanel<T> createObjectListPanel(Class<T> type, final boolean multiselect) {
ObjectListPanel<T> listPanel = new ObjectListPanel<T>(ID_TABLE, type, parentPage) {

@Override
Expand All @@ -111,8 +120,13 @@ public void addPerformed(AjaxRequestTarget target, List<T> selected) {
super.addPerformed(target, selected);
FocusBrowserPanel.this.addPerformed(target, selected);
}

@Override
public boolean isMultiSelect() {
return multiselect;
}
};
listPanel.setMultiSelect(multiselect);
// listPanel.setMultiSelect(multiselect);
listPanel.setOutputMarkupId(true);
return listPanel;
}
Expand Down
Expand Up @@ -121,10 +121,10 @@ public void setPageSize(int pageSize) {
public void setTableId(TableId tableId) {
this.tableId = tableId;
}
public List<T> getSelectedObjects(){

public List<T> getSelectedObjects() {
BaseSortableDataProvider dataProvider = getDataProvider();
if (dataProvider instanceof ObjectDataProvider2){
if (dataProvider instanceof ObjectDataProvider2) {
return ((ObjectDataProvider2) dataProvider).getSelectedData();
} else if (dataProvider instanceof ListDataProvider2) {
return ((ListDataProvider2) dataProvider).getSelectedObjects();
Expand Down Expand Up @@ -160,24 +160,25 @@ public void onClick(AjaxRequestTarget target) {
};
mainForm.add(cancelButton);

// AjaxButton addButton = new AjaxButton(ID_BUTTON_ADD,
// createStringResource("userBrowserDialog.button.addButton")) {
//
// @Override
// public void onClick(AjaxRequestTarget target) {
// List<T> selected = ((BaseSortableDataProvider) getDataProvider()).getSelectedData();
// addPerformed(target, selected);
// }
// };
// addButton.add(new VisibleEnableBehaviour() {
// @Override
// public boolean isVisible() {
// return ObjectListPanel.this.isMultiSelect();
// }
// });
// mainForm.add(addButton);
// AjaxButton addButton = new AjaxButton(ID_BUTTON_ADD,
// createStringResource("userBrowserDialog.button.addButton")) {
//
// @Override
// public void onClick(AjaxRequestTarget target) {
// List<T> selected = ((BaseSortableDataProvider)
// getDataProvider()).getSelectedData();
// addPerformed(target, selected);
// }
// };
// addButton.add(new VisibleEnableBehaviour() {
// @Override
// public boolean isVisible() {
// return ObjectListPanel.this.isMultiSelect();
// }
// });
// mainForm.add(addButton);
}

protected BaseSortableDataProvider<SelectableBean<T>> getProvider() {
return new ObjectDataProvider2<SelectableBean<T>, T>(parentPage, type);
}
Expand Down Expand Up @@ -251,9 +252,9 @@ private List<IColumn<SelectableBean<T>, String>> initColumns() {
List<IColumn<SelectableBean<T>, String>> columns = new ArrayList<IColumn<SelectableBean<T>, String>>();

CheckBoxHeaderColumn checkboxColumn = new CheckBoxHeaderColumn();
checkboxColumn.setCheckboxVisible(isMultiSelect());
columns.add(checkboxColumn);

if (isMultiSelect()) {
columns.add(checkboxColumn);
}
String nameColumnName = SelectableBean.F_VALUE + ".name";
if (isEditable()) {
columns.add(new LinkColumn<SelectableBean<T>>(createStringResource("ObjectType.name"),
Expand Down
Expand Up @@ -19,7 +19,7 @@
xmlns:wicket="http://wicket.apache.org">
<wicket:panel>

<div class="box">

<!-- Application buttons -->
<div class="box">
<div class="box-header">
Expand Down Expand Up @@ -109,6 +109,6 @@ <h3 class="box-title">Capabilities</h3>


<!-- /.box -->
</div>

</wicket:panel>
</html>
Expand Up @@ -36,6 +36,8 @@
import org.apache.wicket.model.StringResourceModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;

import com.evolveum.midpoint.common.refinery.RefinedObjectClassDefinition;
import com.evolveum.midpoint.common.refinery.RefinedResourceSchema;
import com.evolveum.midpoint.gui.api.component.FocusBrowserPanel;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
Expand All @@ -51,6 +53,7 @@
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.processor.ResourceAttribute;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.ObjectQueryUtil;
import com.evolveum.midpoint.schema.util.ObjectTypeUtil;
import com.evolveum.midpoint.schema.util.ShadowUtil;
import com.evolveum.midpoint.task.api.Task;
Expand Down Expand Up @@ -103,7 +106,7 @@ public abstract class ResourceContentPanel extends Panel {
private PageBase pageBase;
private ShadowKindType kind;
private String intent;

IModel<PrismObject<ResourceType>> resourceModel;

public PageBase getPageBase() {
Expand All @@ -117,61 +120,94 @@ public ShadowKindType getKind() {
public String getIntent() {
return intent;
}

public IModel<PrismObject<ResourceType>> getResourceModel() {
return resourceModel;
}

public RefinedObjectClassDefinition getDefinitionByKind() throws SchemaException {
RefinedResourceSchema refinedSchema = RefinedResourceSchema
.getRefinedSchema(resourceModel.getObject(), getPageBase().getPrismContext());
return refinedSchema.getRefinedDefinition(getKind(), getIntent());

}

public ResourceContentPanel(String id, IModel<PrismObject<ResourceType>> resourceModel,
ShadowKindType kind, String intent, PageBase pageBase) {
super(id);
this.pageBase = pageBase;
this.kind = kind;
this.resourceModel = resourceModel;
this.intent = intent;
initLayout(resourceModel);
initLayout();
}

private void initLayout(IModel<PrismObject<ResourceType>> resourceModel) {
private void initLayout() {
ObjectDataProvider2<SelectableBean<ShadowType>, ShadowType> provider = new ObjectDataProvider2<SelectableBean<ShadowType>, ShadowType>(
this, ShadowType.class);

try {
provider.setQuery(createQuery(resourceModel));

ObjectQuery query = createQuery();
provider.setQuery(query);
RefinedObjectClassDefinition ocDef = getDefinitionByKind();
if (ocDef == null) {
Label label = new Label(ID_TABLE, "Nothing to show. Select intent to search");
add(label);
initCustomLayout();
return;

}

} catch (SchemaException e) {
Label label = new Label(ID_TABLE, "Nothing to show. Select intent to search");
add(label);
initCustomLayout();
return;
}

provider.setEmptyListOnNullQuery(true);
createSearchOptions(provider, resourceModel);
createSearchOptions(provider);
List<IColumn> columns = initColumns();
final BoxedTablePanel table = new BoxedTablePanel(ID_TABLE, provider, columns,
UserProfileStorage.TableId.PAGE_RESOURCE_ACCOUNTS_PANEL, 10); // parentPage.getItemsPerPage(UserProfileStorage.TableId.PAGE_RESOURCE_ACCOUNTS_PANEL)
table.setOutputMarkupId(true);
add(table);

initCustomLayout(resourceModel);

initCustomLayout();
}

protected abstract void initCustomLayout();

protected ObjectQuery createQuery() throws SchemaException {
ObjectQuery baseQuery = null;

RefinedObjectClassDefinition rOcDef = getDefinitionByKind();
if (rOcDef != null) {
if (rOcDef.getKind() != null) {
baseQuery = ObjectQueryUtil.createResourceAndKindIntent(resourceModel.getObject().getOid(),
rOcDef.getKind(), rOcDef.getIntent(), getPageBase().getPrismContext());
} else {
baseQuery = ObjectQueryUtil.createResourceAndObjectClassQuery(
resourceModel.getObject().getOid(), rOcDef.getTypeName(),
getPageBase().getPrismContext());
}
}
return baseQuery;
}

protected abstract void initCustomLayout(IModel<PrismObject<ResourceType>> resource);

protected abstract ObjectQuery createQuery(IModel<PrismObject<ResourceType>> resourceModel)
throws SchemaException;
private void createSearchOptions(ObjectDataProvider2 provider) {

private void createSearchOptions(ObjectDataProvider2 provider,
IModel<PrismObject<ResourceType>> resourceModel) {
Collection<SelectorOptions<GetOperationOptions>> opts = SelectorOptions.createCollection(
ShadowType.F_ASSOCIATION, GetOperationOptions.createRetrieve(RetrieveOption.EXCLUDE));

if (addAdditionalOptions() != null){
opts.add(addAdditionalOptions()); // new SelectorOptions<GetOperationOptions>(GetOperationOptions.createNoFetch()));
if (addAdditionalOptions() != null) {
opts.add(addAdditionalOptions()); // new
// SelectorOptions<GetOperationOptions>(GetOperationOptions.createNoFetch()));
}
provider.setUseObjectCounting(isUseObjectCounting(resourceModel));
provider.setOptions(opts);
provider.setUseObjectCounting(isUseObjectCounting());
provider.setOptions(opts);

}

private StringResourceModel createStringResource(String key) {
Expand Down Expand Up @@ -260,8 +296,6 @@ public void onClick(AjaxRequestTarget target, IModel<SelectableBean<ShadowType>>

return columns;
}



private void ownerDetailsPerformed(AjaxRequestTarget target, String ownerOid) {
if (StringUtils.isEmpty(ownerOid)) {
Expand Down Expand Up @@ -362,7 +396,8 @@ private List<InlineMenuItem> createHeaderMenuItems() {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
// updateAccountStatusPerformed(target, null, true); TODO
// updateAccountStatusPerformed(target, null, true);
// TODO
}
}));

Expand All @@ -371,7 +406,8 @@ public void onSubmit(AjaxRequestTarget target, Form<?> form) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
// updateAccountStatusPerformed(target, null, false); TODO
// updateAccountStatusPerformed(target, null, false);
// TODO
}
}));

Expand Down Expand Up @@ -528,6 +564,6 @@ private void changeOwnerInternal(String ownerOid, Collection<? extends ItemDelta

protected abstract SelectorOptions<GetOperationOptions> addAdditionalOptions();

protected abstract boolean isUseObjectCounting(IModel<PrismObject<ResourceType>> resourceModel);
protected abstract boolean isUseObjectCounting();

}
Expand Up @@ -37,32 +37,32 @@ public ResourceContentRepositoryPanel(String id, IModel<PrismObject<ResourceType
}

@Override
protected void initCustomLayout(IModel<PrismObject<ResourceType>> resource) {
protected void initCustomLayout() {
// TODO Auto-generated method stub

}

@Override
protected ObjectQuery createQuery(IModel<PrismObject<ResourceType>> resourceModel)
throws SchemaException {
ObjectQuery baseQuery = null;
if (StringUtils.isNotBlank(getIntent())) {
baseQuery = ObjectQueryUtil.createResourceAndKindIntent(resourceModel.getObject().getOid(),
getKind(), getIntent(), getPageBase().getPrismContext());
} else {
baseQuery = ObjectQueryUtil.createResourceAndKind(resourceModel.getObject().getOid(), getKind(),
getPageBase().getPrismContext());
}
return baseQuery;
}
//
// @Override
// protected ObjectQuery createQuery()
// throws SchemaException {
// ObjectQuery baseQuery = null;
// if (StringUtils.isNotBlank(getIntent())) {
// baseQuery = ObjectQueryUtil.createResourceAndKindIntent(resourceModel.getObject().getOid(),
// getKind(), getIntent(), getPageBase().getPrismContext());
// } else {
// baseQuery = ObjectQueryUtil.createResourceAndKind(resourceModel.getObject().getOid(), getKind(),
// getPageBase().getPrismContext());
// }
// return baseQuery;
// }

@Override
protected SelectorOptions<GetOperationOptions> addAdditionalOptions() {
return new SelectorOptions<GetOperationOptions>(GetOperationOptions.createNoFetch());
}

@Override
protected boolean isUseObjectCounting(IModel<PrismObject<ResourceType>> resourceModel) {
protected boolean isUseObjectCounting() {
return true;
}

Expand Down
Expand Up @@ -18,10 +18,16 @@
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>



<div class="row">
<div class="form-group">
<label><wicket:message key="ResourceContentResourcePanel.realSearch" /></label>
<label wicket:id="objectClass" />

</div>
</div>
<div wicket:id="table" />

<div class="box">
<div class="form-group">
<div class=btn-group>
<div wicket:id="import" />
Expand All @@ -33,6 +39,7 @@
<div wicket:id="liveSync" />
</div>
</div>
</div>

</wicket:panel>
</html>

0 comments on commit 5893399

Please sign in to comment.