From b34010eed7e066c6240bad1c7e487f13006c56e4 Mon Sep 17 00:00:00 2001 From: Saagar Arya Date: Wed, 5 Mar 2025 10:54:32 -0500 Subject: [PATCH 1/4] [dictionary] Fix out of order cols --- modules/dictionary/jsx/dataDictIndex.js | 16 ++++++++++------ modules/dictionary/php/datadictrow.class.inc | 6 +++--- .../php/datadictrowprovisioner.class.inc | 2 +- modules/dictionary/php/dictionary.class.inc | 7 ++++++- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/modules/dictionary/jsx/dataDictIndex.js b/modules/dictionary/jsx/dataDictIndex.js index 856fbd1794b..1ae987905fd 100644 --- a/modules/dictionary/jsx/dataDictIndex.js +++ b/modules/dictionary/jsx/dataDictIndex.js @@ -161,6 +161,7 @@ class DataDictIndex extends Component { return resp.json(); }) .then((data) => { + console.log(data) this.setState({data}); }) .catch((error) => { @@ -197,12 +198,6 @@ class DataDictIndex extends Component { return {cell} {edited} {editIcon} ; - case 'Data Type': - if (cell == 'enumeration') { - const fieldOptions = rowData['Field Options']; - cell = Array.isArray(fieldOptions) ? fieldOptions.join(';') : ''; - } - return {cell}; default: return {cell}; } @@ -309,6 +304,15 @@ class DataDictIndex extends Component { }, }, }, + { + label: 'Visits', + show: true, + filter: { + name: 'Visits', + type: 'multiselect', + options: options.visits, + }, + }, { label: 'Cohorts', show: true, diff --git a/modules/dictionary/php/datadictrow.class.inc b/modules/dictionary/php/datadictrow.class.inc index 71c6739c3be..ea9deec7650 100644 --- a/modules/dictionary/php/datadictrow.class.inc +++ b/modules/dictionary/php/datadictrow.class.inc @@ -73,11 +73,11 @@ class DataDictRow implements \LORIS\Data\DataInstance, $itype = $this->item->getDataType(); if ($itype instanceof \LORIS\Data\Types\Enumeration) { - $val['options'] = $itype->getOptions(); + $val['type'] = "enum(".implode(",",$itype->getOptions()).")"; } if ($scope->__toString() == "session") { - $val['visits'] = $this->visits; - $val['cohorts'] = $this->cohorts; + $val['visits'] = implode(",",$this->visits); + $val['cohorts'] = implode(",",$this->cohorts); } return $val; diff --git a/modules/dictionary/php/datadictrowprovisioner.class.inc b/modules/dictionary/php/datadictrowprovisioner.class.inc index 0f99b82381e..0f1d0a6b2f8 100644 --- a/modules/dictionary/php/datadictrowprovisioner.class.inc +++ b/modules/dictionary/php/datadictrowprovisioner.class.inc @@ -70,7 +70,7 @@ class DataDictRowProvisioner extends \LORIS\Data\ProvisionerInstance } $cohorts = $DB->pselectCol( - "SELECT GROUP_CONCAT(DISTINCT c.title) FROM test_names tn + "SELECT DISTINCT c.title FROM test_names tn JOIN test_battery tb ON tn.Test_name=tb.Test_name JOIN cohort c ON tb.CohortID=c.CohortID WHERE tn.Test_name=:tn diff --git a/modules/dictionary/php/dictionary.class.inc b/modules/dictionary/php/dictionary.class.inc index 37811ba002f..209705c6b2b 100644 --- a/modules/dictionary/php/dictionary.class.inc +++ b/modules/dictionary/php/dictionary.class.inc @@ -62,10 +62,15 @@ class Dictionary extends \DataFrameworkMenu foreach (array_values($cohorts) as $name) { $cohort_options[$name] = $name; } + $visit_options = []; + foreach (\Utility::getVisitList() as $visit) { + $visit_options[$visit] = $visit; + } return [ 'modules' => $amodules, 'categories' => $this->categories, - 'cohorts' => $cohort_options + 'visits' => $visit_options, + 'cohorts' => $cohort_options, ]; } From 910751ba1f66f9acb66e89f4a7e4fbc637a9360e Mon Sep 17 00:00:00 2001 From: Saagar Arya Date: Wed, 5 Mar 2025 11:29:13 -0500 Subject: [PATCH 2/4] Fix for php lint --- modules/dictionary/php/datadictrow.class.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/dictionary/php/datadictrow.class.inc b/modules/dictionary/php/datadictrow.class.inc index ea9deec7650..2d50c11e017 100644 --- a/modules/dictionary/php/datadictrow.class.inc +++ b/modules/dictionary/php/datadictrow.class.inc @@ -73,11 +73,11 @@ class DataDictRow implements \LORIS\Data\DataInstance, $itype = $this->item->getDataType(); if ($itype instanceof \LORIS\Data\Types\Enumeration) { - $val['type'] = "enum(".implode(",",$itype->getOptions()).")"; + $val['type'] = "enum(".implode(",", $itype->getOptions()).")"; } if ($scope->__toString() == "session") { - $val['visits'] = implode(",",$this->visits); - $val['cohorts'] = implode(",",$this->cohorts); + $val['visits'] = implode(",", $this->visits); + $val['cohorts'] = implode(",", $this->cohorts); } return $val; From dd6c18a90ab6c5c8ea4aa6f780bcb15ebcf332c9 Mon Sep 17 00:00:00 2001 From: Saagar Arya Date: Wed, 5 Mar 2025 11:46:06 -0500 Subject: [PATCH 3/4] Lint again --- modules/dictionary/php/datadictrow.class.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/dictionary/php/datadictrow.class.inc b/modules/dictionary/php/datadictrow.class.inc index 2d50c11e017..2d81311d534 100644 --- a/modules/dictionary/php/datadictrow.class.inc +++ b/modules/dictionary/php/datadictrow.class.inc @@ -76,8 +76,8 @@ class DataDictRow implements \LORIS\Data\DataInstance, $val['type'] = "enum(".implode(",", $itype->getOptions()).")"; } if ($scope->__toString() == "session") { - $val['visits'] = implode(",", $this->visits); - $val['cohorts'] = implode(",", $this->cohorts); + $val['visits'] = implode(",", $this->visits ?? []); + $val['cohorts'] = implode(",", $this->cohorts ?? []); } return $val; From 72b006b41d81975aa9cca14573a8f374688831b1 Mon Sep 17 00:00:00 2001 From: Saagar Arya Date: Wed, 5 Mar 2025 12:31:19 -0500 Subject: [PATCH 4/4] Remove console.log --- modules/dictionary/jsx/dataDictIndex.js | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/dictionary/jsx/dataDictIndex.js b/modules/dictionary/jsx/dataDictIndex.js index 1ae987905fd..957fe4e9ddb 100644 --- a/modules/dictionary/jsx/dataDictIndex.js +++ b/modules/dictionary/jsx/dataDictIndex.js @@ -161,7 +161,6 @@ class DataDictIndex extends Component { return resp.json(); }) .then((data) => { - console.log(data) this.setState({data}); }) .catch((error) => {