রিদওয়ান বিন শামীম
অ্যাপ এম এল ম্যাসেজ এবং কার্যপ্রণালী
যখন অ্যাপ এম এল কোনও কাজ করতে যায় তখন এটি কন্ট্রোলারে একটি এপ্লিকেশন অবজেক্ট ($appml) পাঠায়। এপ্লিকেশন অবজেক্টের একটি বৈশিষ্ট্য হল ম্যাসেজ ($appml.message), যা এপ্লিকেশনের অবস্থা বর্ণনা করে। এই ম্যাসেজ পরীক্ষা করে কাজের ধরণ অনুযায়ী জাভাস্ক্রিপ্ট কোড ব্যবহার করা যায়।
উদাহরণ,
function myController($appml) { if ($appml.message == "ready") {alert ("Hello Application");} }
অ্যাপ এম এল এর ম্যাসেজ
অ্যাপ এম এল ম্যাসেজের তালিকাঃ
Message | Description |
“ready” | অ্যাপ এম এল শুরুর পরে দেখায়, লোড করতে প্রস্তুত |
“loaded” | অ্যাপ এম এল লোডেড, ডাটা দেখাতে প্রস্তুত |
“display” | অ্যাপ এম এল কোনও ডাটা আইটেম দেখানোর আগে দেখায়। |
“done” | অ্যাপ এম এল সম্পন্ন হওয়ার পর দেখায় |
“submit” | অ্যাপ এম এল ডাটা সাবমিটের আগে দেখায় |
“error” | অ্যাপ এম এল কোনও ভুলের সম্মুখীন হলে দেখায় |
“ready” ম্যাসেজ
অ্যাপ এম এল শুরুর পরে দেখায়, লোড করতে প্রস্তুত। ইনিশিয়াল ডাটার জন্য (শুরুর মান) আদর্শ ক্ষেত্র,
উদাহরনঃ
<div appml-controller="myController" appml-data="customers.js"> <h1>Customers</h1> <p>{{today}}</p> <table> <tr> <th>Customer</th> <th>City</th> <th>Country</th> </tr> <tr appml-repeat="records"> <td>{{CustomerName}}</td> <td>{{City}}</td> <td>{{Country}}</td> </tr> </table> <p>Copyright {{copyright}}</p> </div> <script> function myController($appml) { if ($appml.message == "ready") { $appml.today = new Date(); $appml.copyright = "W3Schools" } } </script>
উপরের উদাহরণে $appml.message হল “ready”, কন্ট্রোলার এপ্লিকেশনে দুটি বৈশিষ্ট্য যোগ করেছে, (today এবং copyright) । এপ্লিকেশন রান করলে নতুন দুটি বৈশিষ্ট্য কাজ করবে।
“loaded”ম্যাসেজঃ
অ্যাপ এম এল লোডেড, ডাটা দেখাতে প্রস্তুত এমন ক্ষেত্রে “loaded” ম্যাসেজ দেখায়,কোনও পরিবর্তনের প্রয়োজন থাকলে এই ধাপে তা করা ভাল।
উদাহরনঃ
function myController($appml) {
if ($appml.message == “loaded”) {
// compute your values here before display
}
}
“display” ম্যাসেজ”
অ্যাপ এম এল কোনও ডাটা আইটেম দেখানোর আগে এই ম্যাসেজ দেখায়।আউটপুট মডিফাইয়ের জন্য এই ধাপ খুব ভাল।
উদাহরণঃ <div appml_app=”myController” appml-data=”customers.js”>
<h1>Customers</h1> <table> <tr> <th>Customer</th> <th>City</th> <th>Country</th> </tr> <tr appml-repeat="records"> <td>{{CustomerName}}</td> <td>{{City}}</td> <td>{{Country}}</td> </tr> </table> </div> <script> function myController($appml) { if ($appml.message == "display") { if ($appml.display.name == "CustomerName") { $appml.display.value = $appml.display.value.substr(0,15); } if ($appml.display.name == "Country") { $appml.display.value = $appml.display.value.toUpperCase(); } } } </script>
উপরের উদাহরণে “CustomerName” শব্দটিকে ১৫ অক্ষরে বিস্তারিত করা হয়েছে এবং “Country” শব্দটিকে বড় হাতের অক্ষরে পরিবর্তিত করা হয়েছে।
“done” ম্যাসেজ
অ্যাপ এম এল সম্পন্ন হওয়ার পর এই ম্যাসেজ দেখায়, এপ্লিকেশন ডাটা ক্লিন ও ক্যালকুলেট করার জন্য এই ধাপ খুব উপযোগী।
উদাহরণ,
<script> function myController($appml) { if ($appml.message == "done") { calculate data here } } </script>
“submit” ম্যাসেজ
অ্যাপ এম এল ডাটা সাবমিটের আগে দেখায়, এপ্লিকেশন ইনপুট শনাক্তকরণের জন্য উপযোগী।
উদাহরণ,
<script> function myController($appml) { if ($appml.message == "submit") { validate data here } } </script>
“error” ম্যাসেজ
অ্যাপ এম এল কোনও ভুলের সম্মুখীন হলে দেখায়, এই ধাপ ভুল সংশোধনের জন্য উপযোগী।
উদাহরণ,
<script> function myController($appml) { if ($appml.message == "error") { alert ($appml.error.number + " " + $appml.error.description) } } </script>
অ্যাপ এম এল এর বৈশিষ্ট্য
অ্যাপ এম এল এর কমন কিছু বৈশিষ্ট্য নিচের ছকে দেয়া হল,
Property | Description |
$appml.message | এপ্লিকেশনের বর্তমান অবস্থা |
$appml.display.name | প্রদর্শনকরা হবে এমন ডাটা ফিল্ডের নাম |
$appml.display.value | প্রদর্শনকরা হবে এমন ডাটা ফিল্ডের মান |
$appml.error.number | ভুলের সংখ্যা |
$appml.error.description | ভুলের বিবরণ |