For the complete documentation index, see llms.txt. This page is also available as Markdown.

رمز النموذج

👨‍💻️ ما هو form code ؟

يتيح لك form code تشغيل وتنفيذ بعض أكواد JavaScript مخصصة أثناء بدء الاستبيان وتشغيله.

يجب أن تمتد الأكواد المخصصة لديك إلى NGSFormCode لكي يتم تنفيذها.

/*
 مثال يوضح كيفية إرسال إجابات المستجيب 
 إلى REST API تابع لجهة خارجية.

 يمكن أيضًا استخدام Form code لإدراج أكواد جهة خارجية 
 API إلى صفحة النموذج الخاصة بك باستخدام حدثي onInit أو onLoaded
*/
class CustomFormCode extends NGSFormCode { 
  /* تم تحميل النموذج */
  onInit() {}

  /* سيتم استدعاء عنصر أمان يتطلب المصادقة 
     عندما يتطلب استبيان مصادقة من عنصر أمان  
  */
  onAuthenticate(securityItem) {}

  /* سيتم استدعاء عنصر أمان يتطلب المصادقة 
     تمت مصادقة عنصر أمان بنجاح. 
     إرجاع سلسلة نصية من هذه الطريقة سيمنع 
     الوصول إلى الاستبيان بالرسالة المحددة بواسطة 
     السلسلة النصية المُعادة.  
  */
  onAuthenticated(securityItem, securityItemAuthorization) {}

  /* تمت الموافقة على النموذج من جميع عناصر الأمان وتم تحميله  
    بأسئلة الصفحة المرئية الأولى الخاصة به */
  onLoaded() {}

  /* يتم التشغيل عند تحميل صفحة جديدة، وتشير القيمة null للصفحة 
    إلى أنه يتم تحميل صفحة النهاية/شكراً */ 
  */
  onPageLoad(page) {}

  /* يتم التشغيل بمجرد حفظ إجابات جلسة المستجيب على الخادم.
  يحدد action الإجراء الذي أدى إلى حفظ التقدم، ويمكن أن تكون أيًا من القيم التالية
  None = 0, Button = 1, PageChange = 2, QuestionChange = 3, Email = 4, Auto = 5 
  */
  onSaveProgress(ngsRespondent, action) {}

  /* يتم التشغيل بمجرد حفظ إجابات المستجيب على الخادم. */
  onSubmit(ngsRespondent) {
    // تفاصيل المستجيب
    console.log(ngsRespondent.respondent);

    // إجابات المستجيب
    console.log(ngsRespondent.answers);

    // قيم سمات البيانات الخاصة بعناصر الأمان
    console.log(ngsRespondent.dataAttributes);
    
    this.formContext.httpClient.post('http://www.yourrestsite.com/yourapi/saveanswers', 
        ngsRespondent.answers, {}).subscribe();
  }

  /* يتم التشغيل بمجرد تحديث إجابات المستجيب على الخادم. */
  onUpdate(ngsRespondent) {console.log('update', ngsRespondent);}
}

الـ NGSForm يوفر الصف الأساسي الخصائص التالية التي يمكنك إعادة استخدامها في الصف المشتق.

FormContext يوفر الخصائص التالية التي يمكنك استخدامها من الصف المشتق من NGSFormCode عبر الخاصية formContext.

Respondent هي خصائص المستجيب

Respondent هي خصائص المستجيب

SecurityItemAuthorization يتتبع جميع الخصائص التي يُرجعها عنصر أمان تمت مصادقته.

آخر تحديث

هل كان هذا مفيدا؟