Skip to content

Commit e2fe971

Browse files
authored
Merge pull request #4464 from AlexVelezLl/fix-two-parallel-impl
Fix two parallel content nodes editing logic
2 parents 7547683 + feded9c commit e2fe971

20 files changed

Lines changed: 932 additions & 1469 deletions

contentcuration/contentcuration/frontend/channelEdit/components/QuickEditModal/EditBooleanMapModal.vue

Lines changed: 23 additions & 271 deletions
Large diffs are not rendered by default.

contentcuration/contentcuration/frontend/channelEdit/components/QuickEditModal/EditCategoriesModal.vue

Lines changed: 14 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,48 @@
11
<template>
22

33
<EditBooleanMapModal
4-
showHierarchy
5-
showAutocomplete
64
field="categories"
75
isDescendantsUpdatable
86
:title="$tr('editCategories')"
97
:nodeIds="nodeIds"
10-
:options="categoriesOptions"
11-
:autocompleteLabel="$tr('selectCategory')"
12-
:emptyText="$tr('emptyCategoriesSearch')"
138
:confirmationMessage="$tr('editedCategories', { count: nodeIds.length })"
14-
:optionsListStyle="{
15-
height: '250px',
16-
overflowY: 'auto',
17-
}"
18-
@close="close"
19-
/>
9+
@close="() => $emit('close')"
10+
>
11+
<template #input="{ value, inputHandler }">
12+
<CategoryOptions
13+
expanded
14+
hideLabel
15+
:value="value"
16+
:nodeIds="nodeIds"
17+
@input="inputHandler"
18+
/>
19+
</template>
20+
</EditBooleanMapModal>
2021

2122
</template>
2223

2324

2425
<script>
2526
26-
import camelCase from 'lodash/camelCase';
2727
import EditBooleanMapModal from './EditBooleanMapModal.vue';
28-
import { metadataTranslationMixin } from 'shared/mixins';
29-
import { getSortedCategories } from 'shared/utils/helpers';
28+
import CategoryOptions from 'shared/views/contentNodeFields/CategoryOptions';
3029
3130
export default {
3231
name: 'EditCategoriesModal',
3332
components: {
33+
CategoryOptions,
3434
EditBooleanMapModal,
3535
},
36-
mixins: [metadataTranslationMixin],
3736
props: {
3837
nodeIds: {
3938
type: Array,
4039
required: true,
4140
},
4241
},
43-
data() {
44-
return {
45-
categoriesOptions: [],
46-
};
47-
},
48-
created() {
49-
const categories = getSortedCategories();
50-
this.categoriesOptions = Object.entries(categories).map(([id, category]) => ({
51-
value: id,
52-
label: this.translateMetadataString(camelCase(category)),
53-
}));
54-
},
55-
methods: {
56-
close() {
57-
this.$emit('close');
58-
},
59-
},
6042
$trs: {
6143
editCategories: 'Edit Categories',
6244
editedCategories:
6345
'Edited categories for {count, number, integer} {count, plural, one {resource} other {resources}}',
64-
selectCategory: 'Select / Type Category',
65-
emptyCategoriesSearch: 'No categories matches the search',
6646
},
6747
};
6848

contentcuration/contentcuration/frontend/channelEdit/components/QuickEditModal/EditLearningActivitiesModal.vue

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,51 +5,47 @@
55
isDescendantsUpdatable
66
:title="$tr('editLearningActivitiesTitle')"
77
:nodeIds="nodeIds"
8-
:options="learningActivitiesOptions"
98
:validators="learningActivityValidators"
109
:confirmationMessage="$tr('editedLearningActivities', { count: nodeIds.length })"
11-
@close="close"
12-
/>
10+
@close="() => $emit('close')"
11+
>
12+
<template #input="{ value, inputHandler }">
13+
<LearningActivityOptions
14+
expanded
15+
hideLabel
16+
:value="value"
17+
:nodeIds="nodeIds"
18+
@input="inputHandler"
19+
/>
20+
</template>
21+
</EditBooleanMapModal>
1322

1423
</template>
1524

1625

