Skip to content

Commit 3d958aa

Browse files
authored
Merge pull request #518 from ProgressPlanner/filip/v16/optimize-task-loading
Further optimize adding tasks on page load
2 parents c260db3 + 08ea892 commit 3d958aa

1 file changed

Lines changed: 22 additions & 28 deletions

File tree

assets/js/suggested-task-terms.js

Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -50,41 +50,35 @@ const prplTerms = {
5050
const TermsCollection = new wp.api.collections[ typeName ]();
5151
TermsCollection.fetch( { data: { per_page: 100 } } ).done(
5252
( data ) => {
53+
let userTermFound = false;
5354
// 100 is the maximum number of terms that can be fetched in one request.
5455
data.forEach( ( term ) => {
5556
prplSuggestedTasksTerms[ taxonomy ][ term.slug ] =
5657
term;
58+
if ( 'user' === term.slug ) {
59+
userTermFound = true;
60+
}
5761
} );
5862

59-
// If the `user` term doesn't exist, create it.
60-
const UserTermsCollection = new wp.api.collections[
61-
typeName
62-
]();
63-
UserTermsCollection.fetch( {
64-
data: { slug: 'user' },
65-
} )
66-
.then( ( userTerms ) => {
67-
if ( 0 === userTerms.length ) {
68-
const newTermModel = new wp.api.models[
69-
typeName
70-
]( {
71-
slug: 'user',
72-
name: 'user',
73-
} );
74-
return newTermModel
75-
.save()
76-
.then( ( response ) => {
77-
prplSuggestedTasksTerms[
78-
taxonomy
79-
].user = response;
80-
return prplSuggestedTasksTerms[
81-
taxonomy
82-
];
83-
} );
63+
if ( userTermFound ) {
64+
resolve( prplSuggestedTasksTerms[ taxonomy ] );
65+
} else {
66+
// If the `user` term doesn't exist, create it.
67+
const newTermModel = new wp.api.models[ typeName ](
68+
{
69+
slug: 'user',
70+
name: 'user',
8471
}
85-
return prplSuggestedTasksTerms[ taxonomy ];
86-
} )
87-
.then( resolve ); // Resolve the promise after all requests are complete.
72+
);
73+
newTermModel
74+
.save()
75+
.then( ( response ) => {
76+
prplSuggestedTasksTerms[ taxonomy ].user =
77+
response;
78+
return prplSuggestedTasksTerms[ taxonomy ];
79+
} )
80+
.then( resolve ); // Resolve the promise after all requests are complete.
81+
}
8882
}
8983
);
9084
} );

0 commit comments

Comments
 (0)