Skip to content

Commit 61c60d7

Browse files
committed
Merge branch 'main' of github.com:wpilibsuite/systemcore-blocks-interface into pr_fix_manage
2 parents d5b7642 + a94de8d commit 61c60d7

File tree

8 files changed

+289
-430
lines changed

8 files changed

+289
-430
lines changed

src/editor/editor.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ import * as eventHandler from '../blocks/mrc_event_handler';
3131
import * as classMethodDef from '../blocks/mrc_class_method_def';
3232
import * as mechanismComponentHolder from '../blocks/mrc_mechanism_component_holder';
3333
//import { testAllBlocksInToolbox } from '../toolbox/toolbox_tests';
34-
import { getToolboxJSON } from '../toolbox/toolbox';
34+
import { applyExpandedCategories, getToolboxJSON } from '../toolbox/toolbox';
3535

36-
const EMPTY_TOOLBOX: Blockly.utils.toolbox.ToolboxDefinition = {
36+
const EMPTY_TOOLBOX: Blockly.utils.toolbox.ToolboxInfo = {
3737
kind: 'categoryToolbox',
3838
contents: [],
3939
};
@@ -58,7 +58,7 @@ export class Editor {
5858
private mechanismClassNameToModuleContent: {[mechanismClassName: string]: storageModuleContent.ModuleContent} = {};
5959
private bindedOnChange: any = null;
6060
private shownPythonToolboxCategories: Set<string> | null = null;
61-
private toolbox: Blockly.utils.toolbox.ToolboxDefinition = EMPTY_TOOLBOX;
61+
private toolbox: Blockly.utils.toolbox.ToolboxInfo = EMPTY_TOOLBOX;
6262

6363
constructor(
6464
blocklyWorkspace: Blockly.WorkspaceSvg,
@@ -199,6 +199,10 @@ export class Editor {
199199
return;
200200
}
201201
const toolbox = getToolboxJSON(this.shownPythonToolboxCategories, this);
202+
const previousToolbox = this.blocklyWorkspace.getToolbox();
203+
if (previousToolbox) {
204+
applyExpandedCategories(previousToolbox, toolbox);
205+
}
202206
if (toolbox != this.toolbox) {
203207
this.toolbox = toolbox;
204208
this.blocklyWorkspace.updateToolbox(toolbox);

src/i18n/locales/en/translation.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
"project_rename": "Rename Project",
1010
"project_copy": "Copy Project",
1111
"fail_list_projects": "Failed to load the list of projects.",
12-
"mechanism": "Mechanism",
13-
"opmode": "OpMode",
12+
"MECHANISM": "Mechanism",
13+
"OPMODE": "OpMode",
1414
"class_rule_description": "No spaces are allowed in the name. Each word in the name should start with a capital letter.",
1515
"example_mechanism": "For example: GamePieceShooter",
1616
"example_opmode": "For example: AutoParkAndShoot",
@@ -34,6 +34,11 @@
3434
"HEBREW": "Hebrew",
3535
"HELP": "Help",
3636
"ABOUT": "About",
37+
"SELECT_HIDDEN": "Select Hidden",
38+
"NO_HIDDEN_MECHANISMS": "No Hidden Mechanisms",
39+
"NO_HIDDEN_OPMODES": "No Hidden Opmodes",
40+
"CREATE_NEW": "Create New",
41+
"CREATE": "Create",
3742
"BLOCKS": "Blocks",
3843
"CODE": "Code",
3944
"COPY": "Copy",

src/i18n/locales/es/translation.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
"project_rename": "Renombrar Proyecto",
1111
"project_copy": "Copiar Proyecto",
1212
"fail_list_projects": "Error al cargar la lista de proyectos.",
13-
"mechanism": "Mecanismo",
14-
"opmode": "OpMode",
13+
"MECHANISM": "Mecanismo",
14+
"OPMODE": "OpMode",
1515
"class_rule_description": "No se permiten espacios en el nombre. Cada palabra en el nombre debe comenzar con una letra mayúscula.",
1616
"example_mechanism": "Por ejemplo: DisparadorDePiezas",
1717
"example_opmode": "Por ejemplo: AutoEstacionarYDisparar",
@@ -31,6 +31,11 @@
3131
"HEBREW": "Hebreo",
3232
"HELP": "Ayuda",
3333
"ABOUT": "Acerca de",
34+
"SELECT_HIDDEN": "Seleccionar Oculto",
35+
"NO_HIDDEN_MECHANISMS": "No Hay Mecanismos Ocultos",
36+
"NO_HIDDEN_OPMODES": "No Hay Opmodes Ocultos",
37+
"CREATE_NEW": "Crear Nuevo",
38+
"CREATE": "Crear",
3439
"BLOCKS": "Bloques",
3540
"CODE": "Código",
3641
"COPY": "Copiar",
Lines changed: 117 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,47 @@
11
{
2-
"mechanism_delete": "מחק מנגנון",
3-
"mechanism_rename": "שנה שם מנגנון",
4-
"mechanism_copy": "העתק מנגנון",
5-
"opmode_delete": "מחק מצב פעולה",
6-
"opmode_rename": "שנה שם מצב פעולה",
7-
"opmode_copy": "העתק מצב פעולה",
8-
"project_delete": "מחק פרויקט",
9-
"project_rename": "שנה שם פרויקט",
10-
"project_copy": "העתק פרויקט",
11-
"fail_list_projects": "נכשל בטעינת רשימת הפרויקטים.",
12-
"mechanism": "מנגנון",
13-
"opmode": "מצב פעולה",
14-
"class_rule_description": "רווחים אינם מותרים בשם. כל מילה בשם צריכה להתחיל באות גדולה.",
15-
"example_mechanism": "לדוגמה: GamePieceShooter",
16-
"example_opmode": "לדוגמה: AutoParkAndShoot",
17-
"example_project": "לדוגמה: WackyWheelerRobot",
18-
"addTabDialog": {
19-
"title": "הוסף כרטיסייה",
20-
"search": "חיפוש..."
21-
},
22-
"PROJECT": "פרויקט",
23-
"SAVE": "שמור",
24-
"DEPLOY": "פרוס",
25-
"MANAGE": "נהל",
26-
"EXPLORER": "סייר",
27-
"ROBOT": "רובוט",
28-
"SETTINGS": "הגדרות",
29-
"WPI_TOOLBOX": "ארגז כלים WPI",
30-
"THEME": "ערכת נושא",
31-
"LANGUAGE": "שפה",
32-
"ENGLISH": "אנגלית",
33-
"SPANISH": "ספרדית",
34-
"HEBREW": "עברית",
35-
"HELP": "עזרה",
36-
"ABOUT": "אודות",
37-
"BLOCKS": "בלוקים",
38-
"CODE": "קוד",
39-
"COPY": "העתק",
2+
"mechanism_delete": "מחק מנגנון",
3+
"mechanism_rename": "שנה שם מנגנון",
4+
"mechanism_copy": "העתק מנגנון",
5+
"opmode_delete": "מחק אופמוד",
6+
"opmode_rename": "שנה שם אופמוד",
7+
"opmode_copy": "העתק אופמוד",
8+
"project_delete": "מחק פרויקט",
9+
"project_rename": "שנה שם פרויקט",
10+
"project_copy": "העתק פרויקט",
11+
"fail_list_projects": "נכשל בטעינת רשימת הפרויקטים.",
12+
"MECHANISM": "מנגנון",
13+
"OPMODE": "אופמוד",
14+
"class_rule_description": "אסור שיהיו רווחים בשם. כל מילה בשם צריכה להתחיל באות גדולה.",
15+
"example_mechanism": "לדוגמה: GamePieceShooter",
16+
"example_opmode": "לדוגמה: AutoParkAndShoot",
17+
"example_project": "לדוגמה: WackyWheelerRobot",
18+
"addTabDialog": {
19+
"title": "הוסף לשונית",
20+
"search": "חיפוש..."
21+
},
22+
"PROJECT": "פרויקט",
23+
"SAVE": "שמור",
24+
"DEPLOY": "העלה לרובוט",
25+
"MANAGE": "ניהול",
26+
"EXPLORER": "סייר",
27+
"ROBOT": "רובוט",
28+
"SETTINGS": "הגדרות",
29+
"WPI_TOOLBOX": "ערכת כלים WPI",
30+
"THEME": "ערכת נושא",
31+
"LANGUAGE": "שפה",
32+
"ENGLISH": "אנגלית",
33+
"SPANISH": "ספרדית",
34+
"HEBREW": "עברית",
35+
"HELP": "עזרה",
36+
"ABOUT": "אודות",
37+
"SELECT_HIDDEN": "בחר נסתר",
38+
"NO_HIDDEN_MECHANISMS": "אין מנגנונים נסתרים",
39+
"NO_HIDDEN_OPMODES": "אין אופמודים נסתרים",
40+
"CREATE_NEW": "צור חדש",
41+
"CREATE": "צור",
42+
"BLOCKS": "בלוקים",
43+
"CODE": "קוד",
44+
"COPY": "העתק",
4045
"FAILED_TO_RENAME_PROJECT": "נכשל בשינוי שם הפרויקט",
4146
"FAILED_TO_COPY_PROJECT": "נכשל בהעתקת הפרויקט",
4247
"FAILED_TO_CREATE_PROJECT": "נכשל ביצירת פרויקט חדש.",
@@ -61,79 +66,79 @@
6166
"COPY_TYPE_TITLE": "העתקת {{type}}: {{title}}",
6267
"RENAME": "שנה שם",
6368
"NO_FILES_FOUND": "לא נמצאו קבצי {type}",
64-
"MECHANISMS": "מנגנונים",
65-
"OPMODES": "מצבי פעולה",
66-
"BLOCKLY":{
67-
"OF_TYPE": "מסוג",
68-
"WITH": "עם",
69-
"WHEN": "כאשר",
70-
"PARAMETER": "פרמטר",
71-
"PARAMETERS_CAN_ONLY_GO_IN_THEIR_METHODS_BLOCK": "פרמטרים יכולים להיכנס רק בבלוק השיטה שלהם",
72-
"EVENT_HANDLER_ALREADY_ON_WORKSPACE": "מטפל אירועים זה כבר נמצא בסביבת העבודה.",
73-
"COMPONENTS": "רכיבים",
74-
"PRIVATE_COMPONENTS": "רכיבים פרטיים",
75-
"EVENTS": "אירועים",
76-
"EVALUATE_BUT_IGNORE_RESULT": "הערך אך התעלם מהתוצאה",
77-
"NONE": "אַף לֹא אֶחָד",
78-
"TYPE": "סוג",
79-
"ENABLED": "מופעל",
80-
"DISPLAY_NAME": "שם תצוגה",
81-
"DISPLAY_GROUP": "קבוצת תצוגה",
82-
"PRINT": "הדפס",
83-
"NO_MECHANISM_CONTENTS": "אין תוכן מנגנון",
84-
"CALL": "שִׂיחָה",
85-
"ROBOT": "רובוט",
86-
"CREATE": "לִיצוֹר",
87-
"FIRE": "לִגרוֹם",
88-
"TOOLTIP":{
89-
"EVALUATE_BUT_IGNORE_RESULT": "מריץ את הבלוק המחובר ומתעלם מהתוצאה. מאפשר לך לקרוא לפונקציה ולהתעלם מערך ההחזרה.",
90-
"NONE": "החזרות אין.",
91-
"OPMODE_TYPE": "איזה סוג של מצב פעולה זה",
92-
"OPMODE_ENABLED": "האם מצב הפעולה מוצג בתחנת הנהג",
93-
"OPMODE_NAME": "השם המוצג בתחנת הנהג. אם ריק ישתמש בשם הכיתה.",
94-
"OPMODE_GROUP": "קבוצה אופציונלית לקיבוץ מצבי פעולה בתחנת הנהג",
95-
"COMPONENTS": "רכיבים אלה גלויים במנגנון זה, ברובוט ובכל מצבי הפעולה.",
96-
"PRIVATE_COMPONENTS": "רכיבים אלה לא יהיו גלויים ברובוט או במצבי פעולה. הם נגישים רק בתוך המנגנון הזה.",
97-
"CALL_BUILTIN_FUNCTION": "קורא לפונקציה המובנית {{functionName}}.",
98-
"CALL_MODULE_FUNCTION": "קורא לפונקציית המודול {{moduleName}}.{{functionName}}.",
99-
"CALL_STATIC_METHOD": "קורא למתודה הסטטית {{className}}.{{functionName}}.",
100-
"CALL_CONSTRUCTOR": "בונה מופע של המחלקה {{className}}.",
101-
"CALL_INSTANCE_METHOD": "קורא למתודה {{className}}.{{functionName}}.",
102-
"CALL_INSTANCE_METHOD_WITHIN": "קורא למתודה {{functionName}}.",
103-
"FIRE_EVENT": "מפעיל את האירוע בשם {{eventName}}.",
104-
"CALL_MECHANISM_COMPONENT_INSTANCE_METHOD": "קורא למתודה {{className}}.{{functionName}} על הרכיב בשם {{componentName}} במנגנון בשם {{mechanismName}}.",
105-
"CALL_COMPONENT_INSTANCE_METHOD": "קורא למתודה {{className}}.{{functionName}} על הרכיב בשם {{componentName}}.",
106-
"CALL_ROBOT_INSTANCE_METHOD": "קורא למתודה הרובוטית {{functionName}}.",
107-
"CALL_MECHANISM_INSTANCE_METHOD": "קורא למתודה {{className}}.{{functionName}} במנגנון בשם {{mechanismName}}."
108-
},
109-
"CATEGORY":{
110-
"LISTS": "רשימות",
111-
"HARDWARE": "חומרה",
112-
"COMPONENTS": "רכיבים",
113-
"ROBOT": "רובוט",
114-
"MECHANISMS": "מנגנונים",
115-
"LOGIC": "לוגיקה",
116-
"LOOPS": "לולאות",
117-
"MATH": "מתמטיקה",
118-
"TEXT": "טקסט",
119-
"MISC": "שונות",
120-
"VARIABLES": "משתנים",
121-
"METHODS": "שיטות",
122-
"EVENTS": "אירועים",
123-
"ADD_MECHANISM": "+ מנגנון",
124-
"ADD_COMPONENT": "+ רכיב",
125-
"TEST": "בדיקה",
69+
"MECHANISMS": "מנגנונים",
70+
"OPMODES": "אופמודים",
71+
"BLOCKLY": {
72+
"OF_TYPE": "מטיפוס",
73+
"WITH": "עם",
74+
"WHEN": "כאשר",
75+
"PARAMETER": "פרמטר",
76+
"PARAMETERS_CAN_ONLY_GO_IN_THEIR_METHODS_BLOCK": "פרמטרים יכולים להופיע רק בתוך הבלוק של המתודה שלהם.",
77+
"EVENT_HANDLER_ALREADY_ON_WORKSPACE": "מנהל האירועים הזה כבר נמצא בסביבת העבודה.",
78+
"COMPONENTS": "רכיבים",
79+
"PRIVATE_COMPONENTS": "רכיבים פרטיים",
80+
"EVENTS": "אירועים",
81+
"EVALUATE_BUT_IGNORE_RESULT": "חשב והתעלם מהתוצאה",
82+
"NONE": "כלום",
83+
"TYPE": "סוג",
84+
"ENABLED": "מופעל",
85+
"DISPLAY_NAME": "שם לתצוגה",
86+
"DISPLAY_GROUP": "קבוצת תצוגה",
87+
"PRINT": "הדפס",
88+
"NO_MECHANISM_CONTENTS": "אין תוכן במנגנון",
89+
"CALL": "קרא",
90+
"ROBOT": "רובוט",
91+
"CREATE": "צור",
92+
"FIRE": "הפעל",
93+
"TOOLTIP": {
94+
"EVALUATE_BUT_IGNORE_RESULT": "מבצע את הבלוק המחובר ומתעלם מהתוצאה. מאפשר לקרוא לפונקציה מבלי להשתמש בערך שהיא מחזירה.",
95+
"NONE": "מחזיר כלום.",
96+
"OPMODE_TYPE": "איזה סוג אופמוד זה",
97+
"OPMODE_ENABLED": "האם האופמוד מוצג באפליקציית ה־Driver Station",
98+
"OPMODE_NAME": "השם שמוצג באפליקציית ה־Driver Station. אם ריק, ישתמש בשם הכיתה.",
99+
"OPMODE_GROUP": "קבוצה אופציונלית לארגון אופמודים באפליקציית ה־Driver Station",
100+
"COMPONENTS": "הרכיבים האלה גלויים במנגנון הזה, ברובוט ובכל האופמודים.",
101+
"PRIVATE_COMPONENTS": "הרכיבים האלה לא יהיו גלויים ברובוט או באופמודים. הם נגישים רק בתוך המנגנון הזה.",
102+
"CALL_BUILTIN_FUNCTION": "קורא לפונקציה מובנית בשם {{functionName}}.",
103+
"CALL_MODULE_FUNCTION": "קורא לפונקציה {{functionName}} במודול {{moduleName}}.",
104+
"CALL_STATIC_METHOD": "קורא למתודה סטטית {{className}}.{{functionName}}.",
105+
"CALL_CONSTRUCTOR": "יוצר מופע חדש של המחלקה {{className}}.",
106+
"CALL_INSTANCE_METHOD": "קורא למתודה {{className}}.{{functionName}}.",
107+
"CALL_INSTANCE_METHOD_WITHIN": "קורא למתודה {{functionName}}.",
108+
"FIRE_EVENT": "מפעיל את האירוע בשם {{eventName}}.",
109+
"CALL_MECHANISM_COMPONENT_INSTANCE_METHOD": "קורא למתודה {{className}}.{{functionName}} על הרכיב {{componentName}} במנגנון {{mechanismName}}.",
110+
"CALL_COMPONENT_INSTANCE_METHOD": "קורא למתודה {{className}}.{{functionName}} על הרכיב {{componentName}}.",
111+
"CALL_ROBOT_INSTANCE_METHOD": "קורא למתודת הרובוט {{functionName}}.",
112+
"CALL_MECHANISM_INSTANCE_METHOD": "קורא למתודה {{className}}.{{functionName}} במנגנון {{mechanismName}}."
113+
},
114+
"CATEGORY": {
115+
"LISTS": "רשימות",
116+
"HARDWARE": "חומרה",
117+
"COMPONENTS": "רכיבים",
118+
"ROBOT": "רובוט",
119+
"MECHANISMS": "מנגנונים",
120+
"LOGIC": "לוגיקה",
121+
"LOOPS": "לולאות",
122+
"MATH": "מתמטיקה",
123+
"TEXT": "טקסט",
124+
"MISC": "שונות",
125+
"VARIABLES": "משתנים",
126+
"METHODS": "מתודות",
127+
"EVENTS": "אירועים",
128+
"ADD_MECHANISM": "+ מנגנון",
129+
"ADD_COMPONENT": "+ רכיב",
130+
"TEST": "בדיקה",
126131
"PAGINATION_TOTAL": "{{start}}-{{end}} מתוך {{total}} פריטים"
127-
},
128-
"WARNING":{
129-
"CALL_COMPONENT_INSTANCE_METHOD_PRIVATE_COMPONENT": "פעולה זו חוסם קריאה למתודה על רכיב פרטי במנגנון {{mechanismClassName}}.",
130-
"CALL_COMPONENT_INSTANCE_METHOD_MISSING_COMPONENT": "בלוק זה קורא למתודה על רכיב שכבר אינו קיים.",
131-
"CALL_MECHANISM_COMPONENT_INSTANCE_METHOD_MISSING_MECHANISM": "בלוק זה קורא למתודה על רכיב השייך למנגנון שכבר אינו קיים.",
132-
"CALL_ROBOT_INSTANCE_METHOD_INSIDE_MECHANISM": "אסור להשתמש בבלוק זה בתוך מנגנון.",
133-
"CALL_ROBOT_INSTANCE_METHOD_MISSING_METHOD": "בלוק זה קורא למתודה שכבר לא קיימת ברובוט.",
134-
"CALL_MECHANISM_INSTANCE_METHOD_INSIDE_MECHANISM": "אסור להשתמש בבלוק זה בתוך מנגנון.",
135-
"CALL_MECHANISM_INSTANCE_METHOD_MISSING_METHOD": "בלוק זה קורא לשיטה שכבר אינה קיימת במנגנון.",
136-
"CALL_MECHANISM_INSTANCE_METHOD_MISSING_MECHANISM": "בלוק זה קורא לשיטה במנגנון שכבר אינו קיים."
137-
}
138-
}
132+
},
133+
"WARNING": {
134+
"CALL_COMPONENT_INSTANCE_METHOD_PRIVATE_COMPONENT": "בלוק זה קורא למתודה על רכיב פרטי במנגנון {{mechanismClassName}}.",
135+
"CALL_COMPONENT_INSTANCE_METHOD_MISSING_COMPONENT": "בלוק זה קורא למתודה על רכיב שכבר לא קיים.",
136+
"CALL_MECHANISM_COMPONENT_INSTANCE_METHOD_MISSING_MECHANISM": "בלוק זה קורא למתודה על רכיב ששייך למנגנון שכבר לא קיים.",
137+
"CALL_ROBOT_INSTANCE_METHOD_INSIDE_MECHANISM": "בלוק זה אינו מורשה לשימוש בתוך מנגנון.",
138+
"CALL_ROBOT_INSTANCE_METHOD_MISSING_METHOD": "בלוק זה קורא למתודה שכבר לא קיימת ברובוט.",
139+
"CALL_MECHANISM_INSTANCE_METHOD_INSIDE_MECHANISM": "בלוק זה אינו מורשה לשימוש בתוך מנגנון.",
140+
"CALL_MECHANISM_INSTANCE_METHOD_MISSING_METHOD": "בלוק זה קורא למתודה שכבר לא קיימת במנגנון.",
141+
"CALL_MECHANISM_INSTANCE_METHOD_MISSING_MECHANISM": "בלוק זה קורא למתודה במנגנון שכבר לא קיים."
142+
}
143+
}
139144
}

0 commit comments

Comments
 (0)