@@ -13,7 +13,8 @@ public function getApplicationClassName() {
13
13
14
14
public function newQuery () {
15
15
return id (new ConpherenceThreadQuery ())
16
- ->needParticipantCache (true );
16
+ ->needParticipantCache (true )
17
+ ->needProfileImage (true );
17
18
}
18
19
19
20
protected function buildCustomSearchFields () {
@@ -147,6 +148,7 @@ protected function renderResultList(
147
148
$ context = array ();
148
149
}
149
150
151
+ $ content = array ();
150
152
$ list = new PHUIObjectItemListView ();
151
153
$ list ->setUser ($ viewer );
152
154
foreach ($ conpherences as $ conpherence_phid => $ conpherence ) {
@@ -157,63 +159,82 @@ protected function renderResultList(
157
159
$ icon_name = $ conpherence ->getPolicyIconName ($ policy_objects );
158
160
$ icon = id (new PHUIIconView ())
159
161
->setIcon ($ icon_name );
160
- $ item = id (new PHUIObjectItemView ())
161
- ->setObjectName ($ conpherence ->getMonogram ())
162
- ->setHeader ($ title )
163
- ->setHref ('/ ' .$ conpherence ->getMonogram ())
164
- ->setObject ($ conpherence )
165
- ->addIcon ('none ' , $ created )
166
- ->addIcon (
167
- 'none ' ,
168
- pht ('Messages: %d ' , $ conpherence ->getMessageCount ()))
169
- ->addAttribute (
170
- array (
171
- $ icon ,
172
- ' ' ,
173
- pht (
174
- 'Last updated %s ' ,
175
- phabricator_datetime ($ conpherence ->getDateModified (), $ viewer )),
176
- ));
177
-
178
- $ messages = idx ($ context , $ conpherence_phid );
179
- if ($ messages ) {
180
- foreach ($ messages as $ group ) {
181
- $ rows = array ();
182
- foreach ($ group as $ message ) {
183
- $ xaction = $ message ['xaction ' ];
184
- if (!$ xaction ) {
185
- continue ;
186
- }
187
162
188
- $ view = id (new ConpherenceTransactionView ())
189
- ->setUser ($ viewer )
190
- ->setHandles ($ handles )
191
- ->setMarkupEngine ($ engines [$ conpherence_phid ])
192
- ->setConpherenceThread ($ conpherence )
193
- ->setConpherenceTransaction ($ xaction )
194
- ->setFullDisplay (false )
195
- ->addClass ('conpherence-fulltext-result ' );
196
-
197
- if ($ message ['match ' ]) {
198
- $ view ->addClass ('conpherence-fulltext-match ' );
163
+ if (!strlen ($ fulltext )) {
164
+ $ item = id (new PHUIObjectItemView ())
165
+ ->setObjectName ($ conpherence ->getMonogram ())
166
+ ->setHeader ($ title )
167
+ ->setHref ('/ ' .$ conpherence ->getMonogram ())
168
+ ->setObject ($ conpherence )
169
+ ->setImageURI ($ conpherence ->getProfileImageURI ())
170
+ ->addIcon ('none ' , $ created )
171
+ ->addIcon (
172
+ 'none ' ,
173
+ pht ('Messages: %d ' , $ conpherence ->getMessageCount ()))
174
+ ->addAttribute (
175
+ array (
176
+ $ icon ,
177
+ ' ' ,
178
+ pht (
179
+ 'Last updated %s ' ,
180
+ phabricator_datetime ($ conpherence ->getDateModified (), $ viewer )),
181
+ ));
182
+ $ list ->addItem ($ item );
183
+ } else {
184
+ $ messages = idx ($ context , $ conpherence_phid );
185
+ $ box = array ();
186
+ $ list = null ;
187
+ if ($ messages ) {
188
+ foreach ($ messages as $ group ) {
189
+ $ rows = array ();
190
+ foreach ($ group as $ message ) {
191
+ $ xaction = $ message ['xaction ' ];
192
+ if (!$ xaction ) {
193
+ continue ;
194
+ }
195
+
196
+ $ view = id (new ConpherenceTransactionView ())
197
+ ->setUser ($ viewer )
198
+ ->setHandles ($ handles )
199
+ ->setMarkupEngine ($ engines [$ conpherence_phid ])
200
+ ->setConpherenceThread ($ conpherence )
201
+ ->setConpherenceTransaction ($ xaction )
202
+ ->setFullDisplay (true )
203
+ ->addClass ('conpherence-fulltext-result ' );
204
+
205
+ if ($ message ['match ' ]) {
206
+ $ view ->addClass ('conpherence-fulltext-match ' );
207
+ }
208
+
209
+ $ rows [] = $ view ;
199
210
}
200
-
201
- $ rows [] = $ view ;
211
+ $ box [] = id (new PHUIBoxView ())
212
+ ->appendChild ($ rows )
213
+ ->addClass ('conpherence-fulltext-results ' );
202
214
}
203
-
204
- $ box = id (new PHUIBoxView ())
205
- ->appendChild ($ rows )
206
- ->addClass ('conpherence-fulltext-results ' );
207
- $ item ->appendChild ($ box );
208
215
}
216
+ $ header = id (new PHUIHeaderView ())
217
+ ->setHeader ($ title )
218
+ ->setHeaderIcon ($ icon_name )
219
+ ->setHref ('/ ' .$ monogram );
220
+
221
+ $ content [] = id (new PHUIObjectBoxView ())
222
+ ->setHeader ($ header )
223
+ ->appendChild ($ box );
209
224
}
225
+ }
210
226
211
- $ list ->addItem ($ item );
227
+ if ($ list ) {
228
+ $ content = $ list ;
229
+ } else {
230
+ $ content = id (new PHUIBoxView ())
231
+ ->addClass ('conpherence-search-room-results ' )
232
+ ->appendChild ($ content );
212
233
}
213
234
214
235
$ result = new PhabricatorApplicationSearchResultView ();
215
- $ result ->setObjectList ( $ list );
216
- $ result ->setNoDataString (pht ('No threads found. ' ));
236
+ $ result ->setContent ( $ content );
237
+ $ result ->setNoDataString (pht ('No results found. ' ));
217
238
218
239
return $ result ;
219
240
}
0 commit comments