Изменения документа Расширения

Редактировал(а) Андрей Ганьков 2025/07/06 04:58

От версии 2.1
отредактировано Андрей Ганьков
на 2020/12/14 12:25
Изменить комментарий: Install extension [org.xwiki.platform:xwiki-platform-extension-ui/12.10]
К версии 1.1
отредактировано superadmin
на 2020/10/06 10:51
Изменить комментарий: Install extension [org.xwiki.platform:xwiki-platform-extension-ui/12.8]

Сводка

Подробности

Свойства страницы
Автор документа
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.gav
1 +XWiki.superadmin
Содержимое
... ... @@ -13,14 +13,17 @@
13 13   ## Advanced search.
14 14   #handleExtensionRequest()
15 15   #else
16 - #if ($request.index_start)
17 - #set ($void = $extensionManager.getRepository('index').index("wiki:${xcontext.database}"))
18 - #end
19 19   ## Simple search.
20 20   #set ($noResultsMessageKey = 'extensions.search.noResults')
21 21   #set ($paginationParams = {})
22 22   ## Dump whitespace generated by the pagination macro
23 23   #set ($discard = "#paginationPrepareParams($paginationParams)")
21 + #set ($repository = $extensionManager)
22 + #if ($request.repo)
23 + #set ($selectedRepositoryId = $request.repo)
24 + #elseif (!$selectedRepositoryId)
25 + #set ($selectedRepositoryId = 'recommended')
26 + #end
24 24   #if ("$!selectedRepositoryId" != '')
25 25   #set ($repository = $extensionManager.getRepository($selectedRepositoryId))
26 26   #if ("$!request.search" == '')
... ... @@ -47,7 +47,7 @@
47 47   #end
48 48   #end
49 49   #if (!$extensions)
50 - #set($extensionQuery = $services.extension.index.newQuery("$!request.search"))
53 + #set($extensionQuery = $services.extension.newQuery("$!request.search"))
51 51   #set($void = $extensionQuery.setOffset($paginationParams.firstItem))
52 52   #set($void = $extensionQuery.setLimit($paginationParams.itemsPerPage))
53 53   #if ($selectedRepositoryId == 'installed')
... ... @@ -57,35 +57,31 @@
57 57   ## When searching for installed extensions in a subwiki we need to take the namespace into account.
58 58   #set ($extensions = $services.extension.installed.repository.searchInstalledExtensions($extensionNamespace, $extensionQuery))
59 59   #end
60 - #elseif ($repository)
61 - #set ($extensions = $repository.search($extensionQuery))
62 62   #else
63 - #if ($recommended)
64 - #set($void = $extensionQuery.addFilter('recommended', true, 'EQUAL'))
65 - #end
66 - #if ($indexed)
67 - #set ($repository = $extensionManager.index.repository)
68 - #if ($compatible)
69 - #set ($void = $extensionQuery.setCompatible(true, '', "wiki:$xcontext.database"))
70 - #end
71 - #else
72 - #set ($repository = $extensionManager)
73 - #end
74 - #set ($extensions = $repository.search($extensionQuery))
64 + #set ($extensions = $repository.search("$!request.search", $paginationParams.firstItem, $paginationParams.itemsPerPage))
75 75   #end
76 76   #set ($totalHits = $extensions.totalHits)
77 77   #end
78 -
79 - #if ($recommended)
68 + #if ($selectedRepositoryId == 'recommended')
80 80   #if (!$extensions.iterator().hasNext())
81 - <div class="box warningmessage">$services.localization.render('extensions.search.recommended.fallback', ["<em>$!escapetool.xml($request.search)</em>"])</div>
82 - ## Search again with the recommended filter
70 + <div class="box warningmessage">$services.localization.render('extensions.search.repository.recommended.fallback', ["<em>$!escapetool.xml($request.search)</em>", "<strong>$services.localization.render('extensions.search.repository.remote.label')</strong>"])</div>
71 + ## Fallback to all remote extensions
72 + #set ($repository = $extensionManager)
73 + #set($selectedRepositoryId = '')
83 83   #set ($extensions = $repository.search("$!request.search", $paginationParams.firstItem, $paginationParams.itemsPerPage))
84 - #set ($totalHits = $extensions.totalHits)
85 - #set ($recommended = false)
75 + #else
76 + <div class="box infomessage">$services.localization.render('extensions.search.repository.recommended.disclaimer')
77 + <form action="${xwiki.relativeRequestURL}">
78 + #if ($request.section)
79 + <input type="hidden" name="section" value="${escapetool.xml($request.section)}" />
80 + #end
81 + <input type="hidden" name="search" value="$!{escapetool.xml($request.search)}" />
82 + <input type="hidden" name="repo" value="" />
83 + <input type="submit" value="${escapetool.xml($services.localization.render('extensions.search.repository.remote.label'))}" class="button secondary"/>
84 + </form>
85 + </div>
86 86   #end
87 87   #end
88 -
89 89   #if (!$extensions.iterator().hasNext())
90 90   <div class="box infomessage">$services.localization.render($noResultsMessageKey, ["<em>$!escapetool.xml($request.search)</em>"])</div>
91 91   #else
... ... @@ -103,42 +103,6 @@
103 103   #pagination($paginationParams)
104 104   #end
105 105   #end
106 -
107 - #if ($indexed)
108 - #set ($indexJobStatus = $repository.getStatus("wiki:${xcontext.database}"))
109 - #if ($indexJobStatus)
110 - <div class="box infomessage">
111 - #if ($indexJobStatus.state != 'FINISHED')
112 - $escapetool.xml($services.localization.render('extensions.search.indexed.started', [$xwiki.formatDate($indexJobStatus.startDate)]))
113 - #set ($discard = $xwiki.jsfx.use('uicomponents/job/job.js', true))
114 - #set ($jobStatusURL = $doc.getURL('get', $escapetool.url({
115 - 'xpage': 'job_status_json',
116 - 'outputSyntax': 'plain',
117 - 'jobId': $indexJobStatus.request.id
118 - })))
119 - <div class="xcontent job-status" data-url="$escapetool.xml($jobStatusURL)">
120 - #displayJobProgressBar($indexJobStatus, true)
121 - </div>
122 - #else
123 - $escapetool.xml($services.localization.render('extensions.search.indexed.on', [$xwiki.formatDate($indexJobStatus.startDate)]))
124 - #end
125 - #else
126 - <div class="box warningmessage">$escapetool.xml($services.localization.render('extensions.search.indexed.nojob'))
127 - #end
128 - <form action="${xwiki.relativeRequestURL}">
129 - #if ($request.section)
130 - <input type="hidden" name="section" value="${escapetool.xml($request.section)}" />
131 - #end
132 - <input type="hidden" name="search" value="$!{escapetool.xml($request.search)}" />
133 - <input type="hidden" name="recommended" value="$recommended" />
134 - <input type="hidden" name="indexed" value="$indexed" />
135 - <input type="hidden" name="compatible" value="$compatible" />
136 - #if ($indexJobStatus.state != 'RUNNING')
137 - <input type="submit" value="${escapetool.xml($services.localization.render('extensions.search.indexed.reindex'))}" name="index_start" class="button secondary"/>
138 - #end
139 - </form>
140 - </div>
141 - #end
142 142   #end
143 143   </div>
144 144  #end