العناصر النائبة
يمكن للعديد من حقول إدخال النص استخدام «القوالب النصية» (template literals) الخاصة بـ ES2015 لاستبدال أجزاء من النص ديناميكيًا بقيم معينة. ويمكن استخدام العناصر النائبة المُعرَّفة مسبقًا داخل تلك القوالب النصية.
على سبيل المثال: Hello ${params.world}
لاستخدام عنصر نائب داخل عنوان URL (مثل رابط href في عنصر النص)، استخدم $$ لتحويل القيمة إلى صيغة URL (مثل $${property.customer_name}).
لا يلزم استخدام $$ للتشفير في حقول النص التي تحتوي عادةً على عنوان URL (مثل HREF في عمود عنصر واجهة المستخدم الخاص بالجدول). حيث يتم التشفير هناك تلقائيًا.
عالمي
تتوفر العناصر النائبة العامة التالية:
${sessionId}${params.<urlParam>}
يقرأ هذا العنصر النائب عنوان URL الموجود في شريط عنوان المتصفح ويبحث عن معلمات URL، على سبيل المثال #/dashboards/details?closeOnBackgroundClick=true${now}
يُظهر التاريخ والوقت الحاليين وفقًا للتنسيق المخصص للإعدادات الإقليمية
المحددة في المتصفح وفقًا لـ http://momentjs.com/docs/#/displaying/
، على سبيل المثال:${now.format('DD.MM.YYYY HH:mm')}${today}
: يعرض اليوم الحالي وفقًا للتنسيق المخصص للإعدادات الإقليمية
المحددة في المتصفح وفقًا لـ http://momentjs.com/docs/#/displaying/
، على سبيل المثال:${today.format('DD.MM.YYYY')}${filterMatrix.<column>}/${filterMatrix.<propertyId>}
: يعرض قائمة مفصولة بفواصل بالقيم المحددة من مصفوفة التصفية.
على سبيل المثال:${filterMatrix.department}
-> Development,Management${filterMatrix[76]}-> Genf,Zürich
مع وجود مسافة بعد الفاصلة:${filterMatrix.department.replaceAll(',', ', ')}-> Development, Management${params.widget12345filter}
يُظهر قيمة التصفية الحالية للجدول الذي يحمل المعرف 12345.${language}،${locale}،${languages}
اللغة المستخدمة حاليًا أو الإعدادات المحلية أو اللغات المتاحة.
الكائن / الصف الحالي
في حالة توفر كائن SKOOR (على سبيل المثال في صف الجدول)، يمكن استخدام العناصر النائبة التالية:
${object.id}${object.deviceId}${object.name}${object.type}${object.subType}${object.state}/${object.state.lightbulb(<size>)}/${object.state.format()}
الحجم بالبكسل${object.properties[<propertyId>]}/${object.properties.<propertyKey>}
يمكن طباعة مؤشر التعداد الخاص بالخاصية بدلاً من القيمة باستخدامenumIndex(على سبيل المثال،${object.properties.foo.enumIndex})${object.parameters.<parameterKey>}${object.values.<valueKey>}
يمكن العثور على مفاتيح القيم هنا
من الممكن أيضًا الوصول إلى أعمدة مصدر بيانات خارجي:
${columns[index]}
، حيث يبدأ الفهرس من 0${columns.<columnName>}/${columns ['<columnName>']}
معلمة الفاصل الزمني
يمكن تنسيق معلمات الفاصل الزمني باستخدام تنسيقات momentJS (http://momentjs.com/docs/#/displaying/).
${interval(params.<name>).begin.format(<format>)}${interval(params.<name>).end.format(<format>)}
أمثلة:
#/dashboards/123?interval=2018-11${interval(params.interval) → 01.11.2018 - 30.11.2018 (يعتمد الناتج على الإعدادات المحلية الحالية)
${interval(params.interval).begin}→ 01.11.2018 (يعتمد الناتج على الإعدادات المحلية الحالية)${interval(params.interval).end}→ 30.11.2018 (يعتمد الناتج على الإعدادات المحلية الحالية)${interval(params.interval).begin.format('DD.MM.YYYY')}→ 01.11.2018${interval(params.interval).end.format('DD.MM.YYYY')}-> 30.11.2018${interval(params.interval).begin.format('YYYY')}-> 2018
#/dashboards/123?interval=2018-W5${interval(params.interval).begin.format('DD.MM.YYYY')}-> 29.01.2018${interval(params.interval).end.format('DD.MM.YYYY')}-> 04.02.2018
المزيد عن الفترات الزمنية
${interval(params.interval).begin.weekday(0).format('')}-> يحصل على أول يوم من أيام الأسبوع في بداية الفترة الزمنية${interval(params.interval).begin.subtract(12, 'm').format('')}-> يطرح 12 شهرًا من بداية الفترة
القيم الافتراضية
إذا لم يتم تعريف قيمة العنصر النائب (على سبيل المثال، في حالة فقدان معلمة URL مطلوبة)، يمكن تعيين قيمة افتراضية باستخدام عامل "أو" المنطقي ||.
أمثلة:
${param.name || 'no name given'}-> لم يتم تحديد اسم${interval(params.interval || '2019-01')}-> 01.11.2018 - 30.11.2018 (يعتمد الناتج على الإعدادات المحلية الحالية)${params.interval || 'BETWEEN(2021,2025)'}→ 2021 - 2025 (إذا كان النطاقات مسموحة في أداة اختيار التاريخ)$(time(params.time || moment())}→ 22.01.2020 13:31
التعبيرات
في أدوات الرسم البياني والجدول، يمكن حساب القيم باستخدام التعبيرات.
أمثلة:
Table widget: Subtract 25 from a SKOOR object value as ${utils.formatNumber(object.values.Temperature - 25)}Chart widget: Divide two values using their column names as ${utils.formatNumber(columns["Incidents"] / columns["Transactions"], 3)}
-> تقريب النتيجة إلى 3 أرقام بعد العلامة العشرية
تصميم خلايا الجدول بناءً على المحتوى
يمكن استخدام العناصر النائبة لتعيين سمة الفئة بناءً على قيمة الخلية.
يؤدي هذا إلى تعيين اسم فئة CSS إلى «سلبي» أو «إيجابي» حسب قيمة الخلية. ويمكن بعد ذلك استخدام هذا في نموذج لوحة المعلومات لتنسيق القيمة وفقًا لذلك:


