ExtJS একটি শক্তিশালী ফ্রন্টএন্ড ফ্রেমওয়ার্ক, যা ইউজার ইন্টারফেসের জন্য বিভিন্ন Window Animations এবং Transitions সাপোর্ট করে। এগুলি অ্যাপ্লিকেশনটির ইন্টারঅ্যাকশনকে আরো মসৃণ এবং আকর্ষণীয় করে তোলে, যাতে ইউজাররা ভাল অভিজ্ঞতা পায়। আপনি উইন্ডো, প্যানেল, গ্রিড এবং অন্যান্য কম্পোনেন্টে অ্যানিমেশন এবং ট্রানজিশন ব্যবহার করতে পারেন।
ExtJS-এ উইন্ডো অ্যানিমেশন সাধারণত Ext.window.Window
কম্পোনেন্টের সাথে যুক্ত থাকে। window
এর মাধ্যমে আপনি স্লাইড, ফেড, জুম, বা অন্যান্য অ্যানিমেশন প্রয়োগ করতে পারেন।
Ext.create('Ext.window.Window', {
title: 'Animated Window',
width: 300,
height: 200,
layout: 'fit',
items: [{
xtype: 'panel',
html: 'This is a window with animation.'
}],
animateTarget: Ext.getBody(), // আনার জন্য একটি টার্গেট
listeners: {
show: function(window) {
// উইন্ডো শো হওয়ার সময় একটি অ্যানিমেশন
window.el.animate({
to: {
opacity: 1,
left: 100,
top: 100
},
duration: 1000
});
},
hide: function(window) {
// উইন্ডো হাইড হওয়ার সময় অ্যানিমেশন
window.el.animate({
to: {
opacity: 0,
left: 0,
top: 0
},
duration: 500
});
}
}
}).show();
animateTarget
: এটি নির্দেশ করে যে কোথা থেকে উইন্ডোটি স্লাইড হবে। এখানে Ext.getBody()
টার্গেট হিসাবে ব্যবহার করা হয়েছে।el.animate
: উইন্ডোটি শো হওয়ার বা হাইড হওয়ার সময় অ্যানিমেশন প্রক্রিয়া চালানো হয়।আপনি উইন্ডো স্লাইড ইন বা স্লাইড আউট করতে পারেন, যা একটি প্রচলিত অ্যানিমেশন প্রক্রিয়া।
Ext.create('Ext.window.Window', {
title: 'Slide In Window',
width: 300,
height: 200,
layout: 'fit',
items: [{
xtype: 'panel',
html: 'This window slides in and out!'
}],
listeners: {
afterrender: function(window) {
window.el.setOpacity(0);
window.el.animate({
to: {
opacity: 1,
left: '100px' // স্লাইড করার জন্য নির্ধারণ
},
duration: 1000
});
},
hide: function(window) {
window.el.animate({
to: {
opacity: 0,
left: '-300px' // স্লাইড আউট করার জন্য নির্ধারণ
},
duration: 500
});
}
}
}).show();
এই কোডে, উইন্ডোটি একটি স্লাইড ইন অ্যানিমেশনের মাধ্যমে প্রদর্শিত হবে এবং একটি স্লাইড আউট অ্যানিমেশনের মাধ্যমে লুকানো হবে।
Transitions বিশেষত মেনু, প্যানেল, বা পেজ ট্রানজিশন ঘটানোর জন্য ব্যবহৃত হয়, যেখানে একটি ভিউ থেকে অন্য ভিউতে মসৃণ পরিবর্তন ঘটে।
Ext.create('Ext.container.Viewport', {
layout: 'card',
items: [{
xtype: 'panel',
html: 'This is the first panel.',
title: 'Panel 1'
}, {
xtype: 'panel',
html: 'This is the second panel.',
title: 'Panel 2'
}],
listeners: {
afterrender: function(viewport) {
viewport.getLayout().setActiveItem(1); // Panel 2 তে ট্রানজিশন
}
}
});
এখানে layout: 'card'
ব্যবহার করা হয়েছে, যা বিভিন্ন প্যানেলের মধ্যে স্লাইডিং ট্রানজিশন প্রভাব তৈরি করবে।
Zoom Transition অনেক সময় ডেটা বা কন্টেন্ট ভিউ পরিবর্তনের জন্য ব্যবহৃত হয়। এটি একটি ভিউকে বড় বা ছোট করে ডায়নামিকভাবে ট্রানজিশন করে।
Ext.create('Ext.window.Window', {
title: 'Zoom In Window',
width: 300,
height: 200,
layout: 'fit',
items: [{
xtype: 'panel',
html: 'This window will zoom in and out!'
}],
listeners: {
afterrender: function(window) {
window.el.setOpacity(0);
window.el.animate({
to: {
opacity: 1,
scale: 1.5
},
duration: 1000
});
},
hide: function(window) {
window.el.animate({
to: {
opacity: 0,
scale: 0.5
},
duration: 500
});
}
}
}).show();
এখানে, scale
প্রপার্টি ব্যবহার করা হয়েছে যা উইন্ডোর সাইজ পরিবর্তন করতে সাহায্য করে এবং opacity
পরিবর্তন করা হয়েছে।
animate
, transition
, slideIn
, zoom
প্রয়োগ করার জন্য সরবরাহ করে।ExtJS এর এই অ্যানিমেশন এবং ট্রানজিশন ফিচারগুলো আপনার অ্যাপ্লিকেশনকে আরও প্রফেশনাল এবং ইউজার-ফ্রেন্ডলি করে তোলে।
Read more