Contents
- Alert animation
- Confirm animation
- Prompt animation
Having trouble getting help?
Contact Support
Contact Support
Animation in Vue Predefined dialogs component
11 Jun 20247 minutes to read
The predefined dialogs can be animated during the open and close actions. Also, user can customize animation’s delay
, duration
and effect
of animation by using the animationSettings property.
In the below sample, Zoom
effect is enabled. So, The Dialog will open with ZoomIn
and close with ZoomOut
effects.
Alert animation
<template>
<div class="predefinedDialogs">
<ejs-button id="alertDlgBtn" v-on:click.native="alertBtnClick" cssClass="e-danger">Alert</ejs-button>
</div>
</template>
<script setup>
import { DialogUtility } from "@syncfusion/ej2-vue-popups";
import { ButtonComponent as EjsButton } from "@syncfusion/ej2-vue-buttons";
const alertBtnClick = () => {
DialogUtility.alert({
title: 'Low battery',
width: '250px',
animationSettings: { effect: 'Zoom' },
content: '10% of battery remaining'
});
};
</script>
<style>
@import "../node_modules/@syncfusion/ej2-vue-popups/styles/material.css";
.predefinedDialogs {
height: 100%;
min-height: 350px;
}
</style>
<template>
<div class="predefinedDialogs">
<ejs-button id="alertDlgBtn" v-on:click="alertBtnClick" cssClass="e-danger">Alert</ejs-button>
</div>
</template>
<script>
import { DialogUtility } from "@syncfusion/ej2-vue-popups";
import { ButtonComponent } from "@syncfusion/ej2-vue-buttons";
export default {
name: "App",
components: {
"ejs-button": ButtonComponent
},
data: function () {
return {};
},
methods: {
alertBtnClick: function () {
DialogUtility.alert({
title: 'Low battery',
width: '250px',
animationSettings: { effect: 'Zoom' },
content: '10% of battery remaining'
});
}
},
}
</script>
<style>
@import "../node_modules/@syncfusion/ej2-vue-popups/styles/material.css";
.predefinedDialogs {
height: 100%;
min-height: 350px;
}
</style>
Confirm animation
<template>
<div class="predefinedDialogs">
<ejs-button id="confirmDlgBtn" v-on:click="confirmBtnClick" cssClass="e-success">Confirm</ejs-button>
</div>
</template>
<script setup>
import { DialogUtility } from "@syncfusion/ej2-vue-popups";
import { ButtonComponent as EjsButton } from "@syncfusion/ej2-vue-buttons";
const confirmBtnClick = () => {
DialogUtility.confirm({
title: 'Delete multiple items',
content: "Are you sure you want to permanently delete these items?",
width: '300px',
animationSettings: { effect: 'Zoom' }
});
};
</script>
<style>
@import "../node_modules/@syncfusion/ej2-vue-popups/styles/material.css";
.predefinedDialogs {
height: 100%;
min-height: 350px;
}
</style>
<template>
<div class="predefinedDialogs">
<ejs-button id="confirmDlgBtn" v-on:click="confirmBtnClick" cssClass="e-success">Confirm</ejs-button>
</div>
</template>
<script>
import { DialogUtility } from "@syncfusion/ej2-vue-popups";
import { ButtonComponent } from "@syncfusion/ej2-vue-buttons";
export default {
name: "App",
components: {
"ejs-button": ButtonComponent
},
data: function () {
return {};
},
methods: {
confirmBtnClick: function () {
DialogUtility.confirm({
title: 'Delete multiple items',
content: "Are you sure you want to permanently delete these items?",
width: '300px',
animationSettings: { effect: 'Zoom' }
});
}
},
}
</script>
<style>
@import "../node_modules/@syncfusion/ej2-vue-popups/styles/material.css";
.predefinedDialogs {
height: 100%;
min-height: 350px;
}
</style>
Prompt animation
<template>
<div class="predefinedDialogs">
<ejs-button id="promptDlgBtn" v-on:click="promptBtnClick" :isPrimary="true">Prompt</ejs-button>
</div>
</template>
<script setup>
import { DialogUtility } from "@syncfusion/ej2-vue-popups";
import { ButtonComponent as EjsButton } from "@syncfusion/ej2-vue-buttons";
const promptBtnClick = () => {
DialogUtility.confirm({
title: 'Join chat group',
width: '250px',
animationSettings: { effect: 'Zoom' },
content: '<p>Enter your name: </p><input id= "inputEle" type="text" name="Required" class="e-input" placeholder="Type here.." />'
});
};
</script>
<style>
@import "../node_modules/@syncfusion/ej2-vue-popups/styles/material.css";
.predefinedDialogs {
height: 100%;
min-height: 350px;
}
</style>
<template>
<div class="predefinedDialogs">
<ejs-button id="promptDlgBtn" v-on:click="promptBtnClick" :isPrimary="true">Prompt</ejs-button>
</div>
</template>
<script>
import { DialogUtility } from "@syncfusion/ej2-vue-popups";
import { ButtonComponent } from "@syncfusion/ej2-vue-buttons";
export default {
name: "App",
components: {
"ejs-button": ButtonComponent
},
data: function () {
return {};
},
methods: {
promptBtnClick: function () {
DialogUtility.confirm({
title: 'Join chat group',
width: '250px',
animationSettings: { effect: 'Zoom' },
content: '<p>Enter your name: </p><input id= "inputEle" type="text" name="Required" class="e-input" placeholder="Type here.." />'
});
},
},
}
</script>
<style>
@import "../node_modules/@syncfusion/ej2-vue-popups/styles/material.css";
.predefinedDialogs {
height: 100%;
min-height: 350px;
}
</style>