فضای نام رویدادها
کلاس ها
کلاس | توضیحات |
---|---|
BlockBase | کلاس انتزاعی برای هر رویداد مربوط به بلوک ها. |
BlockChange | هنگامی که برخی از عناصر یک بلوک تغییر کرده است (مثلاً مقادیر فیلد، نظرات و غیره) به شنوندگان اطلاع می دهد. |
BlockCreate | هنگام ایجاد یک بلوک (یا پشته بلوک های متصل) به شنوندگان اطلاع می دهد. |
BlockDelete | هنگامی که یک بلوک (یا پشته متصل از بلوک ها) حذف می شود، شنوندگان را مطلع می کند. |
BlockDrag | هنگامی که یک بلوک به صورت دستی کشیده یا رها می شود به شنوندگان اطلاع می دهد. |
BlockFieldIntermediateChange | هنگامی که مقدار فیلد یک بلوک تغییر کرده است، اما تغییر هنوز کامل نشده است، به شنوندگان اطلاع می دهد و انتظار می رود که یک رویداد تغییر بلوک به دنبال داشته باشد. |
BlockMove | هنگامی که یک بلوک منتقل می شود، شنوندگان را مطلع می کند. این می تواند از یک اتصال به اتصال دیگر یا از یک مکان در فضای کاری به مکان دیگر باشد. |
حباب باز | کلاس برای یک رویداد حباب باز. |
کلیک کنید | به شنوندگان اطلاع می دهد که روی برخی از عناصر مسدود شده کلیک شده است. |
CommentBase | کلاس انتزاعی برای رویداد نظر. |
نظر تغییر | به شنوندگان اطلاع می دهد که محتوای یک نظر فضای کاری تغییر کرده است. |
CommentCollapse | |
نظر ایجاد کنید | به شنوندگان اطلاع می دهد که یک نظر فضای کاری ایجاد شده است. |
نظر حذف | به شنوندگان اطلاع می دهد که یک نظر فضای کاری حذف شده است. |
Comment بکشید | هنگامی که یک نظر به صورت دستی کشیده یا رها می شود به شنوندگان اطلاع می دهد. |
CommentMove | به شنوندگان اطلاع می دهد که یک نظر فضای کاری منتقل شده است. |
CommentResize | به شنوندگان اطلاع می دهد که اندازه نظر فضای کاری تغییر کرده است. |
بارگیری تمام شد | هنگامی که فضای کاری از JSON/XML به پایان رسید، به شنوندگان اطلاع میدهد. |
انتخاب شده است | کلاس برای یک رویداد انتخابی به شنوندگان اطلاع می دهد که یک عنصر جدید انتخاب شده است. |
تغییر تم | به شنوندگان اطلاع می دهد که موضوع فضای کاری تغییر کرده است. |
ToolboxItemSelect | به شنوندگان اطلاع می دهد که یک مورد جعبه ابزار انتخاب شده است. |
TrashcanOpen | هنگام باز یا بسته شدن سطل زباله به شنوندگان اطلاع می دهد. |
یو بیس | کلاس پایه برای یک رویداد UI. رویدادهای رابط کاربری رویدادهایی هستند که برای انجام ویرایش چند کاربره نیازی به ارسال از طریق سیم ندارند (مانند پیمایش فضای کاری، بزرگنمایی، باز کردن دستههای جعبه ابزار). رویدادهای رابط کاربری واگرد یا دوباره انجام نمیشوند. |
VarBase | کلاس انتزاعی برای یک رویداد متغیر. |
VarCreate | به شنوندگان اطلاع می دهد که یک مدل متغیر ایجاد شده است. |
VarDelete | به شنوندگان اطلاع می دهد که یک مدل متغیر حذف شده است. |
VarRename | به شنوندگان اطلاع می دهد که یک مدل متغیر تغییر نام داده است. |
VarTypeChange | به شنوندگان اطلاع می دهد که نوع یک متغیر تغییر کرده است. |
ViewportChange | به شنوندگان اطلاع می دهد که موقعیت یا مقیاس سطح فضای کاری تغییر کرده است. هنگامی که خود فضای کاری تغییر اندازه می دهد، اطلاع نمی دهد. |
کلاس های چکیده
کلاس چکیده | توضیحات |
---|---|
چکیده | کلاس انتزاعی برای یک رویداد. |
شمارش ها
شمارش | توضیحات |
---|---|
BubbleType | |
کلیک تارگت |
توابع
تابع | توضیحات |
---|---|
clearPendingUndo() | رویدادهای واگرد معلق را تغییر دهید تا وقتی فعال شدند در پشته لغو قرار نگیرند. فراخوانی شده توسط Workspace.clearUndo. |
غیر فعال کردن() | توقف ارسال رویدادها هر فراخوانی به این تابع باید فعال کردن را نیز فراخوانی کند. |
غیرفعال کردن Orphans (رویداد) | بسته به اینکه یک بلوک به درستی وصل شده باشد، تنظیم کنید که غیرفعال شود. از این در برنامه هایی استفاده کنید که همه بلوک ها باید به بلوک بالایی متصل شوند. |
فعال کردن () | شروع به ارسال رویدادها کنید. مگر اینکه هنگام برقراری تماس مربوطه برای غیرفعال کردن، رویدادها قبلاً غیرفعال شده باشند. |
فیلتر (صف) | رویدادهای صف را با ادغام موارد تکراری، حذف رویدادهای پوچ و مرتب کردن مجدد رویدادهای BlockChange فیلتر کنید. تاریخچه این تابع: این تابع در اصل در commit cf257ea5 با هدف کاهش چشمگیر تعداد کل رویدادهای ارسال شده اضافه شد. در ابتدا فقط رویدادهای BlockMove را تحت تأثیر قرار داد اما موارد دیگر در طول زمان اضافه شدند. به دلایل نامشخص اما احتمالاً به عنوان بخشی از یک تلاش موفقیت آمیز برای رفع مشکلات مربوط به ترتیب رویدادها در طول جهش بلوک، کد به ترتیب مجدد رویدادهای BlockChange اضافه شده در commit 5578458 اضافه شد. این کد احتمالاً باید قبل از ادغام و حذف تهی به بالای تابع اضافه می شد، اما به دلایلی که اکنون فراموش شده اند در پایین اضافه شده است. این بررسیهای اشکال را برای بحث کاملتر در مورد مشکل اساسی و برخی از شکستهایی که به دلیل این اصلاح ناقص/نادرست ایجاد شدهاند، ببینید: https://github.com/google/blockly/issues/8225#issuecomment-2195751783 https://github.com/google/blockly/issues/2037#issuecomment-2209696351 بعداً، در PR #1205، پیادهسازی اولیه O(n^2) با یک پیادهسازی زمان خطی جایگزین شد، اگرچه اصلاحات اضافی متعاقباً انجام شد. در آگوست 2024 تعدادی ساده سازی قابل توجه انجام شد: این تابع قبلاً از Workspace.prototype.undo فراخوانی شده بود، اما جهش رویدادها توسط این تابع دلیل شماره 7026 بود (توجه داشته باشید که رویدادها به ترتیب معکوس در مقابل ترتیب رو به جلو ترکیب می شوند). راه حل اصلی انتخاب شده برای این، افزودن (در PR #7069) کد به fireNow برای پس فیلتر کردن .undoStack_ و .redoStack_ هر فضای کاری بود که به تازگی در ارسال رویدادها شرکت داشته است. این ظاهراً مشکل را حل کرد، اما پیچیدگی قابلتوجهی اضافه کرد و استدلال در مورد نحوه پردازش رویدادها برای لغو/دوباره را دشوار کرد، بنابراین هم فراخوانی از undo و هم کد پس از پردازش حذف شدند، و forward=true پیشفرض شد در حالی که فراخوانی تابع با فوروارد=false منسوخ شد. در همان زمان، کد حشرهدار برای ترتیب دادن مجدد رویدادهای BlockChange با یک نسخه کمتر باگ از همان عملکرد در یک تابع جدید، enqueueEvent، که از fireInternal فراخوانی میشود، جایگزین شد، بنابراین اطمینان حاصل میشود که رویدادها در زمان فراخوانی فیلتر زمانی به ترتیب صحیح خواهند بود. علاوه بر این، کد ادغام رویداد به گونهای اصلاح شد که فقط رویدادهای مجاور بلافاصله ادغام شوند. این امر پیاده سازی را ساده می کند و در عین حال اطمینان می دهد که ادغام رویدادها نمی تواند باعث ترتیب مجدد آنها شود. |
آتش (رویداد) | رویدادی را در صف قرار دهید تا برای تغییر شنوندگان ارسال شود. یادداشت ها: - رویدادها تا یک بازه زمانی در صف قرار می گیرند، معمولاً پس از تکمیل رندر یا در پایان ریزتسک فعلی، اگر در مرورگر اجرا نمی شوند. - رویدادهای صف با ترکیب شدن با رویدادهای بعدی در معرض تغییرات مخرب هستند، اما فقط تا زمانی که شلیک شوند. - رویدادها از طریق روش fireChangeListener در فضای کاری آسیب دیده ارسال می شوند. |
fromJson (json، فضای کاری) | رمزگشایی JSON به یک رویداد. |
دریافت (رویداد نوع) | کلاس را برای یک نوع رویداد خاص از رجیستری دریافت می کند. |
getGroup() | گروه فعلی |
getRecordUndo() | برمیگرداند که آیا رویدادها به پشته واگرد اضافه میشوند یا خیر. |
isEnabled() | برمیگرداند که آیا رویدادها ممکن است فعال شوند یا نه. |
setGroup (وضعیت) | شروع یا توقف یک گروه |
setRecordUndo(newValue) | تنظیم می کند که آیا رویدادها باید به پشته واگرد اضافه شوند یا خیر. |
رابط ها
متغیرها
متغیر | توضیحات |
---|---|
BLOCK_CHANGE | |
BLOCK_CREATE | |
BLOCK_DELETE | |
BLOCK_DRAG | |
BLOCK_FIELD_INTERMEDIATE_CHANGE | |
BLOCK_MOVE | |
BUBBLE_OPEN | |
BUMP_EVENTS | فهرستی از رویدادهایی که باعث می شوند اشیا به قسمت قابل مشاهده فضای کاری برگردند. نباید با ضربه زدن اشتباه شود تا اتصالات قطع شده متصل به نظر نرسد. |
تغییر دهید | |
کلیک کنید | |
COMMENT_CHANGE | |
COMMENT_CREATE | |
COMMENT_DELETE | |
COMMENT_DRAG | |
COMMENT_MOVE | |
COMMENT_RESIZE | |
ایجاد کنید | |
حذف کنید | |
FINISHED_LOADING | |
حرکت کنید | |
انتخاب شد | |
THEME_CHANGE | |
TOOLBOX_ITEM_SELECT | |
TRASHCAN_OPEN | |
UI | |
VAR_CREATE | |
VAR_DELETE | |
VAR_RENAME | |
VIEWPORT_CHANGE |
نام مستعار را تایپ کنید
نام مستعار را تایپ کنید | توضیحات |
---|---|
BumpEvent | نوع رویدادهایی که باعث میشوند اشیا به قسمت قابل مشاهده فضای کاری برگردند. نباید با ضربه زدن اشتباه شود تا اتصالات قطع شده متصل به نظر نرسد. |