Creates the bookmarkable page link.

@param linkId
the link id
@param pageClass
the page class
@param labelId
the label id
@param resourceModelKey
the resource model key
@param component
the component
@return the bookmarkable page link
353206
public static BookmarkablePageLink<String> newBookmarkablePageLink(final String linkId,
		final Class<? extends Page> pageClass, final String labelId,
		final ResourceBundleKey resourceModelKey, final Component component)
	{
		final BookmarkablePageLink<String> bookmarkablePageLink = new BookmarkablePageLink<>(linkId,
			pageClass);
		bookmarkablePageLink.add(
			new Label(labelId, ResourceModelFactory.newResourceModel(resourceModelKey, component)));
		return bookmarkablePageLink;
	}
764392
protected Label newAddTabButtonLabel(final String id, final IModel<String> model)
	{
		return ComponentFactory.newLabel(id, model);
	}
773041
private void showPage(final UniqueKey<? extends Model> pageModelKey, final Wave wave) {
        if (pageModelKey != null && !pageModelKey.equals(this.currentModelKey)) {

            LOGGER.info("Show Page Model: " + pageModelKey.toString());

            // Create the Wave Bean that will hold all data processed by chained commands
            final DisplayModelWaveBean waveBean = DisplayModelWaveBean.create()
                                                                      // Define the placeholder that will receive the content
                                                                      .childrenPlaceHolder(view().node().getChildren())
                                                                      // Allow to add element behind the stack to allow transition
                                                                      .appendChild(false)
                                                                      .showModelKey(pageModelKey)
                                                                      .hideModelKey(this.currentModelKey);

            this.currentModelKey = waveBean.showModelKey();

            if (wave != null) {
                // The method was called after having received a wave
                // It will show the next page by sending a regular command, processed asynchronously into JAT after a JIT cycle
                // This call is non-blocking
                sendWave(WBuilder.callCommand(ShowFadingModelCommand.class)
                                 .waveBean(waveBean)
                                 .relatedWave(wave)
                                 .addWaveListener(new RelatedWaveListener()));
            } else {
                // The showPage method has been called programmatically without any wave provided
                // This is the first call used to initialize the stack so we perform the show transition immediately
                final Wave showWave = WBuilder.callCommand(ShowFadingModelCommand.class)
                                              .waveBean(waveBean)
                                              .addDatas(JRebirthWaves.FORCE_SYNC);
                // Run synchronously into JAT immediately without a waiting a JIT cycle
                // This call will block current thread until page is shown
                getCommand(ShowFadingModelCommand.class, showWave.wUID()).run(showWave);

            }

        } else {
            LOGGER.debug("Page Model currently displayed: " + pageModelKey.toString());
        }
    }
477030
@Override
	public LinkBuilder linkForItemResource(Class<?> type, Object id) {
		return linkFor(type).slash(id);
	}
892105
@Override
	public WebMvcLinkBuilder linkTo(Class<?> controller, Object... parameters) {
		return WebMvcLinkBuilder.linkTo(controller, parameters);
	}
508536
@Override
	public LinkRelation getItemResourceRelFor(Class<?> type) {

		Assert.notNull(type, "Type must not be null!");

		Relation annotation = lookupAnnotation(type);

		if (annotation == null || Relation.NO_RELATION.equals(annotation.value())) {
			throw new IllegalStateException(String.format("Type %s is not supported!", type.getName()));
		}

		return LinkRelation.of(annotation.value());
	}
670943
public Content getDocLink(LinkInfoImpl.Kind context, Element element, CharSequence label) {
        return getDocLink(context, utils.getEnclosingTypeElement(element), element,
                new StringContent(label));
    }
1362477
public void createAndEditNewElement(
        final org.opencms.ade.containerpage.client.ui.CmsContainerPageElementPanel element,
        final boolean inline) {

        if (!element.isNew()) {
            return;
        }

        final CmsContainer container = m_containers.get(element.getParentTarget().getContainerId());

        m_handler.showPageOverlay();
        CmsRpcAction<CmsCreateElementData> action = new CmsRpcAction<CmsCreateElementData>() {

            /**
             * @see org.opencms.gwt.client.rpc.CmsRpcAction#execute()
             */
            @Override
            public void execute() {

                getContainerpageService().checkCreateNewElement(
                    CmsCoreProvider.get().getStructureId(),
                    element.getId(),
                    element.getNewType(),
                    container,
                    getLocale(),
                    this);

            }

            /**
             * @see org.opencms.gwt.client.rpc.CmsRpcAction#onResponse(java.lang.Object)
             */
            @Override
            protected void onResponse(CmsCreateElementData result) {

                if (result.needsModelSelection()) {
                    getHandler().openModelResourceSelect(element, result.getModelResources());
                } else {
                    openEditorForNewElement(element, result.getCreatedElement(), inline);
                }
            }
        };
        action.execute();
    }
