Skip to content

Commit

Permalink
Delegations tab
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Nov 7, 2016
1 parent a94f2f1 commit 840b74c
Show file tree
Hide file tree
Showing 8 changed files with 406 additions and 21 deletions.
Expand Up @@ -50,6 +50,9 @@ public class ComponentConstants {
public static final QName UI_FOCUS_TAB_INDUCEMENTS = new QName(NS_COMPONENTS_PREFIX, "focusTabInducements");
public static final String UI_FOCUS_TAB_INDUCEMENTS_URL = QNameUtil.qNameToUri(UI_FOCUS_TAB_INDUCEMENTS);

public static final QName UI_FOCUS_TAB_DELEGATIONS = new QName(NS_COMPONENTS_PREFIX, "focusTabDelegations");
public static final String UI_FOCUS_TAB_DELEGATIONS_URL = QNameUtil.qNameToUri(UI_FOCUS_TAB_DELEGATIONS);

public static final QName UI_FOCUS_TAB_POLICY_CONSTRAINTS = new QName(NS_COMPONENTS_PREFIX, "focusTabPolicyConstraints");
public static final String UI_FOCUS_TAB_POLICY_CONSTRAINTS_URL = QNameUtil.qNameToUri(UI_FOCUS_TAB_POLICY_CONSTRAINTS);

Expand Down
Expand Up @@ -131,6 +131,7 @@ public class AssignmentEditorPanel extends BasePanel<AssignmentEditorDto> {
private static final String ID_ERROR_ICON = "errorIcon";

private IModel<List<ACAttributeDto>> attributesModel;
protected WebMarkupContainer headerRow;

public AssignmentEditorPanel(String id, IModel<AssignmentEditorDto> model) {
super(id, model);
Expand All @@ -155,7 +156,7 @@ public void renderHead(IHeaderResponse response) {

private void initLayout() {
setOutputMarkupId(true);
WebMarkupContainer headerRow = new WebMarkupContainer(ID_HEADER_ROW);
headerRow = new WebMarkupContainer(ID_HEADER_ROW);
headerRow.add(AttributeModifier.append("class", createHeaderClassModel(getModel())));
headerRow.setOutputMarkupId(true);
add(headerRow);
Expand Down Expand Up @@ -348,7 +349,7 @@ public String getObject() {
};
}

private IModel<Date> createDateModel(final IModel<XMLGregorianCalendar> model) {
protected IModel<Date> createDateModel(final IModel<XMLGregorianCalendar> model) {
return new Model<Date>() {

@Override
Expand Down
Expand Up @@ -86,7 +86,7 @@ public class AssignmentTablePanel<T extends ObjectType> extends BasePanel<List<A
private static final String ID_HEADER = "assignmentsHeader";
private static final String ID_MENU = "assignmentsMenu";
private static final String ID_LIST = "assignmentList";
private static final String ID_ROW = "assignmentEditor";
protected static final String ID_ROW = "assignmentEditor";
// private static final String ID_MODAL_ASSIGN = "assignablePopup";
// private static final String ID_MODAL_ASSIGN_ORG = "assignableOrgPopup";

Expand Down Expand Up @@ -125,24 +125,8 @@ private void initLayout(IModel<String> labelText) {
private static final long serialVersionUID = 1L;

@Override
protected void populateItem(final ListItem<AssignmentEditorDto> item) {
AssignmentEditorPanel editor = new AssignmentEditorPanel(ID_ROW, item.getModel());
item.add(editor);

editor.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() {
private static final long serialVersionUID = 1L;

@Override
public String getObject() {
AssignmentEditorDto dto = item.getModel().getObject();
ObjectReferenceType targetRef = dto.getTargetRef();
if (targetRef != null && targetRef.getType() != null) {
return WebComponentUtil.getBoxThinCssClasses(targetRef.getType());
} else {
return GuiStyleConstants.CLASS_OBJECT_RESOURCE_BOX_THIN_CSS_CLASSES;
}
}
}));
protected void populateItem(ListItem<AssignmentEditorDto> item) {
AssignmentTablePanel.this.populateItem(item);
}
};
list.setOutputMarkupId(true);
Expand All @@ -165,6 +149,26 @@ protected void onUpdate(AjaxRequestTarget target) {

}

protected void populateItem(ListItem<AssignmentEditorDto> item){
AssignmentEditorPanel editor = new AssignmentEditorPanel(ID_ROW, item.getModel());
item.add(editor);

editor.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() {
private static final long serialVersionUID = 1L;

@Override
public String getObject() {
AssignmentEditorDto dto = item.getModel().getObject();
ObjectReferenceType targetRef = dto.getTargetRef();
if (targetRef != null && targetRef.getType() != null) {
return WebComponentUtil.getBoxThinCssClasses(targetRef.getType());
} else {
return GuiStyleConstants.CLASS_OBJECT_RESOURCE_BOX_THIN_CSS_CLASSES;
}
}
}));
}

private List<InlineMenuItem> createAssignmentMenu() {
List<InlineMenuItem> items = new ArrayList<>();

Expand Down
@@ -0,0 +1,249 @@
<!--
~ Copyright (c) 2010-2016 Evolveum
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
<div class="box-header with-border" wicket:id="headerRow">
<div class="row check-table-header" style="margin-left: 2px;">
<input type="checkbox" wicket:id="selected"/>
<div class="check-table-label">
<i class="check-table-header-icon" wicket:id="typeImage"></i>
<a class="check-table-header-name" wicket:id="name">
<span class="name" wicket:id="nameLabel"/>
</a>
<span class="check-table-header-description" wicket:id="activation"/>
<i class="check-table-header-additional-icon fa fa-fw fa-exclamation-circle text-danger"
wicket:id="errorIcon"></i>
<a class="check-table-header-show-more" wicket:id="errorLink">
<wicket:message key="AssignmentEditorPanel.showMore"/>
</a>
<i class="check-table-header-additional-icon fa fa-arrow-right text-info" wicket:id="arrowIcon"
style="font-size: 24px; margin-left: 5px; margin-right: 5px;"></i>
<i class="check-table-header-icon" wicket:id="delegatedToImage"></i>
<a class="check-table-header-name" wicket:id="delegatedTo">
<span class="name" wicket:id="delegatedToLabel"/>
</a>
</div>
</div>
<div class="row">
<label class="col-sm-1">
<wicket:message key="DelegationEditorPanel.from" />
</label>
<div class="col-sm-5" wicket:id="delegationValidFrom"/>
<label class="col-sm-1">
<wicket:message key="DelegationEditorPanel.to" />
</label>
<div class="col-sm-5" wicket:id="delegationValidTo"/>

</div>
</div>

<div class="box-body" wicket:id="body">
<div class="container-fluid prism-object">

<div class="row">
<div class="container-fluid prism-container">

<div class="row prism-header">
<span class="prism-title"><wicket:message key="ActivationType.properties"/></span>
</div>

<div class="prism-properties">

<div>
<div class="row prism-property">
<div class="col-xs-4">
<span><wicket:message key="AssignmentEditorPanel.description"/></span>
</div>
<div class="col-xs-8">
<div class="row">
<div class="col-xs-9">
<textarea class="form-control input-sm" rows="2"
wicket:id="description"></textarea>
</div>
</div>
</div>
</div>
</div>

<div class="stripe">
<div class="row prism-property" wicket:id="relationContainer">
<div class="col-xs-4">
<span><wicket:message key="AssignmentEditorPanel.relation"/></span>
</div>
<div class="col-xs-8">
<div class="row">
<div class="col-xs-9">
<div wicket:id="relation"/>
<span wicket:id="relationLabel"/>
</div>
</div>
</div>
</div>
</div>

<div>
<div class="row prism-property">
<div class="col-xs-4">
<span><wicket:message key="AssignmentEditorPanel.focusType"/></span>
</div>
<div class="col-xs-8">
<div class="row">
<div class="col-xs-9">
<span wicket:id="focusType"/>
</div>
</div>
</div>
</div>
</div>

<div>
<div class="row prism-property" wicket:id="tenantRefContainer">
<div class="col-xs-4">
<span><wicket:message key="AssignmentEditorPanel.tenantRef"/></span>
</div>
<div wicket:id="tenantRefChooser"/>
</div>
</div>

<div class="stripe">
<div class="row prism-property" wicket:id="orgRefContainer">
<div class="col-xs-4">
<span><wicket:message key="AssignmentEditorPanel.orgRef"/></span>
</div>
<div wicket:id="orgRefChooser"/>
</div>
</div>

</div>
</div>
</div>

<div class="row" wicket:id="activationBlock">
<div class="container-fluid prism-container">

<div class="row prism-header">
<span class="prism-title"><wicket:message key="ActivationType.title"/></span>
</div>

<div class="prism-properties">

<div>
<div class="row prism-property">
<div class="col-xs-4">
<span><wicket:message key="ActivationType.administrativeStatus"/></span>
</div>
<div class="col-xs-8">
<div class="row">
<div class="col-xs-9">
<div wicket:id="administrativeStatus"/>
</div>
</div>
</div>
</div>
</div>

<div class="stripe">
<div class="row prism-property">
<div class="col-xs-4">
<span><wicket:message key="ActivationType.validFrom"/></span>
</div>
<div class="col-xs-8">
<div class="row">
<div class="col-xs-9">
<div wicket:id="validFrom"/>
</div>
</div>
</div>
</div>
</div>

<div>
<div class="row prism-property">
<div class="col-xs-4">
<span><wicket:message key="ActivationType.validTo"/></span>
</div>
<div class="col-xs-8">
<div class="row">
<div class="col-xs-9">
<div wicket:id="validTo"/>
</div>
</div>
</div>
</div>
</div>

</div>
</div>
</div>


<div class="row" wicket:id="targetContainer">
<div class="container-fluid prism-container">

<div class="row prism-header">
<span class="prism-title"><wicket:message key="AssignmentEditorPanel.target"/></span>
</div>

<div class="prism-properties">

<div>
<div class="row prism-property">
<div class="col-xs-4">
<span><wicket:message key="AssignmentEditorPanel.target"/></span>
</div>
<div class="col-xs-8">
<div class="row">
<div class="col-xs-9">
<div wicket:id="target"/>
</div>
</div>
</div>
</div>
</div>

</div>
</div>
</div>

<div class="row" wicket:id="constructionContainer">
<div class="container-fluid prism-container">

<div class="row prism-header">
<span class="prism-title"><wicket:message key="AssignmentEditorPanel.attributes"/></span>
</div>

<div class="prism-properties">

<div class="assignmentContent">
<a wicket:id="showEmpty"><span wicket:id="showEmptyLabel"/></a>
</div>

<div wicket:id="attributes">
<div wicket:id="attribute">
<div wicket:id="acAttribute"/>
</div>
</div>

</div>
</div>
</div>

</div>
</div>
</wicket:panel>
</html>

0 comments on commit 840b74c

Please sign in to comment.