diff --git a/cypress/e2e/partner-admin/default-tests/testProgressReportFiltering.spec.cy.js b/cypress/e2e/partner-admin/default-tests/testProgressReportFiltering.spec.cy.js
index 3e98d574e..2d56f22fc 100644
--- a/cypress/e2e/partner-admin/default-tests/testProgressReportFiltering.spec.cy.js
+++ b/cypress/e2e/partner-admin/default-tests/testProgressReportFiltering.spec.cy.js
@@ -34,6 +34,7 @@ function setFilterBySchool(school) {
function setFilterByGrade(grade) {
cy.get('[data-cy="filter-by-grade"]', { timeout: timeout }).click();
cy.get('ul > li', { timeout: timeout }).contains(grade).click();
+ cy.get('body').type('{esc}');
cy.wait(0.05 * timeout);
}
@@ -41,6 +42,7 @@ function setFilterByProgressCategory(header, category) {
cy.contains('div.p-column-header-content', header).find('button').click();
cy.get('[data-cy="progress-filter-dropdown"]', { timeout: timeout }).click();
cy.get('ul>li').find('.p-tag-value', { timeout: timeout }).contains(category).click();
+ // Click off the dropdown to prevent it from hiding other elements
cy.get('button').contains('Apply').click();
cy.wait(0.05 * timeout);
}
diff --git a/src/components/tasks/ManageTasks.vue b/src/components/tasks/ManageTasks.vue
new file mode 100644
index 000000000..b390481aa
--- /dev/null
+++ b/src/components/tasks/ManageTasks.vue
@@ -0,0 +1,797 @@
+
+
+
+
+
+
Create a New Task
+
+
+
+
+
+
Your task has been created!
+
+ Redirect to this URL upon task completion. ParticipantId can be any string, completed should be set to true.
+
+
roar.education/?participantId=[$PARTICIPANT_ID]&completed=[$BOOLEAN]
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/tasks/ManageVariants.vue b/src/components/tasks/ManageVariants.vue
new file mode 100644
index 000000000..e21467d7c
--- /dev/null
+++ b/src/components/tasks/ManageVariants.vue
@@ -0,0 +1,849 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/tasks/RegisterTask.vue b/src/components/tasks/RegisterTask.vue
deleted file mode 100644
index a5eaf313e..000000000
--- a/src/components/tasks/RegisterTask.vue
+++ /dev/null
@@ -1,547 +0,0 @@
-
-
-
-
-
-
Register a New Task
-
-
-
-
-
-
Your task has been created!
-
- Redirect to this URL upon task completion. ParticipantId can be any string, completed should be set to true.
-
-
roar.education/?participantId=[$PARTICIPANT_ID]&completed=[$BOOLEAN]
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/helpers/query/tasks.js b/src/helpers/query/tasks.js
index 6697f432a..66ac6fdf3 100644
--- a/src/helpers/query/tasks.js
+++ b/src/helpers/query/tasks.js
@@ -5,6 +5,7 @@ import { convertValues, getAxiosInstance, mapFields } from './utils';
export const getTasksRequestBody = ({
registered = true,
+ allData = false,
orderBy,
aggregationQuery,
pageLimit,
@@ -24,9 +25,11 @@ export const getTasksRequestBody = ({
requestBody.structuredQuery.offset = page * pageLimit;
}
- requestBody.structuredQuery.select = {
- fields: select.map((field) => ({ fieldPath: field })),
- };
+ if (!allData) {
+ requestBody.structuredQuery.select = {
+ fields: select.map((field) => ({ fieldPath: field })),
+ };
+ }
}
requestBody.structuredQuery.from = [
@@ -63,13 +66,14 @@ export const getTasksRequestBody = ({
return requestBody;
};
-export const taskFetcher = async (registered = true, select = ['name', 'testData', 'demoData']) => {
+export const taskFetcher = async (registered = true, allData = false, select = ['name', 'testData', 'demoData']) => {
const axiosInstance = getAxiosInstance('app');
const requestBody = getTasksRequestBody({
registered,
+ allData,
aggregationQuery: false,
paginate: false,
- select: select,
+ select: allData ? '' : select,
});
return axiosInstance.post(':runQuery', requestBody).then(({ data }) => mapFields(data));
diff --git a/src/pages/RegisterGame.vue b/src/pages/ManageTasksVariants.vue
similarity index 70%
rename from src/pages/RegisterGame.vue
rename to src/pages/ManageTasksVariants.vue
index aa8569094..d22c6968d 100644
--- a/src/pages/RegisterGame.vue
+++ b/src/pages/ManageTasksVariants.vue
@@ -4,19 +4,28 @@
-
+
-
Register a new task or variant.
+
Manage tasks and variants.