Wiki source code of Front-end Resources

Last modified by Lucas Charpentier (Sereza7) on 2024/03/12

Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 This section aims to document all the front-end resources available in XWiki for application developers and for developers of the XWiki products. Front-end resources are of two main types:
6
7 * External Libraries
8 * Internal components (based or not on some of the external libraries)
9
10 Front-end resources are mainly composed of JavaScript libraries, CSS stylesheets and their corresponding HTML reusable snippets (or velocity macro to output this snippet) and velocity macros.
11
12 Some of the resources presented in here are not included by default with all HTML-rendered wiki pages (it would be too much to send to the client!). You have to request their inclusion from a skin template or from the wiki page itself using the ##jsfx## plugin. For example, to request the inclusion of the [[Page Suggest Picker>>Documentation.DevGuide.FrontendResources.AutoSuggestWidget.WebHome#HSuggestPages]], you can write, in [[XWiki Syntax 2.1>>xwiki:Documentation.UserGuide.Features.XWikiSyntax]]:
13
14 {{code}}
15 {{velocity}}
16 $xwiki.jsfx.use('uicomponents/suggest/suggestPages.js')
17 {{/velocity}}
18 {{/code}}
19
20 The path you indicate to the ##jsfx## plugin is the relative path where the library can be found under the ##resources## directory of the XWiki webapp. Similarly to the ##jsfx## plugin, there is a ##ssfx## plugin that can be used to request the inclusion of CSS stylesheets files.
21
22 = External resources =
23
24 XWiki contains some third-party libraries bundled by default.
25
26 Hereunder is a table presenting some of the external libraries XWiki comes with:
27
28 |=Library Name|=Description
29 | JQuery| [[jQuery>>https://jquery.com/]] is //"a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript."//
30 | JQuery UI| [[jQuery UI>>https://jqueryui.com/]] is //"a curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library. Whether you're building highly interactive web applications or you just need to add a date picker to a form control, jQuery UI is the perfect choice."//
31 | Bootstrap| [[Bootstrap>>https://getbootstrap.com/docs/3.4/]] is //"the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.""// Bootstrap is bundled with XWiki mainly because the XWiki skin is based on it.
32
33 See [[Using jQuery and jQuery UI>>xwiki:Documentation.DevGuide.UsingJQuery]] for an example of using jQuery and jQuery UI in an XWiki page, and more generally check [[how to integrate JavaScript Libraries in XWiki>>Documentation.DevGuide.FrontendResources.IntegratingJavaScriptLibraries.WebHome]].
34
35 = Internal resources =
36
37 == Front-end Components ==
38
39 * [[Pickers>>Documentation.DevGuide.FrontendResources.Pickers.WebHome]]
40 * [[Suggest Widget>>xwiki:Documentation.DevGuide.AutoSuggestWidget]]
41 * [[Live Table>>xwiki:Documentation.DevGuide.LiveTable]]
42 * [[Live Data>>extensions:Extension.Live Data Macro.WebHome]]
43 * [[XWiki Select>>xwiki:Documentation.DevGuide.XWikiSelect]]
44 * [[HTML5 Upload>>xwiki:Documentation.DevGuide.HTML5Upload]]
45 * [[Notification Widget>>xwiki:Documentation.DevGuide.XWikiNotifications]]
46 * [[Icons>>.Icons.WebHome]]
47 * [[Autosave>>xwiki:Documentation.DevGuide.Autosave]]
48 * [[Confirmation Box>>xwiki:Documentation.DevGuide.ConfirmationBox]]
49 * [[Modal Popup>>xwiki:Documentation.DevGuide.ModalPopup]]
50 * [[Table Sorter>>snippets:Extension.Table Sorter]]
51 * {{version product="XWiki" since="15.10"}} [[Drawer>>xwiki:Documentation.DevGuide.FrontendResources.Drawer]] {{/version}}
52
53 == JavaScript resources ==
54
55 * [[xwiki:Documentation.DevGuide.JavaScriptAPI]]
56 * [[XWiki RESTFul API>>xwiki:Documentation.UserGuide.Features.XWikiRESTfulAPI]]
57
58 == StyleSheet resources ==
59
60 * [[Pagination>>xwiki:Documentation.DevGuide.Pagination]]
61 * [[Special CSS Classes>>xwiki:Documentation.DevGuide.FrontendResources.SpecialCSSClasses]]
62 * [[CSS classes used for icons>>xwiki:Documentation.DevGuide.StandardIconClasses]]
63 * Forms Layout Type:
64 ** [[Vertical Layout>>xwiki:Documentation.DevGuide.VerticalForms]]
65 ** [[Inline Layout>>xwiki:Documentation.DevGuide.InlineForms]]

Get Connected