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 @@ - +