diff --git a/src/components/image_cropper/image_cropper.js b/src/components/image_cropper/image_cropper.js
index afca328e8..32b615265 100644
--- a/src/components/image_cropper/image_cropper.js
+++ b/src/components/image_cropper/image_cropper.js
@@ -10,12 +10,19 @@ library.add(
const ImageCropper = {
props: {
- // Mime-types to accept, i.e. which filetypes to accept (.gif, .png, etc.)
mimes: {
type: String,
default: 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon'
},
- // Fixed aspect-ratio for selection box
+ saveButtonLabel: {
+ type: String
+ },
+ saveWithoutCroppingButtonlabel: {
+ type: String
+ },
+ cancelButtonLabel: {
+ type: String
+ },
aspectRatio: {
type: Number
}
@@ -23,13 +30,11 @@ const ImageCropper = {
data () {
return {
dataUrl: undefined,
- filename: undefined
+ filename: undefined,
+ submitting: false
}
},
- emits: [
- 'submit', // cropping complete or uncropped image returned
- 'close', // cropper is closed
- ],
+ emits: ['submit'],
methods: {
destroy () {
this.$refs.input.value = ''
@@ -37,6 +42,8 @@ const ImageCropper = {
this.$emit('close')
},
submit (cropping = true) {
+ this.submitting = true
+
let cropperPromise
if (cropping) {
cropperPromise = this.$refs.cropperSelection.$toCanvas()
@@ -46,6 +53,7 @@ const ImageCropper = {
cropperPromise.then(canvas => {
this.$emit('submit', { canvas, file: this.file })
+ this.submitting = false
})
},
pickImage () {
diff --git a/src/components/interface_language_switcher/interface_language_switcher.js b/src/components/interface_language_switcher/interface_language_switcher.js
deleted file mode 100644
index bd7b641a5..000000000
--- a/src/components/interface_language_switcher/interface_language_switcher.js
+++ /dev/null
@@ -1,58 +0,0 @@
-import localeService from '../../services/locale/locale.service.js'
-
-import Select from '../select/select.vue'
-import ProfileSettingIndicator from 'src/components/settings_modal/helpers/profile_setting_indicator.vue'
-
-export default {
- components: {
- Select,
- ProfileSettingIndicator
- },
- props: {
- // List of languages (or just one language)
- modelValue: {
- type: [Array, String],
- required: true
- },
- // Is this setting stored in user profile (true) or elsewhere (false)
- // Doesn't affect storage, just shows an icon if true
- profile: {
- type: Boolean,
- default: false
- }
- },
- emits: ['update:modelValue'],
- computed: {
- languages () {
- return localeService.languages
- },
-
- controlledLanguage: {
- get: function () {
- return Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue]
- },
- set: function (val) {
- this.$emit('update:modelValue', val)
- }
- }
- },
-
- methods: {
- getLanguageName (code) {
- return localeService.getLanguageName(code)
- },
- addLanguage () {
- this.controlledLanguage = [...this.controlledLanguage, '']
- },
- setLanguageAt (index, val) {
- const lang = [...this.controlledLanguage]
- lang[index] = val
- this.controlledLanguage = lang
- },
- removeLanguageAt (index) {
- const lang = [...this.controlledLanguage]
- lang.splice(index, 1)
- this.controlledLanguage = lang
- }
- }
-}
diff --git a/src/components/interface_language_switcher/interface_language_switcher.vue b/src/components/interface_language_switcher/interface_language_switcher.vue
index 8b300d43b..46837b018 100644
--- a/src/components/interface_language_switcher/interface_language_switcher.vue
+++ b/src/components/interface_language_switcher/interface_language_switcher.vue
@@ -1,7 +1,7 @@
-
+