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() + "&nbsp;&nbsp;" + 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);
}