Feature: Add UI to handle visible-option for single Pin

This commit is contained in:
winkidney
2020-02-11 15:36:35 +08:00
parent c6253d9712
commit 65cd51daa8
2 changed files with 13 additions and 3 deletions

View File

@@ -90,6 +90,7 @@ function createImageItem(pin) {
image.url = pinHandler.escapeUrl(pin.image.thumbnail.image);
image.id = pin.id;
image.owner_id = pin.submitter.id;
image.private = pin.private;
image.description = pin.description;
image.tags = pin.tags;
image.author = pin.submitter.username;

View File

@@ -27,6 +27,13 @@
>
</b-input>
</b-field>
<b-field label="Privacy Option"
:type="pinModel.form.private.type"
:message="pinModel.form.private.error">
<b-checkbox v-model="pinModel.form.private.value">
{{ pinModel.form.private.value?"only visible to yourself":"visible to everyone" }}
</b-checkbox>
</b-field>
<b-field label="Image Referer"
:type="pinModel.form.referer.type"
:message="pinModel.form.referer.error">
@@ -107,7 +114,7 @@ function isURLBlank(url) {
return url !== null && url === '';
}
const fields = ['url', 'referer', 'description', 'tags'];
const fields = ['url', 'referer', 'description', 'tags', 'private'];
export default {
name: 'PinCreateModal',
@@ -160,11 +167,13 @@ export default {
this.pinModel.form.referer.value = this.existedPin.referer;
this.pinModel.form.description.value = this.existedPin.description;
this.pinModel.form.tags.value = this.existedPin.tags;
this.pinModel.form.private.value = this.existedPin.private;
}
if (this.fromUrl) {
this.pinModel.form.url.value = this.fromUrl.url;
this.pinModel.form.referer.value = this.fromUrl.referer;
this.pinModel.form.description.value = this.fromUrl.description;
this.pinModel.form.private.value = false;
}
},
methods: {
@@ -216,7 +225,7 @@ export default {
savePin() {
const self = this;
const data = this.pinModel.asDataByFields(
['referer', 'description', 'tags'],
['referer', 'description', 'tags', 'private'],
);
const promise = API.Pin.updateById(this.existedPin.id, data);
promise.then(
@@ -239,7 +248,7 @@ export default {
promise = API.Pin.createFromURL(data);
} else {
const data = this.pinModel.asDataByFields(
['referer', 'description', 'tags'],
['referer', 'description', 'tags', 'private'],
);
data.image_by_id = this.formUpload.imageId;
promise = API.Pin.createFromUploaded(data);