1726
<script>
1827
19-
import camelCase from 'lodash/camelCase';
2028
import EditBooleanMapModal from './EditBooleanMapModal';
21-
import { LearningActivities } from 'shared/constants';
22-
import { metadataTranslationMixin } from 'shared/mixins';
2329
import { getLearningActivityValidators } from 'shared/utils/validation';
30+
import LearningActivityOptions from 'shared/views/contentNodeFields/LearningActivityOptions';
2431
2532
export default {
2633
name: 'EditLearningActivitiesModal',
2734
components: {
2835
EditBooleanMapModal,
36+
LearningActivityOptions,
2937
},
30-
mixins: [metadataTranslationMixin],
3138
props: {
3239
nodeIds: {
3340
type: Array,
3441
required: true,
3542
},
3643
},
3744
computed: {
38-
learningActivitiesOptions() {
39-
return Object.entries(LearningActivities).map(([key, value]) => ({
40-
label: this.translateMetadataString(camelCase(key)),
41-
value,
42-
}));
43-
},
4445
learningActivityValidators() {
4546
return getLearningActivityValidators();
4647
},
4748
},
48-
methods: {
49-
close() {
50-
this.$emit('close');
51-
},
52-
},
5349
$trs: {
5450
editLearningActivitiesTitle: 'Edit Learning Activities',
5551
editedLearningActivities:

contentcuration/contentcuration/frontend/channelEdit/components/QuickEditModal/EditLevelsModal.vue

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,51 +5,40 @@
55
isDescendantsUpdatable
66
:title="$tr('editLevelsTitle')"
77
:nodeIds="nodeIds"
8-
:options="levelsOptions"
98
:confirmationMessage="$tr('editedLevels', { count: nodeIds.length })"
10-
@close="close"
11-
/>
9+
@close="() => $emit('close')"
10+
>
11+
<template #input="{ value, inputHandler }">
12+
<LevelsOptions
13+
expanded
14+
hideLabel
15+
:value="value"
16+
:nodeIds="nodeIds"
17+
@input="inputHandler"
18+
/>
19+
</template>
20+
</EditBooleanMapModal>
1221

1322
</template>
1423

1524

1625
<script>
1726
18-
import camelCase from 'lodash/camelCase';
1927
import EditBooleanMapModal from './EditBooleanMapModal';
20-
import { ContentLevels } from 'shared/constants';
21-
import { metadataTranslationMixin } from 'shared/mixins';
28+
import LevelsOptions from 'shared/views/contentNodeFields/LevelsOptions';
2229
2330
export default {
2431
name: 'EditLevelsModal',
2532
components: {
33+
LevelsOptions,
2634
EditBooleanMapModal,
2735
},
28-
mixins: [metadataTranslationMixin],
2936
props: {
3037
nodeIds: {
3138
type: Array,
3239
required: true,
3340
},
3441
},
35-
computed: {
36-
levelsOptions() {
37-
const replaceTranslationMap = {
38-
PROFESSIONAL: 'specializedProfessionalTraining',
39-
WORK_SKILLS: 'allLevelsWorkSkills',
40-
BASIC_SKILLS: 'allLevelsBasicSkills',
41-
};
42-
return Object.entries(ContentLevels).map(([key, value]) => ({
43-
label: this.translateMetadataString(replaceTranslationMap[key] || camelCase(key)),
44-
value,
45-
}));
46-
},
47-
},
48-
methods: {
49-
close() {
50-
this.$emit('close');
51-
},
52-
},
5342
$trs: {
5443
editLevelsTitle: 'What Levels',
5544
editedLevels:

contentcuration/contentcuration/frontend/channelEdit/components/QuickEditModal/EditResourcesNeededModal.vue

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,45 +5,40 @@
55
isDescendantsUpdatable
66
:title="$tr('editResourcesNeededTitle')"
77
:nodeIds="nodeIds"
8-
:options="resourcesOptions"
98
:confirmationMessage="$tr('editedResourcesNeeded', { count: nodeIds.length })"
10-
@close="close"
11-
/>
9+
@close="() => $emit('close')"
10+
>
11+
<template #input="{ value, inputHandler }">
12+
<ResourcesNeededOptions
13+
expanded
14+
hideLabel
15+
:value="value"
16+
:nodeIds="nodeIds"
17+
@input="inputHandler"
18+
/>
19+
</template>
20+
</EditBooleanMapModal>
1221

1322
</template>
1423

1524

1625
<script>
1726
1827
import EditBooleanMapModal from './EditBooleanMapModal';
19-
import { ResourcesNeededTypes, ResourcesNeededOptions } from 'shared/constants';
20-
import { metadataTranslationMixin } from 'shared/mixins';
28+
import ResourcesNeededOptions from 'shared/views/contentNodeFields/ResourcesNeededOptions';
2129
2230
export default {
2331
name: 'EditResourcesNeededModal',
2432
components: {
2533
EditBooleanMapModal,
34+
ResourcesNeededOptions,
2635
},
27-
mixins: [metadataTranslationMixin],
2836
props: {
2937
nodeIds: {
3038
type: Array,
3139
required: true,
3240
},
3341
},
34-
computed: {
35-
resourcesOptions() {
36-
return ResourcesNeededOptions.map(key => ({
37-
label: this.translateMetadataString(key),
38-
value: ResourcesNeededTypes[key],
39-
}));
40-
},
41-
},
42-
methods: {
43-
close() {
44-
this.$emit('close');
45-
},
46-
},
4742
$trs: {
4843
editResourcesNeededTitle: 'What will you need?',
4944
editedResourcesNeeded:

0 commit comments

Comments
 (0)