1324236
public static Url getPageUrl(final Class<? extends Page> pageClass,
		final PageParameters parameters)
	{
		final String url = RequestCycle.get().urlFor(pageClass, parameters).toString();
		return Url.parse(url);
	}
149198
@VisibleForTesting
  static LabelDescriptor createLabelDescriptor(LabelKey labelKey) {
    LabelDescriptor.Builder builder = LabelDescriptor.newBuilder();
    builder.setKey(labelKey.getKey());
    builder.setDescription(labelKey.getDescription());
    // Now we only support String tags
    builder.setValueType(ValueType.STRING);
    return builder.build();
  }
655215
public LinkModel getOrCreate(String description, String href)
    {
        Iterable<Vertex> results = (List<Vertex>)getQuery().traverse(g -> g.has(LinkModel.PROPERTY_DESCRIPTION, description).has(LinkModel.PROPERTY_LINK, href)).getRawTraversal().toList();
        if (!results.iterator().hasNext())
        {
            LinkModel model = create();
            model.setDescription(description);
            model.setLink(href);
            return model;
        }
        return frame(results.iterator().next());
    }
1369618
public Content getQualifiedClassLink(LinkInfoImpl.Kind context, ClassDoc cd) {
        return getLink(new LinkInfoImpl(configuration, context, cd)
                .label(configuration.getClassName(cd)));
    }
444978
function componentGraphUrl(component) {
    const context = ('variants' in component) ? component.variants().default().context : component.context;
    const graphUrl = url.parse(context.typo3);
    graphUrl.search = `?${encodeURIParams(Object.assign(context.request.arguments, {
        tx_twcomponentlibrary_component: { component: context.component },
        type: 2401,
    })).join('&')}`;
    return url.format(graphUrl);
}
1294757
function (id_base) {
        var p = this.paginator;

        // Set up container
        this.container = document.createElement('span');
        this.container.id        = id_base + '-pages';
        this.container.className = p.get('pageLinksContainerClass');
        YAHOO.util.Event.on(this.container,'click',this.onClick,this,true);

        // Call update, flagging a need to rebuild
        this.update({newValue : null, rebuild : true});

        return this.container;
    }
697422
private CmsListItemWidget createListWidget(final CmsModelPageEntry modelPage) {

        CmsListItemWidget result = new CmsModelPageListItemWidget(modelPage.getListInfoBean());
        if (modelPage.isDefault()) {
            Widget label = result.getShortExtraInfoLabel();
            label.addStyleName(I_CmsInputLayoutBundle.INSTANCE.inputCss().subtitleSuffix());
            result.setExtraInfo("(*)");
        }
        if (m_isModelGroup || CmsEditModelPageMenuEntry.checkVisible(modelPage.getStructureId())) {
            result.addIconClickHandler(new ClickHandler() {

                public void onClick(ClickEvent event) {

                    CmsEditModelPageMenuEntry.editModelPage(modelPage.getSitePath(), isModelGroup());
                }
            });
        }
        return result;
    }
81925
public String getLinkLabel() {
        final FilterOutcome filterOutcome = getFilterOutcome();
        if (filterOutcome != null) {
            return filterOutcome.getCategory() + "";
        }
        final ComponentRequirement req = getRequirement();
        if (req != null) {
            return req.getSimpleName();
        }
        final OutputDataStream outputDataStream = getOutputDataStream();
        if (outputDataStream != null) {
            return outputDataStream.getName();
        }
        return null;
    }
204154
public static function render( $url, $label, $targetId, $class = NULL )
	{
		$attributes	= array(
			'href'		=> "#".$targetId,
			'class'		=> $class,
			'onclick'	=> "ahah('".$url."','".$targetId."');",
		);
		return UI_HTML_Tag::create( 'a', $label, $attributes );
	}