diff --git a/src/app/config/localization.config.ts b/src/app/config/localization.config.ts
index 4fe8473..8b93311 100644
--- a/src/app/config/localization.config.ts
+++ b/src/app/config/localization.config.ts
@@ -11,23 +11,14 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
language: 'fa',
direction: 'rtl',
resources: [
- //
- //#region App ...
- // TODO: Customize this ...
{
id: 'app_name',
- value: 'چارچوب ایکس',
+ value: 'ساحر علم',
},
- //
- // TODO: Customize this ...
{
id: 'company',
value: 'فن آوران ساحر علم',
},
- //#endregion
-
- //
- //#region Commons ...
{
id: 'id',
value: 'شناسه',
@@ -36,8 +27,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'file_name',
value: 'نام فایل',
},
-
- //
{
id: 'error',
value: 'خطا',
@@ -46,14 +35,10 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'required',
value: 'الزامی است.',
},
-
- //
{
id: 'loading',
value: 'بارگزاری',
},
-
- //
{
id: 'username',
value: 'نام کاربری',
@@ -62,8 +47,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'password',
value: 'کلمه عبور',
},
-
- //
{
id: 'first_name',
value: 'نام',
@@ -72,8 +55,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'last_name',
value: 'نام خانوادگی',
},
-
- //
{
id: 'verified',
value: 'تایید شده',
@@ -82,20 +63,14 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'unverified',
value: 'تایید نشده',
},
-
- //
{
id: 'thumbnail',
value: 'پیش نمایش',
},
-
- //
{
id: 'language',
value: 'زبان',
},
-
- //
{
id: 'take_screenshot',
value: 'تصویر برداری ازمحیط',
@@ -108,10 +83,30 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'disable_capture_mode',
value: 'غیرفعالسازی حالت تصویر برداری',
},
- //#endregion
-
- //
- //#region File Types ...
+ {
+ id: 'be',
+ value: 'باشد',
+ },
+ {
+ id: 'not_to_be',
+ value: 'نباشد',
+ },
+ {
+ id: 'enabled',
+ value: 'فعال',
+ },
+ {
+ id: 'disabled',
+ value: 'غیر فعال',
+ },
+ {
+ id: 'banned',
+ value: 'مسدود',
+ },
+ {
+ id: 'un_banned',
+ value: 'غیر مسدود',
+ },
{
id: 'audio',
value: 'صوت',
@@ -120,10 +115,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'video',
value: 'فیلم',
},
- {
- id: 'document',
- value: 'سند',
- },
{
id: 'cover_image',
value: 'تصویر',
@@ -134,7 +125,7 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
},
{
id: 'avatar',
- value: 'تصویر پروفایل',
+ value: 'شکلک',
},
{
id: 'unknown',
@@ -144,10 +135,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'location',
value: 'موقعیت جغرافیای',
},
- //#endregion
-
- //
- //#region Messages ...
{
id: 'are_you_sure',
value: 'اطمینان دارید ؟',
@@ -173,10 +160,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'drag_drop_here',
value: 'محل رها کردن فایل',
},
- //#endregion
-
- //
- //#region Components ...
{
id: 'map_dialog_title',
value: 'نمایش موقعیت مکانی',
@@ -189,10 +172,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'color_picker_dialog_title',
value: 'انتخاب رنگ',
},
- //#endregion
-
- //
- //#region Verbs ...
{
id: 'dismiss',
value: 'رد کردن',
@@ -257,7 +236,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'clear',
value: 'پاک کردن',
},
- //
{
id: 'set',
value: 'تنظیم',
@@ -314,7 +292,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'inverse_selection',
value: 'انتخاب معکوس',
},
- //
{
id: 'selected_location',
value: 'انتخاب محل',
@@ -399,13 +376,10 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'descriptions',
value: 'توضیحات',
},
-
- //
{
id: 'type',
value: 'نوع',
},
- //
{
id: 'media',
value: 'رسانه',
@@ -414,8 +388,10 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'medias',
value: 'رسانه ها',
},
-
- //
+ {
+ id: 'summary',
+ value: 'خلاصه',
+ },
{
id: 'go',
value: 'رفتن',
@@ -428,10 +404,26 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'preview',
value: 'پیش نمایش',
},
- //#endregion
-
- //
- //#region Pagination ...
+ {
+ id: 'close',
+ value: 'بستن',
+ },
+ {
+ id: 'undo',
+ value: 'لغو کردن',
+ },
+ {
+ id: 'redo',
+ value: 'انجام دوباره',
+ },
+ {
+ id: 'refresh',
+ value: 'بازیابی',
+ },
+ {
+ id: 'submit',
+ value: 'ثبت',
+ },
{
id: 'first',
value: 'نخستین',
@@ -452,10 +444,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'back',
value: 'بازگشت',
},
- //#endregion
-
- //
- //#region Markdown ...
{
id: 'x_markdown_preview',
value: 'پیش نمایش',
@@ -500,11 +488,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'x_markdown_guide',
value: 'راهنمای نگارش',
},
- //#endregion
-
- //
- //#region Theme Related ...
- //
{
id: 'theme',
value: 'پوسته',
@@ -513,7 +496,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'theme_mode',
value: 'حالت نمایشی',
},
- //
{
id: 'theme_dark',
value: 'تیره',
@@ -522,7 +504,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'theme_light',
value: 'روشن',
},
- //
{
id: 'theme_name',
value: 'نام پوسته',
@@ -531,15 +512,10 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'theme_name_description',
value: 'نام پوسته را وارد کنید',
},
- //
{
id: 'theme_clone_title',
value: 'نمونه گیری از پوسته',
},
- //#endregion
-
- //
- //#region Color Picker Related ...
{
id: 'input_color_title',
value: 'تعیین رنگ',
@@ -548,10 +524,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'input_color_description',
value: 'مقدار رنگ را وارد کنید',
},
- //#endregion
-
- //
- //#region Additionals ...
{
id: 'ide_mode',
value: 'نوع کد',
@@ -560,15 +532,290 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'ide_format',
value: 'حالت دهی کد',
},
- //#endregion
-
- //
- // Custom Translations ...
- ...FaCustomLocales,
-
- //
- // Persian Translated Exceptions ...
- ...XFaIRExceptions,
+ {
+ id: 'print',
+ value: 'چاپ',
+ },
+ {
+ id: 'export_png',
+ value: 'خروجی PNG',
+ },
+ {
+ id: 'export_svg',
+ value: 'خروجی SVG',
+ },
+ {
+ id: 'export_csv',
+ value: 'خروجی CSV',
+ },
+ {
+ id: 'zoom_in',
+ value: 'بزرگنمایی',
+ },
+ {
+ id: 'zoom_out',
+ value: 'کوچک نمایی',
+ },
+ {
+ id: 'zoom_selection',
+ value: 'بزرگنمایی ناحیه',
+ },
+ {
+ id: 'x_axis',
+ value: 'محور افقی',
+ },
+ {
+ id: 'y_axis',
+ value: 'محور عمودی',
+ },
+ {
+ id: 'xy_axis',
+ value: 'محورهای عمودی و افقی',
+ },
+ {
+ id: 'pan',
+ value: 'حرکت آزاد',
+ },
+ {
+ id: 'full_screen',
+ value: 'حالت تمام صفحه',
+ },
+ {
+ id: 'ex_100',
+ value: 'داده نا معتبر',
+ },
+ {
+ id: 'ex_101',
+ value: 'تاریخ نامعتبر',
+ },
+ {
+ id: 'ex_102',
+ value: 'درخواست اشتباه',
+ },
+ {
+ id: 'ex_103',
+ value: 'ورودی نامعتبر',
+ },
+ {
+ id: 'ex_104',
+ value: 'پیام نامعتبر',
+ },
+ {
+ id: 'ex_105',
+ value: 'نشانه نامعتبر',
+ },
+ {
+ id: 'ex_106',
+ value: 'کد اععتبارسنجی نامعتبر',
+ },
+ {
+ id: 'ex_107',
+ value: 'پست الکترونیک نامعتبر',
+ },
+ {
+ id: 'ex_108',
+ value: 'شماره تلفن همراه نامعتبر',
+ },
+ {
+ id: 'ex_109',
+ value: 'کلمه عبور نامعتبر',
+ },
+ {
+ id: 'ex_110',
+ value: 'آدرس اینترنتی نامعتبر',
+ },
+ {
+ id: 'ex_111',
+ value: 'دستگاه نامعتبر',
+ },
+ {
+ id: 'ex_112',
+ value: 'تصویر پروفایل نامعتبر',
+ },
+ {
+ id: 'ex_113',
+ value: 'فایل نامعتبر',
+ },
+ {
+ id: 'ex_114',
+ value: 'نام کاربری نامعتبر',
+ },
+ {
+ id: 'ex_200',
+ value: 'یافت نشد',
+ },
+ {
+ id: 'ex_201',
+ value: 'عدم تایید جواز',
+ },
+ {
+ id: 'ex_202',
+ value: 'سطح دسترسی نامعتبر',
+ },
+ {
+ id: 'ex_203',
+ value: 'غیر قابل نمایش',
+ },
+ {
+ id: 'ex_300',
+ value: 'حساب کاربری قفل شده است',
+ },
+ {
+ id: 'ex_301',
+ value: 'خطا در ورود',
+ },
+ {
+ id: 'ex_302',
+ value: 'کاربر قبلا ثبت نام کرده است',
+ },
+ {
+ id: 'ex_303',
+ value: 'کاربر غیرفعال است',
+ },
+ {
+ id: 'ex_304',
+ value: 'دستگاه شما قفل شده است تا : (0)',
+ },
+ {
+ id: 'ex_305',
+ value: 'امکان درخواست کد اعتبارسنجی وجود ندارد تا : (0)',
+ },
+ {
+ id: 'ex_306',
+ value: 'کلمه عبورها یکسان هستند',
+ },
+ {
+ id: 'ex_307',
+ value: 'شماره های تلفن یکسان هستند',
+ },
+ {
+ id: 'ex_308',
+ value: 'آدرس های پست الکترونیک یکسان هستند',
+ },
+ {
+ id: 'ex_309',
+ value: 'شماره تلفن قبلا ثبت شده است',
+ },
+ {
+ id: 'ex_310',
+ value: 'پست الکترونیک قبلا ثبت شده است',
+ },
+ {
+ id: 'ex_311',
+ value: 'تلفن همراه تایید نشده است',
+ },
+ {
+ id: 'ex_312',
+ value: 'پست الکترونیک تایید نشده است',
+ },
+ {
+ id: 'ex_313',
+ value: 'مطلب ممنوعه',
+ },
+ {
+ id: 'ex_314',
+ value: 'کاربر ممنوعه',
+ },
+ {
+ id: 'ex_400',
+ value: 'خطای نا شناخته',
+ },
+ {
+ id: 'ex_401',
+ value: 'مورد تکراری',
+ },
+ {
+ id: 'ex_402',
+ value: 'شکست عملیات',
+ },
+ {
+ id: 'ex_403',
+ value: 'تاریخ مصرف منقضی شده است',
+ },
+ {
+ id: 'ex_404',
+ value: 'غیر قابل اسفاده',
+ },
+ {
+ id: 'ex_405',
+ value: 'تعداد برچسب ها بیش از جد مجاز است',
+ },
+ {
+ id: 'ex_406',
+ value: 'اتمام مهلت زمانی',
+ },
+ {
+ id: 'ex_500',
+ value: 'پرونده خالی است',
+ },
+ {
+ id: 'ex_501',
+ value: 'اندازه بیش از حد مجاز',
+ },
+ {
+ id: 'ex_502',
+ value: 'گونه نامعتبر فایل',
+ },
+ {
+ id: 'ex_503',
+ value: 'تعداد رسانه ها بیش از حد مجاز است',
+ },
+ {
+ id: 'ex_600',
+ value: 'پیکربندی اشتباه',
+ },
+ {
+ id: 'ex_601',
+ value: 'خطا در پیکربندی سامانه ذخیره سازی',
+ },
+ {
+ id: 'ex_602',
+ value: 'خطا در پیکربندی سامانه ذخیره سازی',
+ },
+ {
+ id: 'ex_900',
+ value: 'تعداد فایل ها بیش از حد مجاز است',
+ },
+ {
+ id: 'ex_901',
+ value: 'مجموع اندازه فایل ها کمتر از حد مجاز است',
+ },
+ {
+ id: 'ex_902',
+ value: 'مجموع اندازه فایل ها بیش از حد مجاز است',
+ },
+ {
+ id: 'ex_903',
+ value: 'شرایط و ضوابط باید پذیرفته شوند',
+ },
+ {
+ id: 'ex_904',
+ value: 'عدم پشتیبانی از سیستم موقعیت یاب',
+ },
+ {
+ id: 'ex_905',
+ value: 'مجوز دسترسی به موقعیت خود را صادر نکرده اید',
+ },
+ {
+ id: 'ex_906',
+ value: 'دسترسی به موقعیت جغرافیایی امکان پذیر نیست',
+ },
+ {
+ id: 'ex_907',
+ value: 'عدم پشتیبانی از سیستم ذخیره سازی',
+ },
+ {
+ id: 'ex_908',
+ value: 'برای دسترسی به محتوا باید از سامانه خارج شوید',
+ },
+ {
+ id: 'ex_909',
+ value: 'زبان انتخاب شده نامعتبر است',
+ },
+ {
+ id: 'ex_910',
+ value: 'داده نامعتبر برای انتخاب کاربر',
+ },
],
},
{
@@ -577,23 +824,14 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
language: 'en',
direction: 'ltr',
resources: [
- //
- //#region App ...
- // TODO: Customize this ...
{
id: 'app_name',
- value: 'XFramework',
+ value: 'SaherElm',
},
- //
- // TODO: Customize this ...
{
id: 'company',
value: 'SaherElm IT Center',
},
- //#endregion
-
- //
- //#region Commons ...
{
id: 'id',
value: 'ID',
@@ -602,8 +840,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'file_name',
value: 'File Name',
},
-
- //
{
id: 'error',
value: 'Error',
@@ -612,14 +848,10 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'required',
value: 'required',
},
-
- //
{
id: 'loading',
value: 'loading',
},
-
- //
{
id: 'username',
value: 'Username',
@@ -628,8 +860,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'password',
value: 'Password',
},
-
- //
{
id: 'first_name',
value: 'Firstname',
@@ -638,8 +868,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'last_name',
value: 'Lastname',
},
-
- //
{
id: 'verified',
value: 'Verified',
@@ -648,20 +876,14 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'unverified',
value: 'Unverified',
},
-
- //
{
id: 'thumbnail',
value: 'Thumbnail',
},
-
- //
{
id: 'language',
value: 'Language',
},
-
- //
{
id: 'take_screenshot',
value: 'Take Screenshot',
@@ -674,10 +896,30 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'disable_capture_mode',
value: 'Disable Capture Mode',
},
- //#endregion
-
- //
- //#region File Types ...
+ {
+ id: 'be',
+ value: 'Be',
+ },
+ {
+ id: 'not_to_be',
+ value: 'Not to be',
+ },
+ {
+ id: 'enabled',
+ value: 'Enabled',
+ },
+ {
+ id: 'disabled',
+ value: 'Disabled',
+ },
+ {
+ id: 'banned',
+ value: 'Banned',
+ },
+ {
+ id: 'un_banned',
+ value: 'UnBanned',
+ },
{
id: 'audio',
value: 'Audio',
@@ -686,10 +928,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'video',
value: 'Video',
},
- {
- id: 'document',
- value: 'Document',
- },
{
id: 'cover_image',
value: 'Cover Image',
@@ -710,10 +948,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'location',
value: 'Location',
},
- //#endregion
-
- //
- //#region Messages ...
{
id: 'are_you_sure',
value: 'Are You Sure ?',
@@ -738,10 +972,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'drag_drop_here',
value: 'Drop File Here',
},
- //#endregion
-
- //
- //#region Components ...
{
id: 'map_dialog_title',
value: 'Show Location',
@@ -754,10 +984,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'color_picker_dialog_title',
value: 'Select Color',
},
- //#endregion
-
- //
- //#region Verbs ...
{
id: 'dismiss',
value: 'dismiss',
@@ -822,7 +1048,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'clear',
value: 'Clear',
},
- //
{
id: 'set',
value: 'Set',
@@ -879,7 +1104,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'inverse_selection',
value: 'Inverse Selection',
},
- //
{
id: 'selected_location',
value: 'Selected Location',
@@ -900,7 +1124,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'colors',
value: 'Colors',
},
- //
{
id: 'upload',
value: 'Upload',
@@ -965,13 +1188,10 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'descriptions',
value: 'Description',
},
-
- //
{
id: 'type',
value: 'Type',
},
- //
{
id: 'media',
value: 'Media',
@@ -980,8 +1200,10 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'medias',
value: 'Medias',
},
-
- //
+ {
+ id: 'summary',
+ value: 'Summary',
+ },
{
id: 'go',
value: 'Go',
@@ -994,10 +1216,26 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'preview',
value: 'Preview',
},
- //#endregion
-
- //
- //#region Pagination ...
+ {
+ id: 'close',
+ value: 'Close',
+ },
+ {
+ id: 'undo',
+ value: 'Undo',
+ },
+ {
+ id: 'redo',
+ value: 'Redo',
+ },
+ {
+ id: 'refresh',
+ value: 'Refresh',
+ },
+ {
+ id: 'submit',
+ value: 'Submit',
+ },
{
id: 'first',
value: 'First',
@@ -1018,10 +1256,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'back',
value: 'Back',
},
- //#endregion
-
- //
- //#region Markdown ...
{
id: 'x_markdown_preview',
value: 'Preview',
@@ -1066,11 +1300,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'x_markdown_guide',
value: 'Markdown Guide',
},
- //#endregion
-
- //
- //#region Theme Related ...
- //
{
id: 'theme',
value: 'Theme',
@@ -1079,7 +1308,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'theme_mode',
value: 'Theme Mode',
},
- //
{
id: 'theme_dark',
value: 'Dark',
@@ -1088,7 +1316,6 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'theme_light',
value: 'Light',
},
- //
{
id: 'theme_name',
value: 'Theme Name',
@@ -1097,15 +1324,10 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'theme_name_description',
value: 'Enter Theme name',
},
- //
{
id: 'theme_clone_title',
value: 'Theme Cloning',
},
- //#endregion
-
- //
- //#region Color Picker Related ...
{
id: 'input_color_title',
value: 'Color Value',
@@ -1114,27 +1336,298 @@ export const AvailableTranslationResources: XLanguageDescriptor[] = [
id: 'input_color_description',
value: 'input color value',
},
- //#endregion
-
- //
- //#region Additionals ...
{
id: 'ide_mode',
value: 'Code Style',
},
{
id: 'ide_format',
- value: 'Code Frormatting',
+ value: 'Code Formatting',
+ },
+ {
+ id: 'print',
+ value: 'Print',
+ },
+ {
+ id: 'export_png',
+ value: 'Export PNG',
+ },
+ {
+ id: 'export_svg',
+ value: 'Export SVG',
+ },
+ {
+ id: 'export_csv',
+ value: 'Export CSV',
+ },
+ {
+ id: 'zoom_in',
+ value: 'Zoom In',
+ },
+ {
+ id: 'zoom_out',
+ value: 'Zoom Out',
+ },
+ {
+ id: 'zoom_selection',
+ value: 'Zoom Selection',
+ },
+ {
+ id: 'x_axis',
+ value: 'X Axis',
+ },
+ {
+ id: 'y_axis',
+ value: 'Y Axis',
+ },
+ {
+ id: 'xy_axis',
+ value: 'XY Axis',
+ },
+ {
+ id: 'pan',
+ value: 'Pan',
+ },
+ {
+ id: 'full_screen',
+ value: 'Full Screen',
+ },
+ {
+ id: 'ex_100',
+ value: 'Invalid Data ...',
+ },
+ {
+ id: 'ex_101',
+ value: 'Invalid Date ...',
+ },
+ {
+ id: 'ex_102',
+ value: 'Bad Request ...',
+ },
+ {
+ id: 'ex_103',
+ value: 'Invalid Args ...',
+ },
+ {
+ id: 'ex_104',
+ value: 'Invalid Message ...',
+ },
+ {
+ id: 'ex_105',
+ value: 'Invalid Token ...',
+ },
+ {
+ id: 'ex_106',
+ value: 'Invalid Verification Code ...',
+ },
+ {
+ id: 'ex_107',
+ value: 'Invalid Email Address ...',
+ },
+ {
+ id: 'ex_108',
+ value: 'Invalid Mobile Number ...',
+ },
+ {
+ id: 'ex_109',
+ value: 'Invalid Password ...',
+ },
+ {
+ id: 'ex_110',
+ value: 'Invalid URL ...',
+ },
+ {
+ id: 'ex_111',
+ value: 'Invalid Device ...',
+ },
+ {
+ id: 'ex_112',
+ value: 'Invalid Profile Image ...',
+ },
+ {
+ id: 'ex_113',
+ value: 'Invalid File ...',
+ },
+ {
+ id: 'ex_114',
+ value: 'Invalid Username ...',
+ },
+ {
+ id: 'ex_200',
+ value: 'Not Found ...',
+ },
+ {
+ id: 'ex_201',
+ value: 'Not Allowed ...',
+ },
+ {
+ id: 'ex_202',
+ value: 'Not Authorized ...',
+ },
+ {
+ id: 'ex_203',
+ value: 'Not Visible ...',
+ },
+ {
+ id: 'ex_300',
+ value: 'Account Locked out ...',
+ },
+ {
+ id: 'ex_301',
+ value: 'Login Failed ...',
+ },
+ {
+ id: 'ex_302',
+ value: 'User Registered Before ...',
+ },
+ {
+ id: 'ex_303',
+ value: 'User Disabled ...',
+ },
+ {
+ id: 'ex_304',
+ value: 'Device Banned Until:(0)',
+ },
+ {
+ id: 'ex_305',
+ value: 'You can not Request Verification code Until:(0)',
+ },
+ {
+ id: 'ex_306',
+ value: 'Passwords Same ...',
+ },
+ {
+ id: 'ex_307',
+ value: 'Mobiles Same ...',
+ },
+ {
+ id: 'ex_308',
+ value: 'Emails Same ...',
+ },
+ {
+ id: 'ex_309',
+ value: 'Mobile In Used ...',
+ },
+ {
+ id: 'ex_310',
+ value: 'Email In Used ...',
+ },
+ {
+ id: 'ex_311',
+ value: 'Mobile Not Confirmed ...',
+ },
+ {
+ id: 'ex_312',
+ value: 'Email Not Confirmed ...',
+ },
+ {
+ id: 'ex_313',
+ value: 'Post Banned ...',
+ },
+ {
+ id: 'ex_314',
+ value: 'User Banned ...',
+ },
+ {
+ id: 'ex_400',
+ value: 'Unknown Error ...',
+ },
+ {
+ id: 'ex_401',
+ value: 'Duplicate ...',
+ },
+ {
+ id: 'ex_402',
+ value: 'Action Failed ...',
+ },
+ {
+ id: 'ex_403',
+ value: 'Expired Date ...',
+ },
+ {
+ id: 'ex_404',
+ value: 'Unavailable ...',
+ },
+ {
+ id: 'ex_405',
+ value: 'Max Allowed Tag Exceeded ...',
+ },
+ {
+ id: 'ex_406',
+ value: 'Timeout ...',
+ },
+ {
+ id: 'ex_500',
+ value: 'Empty File ...',
+ },
+ {
+ id: 'ex_501',
+ value: 'max File size exceeded ...',
+ },
+ {
+ id: 'ex_502',
+ value: 'Unsupported File Type ...',
+ },
+ {
+ id: 'ex_503',
+ value: 'Max Allowed Media Exceeded ...',
+ },
+ {
+ id: 'ex_600',
+ value: 'Invalid Configuration ...',
+ },
+ {
+ id: 'ex_601',
+ value: 'Storage Service Initiallization Failed ...',
+ },
+ {
+ id: 'ex_602',
+ value: 'Message Service Initialization Failed ...',
+ },
+ {
+ id: 'ex_900',
+ value: 'Max Allowed Files Exceeded ...',
+ },
+ {
+ id: 'ex_901',
+ value: 'Min Files Size Exceeded ...',
+ },
+ {
+ id: 'ex_902',
+ value: 'Max Files Size Exceeded ...',
+ },
+ {
+ id: 'ex_903',
+ value: 'Must Accept Terms And Conditions ...',
+ },
+ {
+ id: 'ex_904',
+ value: 'Browser does not support Location Services ...',
+ },
+ {
+ id: 'ex_905',
+ value: 'You have rejected access to your Location ...',
+ },
+ {
+ id: 'ex_906',
+ value: 'Unable to determine your Location ...',
+ },
+ {
+ id: 'ex_907',
+ value: 'Browser does not support Storage Services ...',
+ },
+ {
+ id: 'ex_908',
+ value: 'Must Logout to access content ...',
+ },
+ {
+ id: 'ex_909',
+ value: 'Invalid Locale ...',
+ },
+ {
+ id: 'ex_910',
+ value: 'Invalid User Selector ...',
},
- //#endregion
-
- //
- // Custom Translations ...
- ...EnCustomLocales,
-
- //
- // Persian Translated Exceptions ...
- ...XEnUSExceptions,
],
},
];
diff --git a/src/app/pages/components/chart/chart.page.html b/src/app/pages/components/chart/chart.page.html
index ad89713..7c56b7d 100644
--- a/src/app/pages/components/chart/chart.page.html
+++ b/src/app/pages/components/chart/chart.page.html
@@ -25,13 +25,16 @@
diff --git a/src/app/pages/components/chart/chart.page.ts b/src/app/pages/components/chart/chart.page.ts
index 64f97a2..99761ed 100644
--- a/src/app/pages/components/chart/chart.page.ts
+++ b/src/app/pages/components/chart/chart.page.ts
@@ -1,8 +1,14 @@
-import { Component, ViewChild } from '@angular/core';
+import {
+ XChartOptions,
+ XChartSeriesType,
+ XChartAvailableActionBarItem,
+ XChartActionBarItem,
+ XActionBarActionFiredModel,
+} from 'x-framework-components';
+import { Component } from '@angular/core';
import { isNullOrEmptyString } from 'x-framework-core';
import { VPageComponent } from '../../../views/v-page/v-page.component';
import { AppResourceIDs } from 'src/app/config/app.localization.config';
-import { XChartOptions, XChartSeriesType } from 'x-framework-components';
@Component({
selector: 'app-chart',
@@ -17,6 +23,46 @@ export class ChartPage extends VPageComponent {
toolbarTitle = this.resourceProvider(this.titleRes);
toolbarSubTitle = this.resourceProvider(AppResourceIDs.form_description);
+ //
+ availableActionBarItems: Array = [
+ {
+ actionId: XChartActionBarItem.Pan,
+ },
+ {
+ actionId: XChartActionBarItem.ZoomIn,
+ },
+ {
+ actionId: XChartActionBarItem.ZoomOut,
+ },
+ {
+ actionId: XChartActionBarItem.ZoomSelection,
+ },
+ {
+ actionId: XChartActionBarItem.ToggleFullScreen,
+ },
+ {
+ actionId: XChartActionBarItem.Print,
+ },
+ {
+ actionId: XChartActionBarItem.ExportAsCSV,
+ },
+ {
+ actionId: XChartActionBarItem.ExportAsPNG,
+ },
+ {
+ actionId: XChartActionBarItem.ExportAsSVG,
+ },
+ {
+ actionId: XChartActionBarItem.XSelection,
+ },
+ {
+ actionId: XChartActionBarItem.YSelection,
+ },
+ {
+ actionId: XChartActionBarItem.XYSelection,
+ },
+ ];
+
readonly contentFa = `
# ${this.toolbarTitle}
@@ -66,10 +112,8 @@ export class ChartPage extends VPageComponent {
//
chartOptions: XChartOptions = {
chart: {
- type: 'line',
height: 350,
fontFamily: 'Vazirmatn, sans-serif', // فونت فارسی
- toolbar: { show: true },
},
xaxis: {
categories: [
@@ -94,6 +138,190 @@ export class ChartPage extends VPageComponent {
tooltip: { theme: 'dark' },
dataLabels: { enabled: false },
};
+
+ //
+ //#region Chart Samples ...
+
+ //
+ //#region Sample 1 ...
+ // Title: Basic Line Chart
+ // Description:
+ // Url: https://apexcharts.com/javascript-chart-demos/line-charts/basic-line/
+ sample1_options = {
+ series: [
+ {
+ name: 'Sign-ups',
+ data: [210, 380, 340, 520, 480, 610, 700, 880, 820, 1040, 1180, 1520],
+ },
+ ],
+ chart: {
+ height: 350,
+ type: 'line',
+ zoom: {
+ enabled: false,
+ },
+ },
+ dataLabels: {
+ enabled: false,
+ },
+ stroke: {
+ curve: 'straight',
+ },
+ title: {
+ text: 'New Sign-ups by Month',
+ align: 'left',
+ },
+ xaxis: {
+ categories: [
+ 'Jan',
+ 'Feb',
+ 'Mar',
+ 'Apr',
+ 'May',
+ 'Jun',
+ 'Jul',
+ 'Aug',
+ 'Sep',
+ 'Oct',
+ 'Nov',
+ 'Dec',
+ ],
+ },
+ };
+ //#endregion
+
+ //
+ //#region Sample 2 ...
+ // Title: Line with Data Labels
+ // Description:
+ // Url: https://apexcharts.com/javascript-chart-demos/line-charts/line-with-data-labels/
+ sample2_options = {
+ series: [
+ {
+ name: 'High - 2025',
+ data: [28, 29, 33, 36, 32, 32, 33],
+ },
+ {
+ name: 'Low - 2025',
+ data: [12, 11, 14, 18, 17, 13, 13],
+ },
+ ],
+ chart: {
+ height: 350,
+ type: 'line',
+ dropShadow: {
+ enabled: true,
+ color: '#000',
+ top: 18,
+ left: 7,
+ blur: 10,
+ opacity: 0.2,
+ },
+ zoom: {
+ enabled: false,
+ },
+ toolbar: {
+ show: false,
+ },
+ },
+ colors: ['#77B6EA', '#545454'],
+ dataLabels: {
+ enabled: true,
+ },
+ stroke: {
+ curve: 'smooth',
+ },
+ title: {
+ text: 'Average High & Low Temperature',
+ align: 'left',
+ },
+ grid: {
+ borderColor: '#e7e7e7',
+ },
+ markers: {
+ size: 1,
+ },
+ xaxis: {
+ categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'],
+ title: {
+ text: 'Month',
+ },
+ },
+ yaxis: {
+ title: {
+ text: 'Temperature (°C)',
+ },
+ min: 5,
+ max: 40,
+ },
+ legend: {
+ position: 'top',
+ horizontalAlign: 'right',
+ floating: true,
+ offsetY: -25,
+ offsetX: -5,
+ },
+ };
+ //#endregion
+
+ //
+ //#region Sample 3 ...
+ // Title: Zoomable Timeseries
+ // Description:
+ // Url: https://apexcharts.com/javascript-chart-demos/line-charts/zoomable-timeseries/
+ //#endregion
+
+ //
+ //#region Sample 4 ...
+ // Title: Line with Annotations
+ // Description:
+ // Url: https://apexcharts.com/javascript-chart-demos/line-charts/line-with-annotations/
+ //#endregion
+
+ //
+ //#region Sample 5 ...
+ // Title: Annotations with Tooltips
+ // Description:
+ // Url: https://apexcharts.com/javascript-chart-demos/line-charts/line-with-annotation-tooltips/
+ //#endregion
+
+ //
+ //#region Sample 6 ...
+ // Title: Basic Candlestick
+ // Description:
+ // Url: https://apexcharts.com/javascript-chart-demos/candlestick-charts/basic/
+ //#endregion
+
+ //
+ //#region Sample 7 ...
+ // Title: Candlestick + Bar
+ // Description:
+ // Url: https://apexcharts.com/javascript-chart-demos/candlestick-charts/candlestick-bar/
+ //#endregion
+
+ //
+ //#region Sample 8 ...
+ // Title: Candlestick + Line
+ // Description:
+ // Url: https://apexcharts.com/javascript-chart-demos/candlestick-charts/candlestick-line/
+ //#endregion
+
+ //
+ //#region Sample 9 ...
+ // Title: Slope Multi Group
+ // Description:
+ // Url: https://apexcharts.com/javascript-chart-demos/slope-charts/multi-group/
+ //#endregion
+
+ //
+ //#region Sample 10 ...
+ // Title: Color Scale
+ // Description:
+ // Url: https://apexcharts.com/javascript-chart-demos/treemap-charts/color-scale/
+ //#endregion
+
+ //#endregion
+
//#endregion
//
@@ -139,5 +367,10 @@ export class ChartPage extends VPageComponent {
// dissmissable: true,
// });
}
+
+ async handleActionBarActionFired(event: XActionBarActionFiredModel) {
+ //
+ console.log('actionBar Fired: ', event.action);
+ }
//#endregion
}