النصوص البرمجية المرتبطة بـ "مستندات Google" يمكن أن تعرض "جداول بيانات Google" أو "نماذج Google" عدة أنواع من عناصر واجهة المستخدم، مثل تنبيهات ومطالبات مسبقة الإعداد، بالإضافة إلى مربعات حوار وأشرطة جانبية تحتوي على صفحات خدمة HTML: يتم عادةً فتح هذه العناصر من عناصر القائمة. (لاحظ أنه في نماذج Google، لا تكون عناصر واجهة المستخدم مرئية إلا لمحرر يفتح النموذج لتعديله، وليس للمستخدم الذي يفتح النموذج للرد).
مربّعات حوار التنبيهات
التنبيه عبارة عن مربع حوار تم إنشاؤه مسبقًا يفتح داخل إحدى مستندات Google
"العروض التقديمية من Google" أو "محرِّر النماذج". سيظهر لك رسالة وكلمة "حسنًا". زِر عنوان
الأزرار البديلة اختيارية. وهو مشابه لاستدعاء
window.alert()
في لغة JavaScript من جهة العميل في متصفّح الويب
تعلّق التنبيهات النص البرمجي من جانب الخادم أثناء فتح مربع الحوار. النص بعد أن يغلق المستخدم مربّع الحوار، ولكن مع JDBC حيث لا تستمر الاتصالات طوال فترة التعليق.
وكما هو موضح في المثال أدناه، فإن "مستندات Google" و"نماذج Google" و"العروض التقديمية من Google"
و"جداول بيانات Google" جميعًا طريقة Ui.alert()
، التي
يتوفر بثلاث متغيرات. لتجاوز قيمة "OK" التلقائية زر، مرِّر
القيمة من التعداد Ui.ButtonSet
كوسيطة buttons
. لتقييم الزر الذي نقر عليه المستخدم، قارن
القيمة المعروضة لـ alert()
تعداد Ui.Button
.
function onOpen() {
SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
.createMenu('Custom Menu')
.addItem('Show alert', 'showAlert')
.addToUi();
}
function showAlert() {
var ui = SpreadsheetApp.getUi(); // Same variations.
var result = ui.alert(
'Please confirm',
'Are you sure you want to continue?',
ui.ButtonSet.YES_NO);
// Process the user's response.
if (result == ui.Button.YES) {
// User clicked "Yes".
ui.alert('Confirmation received.');
} else {
// User clicked "No" or X in the title bar.
ui.alert('Permission denied.');
}
}
مربّعات حوار الطلب
المطالبة هي مربع حوار تم إنشاؤه مسبقًا يفتح داخل أحد مستندات Google
"العروض التقديمية من Google" أو "محرِّر النماذج". إنه يعرض رسالة وحقل إدخال نص و"حسنًا"
زِر وعنوان وأزرار بديلة اختيارية. وهو مشابه لاستدعاء
window.prompt()
في لغة JavaScript من جهة العميل في متصفّح الويب
تؤدي الطلبات إلى تعليق النص البرمجي من جهة الخادم عندما يكون مربّع الحوار مفتوحًا. النص بعد أن يغلق المستخدم مربّع الحوار، ولكن مع JDBC حيث لا تستمر الاتصالات طوال فترة التعليق.
كما هو موضح في المثال أدناه، تستخدم جميع ملفات "نماذج Google" و"العروض التقديمية من Google" و"جداول بيانات Google" الطريقة Ui.prompt()
،
والذي يتوفر بثلاثة خيارات لتجاوز قيمة "OK" التلقائية ز
تمرير قيمة من Ui.ButtonSet
التعداد كوسيطة buttons
. لتقييم رد المستخدم، احصل على
القيمة المعروضة لـ prompt()
، ثم استدعاء
PromptResponse.getResponseText()
لاسترداد مدخلات المستخدم، ومقارنة القيمة المعروضة
PromptResponse.getSelectedButton()
إلى التعداد Ui.Button
.
function onOpen() {
SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
.createMenu('Custom Menu')
.addItem('Show prompt', 'showPrompt')
.addToUi();
}
function showPrompt() {
var ui = SpreadsheetApp.getUi(); // Same variations.
var result = ui.prompt(
'Let\'s get to know each other!',
'Please enter your name:',
ui.ButtonSet.OK_CANCEL);
// Process the user's response.
var button = result.getSelectedButton();
var text = result.getResponseText();
if (button == ui.Button.OK) {
// User clicked "OK".
ui.alert('Your name is ' + text + '.');
} else if (button == ui.Button.CANCEL) {
// User clicked "Cancel".
ui.alert('I didn\'t get your name.');
} else if (button == ui.Button.CLOSE) {
// User clicked X in the title bar.
ui.alert('You closed the dialog.');
}
}
مربّعات حوار مخصّصة
يمكن لمربّع حوار مخصّص عرض مستخدم خدمة HTML. داخل مُحرِّر "مستندات Google" أو "جداول بيانات Google" أو "العروض التقديمية من Google" أو "نماذج Google".
لا تعلّق مربّعات الحوار المخصَّصة النص البرمجي من جهة الخادم عندما يكون مربّع الحوار مفتوحًا.
يمكن للمكوِّن من جهة العميل إجراء طلبات غير متزامنة للنص البرمجي من جهة الخادم.
باستخدام google.script
API
للواجهات الخاصة بخدمة HTML
يمكن لمربع الحوار إغلاق نفسه عن طريق استدعاء
google.script.host.close()
في جانب العميل لواجهة خدمة HTML. لا يمكن إغلاق مربع الحوار من خلال
وواجهات أخرى، إما من خلال المستخدم أو المستخدم نفسه.
كما هو موضّح في المثال أدناه، تستخدم جميع "مستندات Google" و"نماذج Google" و"العروض التقديمية من Google" و"جداول بيانات Google" الطريقة Ui.showModalDialog()
لفتح مربّع الحوار.
Code.gs
function onOpen() { SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp. .createMenu('Custom Menu') .addItem('Show dialog', 'showDialog') .addToUi(); } function showDialog() { var html = HtmlService.createHtmlOutputFromFile('Page') .setWidth(400) .setHeight(300); SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp. .showModalDialog(html, 'My custom dialog'); }
Page.html
Hello, world! <input type="button" value="Close" onclick="google.script.host.close()" />
الأشرطة الجانبية المخصّصة
يمكن أن يعرض الشريط الجانبي مستخدم خدمة HTML. داخل مُحرِّر "مستندات Google" و"نماذج Google" و"العروض التقديمية من Google" و"جداول بيانات Google".
لا تعلّق الأشرطة الجانبية النص البرمجي من جهة الخادم عندما يكون مربّع الحوار مفتوحًا. يمكن للкомпонент من جهة العميل إجراء طلبات غير متزامنة إلى النص البرمجي من جهة الخادم باستخدام واجهة برمجة التطبيقات google.script
لواجهات خدمة HTML.
يمكن للشريط الجانبي أن يغلق نفسه عن طريق استدعاء
google.script.host.close()
في جانب العميل لواجهة خدمة HTML. لا يمكن إغلاق الشريط الجانبي
بواجهات أخرى أو من خلال المستخدم نفسه فقط
كما هو موضّح في المثال أدناه، تستخدم جميع "مستندات Google" و"نماذج Google" و"العروض التقديمية من Google" و"جداول بيانات Google" الطريقة Ui.showSidebar()
لفتح الشريط الجانبي.
Code.gs
function onOpen() { SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp. .createMenu('Custom Menu') .addItem('Show sidebar', 'showSidebar') .addToUi(); } function showSidebar() { var html = HtmlService.createHtmlOutputFromFile('Page') .setTitle('My custom sidebar'); SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp. .showSidebar(html); }
Page.html
Hello, world! <input type="button" value="Close" onclick="google.script.host.close()" />
مربعات حوار فتح الملف
أداة اختيار Google هي عبارة عن "ملف مفتوح" مربع حوار للمعلومات المخزنة في خوادم Google، بما في ذلك Google Drive و"بحث صور Google" و"فيديو Google" البحث والمزيد
وكما هو موضح في المثال أدناه، يمكن استخدام واجهة برمجة تطبيقات JavaScript من جهة العميل في المنتقي في خدمة HTML لإنشاء مربّع حوار مخصّص يتيح المستخدمين تحديد ملفات حالية أو تحميل ملفات جديدة، ثم تمرير هذا التحديد مرة أخرى إلى النص الخاص بك للاستخدام مرة أخرى.
لتفعيل "المنتقي" والحصول على مفتاح واجهة برمجة التطبيقات، اتّبِع التعليمات التالية:
- تحقَّق من أنّ مشروع النص البرمجي يستخدم مشروع Google Cloud Platform عادي.
- تفعيل "واجهة برمجة تطبيقات Google Picker" في مشروعك على Google Cloud
- عندما لا يزال مشروعك على Google Cloud مفتوحًا، اختَر واجهات برمجة التطبيقات الخدمات، ثم انقر على بيانات الاعتماد.
- انقر على إنشاء بيانات اعتماد > مفتاح واجهة برمجة التطبيقات. يؤدي هذا الإجراء إلى إنشاء المفتاح، ولكن عليك تعديل المفتاح لإضافة كلّ من قيود التطبيق وقيد واجهة برمجة التطبيقات إلى المفتاح.
- في مربّع الحوار الخاص بمفتاح واجهة برمجة التطبيقات، انقر على إغلاق.
- بجانب مفتاح واجهة برمجة التطبيقات الذي أنشأته، انقر على رمز المزيد > تعديل مفتاح واجهة برمجة التطبيقات.
ضمن قيود التطبيقات، أكمِل الخطوات التالية:
- اختَر مُحيلو HTTP (المواقع الإلكترونية).
- ضمن قيود الموقع الإلكتروني، انقر على إضافة عنصر.
- انقر على المُحيل وأدخِل
*.google.com
. - أضِف عنصرًا آخر وأدخِل
*.googleusercontent.com
كمُحيل. - انقر على تم.
ضمن قيود واجهة برمجة التطبيقات، أكمِل الخطوات التالية:
- اختَر تقييد المفتاح.
في القسم اختيار واجهات برمجة التطبيقات، اختَر واجهة برمجة تطبيقات أداة اختيار Google وانقر على حسنًا.
ملاحظة: لا تظهر واجهة برمجة تطبيقات Google Picker ما لم يتم تفعيلها لأن القائمة لا تعرض سوى واجهات برمجة التطبيقات التي تم تفعيلها للعمل على السحابة مشروعك.
انقر على رمز النسخ إلى الحافظة ضمن مفتاح واجهة برمجة التطبيقات.
في أسفل الشاشة، انقر على حفظ.