diff options
| author | Henry Jameson <me@hjkos.com> | 2022-08-17 20:21:10 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2022-08-17 20:21:10 +0300 |
| commit | faefd05c03d20a892a47c27550fe6e23978993c7 (patch) | |
| tree | e14dd9f61571975eb56601810907c184404ca609 /src/components/lists_new/lists_new.js | |
| parent | b4f4b370d406faf69be5c414ce394b608d8792f5 (diff) | |
create new list UI
Diffstat (limited to 'src/components/lists_new/lists_new.js')
| -rw-r--r-- | src/components/lists_new/lists_new.js | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/src/components/lists_new/lists_new.js b/src/components/lists_new/lists_new.js deleted file mode 100644 index a04b409e..00000000 --- a/src/components/lists_new/lists_new.js +++ /dev/null @@ -1,79 +0,0 @@ -import { mapState, mapGetters } from 'vuex' -import BasicUserCard from '../basic_user_card/basic_user_card.vue' -import UserAvatar from '../user_avatar/user_avatar.vue' -import ListsUserSearch from '../lists_user_search/lists_user_search.vue' -import { library } from '@fortawesome/fontawesome-svg-core' -import { - faSearch, - faChevronLeft -} from '@fortawesome/free-solid-svg-icons' - -library.add( - faSearch, - faChevronLeft -) - -const ListsNew = { - components: { - BasicUserCard, - UserAvatar, - ListsUserSearch - }, - data () { - return { - title: '', - userIds: [], - selectedUserIds: [] - } - }, - computed: { - users () { - return this.userIds.map(userId => this.findUser(userId)) - }, - selectedUsers () { - return this.selectedUserIds.map(userId => this.findUser(userId)) - }, - ...mapState({ - currentUser: state => state.users.currentUser - }), - ...mapGetters(['findUser']) - }, - methods: { - goBack () { - this.$emit('cancel') - }, - onInput () { - this.search(this.query) - }, - selectUser (user) { - if (this.selectedUserIds.includes(user.id)) { - this.removeUser(user.id) - } else { - this.addUser(user) - } - }, - isSelected (user) { - return this.selectedUserIds.includes(user.id) - }, - addUser (user) { - this.selectedUserIds.push(user.id) - }, - removeUser (userId) { - this.selectedUserIds = this.selectedUserIds.filter(id => id !== userId) - }, - onResults (results) { - this.userIds = results - }, - createList () { - // the API has two different endpoints for "creating a list with a name" - // and "updating the accounts on the list". - this.$store.dispatch('createList', { title: this.title }) - .then((list) => { - this.$store.dispatch('setListAccounts', { listId: list.id, accountIds: this.selectedUserIds }) - this.$router.push({ name: 'lists-timeline', params: { listId: list.id } }) - }) - } - } -} - -export default ListsNew |
