2019-02-07 19:05:59 +11:00
|
|
|
<template>
|
|
|
|
<div class="image-cropper">
|
2019-02-09 13:59:33 +11:00
|
|
|
<div v-if="dataUrl">
|
|
|
|
<div class="image-cropper-image-container">
|
|
|
|
<img ref="img" :src="dataUrl" alt="" @load.stop="createCropper" />
|
2019-02-07 19:05:59 +11:00
|
|
|
</div>
|
2019-02-09 13:59:33 +11:00
|
|
|
<div class="image-cropper-buttons-wrapper">
|
2019-03-23 04:00:58 +11:00
|
|
|
<button class="btn" type="button" :disabled="submitting" @click="submit()" v-text="saveText"></button>
|
2019-02-09 13:59:33 +11:00
|
|
|
<button class="btn" type="button" :disabled="submitting" @click="destroy" v-text="cancelText"></button>
|
2019-03-23 04:00:58 +11:00
|
|
|
<button class="btn" type="button" :disabled="submitting" @click="submit(false)" v-text="saveWithoutCroppingText"></button>
|
2019-02-09 13:59:33 +11:00
|
|
|
<i class="icon-spin4 animate-spin" v-if="submitting"></i>
|
2019-02-07 19:05:59 +11:00
|
|
|
</div>
|
2019-02-09 13:59:33 +11:00
|
|
|
<div class="alert error" v-if="submitError">
|
2019-02-09 14:17:53 +11:00
|
|
|
{{submitErrorMsg}}
|
2019-02-09 13:59:33 +11:00
|
|
|
<i class="button-icon icon-cancel" @click="clearError"></i>
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-02-07 19:05:59 +11:00
|
|
|
<input ref="input" type="file" class="image-cropper-img-input" :accept="mimes">
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script src="./image_cropper.js"></script>
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
.image-cropper {
|
|
|
|
&-img-input {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
&-image-container {
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
img {
|
|
|
|
display: block;
|
|
|
|
max-width: 100%;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-02-09 13:59:33 +11:00
|
|
|
&-buttons-wrapper {
|
2019-03-19 12:19:42 +11:00
|
|
|
margin-top: 10px;
|
|
|
|
|
|
|
|
button {
|
|
|
|
margin-top: 5px;
|
|
|
|
}
|
2019-02-07 19:05:59 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|