Skip to content

Commit 914aa3f

Browse files
authored
Merge pull request #31 from oslabs-beta/jaime/organization
Organize code structure of all files in left-sidebar/ComponentTab, remove...
2 parents b86f82f + 18b52ff commit 914aa3f

15 files changed

+348
-2135
lines changed

src/components/left-sidebar/ComponentTab/ActionsSubMenu.vue

Lines changed: 17 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
<!-- this will display the active/selected component's state. Functionality will include being able to add more state and delete state -->
2-
<!-- Functions:
3-
- display all the component's state as a list
4-
- maybe with a delete button similar to props right now
5-
- dropdown to add more state to component (multiselect)
6-
- submit button (like props)
1+
<!--
2+
LOCATION IN APP:
3+
[left sidebar] COMPONENT > Update Component > Actions
4+
5+
FUNCTIONALITY:
6+
- Displays dropdown selection of actions added to store
7+
- Allows user to select actions and map them to current active component
78
-->
89

910
<template>
@@ -12,7 +13,7 @@
1213
<VueMultiselect
1314
v-model="selectAction"
1415
class="multiselect"
15-
placeholder="Select Action for Component"
16+
placeholder="Select action for component"
1617
:multiple="true"
1718
:close-on-select="false"
1819
:max-height="180"
@@ -23,7 +24,6 @@
2324
@search-change="stopDelete($event)"
2425
>
2526
</VueMultiselect>
26-
<br />
2727
<q-btn
2828
v-if="selectAction.length"
2929
id="add-actions-btn"
@@ -33,11 +33,7 @@
3333
@click="addActionToComp"
3434
/>
3535
</div>
36-
<p v-if="!(componentMap[activeComponent] as Component).actions.length">
37-
No actions in component
38-
</p>
3936
<a
40-
v-else
4137
v-for="action in (componentMap[activeComponent] as Component).actions"
4238
:key="action"
4339
>
@@ -59,32 +55,22 @@
5955
</q-item>
6056
</q-list>
6157
</a>
62-
<br />
6358
</div>
6459
</template>
6560

6661
<script setup lang="ts">
67-
// new script for Composition API
68-
62+
/* IMPORTS */
6963
import { computed } from "vue";
64+
import VueMultiselect from "vue-multiselect";
7065
import { useStore } from "../../../store/main.js";
7166
import { Component } from "../../../../types";
72-
import VueMultiselect from "vue-multiselect";
7367

68+
/* COMPUTED VALUES */
7469
const store = useStore();
75-
76-
const selectedActions = computed(() => store.selectedActions);
77-
const userActions = computed(() => store.userActions);
7870
const componentMap = computed(() => store.componentMap);
7971
const activeComponent = computed(() => store.activeComponent);
80-
81-
//getters
82-
83-
const actionOptions = userActions;
84-
// actionOptions() {
85-
// return this.userActions;
86-
// },
87-
72+
const selectedActions = computed(() => store.selectedActions);
73+
const userActions = computed(() => store.userActions);
8874
const selectAction = computed({
8975
get() {
9076
return [...selectedActions.value];
@@ -94,8 +80,7 @@ const selectAction = computed({
9480
},
9581
});
9682

97-
// Methods
98-
83+
/* STORE ACTIONS */
9984
const addActionSelected: typeof store.addActionSelected = (payload) =>
10085
store.addActionSelected(payload);
10186
const addActionToComponent: typeof store.addActionToComponent = (payload) =>
@@ -104,64 +89,20 @@ const deleteActionFromComponent: typeof store.deleteActionFromComponent = (
10489
payload
10590
) => store.deleteActionFromComponent(payload);
10691

92+
/* COMPONENT METHODS */
10793
const stopDelete = (e: KeyboardEvent) => {
10894
if (e.code === "Backspace") e.stopPropagation();
10995
};
96+
11097
const addActionToComp = () => {
11198
addActionToComponent([...selectedActions.value]);
11299
};
100+
113101
const deleteAction = (action: string) => {
114102
deleteActionFromComponent(action);
115103
};
116104
</script>
117105

118-
<!-- <script>
119-
import { mapState, mapActions } from "vuex";
120-
import VueMultiselect from "vue-multiselect";
121-
122-
export default {
123-
name: "ActionsSubMenu",
124-
components: {
125-
VueMultiselect,
126-
},
127-
computed: {
128-
...mapState(["selectedActions", "userActions", "componentMap", "activeComponent",]),
129-
actionOptions() {
130-
return this.userActions;
131-
},
132-
selectAction: {
133-
get() {
134-
console.log("Inside get!", this.selectedActions);
135-
return this.selectedActions;
136-
},
137-
set(value) {
138-
console.log("What is value?", value)
139-
this.addActionSelected(value);
140-
},
141-
},
142-
},
143-
methods: {
144-
...mapActions([
145-
"addActionSelected",
146-
"addActionToComponent",
147-
"deleteActionFromComponent",
148-
]),
149-
// Prevent Delete on changes to searchable multiselect
150-
stopDelete(e) {
151-
if (e.code === "Backspace") e.stopPropogation();
152-
},
153-
// adds an action to the currently selected component
154-
addActionToComp() {
155-
this.addActionToComponent(this.selectedActions);
156-
},
157-
// delete selected action from active component
158-
deleteAction(action) {
159-
this.deleteActionFromComponent(action);
160-
},
161-
},
162-
};
163-
</script> -->
164-
165106
<style lang="scss" scoped>
166107
.selection-container {
167108
padding: 30px 0;

0 commit comments

Comments
 (0)