Änderungen von Dokument NotificationsWatchUIX

Zuletzt geändert von Daniel Herrmann am 2026/03/08 12:48

Von Version 1.1 Icon
bearbeitet von Daniel Herrmann
am 2025/02/24 17:44
Änderungskommentar: Install extension [org.xwiki.platform:xwiki-platform-notifications-ui/17.0.0]
Auf Version Icon 3.1
bearbeitet von Daniel Herrmann
am 2026/03/08 12:48
Änderungskommentar: Install extension [org.xwiki.platform:xwiki-platform-notifications-ui/18.1.0]

Zusammenfassung

Details

Icon XWiki.UIExtensionClass[0]
Executed Content
... ... @@ -43,8 +43,11 @@
43 43   <div class="panel-title" id="title-$attributeName">
44 44   $services.icon.renderHTML("$iconName")
45 45   <label for="option-$attributeName">$services.localization.render("notifications.watch.modal.option.${translationSuffix}.title", 'html/5.0', [])</label>
46 - <a role="button" data-toggle="collapse" data-parent="#watch-options-accordion" href="#xhint-$attributeName" aria-controls="xhint-$attributeName">
46 + <a role="button" data-toggle="collapse" data-parent="#watch-options-accordion"
47 + href="#xhint-$attributeName" aria-controls="xhint-$attributeName"
48 + title="$escapetool.xml($services.localization.render('notifications.watch.modal.option.hint.toggle'))">
47 47   <span class="help-icon">$services.icon.renderHTML('question')</span>
50 + <span class="sr-only">$escapetool.xml($services.localization.render('notifications.watch.modal.option.hint.toggle'))</span>
48 48   </a>
49 49   </div>
50 50   </div><!-- end panel heading -->
... ... @@ -71,119 +71,121 @@
71 71  
72 72  #set ($buttonTitle = $services.localization.render('notifications.watch.button.title', [$watchText]))
73 73  {{html clean='false'}}
74 -<div class="btn-group" id="watchButton">
75 - <a href="#" role="button" title="$escapetool.xml($buttonTitle)" class="btn btn-default" data-toggle="modal" data-target="#watchModal">
77 +<li class="btn-group" id="watchButton">
78 + <button type="button" title="$escapetool.xml($buttonTitle)" class="btn btn-default" data-toggle="modal" data-target="#watchModal">
76 76   <span class="fa $watchIcon"></span> $watchText
77 - </a>
78 -</div>
79 -<div class="modal fade" tabindex="-1" role="dialog" id="watchModal">
80 - <div class="modal-dialog" role="document">
81 - <div class="modal-content">
82 - <div class="modal-header">
83 - <button type="button" class="close close-modal" data-dismiss="modal" aria-label="$escapetool.xml($services.localization.render('notifications.watch.modal.close'))">
84 - <span aria-hidden="true">
85 - $services.icon.renderHTML('cross')
86 - </span></button>
87 - <div class="modal-title">
88 - <span class="fa $watchIcon"></span> $services.localization.render("notifications.watch.modal.title.$watchedStatus", 'html/5.0', [])
80 + </button>
81 +</li>
82 +{{/html}}
83 +#define ($notificationsWatchModal)
84 + <div class="modal fade" tabindex="-1" role="dialog" id="watchModal">
85 + <div class="modal-dialog" role="document">
86 + <div class="modal-content">
87 + <div class="modal-header">
88 + <button type="button" class="close close-modal" data-dismiss="modal" aria-label="$escapetool.xml($services.localization.render('notifications.watch.modal.close'))">
89 + <span aria-hidden="true">
90 + $services.icon.renderHTML('cross')
91 + </span></button>
92 + <div class="modal-title">
93 + <span class="fa $watchIcon"></span> $services.localization.render("notifications.watch.modal.title.$watchedStatus", 'html/5.0', [])
94 + </div>
89 89   </div>
90 - </div>
91 - <div class="modal-body">
92 - <div class="watch-status-container">
93 - $services.localization.render("notifications.watch.modal.description.$watchedStatus", 'html/5.0', [])
94 - <hr />
95 - #if (($watchedStatus == 'WATCHED_BY_ANCESTOR_FOR_ALL_EVENTS_AND_FORMATS' || $watchedStatus == 'BLOCKED_BY_ANCESTOR_FOR_ALL_EVENTS_AND_FORMATS') && $ancestorRef.type == 'SPACE' && $services.security.authorization.hasAccess('view', $ancestorRef))
96 - #set ($ancestorDoc = $xwiki.getDocument($ancestorRef))
97 - #set ($ancestorDocUrl = $ancestorDoc.getURL())
98 - #set ($ancestorDocTitle = $ancestorDoc.displayTitle)
99 - #set ($ancestorLink = "<a href=""$ancestorDocUrl"">$ancestorDocTitle</a>")
100 - $services.localization.render('notifications.watch.modal.description.ancestoroption', [$ancestorLink])
96 + <div class="modal-body">
97 + <div class="watch-status-container">
98 + $services.localization.render("notifications.watch.modal.description.$watchedStatus", 'html/5.0', [])
99 + <hr />
100 + #if (($watchedStatus == 'WATCHED_BY_ANCESTOR_FOR_ALL_EVENTS_AND_FORMATS' || $watchedStatus == 'BLOCKED_BY_ANCESTOR_FOR_ALL_EVENTS_AND_FORMATS') && $ancestorRef.type == 'SPACE' && $services.security.authorization.hasAccess('view', $ancestorRef))
101 + #set ($ancestorDoc = $xwiki.getDocument($ancestorRef))
102 + #set ($ancestorDocUrl = $ancestorDoc.getURL())
103 + #set ($ancestorDocTitle = $ancestorDoc.displayTitle)
104 + #set ($ancestorLink = "<a href=""$ancestorDocUrl"">$ancestorDocTitle</a>")
105 + $services.localization.render('notifications.watch.modal.description.ancestoroption', [$ancestorLink])
106 + #end
107 + </div>
108 + <div class="watch-options-container panel-group" id="watch-options-accordion" role="tablist" aria-multiselectable="false">
109 + #set ($blockedByAncestor = ("$!ancestorWatchStatus" == '' || $ancestorWatchStatus.isBlocked()))
110 + #set ($watchedByAncestor = ($ancestorWatchStatus.isWatched()))
111 + #if ($watchedStatus == 'NOT_SET')
112 + $watchPageOption
113 + #if (!$isTerminal)
114 + $watchSpaceOption
115 + #end
116 + $watchWikiOption
117 + #elseif ($watchedStatus == 'WATCHED_FOR_ALL_EVENTS_AND_FORMATS')
118 + #if ($blockedByAncestor)
119 + $unwatchPageOption
120 + #else
121 + $blockPageOption
122 + #end
123 + #if (!$isTerminal && $blockedByAncestor)
124 + $unwatchPageAndWatchSpaceOption
125 + #elseif (!$isTerminal && !$blockedByAncestor)
126 + $blockSpaceOption
127 + #end
128 + #elseif ($watchedStatus == 'WATCHED_WITH_CHILDREN_FOR_ALL_EVENTS_AND_FORMATS')
129 + #if ($blockedByAncestor)
130 + $unwatchSpaceOption
131 + #else
132 + $blockPageOption
133 + $blockSpaceOption
134 + #end
135 + #elseif ($watchedStatus == 'WATCHED_BY_ANCESTOR_FOR_ALL_EVENTS_AND_FORMATS')
136 + $blockPageOption
137 + #if (!$isTerminal)
138 + $blockSpaceOption
139 + #end
140 + #if ($ancestorRef.type == 'WIKI')
141 + $unwatchWikiOption
142 + #end
143 + #elseif ($watchedStatus == 'BLOCKED_FOR_ALL_EVENTS_AND_FORMATS')
144 + #if ($watchedByAncestor)
145 + $unblockPageOption
146 + #else
147 + $watchPageOption
148 + #end
149 + #if (!$isTerminal && $watchedByAncestor)
150 + $unblockPageAndBlockSpaceOption
151 + #elseif (!$isTerminal && !$watchedByAncestor)
152 + $watchSpaceOption
153 + #end
154 + #elseif ($watchedStatus == 'BLOCKED_WITH_CHILDREN_FOR_ALL_EVENTS_AND_FORMATS')
155 + #if ($watchedByAncestor)
156 + $unblockSpaceOption
157 + #else
158 + $watchPageOption
159 + $watchSpaceOption
160 + #end
161 + #elseif ($watchedStatus == 'BLOCKED_BY_ANCESTOR_FOR_ALL_EVENTS_AND_FORMATS')
162 + $watchPageOption
163 + #if (!$isTerminal)
164 + $watchSpaceOption
165 + #end
166 + #if ($ancestorRef.type == 'WIKI')
167 + $unblockWikiOption
168 + #end
101 101   #end
102 - </div>
103 - <div class="watch-options-container panel-group" id="watch-options-accordion" role="tablist" aria-multiselectable="false">
104 - #set ($blockedByAncestor = ("$!ancestorWatchStatus" == '' || $ancestorWatchStatus.isBlocked()))
105 - #set ($watchedByAncestor = ($ancestorWatchStatus.isWatched()))
106 - #if ($watchedStatus == 'NOT_SET')
107 - $watchPageOption
108 - #if (!$isTerminal)
109 - $watchSpaceOption
170 + </div><!-- end panel group -->
171 + <div class="modal-body-footer">
172 + #set ($userDoc = $xwiki.getDocument($xcontext.userReference))
173 + #set ($settingsLink = "$userDoc.getURL('view','category=notifications')#Hnotifications.settings.filters.preferences.custom.title")
174 + <a href="$settingsLink" class="goto-settings">
175 + $services.localization.render('notifications.watch.modal.gotosettings', 'html/5.0', []) $services.icon.renderHTML('move')
176 + </a>
177 + </div>
178 + </div><!-- end modal body -->
179 + <div class="modal-footer">
180 + <button type="button" class="btn btn-default close-modal" data-dismiss="modal">
181 + $services.localization.render('notifications.watch.modal.close', 'html/5.0', [])
182 + </button>
183 + #if ($watchedStatus != 'CUSTOM')
184 + <button type="button" class="btn btn-primary" disabled="disabled">
185 + $services.localization.render('notifications.watch.modal.savechanges', 'html/5.0', [])
186 + </button>
110 110   #end
111 - $watchWikiOption
112 - #elseif ($watchedStatus == 'WATCHED_FOR_ALL_EVENTS_AND_FORMATS')
113 - #if ($blockedByAncestor)
114 - $unwatchPageOption
115 - #else
116 - $blockPageOption
117 - #end
118 - #if (!$isTerminal && $blockedByAncestor)
119 - $unwatchPageAndWatchSpaceOption
120 - #elseif (!$isTerminal && !$blockedByAncestor)
121 - $blockSpaceOption
122 - #end
123 - #elseif ($watchedStatus == 'WATCHED_WITH_CHILDREN_FOR_ALL_EVENTS_AND_FORMATS')
124 - #if ($blockedByAncestor)
125 - $unwatchSpaceOption
126 - #else
127 - $blockPageOption
128 - $blockSpaceOption
129 - #end
130 - #elseif ($watchedStatus == 'WATCHED_BY_ANCESTOR_FOR_ALL_EVENTS_AND_FORMATS')
131 - $blockPageOption
132 - #if (!$isTerminal)
133 - $blockSpaceOption
134 - #end
135 - #if ($ancestorRef.type == 'WIKI')
136 - $unwatchWikiOption
137 - #end
138 - #elseif ($watchedStatus == 'BLOCKED_FOR_ALL_EVENTS_AND_FORMATS')
139 - #if ($watchedByAncestor)
140 - $unblockPageOption
141 - #else
142 - $watchPageOption
143 - #end
144 - #if (!$isTerminal && $watchedByAncestor)
145 - $unblockPageAndBlockSpaceOption
146 - #elseif (!$isTerminal && !$watchedByAncestor)
147 - $watchSpaceOption
148 - #end
149 - #elseif ($watchedStatus == 'BLOCKED_WITH_CHILDREN_FOR_ALL_EVENTS_AND_FORMATS')
150 - #if ($watchedByAncestor)
151 - $unblockSpaceOption
152 - #else
153 - $watchPageOption
154 - $watchSpaceOption
155 - #end
156 - #elseif ($watchedStatus == 'BLOCKED_BY_ANCESTOR_FOR_ALL_EVENTS_AND_FORMATS')
157 - $watchPageOption
158 - #if (!$isTerminal)
159 - $watchSpaceOption
160 - #end
161 - #if ($ancestorRef.type == 'WIKI')
162 - $unblockWikiOption
163 - #end
164 - #end
165 - </div><!-- end panel group -->
166 - <div class="modal-body-footer">
167 - #set ($userDoc = $xwiki.getDocument($xcontext.userReference))
168 - #set ($settingsLink = "$userDoc.getURL('view','category=notifications')#Hnotifications.settings.filters.preferences.custom.title")
169 - <a href="$settingsLink" class="goto-settings">
170 - $services.localization.render('notifications.watch.modal.gotosettings', 'html/5.0', []) $services.icon.renderHTML('move')
171 - </a>
172 172   </div>
173 - </div><!-- end modal body -->
174 - <div class="modal-footer">
175 - <button type="button" class="btn btn-default close-modal" data-dismiss="modal">
176 - $services.localization.render('notifications.watch.modal.close', 'html/5.0', [])
177 - </button>
178 - #if ($watchedStatus != 'CUSTOM')
179 - <button type="button" class="btn btn-primary" disabled="disabled">
180 - $services.localization.render('notifications.watch.modal.savechanges', 'html/5.0', [])
181 - </button>
182 - #end
183 - </div>
184 - </div><!-- /.modal-content -->
185 - </div><!-- /.modal-dialog -->
186 -</div><!-- /.modal -->
187 -{{/html}}
189 + </div><!-- /.modal-content -->
190 + </div><!-- /.modal-dialog -->
191 + </div><!-- /.modal -->
192 + #end
188 188  #end
189 189  {{/velocity}}