From version 1.1 >
edited by Thomas Mistelbauer
on 2018/07/30 11:43
To version < 6.1
edited by Thomas Mistelbauer
on 2021/12/13 06:26
Change comment: Migrated property [priority] from class [XWiki.WikiMacroClass]

Summary

Details

XWiki.StyleSheetExtension[0]
Code
... ... @@ -1,3 +1,5 @@
1 +#template('colorThemeInit.vm')
2 +
1 1  .messagestream-tools {
2 2   display: flex;
3 3   position: relative;
... ... @@ -10,3 +10,37 @@
10 10   flex-grow: 1;
11 11   margin-left: .3em;
12 12  }
15 +
16 +.messagestream .message-content {
17 + padding: .5em 0 .5em 75px;
18 +}
19 +
20 +.messagestream .activitySnapshot {
21 + height: 30px;
22 + margin: 5px 0 0 -50px;
23 + position: absolute;
24 +}
25 +
26 +.messagestream .activitySnapshot img {
27 + border-radius: 10px 10px 0 10px;
28 + box-shadow: -1px 1px 1px rgba(128,128,128,0.6);
29 +}
30 +
31 +/* User's avatar */
32 +.messagestream .activitySnapshot .avatar {
33 + border-radius: 4px;
34 + box-shadow: 0 0 2px 1px rgba(128,128,128,0.6);
35 +}
36 +
37 +.messagestream .activitySnapshot .activityActionAvatar {
38 + background: $theme.pageContentBackgroundColor;
39 + border-color: $theme.pageContentBackgroundColor;
40 + border-style: solid;
41 + border-width: 4px 1px 1px 3px;
42 + box-sizing: content-box;
43 + bottom: -5px;
44 + height: 16px;
45 + position: absolute;
46 + right: -10px;
47 + width: 16px;
48 +}
Parse content
... ... @@ -1,1 +1,1 @@
1 -No
1 +Yes
XWiki.WikiMacroClass[0]
Macro code
... ... @@ -7,8 +7,6 @@
7 7  #set ($configClass = $xwiki.getDocument($config).getxWikiClass())
8 8  #set ($isMessageStreamActive = $services.messageStream.isActive())
9 9  
10 -#set ($currentUser = $services.model.serialize($xcontext.userReference, 'default'))
11 -
12 12  #set ($activityActionsMap = {
13 13   'publicMessage': 'icons/silk/user_comment.png',
14 14   'personalMessage': 'icons/silk/user_comment.png',
... ... @@ -34,7 +34,6 @@
34 34  ##
35 35  ## Skin Extensions
36 36  ##--------------------------------------------------------------
37 -#set ($discard = $xwiki.ssx.use('Main.Activity'))
38 38  #set ($discard = $xwiki.ssx.use('Main.MessageSenderMacro'))
39 39  #set ($discard = $xwiki.jsx.use('Main.MessageSenderMacro'))
40 40  {{/velocity}}
... ... @@ -113,11 +113,11 @@
113 113   #set ($actionQueryString = "xredirect=$escapetool.url($xredirect)")
114 114   {{html}}
115 115   ## Wrap the form in a div so that the layout is preserved in inline mode (where the form is stripped by the rendering).
116 - <div class='messagestream activityUser xform'>
113 + <div class='messagestream xform'>
117 117   #if (!$inEditMode)
118 118   <form action="${xwiki.getURL('Main.MessageSenderMacro', 'view', $!{actionQueryString})}" method='post'>
119 119   #end
120 - <div class='activityContent'>
117 + <div class='message-content'>
121 121   #if(!$inEditMode)
122 122   ## CSRF prevention
123 123   <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
... ... @@ -139,13 +139,13 @@
139 139   #if (!$defaultTarget)
140 140   #if ($doc.getObject('XWiki.XWikiGroups'))
141 141   #set ($defaultTarget = 'group')
142 - #set ($targetName = $doc.prefixedFullName)
139 + #set ($targetName = $doc.fullName)
143 143   #elseif ($doc.getObject('XWiki.XWikiUsers'))
144 - #if ($doc.prefixedFullName == $currentUser)
141 + #if ($doc.documentReference == $xcontext.userReference)
145 145   #set ($defaultTarget = 'followers')
146 146   #else
147 147   #set ($defaultTarget = 'user')
148 - #set ($targetName = $doc.prefixedFullName)
145 + #set ($targetName = $doc.fullName)
149 149   #end
150 150   #else
151 151   #set ($defaultTarget = 'everyone')
... ... @@ -158,25 +158,28 @@
158 158   #end
159 159   </select>
160 160   </label>
161 - #set ($userPickerParams = {
158 + #set ($suggestPickerParams = {
162 162   'name': 'targetName',
163 - 'value': $targetName,
164 164   'title': $services.localization.render('xe.activity.messages.visibility.targetName.tip')
165 165   })
166 - #if ($possibleTargets.contains('user'))
167 - <div class="message-target message-target-user#if ($defaultTarget != 'user') hidden#end">
168 - #set ($discard = $userPickerParams.put('class', 'targetName'))
169 - #set ($userPickerParams.disabled = $inEditMode || $defaultTarget != 'user')
170 - #userPicker(true, $userPickerParams)
171 - </div>
162 + #foreach ($target in ['user', 'group'])
163 + #if ($possibleTargets.contains($target))
164 + #set ($notDefaultTarget = $target != $defaultTarget)
165 + <div class="message-target message-target-$target#if ($notDefaultTarget) hidden#end">
166 + #set ($discard = $suggestPickerParams.put('class', 'targetName'))
167 + #set ($suggestPickerParams.disabled = $inEditMode || $notDefaultTarget)
168 + #set ($suggestPickerParams.value = $targetName)
169 + #if ($notDefaultTarget)
170 + #set ($suggestPickerParams.value = '')
171 + #end
172 + #if ($target == 'user')
173 + #userPicker(false, $suggestPickerParams)
174 + #else
175 + #groupPicker(false, $suggestPickerParams)
176 + #end
177 + </div>
178 + #end
172 172   #end
173 - #if ($possibleTargets.contains('group'))
174 - <div class="message-target message-target-group#if ($defaultTarget != 'group') hidden#end">
175 - #set ($discard = $userPickerParams.put('class', 'targetName'))
176 - #set ($userPickerParams.disabled = $inEditMode || $defaultTarget != 'group')
177 - #groupPicker(true, $userPickerParams)
178 - </div>
179 - #end
180 180   <div class="message-target message-target-default">
181 181   <input type="hidden" name="targetName" value="$!escapetool.xml($targetName)" class="targetName" />
182 182   </div>