@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Swapping out foreach out of behavior

Summary: Ref T8300, swapping out foreach out of behavior

Test Plan: no user facing changes

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T8300

Differential Revision: https://secure.phabricator.com/D12980

+20 -11
+20 -11
webroot/rsrc/js/application/calendar/behavior-day-view.js
··· 7 7 var hourly_events = config.hourlyEvents; 8 8 var today_events = config.todayEvents; 9 9 10 + 10 11 function findTodayClusters() { 11 12 var events = today_events.sort(function(x, y){ 12 13 return (x.eventStartEpoch - y.eventStartEpoch); ··· 14 15 15 16 var clusters = []; 16 17 17 - events.forEach(function(e){ 18 + for (var i=0; i < events.length; i++) { 19 + var today_event = events[i]; 20 + 18 21 var destination_cluster_index = null; 19 - var event_start = e.eventStartEpoch - (30*60); 20 - var event_end = e.eventEndEpoch + (30*60); 22 + var event_start = today_event.eventStartEpoch - (30*60); 23 + var event_end = today_event.eventEndEpoch + (30*60); 21 24 22 - clusters.forEach(function(cluster, index){ 23 - for(var i=0; i < cluster.length; i++) { 24 - var clustered_event = cluster[i]; 25 + for (var j=0; j < clusters.length; j++) { 26 + var cluster = clusters[j]; 27 + 28 + for(var k=0; k < cluster.length; k++) { 29 + var clustered_event = cluster[k]; 25 30 var compare_event_start = clustered_event.eventStartEpoch; 26 31 var compare_event_end = clustered_event.eventEndEpoch; 27 32 28 33 if (event_start < compare_event_end && 29 34 event_end > compare_event_start) { 30 - destination_cluster_index = index; 35 + destination_cluster_index = j; 31 36 break; 32 37 } 33 38 } 34 - }); 39 + 40 + if (destination_cluster_index !== null) { 41 + break; 42 + } 43 + } 35 44 36 45 if (destination_cluster_index !== null) { 37 - clusters[destination_cluster_index].push(e); 46 + clusters[destination_cluster_index].push(today_event); 38 47 destination_cluster_index = null; 39 48 } else { 40 49 var next_cluster = []; 41 - next_cluster.push(e); 50 + next_cluster.push(today_event); 42 51 clusters.push(next_cluster); 43 52 } 44 - }); 53 + } 45 54 46 55 return clusters; 47 56 }