رمز النموذج

👨‍💻️ ما هو كود النموذج؟

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

يجب أن يمتد الكود المخصص الخاص بك من الـ NGSFormCode الكائن ليتم تنفيذه.

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

 يمكن أيضًا استخدام كود النموذج لإدراج أكواد 
 الـ 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.

تشفير هي خصائص المستجيب

تشفير هي خصائص المستجيب

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

Last updated

Was this helpful?