پرش به مطلب اصلی

Slug Input

کامپوننت x-slug-input یک ورودی پیشرفته برای تولید و ویرایش اسلاگ (slug) در فرم‌ها است. این کامپوننت به طور خودکار مقدار اسلاگ را بر اساس مقدار یک فیلد والد (مانند عنوان) تولید می‌کند و امکانات متنوعی مانند تعیین جداکننده، حذف کلمات توقف، حذف اعداد، حالت فقط‌خواندنی، پیشوند و پسوند، پیام راهنما، پیام خطا و ... را ارائه می‌دهد.


ویژگی‌ها

  • تولید خودکار اسلاگ بر اساس مقدار یک فیلد والد (parent)
  • امکان تعیین جداکننده اسلاگ (separator)
  • حذف کلمات توقف (removeStopWords)
    در صورت فعال بودن این گزینه، کلمات توقف زیر حذف می‌شوند:
    ["and", "a", "or", "the", "is", "in", "on", "at", "to"]
    این قابلیت باعث می‌شود اسلاگ‌های تولیدشده کوتاه‌تر، خواناتر و مناسب‌تر برای SEO باشند.
  • حذف اعداد از اسلاگ (removeNumbers)
  • تعیین حالت تولید اسلاگ (mode: عادی یا حرفه‌ای)
  • پشتیبانی از پیشوند (prefix) و پسوند (suffix)
  • پشتیبانی از حالت فقط‌خواندنی (readonly)
  • پشتیبانی از پیام راهنما (hint)
  • نمایش پیام خطا و پیام‌های سفارشی با استایل‌های مختلف
  • امکان شخصی‌سازی کلاس‌های CSS برای خود و کانتینر
  • پشتیبانی از لیبل و فضای رزرو لیبل
  • نمایش پیام راهنما هنگام غیرفعال بودن (disabledTooltip)
  • پشتیبانی از مقدار اولیه (value)
  • کنترل فعال/غیرفعال بودن ورودی (disabled)
  • پشتیبانی از autocomplete

ورودی‌های کامپوننت

نام پراپنوع دادهمقدار پیش‌فرضتوضیحات
namestringنام فیلد (اجباری)
parentIdstringشناسه فیلد والد (اجباری، معمولاً فیلد عنوان)
labelstringnullلیبل اصلی
labelSpaceReservedboolfalseآیا فضای لیبل حتی بدون مقدار رزرو شود؟
idstringnullشناسه یکتا برای ورودی
placeholderstringnullplaceholder برای ورودی
classstringnullکلاس CSS سفارشی برای خود ورودی
containerClassstringnullکلاس CSS سفارشی برای کانتینر
valuestringnullمقدار اولیه اسلاگ
requiredboolfalseاجباری بودن فیلد
readonlyboolfalseفقط‌خواندنی بودن ورودی
disabledboolfalseغیرفعال بودن ورودی
defaultMessagestringnullپیام پیش‌فرض برای نمایش
messageStylestring/enum"message"استایل نمایش پیام (message, tooltip, ...)
defaultMessageTypestring/enum"info"نوع پیام پیش‌فرض (info, error, warning, ...)
hintstringnullپیام راهنما یا توضیح کوتاه
suppressLogicMessagesboolfalseعدم نمایش پیام‌های منطقی
autoCompleteboolfalseفعال‌سازی autocomplete برای ورودی
removeStopWordsboolfalseحذف کلمات توقف از اسلاگ (کلمات توقف: and, a, or, the, is, in, on, at, to)
removeNumbersboolfalseحذف اعداد از اسلاگ
separatorstring"-"جداکننده بین کلمات اسلاگ (مثلاً - یا _)
modestring"normal"حالت تولید اسلاگ (normal یا advanced)
prefixstringnullپیشوند برای ورودی
suffixstringnullپسوند برای ورودی
disabledTooltipstringnullپیام راهنما هنگام غیرفعال بودن ورودی

مثال‌ها

نمونه پایه

<x-text-input
container-class="col-md-6"
id="slug-text-input"
name="slug-text-input"
label="درج عنوان"
hint="لطفا عنوان مورد نظر را وارد کنید"
/>

<x-slug-input
container-class="col-md-6"
id="slug-input"
name="slug-sample"
label="درج اسلاگ"
hint="لطفا اسلاگ مورد نظر را وارد کنید"
parent-id="slug-text-input"
/>