الفرق بين المراجعتين لصفحة: «Cordova/cordova plugin dialogs»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:إضافة مربعات الحوار في كوردوفا}}</noinclude> | <noinclude>{{DISPLAYTITLE:إضافة مربعات الحوار في كوردوفا}}</noinclude> | ||
[[تصنيف: Cordova]] | [[تصنيف: Cordova]] | ||
[[تصنيف: | [[تصنيف: Cordova Plugin]] | ||
توفر هذه الإضافة إمكانية الوصول إلى بعض مربعات الحوار الأصلية عبر الكائن العام <code>navigator.notification</code>. | توفر هذه الإضافة إمكانية الوصول إلى بعض مربعات الحوار الأصلية عبر الكائن العام <code>navigator.notification</code>. | ||
سطر 12: | سطر 11: | ||
== التثبيت == | == التثبيت == | ||
يمكن تثبيت هذه الإضافة عبر الأمر:<syntaxhighlight lang=" | يمكن تثبيت هذه الإضافة عبر الأمر:<syntaxhighlight lang="shell">cordova plugin add cordova-plugin-dialogs</syntaxhighlight> | ||
== التوابع == | == التوابع == | ||
يُظهر التابع <code>alert</code> مربع حوار (dialog box) أو مربع تنبيه (alert box) مخصص. معظم | === <code>navigator.notification.alert</code> === | ||
<syntaxhighlight lang="javascript">navigator.notification.alert(message, alertCallback, [title], [buttonName])</syntaxhighlight> | يُظهر التابع <code>alert</code> مربع حوار (dialog box) أو مربع تنبيه (alert box) مخصص. معظم تنفيذات (implementations) كوردوفا لهذا التابع تستخدم مربع حوار أصلي لهذه الميزة، لكن بعض المنصات تستخدم دالة المتصفح <code>alert</code>، والتي تكون عادةً أقل قابلية للتخصيص. | ||
<syntaxhighlight lang="javascript">navigator.notification.alert(message, alertCallback, [title], [buttonName])</syntaxhighlight>المعاملات هي: | |||
* <code>message</code>: سلسلة نصية تمثِّل رسالة مربع الحوار. | |||
* <code>message</code>: رسالة مربع الحوار | * <code>alertCallback</code>: دالة رد نداء (Callback) تُستدعَى عند إنهاء مربع التنبيه (alert dialog). | ||
* <code>alertCallback</code>: دالة | * <code>title</code>: سلسلة نصية تمثِّل عنوان مربع الحوار. هذا المعامل اختياري. القيمة الافتراضية هي: <code>Alert</code>. | ||
* <code>title</code>: عنوان مربع الحوار | * <code>buttonName</code>: سلسلة نصية تمثِّل اسم الزر. هذا المعامل اختياري. القيمة الافتراضية هي: <code>OK</code>. | ||
* <code>buttonName</code>: اسم الزر | إليك المثال التالي:<syntaxhighlight lang="javascript">function alertDismissed() { | ||
<syntaxhighlight lang="javascript">function alertDismissed() { | |||
// افعل شيئا ما | // افعل شيئا ما | ||
} | } | ||
سطر 34: | سطر 30: | ||
'Game Over', // العنوان | 'Game Over', // العنوان | ||
'Done' // اسم الزر | 'Done' // اسم الزر | ||
);</syntaxhighlight> | );</syntaxhighlight>المنصات المدعومة: | ||
*أندرويد | *أندرويد | ||
*Browser | *Browser | ||
سطر 44: | سطر 39: | ||
يعرض هذا التابع مربع تأكيد (confirmation dialog box) قابل للتخصيص. | يعرض هذا التابع مربع تأكيد (confirmation dialog box) قابل للتخصيص. | ||
<syntaxhighlight lang="javascript">navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels])</syntaxhighlight> | <syntaxhighlight lang="javascript">navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels])</syntaxhighlight>المعاملات المُمرَّرة إلى هذا التابع هي: | ||
* <code>message</code>: سلسلة نصية تمثِّل رسالة مربع الحوار. | |||
* <code>confirmCallback</code>: دالة رد نداء (Callback) تُستدعَى مع فهرس الزر الذي ضغط عليه المستخدم (<code>1</code> أو <code>2</code> أو <code>3</code>) أو عند إنهاء مربع الحوار دون الضغط على أي زر (<code>0</code>). | |||
* <code>message</code>: رسالة مربع الحوار | |||
* <code>confirmCallback</code>: دالة | |||
* <code>title</code>: عنوان مربع الحوار (سلسلة نصية، اختياري، القيمة الافتراضية هي <code>Confirm</code>) | * <code>title</code>: عنوان مربع الحوار (سلسلة نصية، اختياري، القيمة الافتراضية هي <code>Confirm</code>) | ||
* <code>buttonLabels</code>: مصفوفة من السلاسل النصية تحدد تسميات (labels) الأزرار. | * <code>buttonLabels</code>: مصفوفة من السلاسل النصية تحدد تسميات (labels) الأزرار. هذا المعامل اختياري. القيمة الافتراضية هي <code>[OK,Cancel]</code>. | ||
تُنفّذ دالة رد النداء <code>confirmCallback</code> عندما يضغط المستخدم على أحد الأزرار في مربع التأكيد. | |||
تأخذ هذه الدالة الوسيط <code>buttonIndex</code> (وهو عدد) الذي يمثل فهرس الزر المضغوط (تذكر أن الفهرسة تبدأ بالعدد واحد، وبالتالي فالقيم الممكنة هي <code>1</code>، <code>2</code>، <code>3</code>، ...إلخ). | |||
اطلع على المثال التالي:<syntaxhighlight lang="javascript">function onConfirm(buttonIndex) { | |||
<syntaxhighlight lang="javascript">function onConfirm(buttonIndex) { | |||
alert('You selected button ' + buttonIndex); | alert('You selected button ' + buttonIndex); | ||
} | } | ||
سطر 65: | سطر 56: | ||
'Game Over', // العنوان | 'Game Over', // العنوان | ||
['Restart','Exit'] // اسم الزر | ['Restart','Exit'] // اسم الزر | ||
);</syntaxhighlight> | );</syntaxhighlight>المنصات المدعومة: | ||
*أندرويد | *أندرويد | ||
*Browser | *Browser | ||
سطر 74: | سطر 64: | ||
* يدعم أندرويد ثلاثة أزرار كحد أقصى، ويتجاهل الأزرار الإضافية. | * يدعم أندرويد ثلاثة أزرار كحد أقصى، ويتجاهل الأزرار الإضافية. | ||
==== ملاحظات خاصة بمنصة ويندوز ==== | ==== ملاحظات خاصة بمنصة ويندوز ==== | ||
* على منصتي ويندوز 8 و8.1، ليس من الممكن إضافة أكثر من ثلاثة أزرار إلى | * على منصتي ويندوز 8 و8.1، ليس من الممكن إضافة أكثر من ثلاثة أزرار إلى النُسخة (instance) <code>MessageDialog</code>. | ||
* على منصة Windows Phone 8.1، لا يمكن إظهار مربع حوار بأكثر من زرين. | * على منصة Windows Phone 8.1، لا يمكن إظهار مربع حوار بأكثر من زرين. | ||
سطر 80: | سطر 70: | ||
يعرض هذا التابع مربع حوار أصلي أكثر قابلية للتخصيص من دالة المتصفح <code>prompt</code>. | يعرض هذا التابع مربع حوار أصلي أكثر قابلية للتخصيص من دالة المتصفح <code>prompt</code>. | ||
<syntaxhighlight lang="javascript">navigator.notification.prompt(message, promptCallback, [title], [buttonLabels], [defaultText])</syntaxhighlight> | <syntaxhighlight lang="javascript">navigator.notification.prompt(message, promptCallback, [title], [buttonLabels], [defaultText])</syntaxhighlight>المعاملات المُمرَّرة إلى التابع هي: | ||
* <code>message</code>: سلسلة نصية تمثِّل رسالة مربع الحوار. | |||
* <code>promptCallback</code>: دالة رد نداء (callback) تُستدعى مع فهرس الزر الذي ضغط عليه المستخدم (<code>1</code> أو <code>2</code> أو <code>3</code>) أو عندما يتم إنهاء مربع الحوار دون الضغط على أيِّ زر (<code>0</code>). | |||
* <code>message</code>: رسالة مربع الحوار | * <code>title</code>: سلسلة نصية تمثِّل عنوان مربع الحوار. هذا المعامل اختياري. القيمة الافتراضية هي <code>Prompt</code>. | ||
* <code>promptCallback</code>: دالة | * <code>buttonLabels</code>: مصفوفة من السلاسل النصية التي تحدد تسميات الأزرار. هذا المعامل اختياري. القيمة الافتراضية هي <code>["OK","Cancel"]</code>. | ||
* <code>title</code>: عنوان مربع الحوار | * <code>defaultText</code>: سلسلة نصية تمثِّل القيمة الافتراضية لمربع الإدخال textbox. هذا المعامل اختياري. القيمة الافتراضية هي: <code>""</code>. | ||
* <code>buttonLabels</code>: مصفوفة من السلاسل النصية التي تحدد تسميات الأزرار | تُنفذ دالة رد النداء <code>promptCallback</code> عندما يضغط المستخدم على أحد الأزرار في مربع الطلب (prompt dialog box). يحتوي الكائن <code>results</code> الممرّر إلى دالة الاستجابة على الخاصيات التالية: | ||
* <code>defaultText</code>: القيمة الافتراضية لمربع الإدخال textbox | * <code>buttonIndex</code>: فهرس الزر المضغوط (عدد)، تذكر أن الفهرس يبدأ من العدد واحد، وبالتالي فإن القيم الممكنة هي <code>1</code> و <code>2</code> و <code>3</code>، ...إلخ. | ||
تُنفذ دالة | |||
* <code>buttonIndex</code>: فهرس الزر المضغوط (عدد)، تذكر أن الفهرس يبدأ من العدد واحد، وبالتالي فإن القيم الممكنة هي <code>1</code> و <code>2</code> و <code>3</code>، إلخ. | |||
* <code>input1</code>: النص المُدخل في مربع الطلب (سلسلة نصية). | * <code>input1</code>: النص المُدخل في مربع الطلب (سلسلة نصية). | ||
إليك المثال التالي:<syntaxhighlight lang="javascript">function onPrompt(results) { | |||
<syntaxhighlight lang="javascript">function onPrompt(results) { | |||
alert("You selected button number " + results.buttonIndex + " and entered " + results.input1); | alert("You selected button number " + results.buttonIndex + " and entered " + results.input1); | ||
} | } | ||
سطر 103: | سطر 88: | ||
['Ok','Exit'], // اسم الزر | ['Ok','Exit'], // اسم الزر | ||
'Jane Doe' // النص الافتراضي | 'Jane Doe' // النص الافتراضي | ||
);</syntaxhighlight> | );</syntaxhighlight>المنصات المدعومة: | ||
*أندرويد | *أندرويد | ||
*Browser | *Browser | ||
سطر 111: | سطر 95: | ||
====ملاحظات خاصة بمنصة أندرويد ==== | ====ملاحظات خاصة بمنصة أندرويد ==== | ||
* يدعم أندرويد ثلاثة أزرار كحد أقصى، ويتجاهل ما زاد عن ذلك. | * يدعم أندرويد ثلاثة أزرار كحد أقصى، ويتجاهل ما زاد عن ذلك. | ||
* في الإصدار أندرويد 3.0 وما بعده، | * في الإصدار أندرويد 3.0 وما بعده، تُعرَض الأزرار بالترتيب العكسي على الأجهزة التي تستخدم القالب Holo. | ||
==== ملاحظات خاصة بمنصة ويندوز ==== | ==== ملاحظات خاصة بمنصة ويندوز ==== | ||
* على منصة ويندوز، | * على منصة ويندوز، يُبنَى مُربع الطلب بلغة html بسبب عدم وجود واجهة برمجية أصلية لهذا الغرض. | ||
===<code>navigator.notification.beep</code>=== | ===<code>navigator.notification.beep</code>=== | ||
عند تنفيذ هذا التابع، يطلق الجهاز صوت تنبيه (صافرة). | عند تنفيذ هذا التابع، يطلق الجهاز صوت تنبيه (صافرة). | ||
<syntaxhighlight lang="javascript">navigator.notification.beep(times);</syntaxhighlight> | <syntaxhighlight lang="javascript">navigator.notification.beep(times);</syntaxhighlight>المعاملات المُمرَّرة إلى التابع هي: | ||
* <code>times</code>: عدد يحدِّد عدد مرات تكرار الصافرة. | |||
اطلع على المثال التالي:<syntaxhighlight lang="javascript">// إطلاق صافرتين | |||
* <code>times</code>: عدد مرات تكرار الصافرة | navigator.notification.beep(2);</syntaxhighlight>المنصات المدعومة: | ||
<syntaxhighlight lang="javascript">// إطلاق صافرتين | |||
navigator.notification.beep(2);</syntaxhighlight> | |||
*أندرويد | *أندرويد | ||
*Browser | *Browser | ||
سطر 133: | سطر 113: | ||
* يطلق أندرويد النغمة الافتراضية <code>Notification ringtone</code> المحددة في الإعداد <code>Settings/Sound & Display</code>. | * يطلق أندرويد النغمة الافتراضية <code>Notification ringtone</code> المحددة في الإعداد <code>Settings/Sound & Display</code>. | ||
== | == انظر أيضًا == | ||
* إضافة [[Cordova/cordova plugin battery status|حالة البطارية]] | |||
* إضافة [[Cordova/cordova plugin file|الوصول إلى الملفات]] | |||
* [[Cordova/plugins|دليل تطوير الإضافات في كوردوفا]] | * [[Cordova/plugins|دليل تطوير الإضافات في كوردوفا]] | ||
==مصادر== | ==مصادر== | ||
*[https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-dialogs/index.html صفحة cordova-plugin-dialogs في توثيق كوردوفا الرسمي.] | *[https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-dialogs/index.html صفحة cordova-plugin-dialogs في توثيق كوردوفا الرسمي.] |
المراجعة الحالية بتاريخ 07:50، 25 ديسمبر 2018
توفر هذه الإضافة إمكانية الوصول إلى بعض مربعات الحوار الأصلية عبر الكائن العام navigator.notification
.
على الرغم من أن هذا الكائن مربوط بالنطاق العام للكائن navigator
، إلا أنه لن يكون متوفرًا إلا بعد إطلاق الحدث deviceready
.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.notification);
}
التثبيت
يمكن تثبيت هذه الإضافة عبر الأمر:
cordova plugin add cordova-plugin-dialogs
التوابع
يُظهر التابع alert
مربع حوار (dialog box) أو مربع تنبيه (alert box) مخصص. معظم تنفيذات (implementations) كوردوفا لهذا التابع تستخدم مربع حوار أصلي لهذه الميزة، لكن بعض المنصات تستخدم دالة المتصفح alert
، والتي تكون عادةً أقل قابلية للتخصيص.
navigator.notification.alert(message, alertCallback, [title], [buttonName])
المعاملات هي:
message
: سلسلة نصية تمثِّل رسالة مربع الحوار.alertCallback
: دالة رد نداء (Callback) تُستدعَى عند إنهاء مربع التنبيه (alert dialog).title
: سلسلة نصية تمثِّل عنوان مربع الحوار. هذا المعامل اختياري. القيمة الافتراضية هي:Alert
.buttonName
: سلسلة نصية تمثِّل اسم الزر. هذا المعامل اختياري. القيمة الافتراضية هي:OK
.
إليك المثال التالي:
function alertDismissed() {
// افعل شيئا ما
}
navigator.notification.alert(
'You are the winner!', // الرسالة
alertDismissed, // دالة الاستجابة
'Game Over', // العنوان
'Done' // اسم الزر
);
المنصات المدعومة:
- أندرويد
- Browser
- iOS
- ويندوز
يعرض هذا التابع مربع تأكيد (confirmation dialog box) قابل للتخصيص.
navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels])
المعاملات المُمرَّرة إلى هذا التابع هي:
message
: سلسلة نصية تمثِّل رسالة مربع الحوار.confirmCallback
: دالة رد نداء (Callback) تُستدعَى مع فهرس الزر الذي ضغط عليه المستخدم (1
أو2
أو3
) أو عند إنهاء مربع الحوار دون الضغط على أي زر (0
).title
: عنوان مربع الحوار (سلسلة نصية، اختياري، القيمة الافتراضية هيConfirm
)buttonLabels
: مصفوفة من السلاسل النصية تحدد تسميات (labels) الأزرار. هذا المعامل اختياري. القيمة الافتراضية هي[OK,Cancel]
.
تُنفّذ دالة رد النداء confirmCallback
عندما يضغط المستخدم على أحد الأزرار في مربع التأكيد.
تأخذ هذه الدالة الوسيط buttonIndex
(وهو عدد) الذي يمثل فهرس الزر المضغوط (تذكر أن الفهرسة تبدأ بالعدد واحد، وبالتالي فالقيم الممكنة هي 1
، 2
، 3
، ...إلخ).
اطلع على المثال التالي:
function onConfirm(buttonIndex) {
alert('You selected button ' + buttonIndex);
}
navigator.notification.confirm(
'You are the winner!', // الرسالة
onConfirm, // دالة الاستجابة التي ستُستدعى مع فهرس الزر المضغوط
'Game Over', // العنوان
['Restart','Exit'] // اسم الزر
);
المنصات المدعومة:
- أندرويد
- Browser
- iOS
- ويندوز
ملاحظات خاصة بمنصة أندرويد
- يدعم أندرويد ثلاثة أزرار كحد أقصى، ويتجاهل الأزرار الإضافية.
ملاحظات خاصة بمنصة ويندوز
- على منصتي ويندوز 8 و8.1، ليس من الممكن إضافة أكثر من ثلاثة أزرار إلى النُسخة (instance)
MessageDialog
. - على منصة Windows Phone 8.1، لا يمكن إظهار مربع حوار بأكثر من زرين.
يعرض هذا التابع مربع حوار أصلي أكثر قابلية للتخصيص من دالة المتصفح prompt
.
navigator.notification.prompt(message, promptCallback, [title], [buttonLabels], [defaultText])
المعاملات المُمرَّرة إلى التابع هي:
message
: سلسلة نصية تمثِّل رسالة مربع الحوار.promptCallback
: دالة رد نداء (callback) تُستدعى مع فهرس الزر الذي ضغط عليه المستخدم (1
أو2
أو3
) أو عندما يتم إنهاء مربع الحوار دون الضغط على أيِّ زر (0
).title
: سلسلة نصية تمثِّل عنوان مربع الحوار. هذا المعامل اختياري. القيمة الافتراضية هيPrompt
.buttonLabels
: مصفوفة من السلاسل النصية التي تحدد تسميات الأزرار. هذا المعامل اختياري. القيمة الافتراضية هي["OK","Cancel"]
.defaultText
: سلسلة نصية تمثِّل القيمة الافتراضية لمربع الإدخال textbox. هذا المعامل اختياري. القيمة الافتراضية هي:""
.
تُنفذ دالة رد النداء promptCallback
عندما يضغط المستخدم على أحد الأزرار في مربع الطلب (prompt dialog box). يحتوي الكائن results
الممرّر إلى دالة الاستجابة على الخاصيات التالية:
buttonIndex
: فهرس الزر المضغوط (عدد)، تذكر أن الفهرس يبدأ من العدد واحد، وبالتالي فإن القيم الممكنة هي1
و2
و3
، ...إلخ.input1
: النص المُدخل في مربع الطلب (سلسلة نصية).
إليك المثال التالي:
function onPrompt(results) {
alert("You selected button number " + results.buttonIndex + " and entered " + results.input1);
}
navigator.notification.prompt(
'Please enter your name', // الرسالة
onPrompt, // دالة الاستجابة المراد استدعاؤها
'Registration', // العنوان
['Ok','Exit'], // اسم الزر
'Jane Doe' // النص الافتراضي
);
المنصات المدعومة:
- أندرويد
- Browser
- iOS
- ويندوز
ملاحظات خاصة بمنصة أندرويد
- يدعم أندرويد ثلاثة أزرار كحد أقصى، ويتجاهل ما زاد عن ذلك.
- في الإصدار أندرويد 3.0 وما بعده، تُعرَض الأزرار بالترتيب العكسي على الأجهزة التي تستخدم القالب Holo.
ملاحظات خاصة بمنصة ويندوز
- على منصة ويندوز، يُبنَى مُربع الطلب بلغة html بسبب عدم وجود واجهة برمجية أصلية لهذا الغرض.
عند تنفيذ هذا التابع، يطلق الجهاز صوت تنبيه (صافرة).
navigator.notification.beep(times);
المعاملات المُمرَّرة إلى التابع هي:
times
: عدد يحدِّد عدد مرات تكرار الصافرة.
اطلع على المثال التالي:
// إطلاق صافرتين
navigator.notification.beep(2);
المنصات المدعومة:
- أندرويد
- Browser
- iOS
- ويندوز
ملاحظات خاصة بمنصة أندرويد
- يطلق أندرويد النغمة الافتراضية
Notification ringtone
المحددة في الإعدادSettings/Sound & Display
.