mirror of
https://github.com/jellyfin/jellyfin-vue.git
synced 2024-10-07 03:23:37 +00:00
refactor: refactored getItemizedSelect into its own mixin to reuse it later on
This commit is contained in:
parent
d61c2e5f4d
commit
9f973232a7
44
mixins/formsHelper.ts
Normal file
44
mixins/formsHelper.ts
Normal file
@ -0,0 +1,44 @@
|
||||
/**
|
||||
* Helper for form related functions
|
||||
*
|
||||
* @mixin
|
||||
*/
|
||||
import Vue from 'vue';
|
||||
|
||||
interface VSelectItem {
|
||||
value: unknown;
|
||||
}
|
||||
|
||||
declare module '@nuxt/types' {
|
||||
interface Context {
|
||||
getItemizedSelect: (values: unknown[]) => VSelectItem[];
|
||||
}
|
||||
|
||||
interface NuxtAppOptions {
|
||||
getItemizedSelect: (values: unknown[]) => VSelectItem[];
|
||||
}
|
||||
}
|
||||
|
||||
declare module 'vue/types/vue' {
|
||||
interface Vue {
|
||||
getItemizedSelect: (values: unknown[]) => VSelectItem[];
|
||||
}
|
||||
}
|
||||
|
||||
const formsHelper = Vue.extend({
|
||||
methods: {
|
||||
/**
|
||||
* Returns a list suitable for use with the 'item' prop for v-select
|
||||
*
|
||||
* @param {any[]} values list of values to use for the v-select
|
||||
* @returns {VSelectItem[]} list ready to be used in the :item property of a v-select
|
||||
*/
|
||||
getItemizedSelect(values: unknown[]): VSelectItem[] {
|
||||
return values.map((value) => {
|
||||
return { value };
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
export default formsHelper;
|
@ -298,9 +298,10 @@ import {
|
||||
MediaStream
|
||||
} from '@jellyfin/client-axios';
|
||||
import imageHelper from '~/mixins/imageHelper';
|
||||
import formsHelper from '~/mixins/formsHelper';
|
||||
|
||||
export default Vue.extend({
|
||||
mixins: [imageHelper],
|
||||
mixins: [imageHelper, formsHelper],
|
||||
data() {
|
||||
return {
|
||||
loaded: false,
|
||||
@ -416,11 +417,6 @@ export default Vue.extend({
|
||||
},
|
||||
methods: {
|
||||
...mapActions('backdrop', ['setBackdrop', 'clearBackdrop']),
|
||||
getItemizedSelect(objects: any[]) {
|
||||
return objects.map((item: any) => {
|
||||
return { value: item };
|
||||
});
|
||||
},
|
||||
getLanguageName(code?: string) {
|
||||
if (!code) return this.$t('undefined');
|
||||
return langs.where('2B', code).name;
|
||||
|
Loading…
Reference in New Issue
Block a user