{
this.configuration = data
}
)
+ } else if (this.parameter.parameter_type === 'JSON') {
+ this.configuration.parameter_json = new_val;
+ this.save(this.configuration).then(
+ (data) => {
+ this.configuration = data
+ }
+ )
} else {
this.configuration.parameter_value = new_val
this.save(this.configuration).then(
diff --git a/app/javascript/configurations/people_hidden_fields.mixin.js b/app/javascript/configurations/people_hidden_fields.mixin.js
new file mode 100644
index 000000000..b6cd1918b
--- /dev/null
+++ b/app/javascript/configurations/people_hidden_fields.mixin.js
@@ -0,0 +1,25 @@
+import { settingsMixin } from "@/store/settings.mixin";
+import { LINKED_FIELD_LABELS } from "@/constants/strings";
+
+export const peopleHiddenFieldsMixin = {
+ mixins: [
+ settingsMixin
+ ],
+ computed: {
+ peopleHideableFieldsOptions() {
+ return Object.entries(this.currentSettings.attributes.Person).filter(([_, {hidable}]) => hidable ).map(([value, _]) => ({text: LINKED_FIELD_LABELS["Person"][value] || value, value}))
+ },
+ // can't use configByName here because that's parameter_value centric
+ hiddenFields() {
+ return this.currentSettings.configs?.find(c => c.parameter === 'people_hidden_fields')?.parameter_json || []
+ }
+ },
+ methods: {
+ filterFieldList(fields) {
+ return fields.filter(field => !this.hiddenFields.includes(field));
+ },
+ isHidden(field) {
+ return this.hiddenFields.includes(field);
+ }
+ }
+}
diff --git a/app/javascript/constants/strings.js b/app/javascript/constants/strings.js
index 07e438904..6ed171668 100644
--- a/app/javascript/constants/strings.js
+++ b/app/javascript/constants/strings.js
@@ -258,8 +258,8 @@ module.exports = {
do_not_assign_with: "Anyone that should not be assigned to be on a panel with participant",
is_local: "Local to the event",
moderation_experience: "Moderating Experience",
- can_stream: "Permission to be included in a livestreamed program",
- can_record: "Permission to be included in a recorded program",
+ can_stream: "Permission to be included in a livestreamed programme",
+ can_record: "Permission to be included in a recorded programme",
can_stream_exceptions: "Livestreams excluded topics",
can_record_exceptions: "Recordings excluded topics",
name: "Name",
@@ -273,7 +273,7 @@ module.exports = {
registration_number: "Ticket Number",
global_diaspora: "Member of the global diaspora",
non_anglophone: "Represent something other than a purely anglophone perspective",
- excluded_demographic_categories: "Demographic categories that apply, but should not be discussed on panels that include participant",
+ excluded_demographic_categories: "Participant's demographic categories that should not be discussed on panels that include them",
},
PERSON_SAVE_SUCCESS: "Profile record saved successfully",
PERSON_NEVER_LOGGED_IN: "Never logged in",
diff --git a/app/javascript/people/person_tabs.vue b/app/javascript/people/person_tabs.vue
index e7b9043e6..ee9afa07d 100644
--- a/app/javascript/people/person_tabs.vue
+++ b/app/javascript/people/person_tabs.vue
@@ -23,19 +23,19 @@
-