Options for Toast
parent
9574459d5b
commit
35b5433d38
|
@ -8,6 +8,9 @@
|
||||||
<app-footer />
|
<app-footer />
|
||||||
</div>
|
</div>
|
||||||
<Toast />
|
<Toast />
|
||||||
|
<Toast position="topleft" group="tl" />
|
||||||
|
<Toast position="bottomleft" group="bl" />
|
||||||
|
<Toast position="bottomright" group="br" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@ var messageIdx = 0;
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
|
group: String,
|
||||||
position: {
|
position: {
|
||||||
type: String,
|
type: String,
|
||||||
default: 'topright'
|
default: 'topright'
|
||||||
|
@ -23,7 +24,19 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
ToastEventBus.$on('add', (message) => this.add(message));
|
ToastEventBus.$on('add', (message) => {
|
||||||
|
if (this.group == message.group) {
|
||||||
|
this.add(message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
ToastEventBus.$on('remove-group', (group) => {
|
||||||
|
if (this.group === group) {
|
||||||
|
this.messages = [];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
ToastEventBus.$on('remove-all-groups', () => {
|
||||||
|
this.messages = [];
|
||||||
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
add(message) {
|
add(message) {
|
||||||
|
|
|
@ -21,7 +21,11 @@ export default {
|
||||||
message: null
|
message: null
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
if (this.message.life) {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.close();
|
||||||
|
}, this.message.life)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
close() {
|
close() {
|
||||||
|
|
|
@ -6,6 +6,12 @@ const ToastService = {
|
||||||
Vue.prototype.$toast = {
|
Vue.prototype.$toast = {
|
||||||
add: (message) => {
|
add: (message) => {
|
||||||
ToastEventBus.$emit('add', message);
|
ToastEventBus.$emit('add', message);
|
||||||
|
},
|
||||||
|
removeGroup: (group) => {
|
||||||
|
ToastEventBus.$emit('remove-group', group);
|
||||||
|
},
|
||||||
|
removeAllGroups: () => {
|
||||||
|
ToastEventBus.$emit('remove-all-groups');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,32 @@
|
||||||
<Button label="Error" class="p-button-danger" @click="showError" />
|
<Button label="Error" class="p-button-danger" @click="showError" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<h3>Positions</h3>
|
||||||
|
<div class="p-grid">
|
||||||
|
<div class="p-col-12 p-md-4">
|
||||||
|
<Button label="Top Left" @click="showTopLeft" />
|
||||||
|
</div>
|
||||||
|
<div class="p-col-12 p-md-4">
|
||||||
|
<Button label="Bottom Left" class="p-button-warning" @click="showBottomLeft" />
|
||||||
|
</div>
|
||||||
|
<div class="p-col-12 p-md-4">
|
||||||
|
<Button label="Bottom Right" class="p-button-success" @click="showBottomRight" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Options</h3>
|
||||||
|
<div class="p-grid">
|
||||||
|
<div class="p-col-12 p-md-6">
|
||||||
|
<Button @click="showMultiple" label="Multiple" class="p-button-warning" />
|
||||||
|
</div>
|
||||||
|
<div class="p-col-12 p-md-6">
|
||||||
|
<Button @click="showSticky" label="Sticky" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Remove All</h3>
|
||||||
|
<Button @click="clear" label="Clear" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -32,21 +58,40 @@ export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
messages: [],
|
messages: [],
|
||||||
count: 0
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
showSuccess() {
|
showSuccess() {
|
||||||
this.$toast.add({severity:'success', summary: 'Success Message', detail:'Order submitted'});
|
this.$toast.add({severity:'success', summary: 'Success Message', detail:'Order submitted', life: 3000});
|
||||||
},
|
},
|
||||||
showInfo() {
|
showInfo() {
|
||||||
this.$toast.add({severity:'info', summary: 'Info Message', detail:'PrimeNG rocks'});
|
this.$toast.add({severity:'info', summary: 'Info Message', detail:'PrimeVue rocks', life: 3000});
|
||||||
},
|
},
|
||||||
showWarn() {
|
showWarn() {
|
||||||
this.$toast.add({severity:'warn', summary: 'Warn Message', detail:'There are unsaved changes'});
|
this.$toast.add({severity:'warn', summary: 'Warn Message', detail:'There are unsaved changes', life: 3000});
|
||||||
},
|
},
|
||||||
showError() {
|
showError() {
|
||||||
this.$toast.add({severity:'error', summary: 'Error Message', detail:'Validation failed'});
|
this.$toast.add({severity:'error', summary: 'Error Message', detail:'Validation failed', life: 3000});
|
||||||
|
},
|
||||||
|
showTopLeft() {
|
||||||
|
this.$toast.add({severity: 'info', summary: 'Info ', detail: 'You need to close Me', group: 'tl', life: 3000});
|
||||||
|
},
|
||||||
|
showBottomLeft() {
|
||||||
|
this.$toast.add({severity:'warn', summary: 'Warn Message', detail:'There are unsaved changes', group: 'bl', life: 3000});
|
||||||
|
},
|
||||||
|
showBottomRight() {
|
||||||
|
this.$toast.add({severity:'success', summary: 'Success Message', detail:'Order submitted', group: 'br', life: 3000});
|
||||||
|
},
|
||||||
|
showSticky() {
|
||||||
|
this.$toast.add({severity: 'info', summary: 'Sticky Message', detail: 'You need to close Me'});
|
||||||
|
},
|
||||||
|
showMultiple() {
|
||||||
|
this.$toast.add({severity:'info', summary:'Message 1', detail:'PrimeVue rocks', life: 3000});
|
||||||
|
this.$toast.add({severity:'info', summary:'Message 1', detail:'PrimeVue rocks', life: 3000});
|
||||||
|
this.$toast.add({severity:'info', summary:'Message 1', detail:'PrimeVue rocks', life: 3000});
|
||||||
|
},
|
||||||
|
clear() {
|
||||||
|
this.$toast.removeAllGroups();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue