Java源码示例:org.apache.wicket.markup.html.panel.Fragment
示例1
@Override
protected void onInitialize()
{
super.onInitialize();
List<EventDetail> detailsList = getDetails();
add(new ListView<EventDetail>("detailsList", detailsList)
{
@Override
protected void populateItem(ListItem<EventDetail> item)
{
EventDetail ref = item.getModelObject();
item.add(new Label("key", Model.of(ref.getKey())).setRenderBodyOnly(true));
Fragment frag = buildDetailsFragment(ref);
item.add(frag);
}
});
}
示例2
private WebMarkupContainer newAddReplyContainer() {
WebMarkupContainer addReplyContainer = new Fragment("addReply", "addReplyFrag", this) {
@Override
protected void onConfigure() {
super.onConfigure();
setVisible(SecurityUtils.getUser() != null);
}
};
addReplyContainer.setOutputMarkupId(true);
addReplyContainer.add(new AjaxLink<Void>("reply") {
@Override
public void onClick(AjaxRequestTarget target) {
onAddReply(target);
}
});
return addReplyContainer;
}
示例3
private Fragment newAcceptedFrag() {
Fragment fragment = new Fragment("status", "mergedFrag", this);
fragment.add(new BranchLink("sourceBranch", getPullRequest().getSource()));
fragment.add(new BranchLink("targetBranch", getPullRequest().getTarget()));
fragment.add(new Link<Void>("swapBranches") {
@Override
public void onClick() {
setResponsePage(
NewPullRequestPage.class,
paramsOf(getProject(), getPullRequest().getSource(), getPullRequest().getTarget()));
}
});
return fragment;
}
示例4
@Override
public WebMarkupContainer newAdditionalActions(String id) {
WebMarkupContainer actions = new Fragment(id, "actionsFrag", this);
if (hasOutline()) {
actions.add(new CheckBox("outline", Model.of(isOutlineVisibleInitially())).add(new OnChangeAjaxBehavior() {
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
super.updateAjaxAttributes(attributes);
attributes.setMethod(Method.POST);
}
@Override
protected void onUpdate(AjaxRequestTarget target) {
toggleOutline(target);
}
}));
} else {
actions.add(new WebMarkupContainer("outline").setVisible(false));
}
return actions;
}
示例5
@Override
protected void onInitialize() {
super.onInitialize();
add(new SideBar("userSidebar", null) {
@Override
protected Component newHead(String componentId) {
Fragment fragment = new Fragment(componentId, "sidebarHeadFrag", UserPage.this);
User user = userModel.getObject();
fragment.add(new UserAvatar("avatar", user)
.add(AttributeAppender.append("title", user.getDisplayName())));
fragment.add(new Label("name", user.getDisplayName()));
return fragment;
}
@Override
protected List<? extends Tab> newTabs() {
return UserPage.this.newTabs();
}
});
}
示例6
@Override
protected void onInitialize() {
super.onInitialize();
WebMarkupContainer container = new WebMarkupContainer("error");
container.setOutputMarkupId(true);
add(container);
container.add(new Label("title", StringUtils.abbreviate(title, MAX_TITLE_LEN)));
container.add(new ViewStateAwarePageLink<Void>("home", ProjectListPage.class));
container.add(new AjaxLink<Void>("showDetail") {
@Override
public void onClick(AjaxRequestTarget target) {
Fragment fragment = new Fragment("detail", "detailFrag", GeneralErrorPage.this);
fragment.add(new MultilineLabel("body", detailMessage));
container.replace(fragment);
target.add(container);
setVisible(false);
}
});
container.add(new WebMarkupContainer("detail"));
}
示例7
/**
* Get the negative result fragment, which responsible
* to show item allocation error.
*
* @param sku the {@link ProductSku} which quantity can not be allocated.
*
* @return negative result fragment
*/
private MarkupContainer createNegativeItemAllocationResultFragment(final String sku) {
final ProductSku productSku = productServiceFacade.getProductSkuBySkuCode(sku);
final Map<String, Object> param = new HashMap<>();
param.put("product", getI18NSupport().getFailoverModel(productSku.getDisplayName(), productSku.getName()).getValue(getLocale().getLanguage()));
param.put("sku", sku);
final String errorMessage =
WicketUtil.createStringResourceModel(this, ALLOCATION_DETAIL, param).getString();
error(errorMessage);
return new Fragment(RESULT_CONTAINER, NEGATIVE_ALLOCATION_RESULT_FRAGMENT, this)
.add(
new Label(
ALLOCATION_DETAIL,
errorMessage )
) ;
}
示例8
/**
* Get the negative result fragment.
* @return negative result fragment
*/
private MarkupContainer createNegativePaymentResultFragment() {
error(getLocalizer().getString(NEGATIVE_PAYMENT_NOTES, this));
final List<CustomerOrderPayment> payments = checkoutServiceFacade.findPaymentRecordsByOrderNumber(getOrderNumber());
return new Fragment(RESULT_CONTAINER, NEGATIVE_RESULT_FRAGMENT, this)
.add(
new ListView<CustomerOrderPayment>(PAYMENT_DETAIL_LIST, payments) {
@Override
protected void populateItem(final ListItem<CustomerOrderPayment> item) {
final CustomerOrderPayment payment = item.getModelObject();
item.add(new Label(PAYMENT_ID_LABEL, String.valueOf(payment.getCustomerOrderPaymentId())));
item.add(new Label(PAYMENT_TRANS_ID, StringUtils.defaultIfEmpty(payment.getTransactionReferenceId(), StringUtils.EMPTY)));
item.add(new Label(PAYMENT_AUTH_CODE, StringUtils.defaultIfEmpty(payment.getTransactionAuthorizationCode(), StringUtils.EMPTY)));
item.add(new Label(PAYMENT_ERROR_CODE, StringUtils.defaultIfEmpty(payment.getTransactionOperationResultCode(), StringUtils.EMPTY)));
item.add(new Label(PAYMENT_ERROR_DESCR, StringUtils.defaultIfEmpty(payment.getTransactionOperationResultMessage(), StringUtils.EMPTY)));
}
}
);
}
示例9
private Fragment getLazyLoadedMiniStats(String markupId) {
Fragment ministatFragment = new Fragment(markupId, "ministatFragment", this);
int miniStatsCount = widgetMiniStats != null ? widgetMiniStats.size() : 0;
Loop miniStatsLoop = new Loop("widgetRow", miniStatsCount) {
private static final long serialVersionUID = 1L;
@Override
protected void populateItem(LoopItem item) {
int index = item.getIndex();
WidgetMiniStat ms = widgetMiniStats.get(index);
Label widgetValue = new Label("widgetValue", Model.of(ms.getValue()));
Label widgetLabel = new Label("widgetLabel", Model.of(ms.getLabel()));
WebMarkupContainer widgetIcon = new WebMarkupContainer("widgetIcon");
widgetIcon.add(new AttributeAppender("class", " " + ms.getSecondValue()));
item.add(widgetValue);
item.add(widgetLabel);
item.add(widgetIcon);
}
};
ministatFragment.add(miniStatsLoop);
return ministatFragment;
}
示例10
public MergeLinkedAccountsSearchPanel(final MergeLinkedAccountsWizardModel model, final PageReference pageRef) {
super();
setOutputMarkupId(true);
this.wizardModel = model;
setTitleModel(new StringResourceModel("mergeLinkedAccounts.searchUser", Model.of(model.getBaseUser())));
ownerContainer = new WebMarkupContainer("ownerContainer");
ownerContainer.setOutputMarkupId(true);
add(ownerContainer);
userSearchFragment = new Fragment("search", "userSearchFragment", this);
userSearchPanel = UserSearchPanel.class.cast(new UserSearchPanel.Builder(
new ListModel<>(new ArrayList<>())).required(false).enableSearch(MergeLinkedAccountsSearchPanel.this).
build("usersearch"));
userSearchFragment.add(userSearchPanel);
AnyTypeTO anyTypeTO = anyTypeRestClient.read(AnyTypeKind.USER.name());
userDirectoryPanel = UserSelectionDirectoryPanel.class.cast(new UserSelectionDirectoryPanel.Builder(
anyTypeClassRestClient.list(anyTypeTO.getClasses()), anyTypeTO.getKey(), pageRef).
build("searchResult"));
userSearchFragment.add(userDirectoryPanel);
ownerContainer.add(userSearchFragment);
}
示例11
private Fragment getLazyLoadedMiniStats(String markupId) {
Fragment ministatFragment = new Fragment(markupId, "ministatFragment", this);
int miniStatsCount = widgetMiniStats != null ? widgetMiniStats.size() : 0;
Loop miniStatsLoop = new Loop("widgetRow", miniStatsCount) {
private static final long serialVersionUID = 1L;
@Override
protected void populateItem(LoopItem item) {
int index = item.getIndex();
WidgetMiniStat ms = widgetMiniStats.get(index);
Label widgetValue = new Label("widgetValue", Model.of(ms.getValue()));
Label widgetLabel = new Label("widgetLabel", Model.of(ms.getLabel()));
WebMarkupContainer widgetIcon = new WebMarkupContainer("widgetIcon");
widgetIcon.add(new AttributeAppender("class", " " + ms.getSecondValue()));
item.add(widgetValue);
item.add(widgetLabel);
item.add(widgetIcon);
}
};
ministatFragment.add(miniStatsLoop);
return ministatFragment;
}
示例12
@Override
protected void onInitialize()
{
super.onInitialize();
List<EventDetail> detailsList = getDetails();
add(new ListView<EventDetail>("detailsList", detailsList)
{
@Override
protected void populateItem(ListItem<EventDetail> item)
{
EventDetail ref = item.getModelObject();
item.add(new Label("key", Model.of(ref.getKey())).setRenderBodyOnly(true));
Fragment frag = buildDetailsFragment(ref);
item.add(frag);
}
});
}
示例13
private void addDataView(String id, final String className, IDataProvider<ArtifactBean> dataProvider) {
// Data view
final DataView<ArtifactBean> artifactDataView = new ArtifactBeanDataView("dataView", dataProvider);
dataViews.add(artifactDataView);
// Fragment
Fragment fragment = new Fragment(id, "dataViewFragment", this) {
private static final long serialVersionUID = 1L;
@Override
protected void onConfigure() {
super.onConfigure();
setVisible(artifactDataView.getDataProvider().size() != 0);
}
};
fragment.add(new Label("title", new ResourceModel("artifact.follow.pom." + id)),
artifactDataView);
add(fragment);
}
示例14
private Fragment newFragment(String message, boolean warning) {
Fragment fragment = new Fragment(CONTENT_ID, "noDiffFrag", this);
fragment.add(new BlobDiffTitle("title", change));
if (warning)
fragment.add(new WebMarkupContainer("icon").add(AttributeAppender.append("class", "fa fa-warning")));
else
fragment.add(new WebMarkupContainer("icon").add(AttributeAppender.append("class", "fa fa-info-circle")));
fragment.add(new Label("message", message));
return fragment;
}
示例15
private Fragment newEffectiveFrag() {
Fragment fragment = new Fragment("status", "effectiveFrag", this);
fragment.add(new Label("description", new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
if (requestModel.getObject().isOpen())
return "This change is already opened for merge by pull request";
else
return "This change is squashed/rebased onto base branch via pull request";
}
}).setEscapeModelStrings(false));
fragment.add(new Link<Void>("link") {
@Override
protected void onInitialize() {
super.onInitialize();
add(new Label("label", new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
return "#" + getPullRequest().getNumber();
}
}));
}
@Override
public void onClick() {
PageParameters params = PullRequestDetailPage.paramsOf(getPullRequest());
setResponsePage(PullRequestActivitiesPage.class, params);
}
});
return fragment;
}
示例16
private Component newSinceChangesRow(String id, Date sinceDate) {
WebMarkupContainer row = new WebMarkupContainer(id);
row.setOutputMarkupId(true);
row.add(new WebMarkupContainer("avatar"));
WebMarkupContainer contentColumn = new Fragment("content", "sinceChangesRowContentFrag", this);
contentColumn.add(AttributeAppender.append("colspan", "2"));
contentColumn.add(new SinceChangesLink("sinceChanges", requestModel, sinceDate));
row.add(contentColumn);
row.add(AttributeAppender.append("class", "since-changes"));
return row;
}
示例17
/**
* The default fragment is login/register page.
*
* @return login fragment
*/
private MarkupContainer createLoginFragment() {
return new Fragment(CONTENT_VIEW, LOGIN_FRAGMENT, this)
.add(new LoginPanel(PART_LOGIN_VIEW, true))
.add(new RegisterPanel(PART_REGISTER_VIEW, true))
.add(new GuestPanel(PART_GUEST_VIEW));
}
示例18
/**
* Create shipment method selection fragment.
*
* @return shipment method fragment
*/
private MarkupContainer createShipmentFragment() {
return new Fragment(CONTENT_VIEW, SHIPMENT_FRAGMENT, this)
.add(
new ShippingDeliveriesView(SHIPMENT_VIEW, false)
);
}
示例19
@Override
Fragment getSubjectFragment() {
Fragment f = new Fragment(COMP_ID, "subject", this);
Room room = roomDao.get(rec.getRoomId());
f.add(new OmTextLabel("prefix", getString("template.recording.expiring.subj.prefix", locale))
, new OmTextLabel("room", room == null ? null : getString("template.recording.expiring.subj.room", locale, room.getName())).setVisible(room != null)
);
return f;
}
示例20
@Override
Fragment getSubjectFragment() {
Fragment f = new Fragment(COMP_ID, "subject", this);
f.add(new OmTextLabel("prefix", getPrefix())
, new OmTextLabel("title", a.getTitle())
, new OmTextLabel("start", format(a.getStart(), SHORT))
, new DashOmTextLabel("dash")
, new OmTextLabel("end", format(a.getEnd(), SHORT))
);
return f;
}
示例21
/**
* Helper to switch content fragments for us
*
* @param replacement replacement Fragment
* @param target AjaxRequestTarget
*/
private void switchContentFragments(Fragment replacement, AjaxRequestTarget target) {
replacement.setOutputMarkupId(true);
currentFragment.replaceWith(replacement);
if(target != null) {
target.add(replacement);
//resize iframe
target.appendJavaScript("setMainFrameHeight(window.name);");
}
//must keep reference up to date
currentFragment=replacement;
}
示例22
private Fragment getLocationFragment(final TopologyNode node, final PageReference pageRef) {
Fragment fragment = new Fragment("actions", "locationActions", this);
AjaxLink<String> create = new IndicatingAjaxLink<String>("create") {
private static final long serialVersionUID = 3776750333491622263L;
@Override
public void onClick(final AjaxRequestTarget target) {
final ConnInstanceTO modelObject = new ConnInstanceTO();
modelObject.setLocation(node.getKey());
final IModel<ConnInstanceTO> model = new CompoundPropertyModel<>(modelObject);
modal.setFormModel(model);
target.add(modal.setContent(new ConnectorWizardBuilder(modelObject, pageRef).
build(BaseModal.CONTENT_ID, AjaxWizard.Mode.CREATE)));
modal.header(new Model<>(MessageFormat.format(getString("connector.new"), node.getKey())));
modal.show(true);
}
@Override
public String getAjaxIndicatorMarkupId() {
return Constants.VEIL_INDICATOR_MARKUP_ID;
}
};
fragment.add(create);
MetaDataRoleAuthorizationStrategy.authorize(create, RENDER, IdMEntitlement.CONNECTOR_CREATE);
return fragment;
}
示例23
public AbstractFieldPanel(final String id, final String name, final IModel<T> model) {
super(id, model);
this.name = name;
add(new Fragment("required", "emptyFragment", AbstractFieldPanel.this));
add(new Fragment("externalAction", "emptyFragment", AbstractFieldPanel.this));
addLabel();
setOutputMarkupId(true);
}
示例24
public AbstractFieldPanel<T> addRequiredLabel() {
if (!isRequired()) {
setRequired(true);
}
final Fragment fragment = new Fragment("required", "requiredFragment", this);
fragment.add(new Label("requiredLabel", "*"));
replace(fragment);
this.isRequiredLabelAdded = true;
return this;
}
示例25
/**
* Helper to switch content fragments for us
*
* @param replacement replacement Fragment
* @param target AjaxRequestTarget
*/
private void switchContentFragments(Fragment replacement, AjaxRequestTarget target) {
replacement.setOutputMarkupId(true);
currentFragment.replaceWith(replacement);
if(target != null) {
target.add(replacement);
//resize iframe
target.appendJavaScript("setMainFrameHeight(window.name);");
}
//must keep reference up to date
currentFragment=replacement;
}
示例26
@Override
protected void onInitialize() {
super.onInitialize();
RepeatingView paramsView = new RepeatingView("params");
for (ParamSupply param: params) {
WebMarkupContainer paramItem = new WebMarkupContainer(paramsView.newChildId());
paramItem.add(new Label("name", param.getName()));
if (param.getValuesProvider() instanceof SpecifiedValues) {
if (param.isSecret())
paramItem.add(new Label("valuesProvider", SpecifiedValues.SECRET_DISPLAY_NAME));
else
paramItem.add(new Label("valuesProvider", SpecifiedValues.DISPLAY_NAME));
Fragment fragment = new Fragment("values", "specifiedValuesFrag", this);
RepeatingView valuesView = new RepeatingView("values");
SpecifiedValues specifiedValues = (SpecifiedValues) param.getValuesProvider();
for (List<String> value: specifiedValues.getValues()) {
WebMarkupContainer valueItem = new WebMarkupContainer(valuesView.newChildId());
if (value.size() == 0)
valueItem.add(new Label("value", "<i>Empty</i>").setEscapeModelStrings(false));
else if (value.size() == 1)
valueItem.add(new Label("value", value.iterator().next()));
else
valueItem.add(new Label("value", value.toString()));
valuesView.add(valueItem);
}
fragment.add(valuesView);
paramItem.add(fragment);
} else if (param.getValuesProvider() instanceof ScriptingValues) {
if (param.isSecret())
paramItem.add(new Label("valuesProvider", ScriptingValues.SECRET_DISPLAY_NAME));
else
paramItem.add(new Label("valuesProvider", ScriptingValues.DISPLAY_NAME));
paramItem.add(PropertyContext.view("values", param.getValuesProvider(), "scriptName"));
} else {
paramItem.add(new Label("valuesProvider", Ignore.DISPLAY_NAME));
paramItem.add(new WebMarkupContainer("values"));
}
paramsView.add(paramItem);
}
add(paramsView);
}
示例27
private Fragment newTitleViewer() {
Fragment titleViewer = new Fragment(CONTENT_ID, "titleViewFrag", this);
titleViewer.add(new Label("title", new LoadableDetachableModel<String>() {
@Override
protected String load() {
ReferenceTransformer transformer = new ReferenceTransformer(getIssue().getProject(), null);
return "#" + getIssue().getNumber() + " " + transformer.apply(getIssue().getTitle());
}
}).setEscapeModelStrings(false));
titleViewer.add(new AjaxLink<Void>("edit") {
@Override
public void onClick(AjaxRequestTarget target) {
Fragment titleEditor = newTitleEditor();
titleViewer.replaceWith(titleEditor);
target.add(titleEditor);
}
@Override
protected void onConfigure() {
super.onConfigure();
setVisible(SecurityUtils.canModify(getIssue()));
}
});
titleViewer.add(new CopyToClipboardLink("copy", Model.of(getIssue().getNumberAndTitle())));
if (withIssueCreation) {
titleViewer.add(new BookmarkablePageLink<Void>("create", NewIssuePage.class) {
@Override
public PageParameters getPageParameters() {
GlobalIssueSetting issueSetting = OneDev.getInstance(SettingManager.class).getIssueSetting();
List<String> criterias = new ArrayList<>();
if (getIssue().getMilestone() != null) {
criterias.add(Criteria.quote(Issue.NAME_MILESTONE) + " "
+ IssueQuery.getRuleName(IssueQueryLexer.Is) + " "
+ Criteria.quote(getIssue().getMilestoneName()));
}
for (Map.Entry<String, Input> entry: getIssue().getFieldInputs().entrySet()) {
if (getIssue().isFieldVisible(entry.getKey())) {
List<String> strings = entry.getValue().getValues();
if (strings.isEmpty()) {
criterias.add(Criteria.quote(entry.getKey()) + " " + IssueQuery.getRuleName(IssueQueryLexer.IsEmpty));
} else {
FieldSpec field = issueSetting.getFieldSpec(entry.getKey());
if (field.isAllowMultiple()) {
for (String string: strings) {
criterias.add(Criteria.quote(entry.getKey()) + " "
+ IssueQuery.getRuleName(IssueQueryLexer.Is) + " "
+ Criteria.quote(string));
}
} else if (!(field instanceof DateField)) {
criterias.add(Criteria.quote(entry.getKey()) + " "
+ IssueQuery.getRuleName(IssueQueryLexer.Is) + " "
+ Criteria.quote(strings.iterator().next()));
}
}
}
}
String query;
if (!criterias.isEmpty())
query = StringUtils.join(criterias, " and ");
else
query = null;
return NewIssuePage.paramsOf(getIssue().getProject(), query);
}
}.add(new WebSocketObserver() {
@Override
public void onObservableChanged(IPartialPageRequestHandler handler) {
handler.add(component);
}
@Override
public Collection<String> getObservables() {
return Sets.newHashSet(Issue.getWebSocketObservable(getIssue().getId()));
}
}).setOutputMarkupId(true));
} else {
titleViewer.add(new WebMarkupContainer("create").setVisible(false));
}
titleViewer.setOutputMarkupId(true);
return titleViewer;
}
示例28
private Fragment newSameBranchFrag() {
return new Fragment("status", "sameBranchFrag", this);
}
示例29
private Fragment newUnrelatedHistoryFrag() {
return new Fragment("status", "unrelatedHistoryFrag", this);
}
示例30
private Fragment newBranchNotSpecifiedFrag() {
return new Fragment("status", "branchNotSpecifiedFrag", this);
}