forked from trent_larson/crowd-funder-for-time-pwa
First draft of Vue3 version. WIll finish after error-logging merge
This commit is contained in:
@@ -40,50 +40,60 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: ["message"],
|
||||
data() {
|
||||
return {
|
||||
giver: null,
|
||||
description: "",
|
||||
hours: "0",
|
||||
visible: false,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
open(giver) {
|
||||
// giver: GiverInputInfo
|
||||
this.giver = giver;
|
||||
this.visible = true;
|
||||
},
|
||||
close() {
|
||||
this.visible = false;
|
||||
},
|
||||
increment() {
|
||||
this.hours = `${(parseFloat(this.hours) || 0) + 1}`;
|
||||
},
|
||||
decrement() {
|
||||
this.hours = `${Math.max(0, (parseFloat(this.hours) || 1) - 1)}`;
|
||||
},
|
||||
confirm() {
|
||||
this.close();
|
||||
this.$emit("dialog-result", {
|
||||
action: "confirm",
|
||||
giver: this.giver,
|
||||
hours: parseFloat(this.hours),
|
||||
description: this.description,
|
||||
});
|
||||
this.description = "";
|
||||
this.giver = null;
|
||||
this.hours = "0";
|
||||
},
|
||||
cancel() {
|
||||
this.close();
|
||||
this.$emit("dialog-result", { action: "cancel" });
|
||||
},
|
||||
},
|
||||
};
|
||||
<script lang="ts">
|
||||
import {Vue, Component, Prop, Emit} from "vue-facing-decorator";
|
||||
|
||||
@Component
|
||||
export default class GiftedDialog extends Vue {
|
||||
@Prop message = "";
|
||||
|
||||
giver = null;
|
||||
description = "";
|
||||
hours = "0";
|
||||
visible = false;
|
||||
|
||||
open(giver) {
|
||||
// giver: GiverInputInfo
|
||||
this.giver = giver;
|
||||
this.visible = true;
|
||||
}
|
||||
|
||||
close() {
|
||||
this.visible = false;
|
||||
}
|
||||
|
||||
increment() {
|
||||
this.hours = `${(parseFloat(this.hours) || 0) + 1}`;
|
||||
}
|
||||
|
||||
decrement() {
|
||||
this.hours = `${Math.max(0, (parseFloat(this.hours) || 1) - 1)}`;
|
||||
}
|
||||
|
||||
@Emit("dialog-result")
|
||||
confirm() {
|
||||
result = {
|
||||
action: "confirm",
|
||||
giver: this.giver,
|
||||
hours: parseFloat(this.hours),
|
||||
description: this.description,
|
||||
};
|
||||
this.close();
|
||||
this.description = "";
|
||||
this.giver = null;
|
||||
this.hours = "0";
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Emit("dialog-result")
|
||||
cancel() {
|
||||
result = { action: "cancel" };
|
||||
this.close();
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
Reference in New Issue
Block a user