-
-
Notifications
You must be signed in to change notification settings - Fork 15
Support Monaco editor #73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
WalkthroughMigrates the in-browser editor from ACE to a Monaco wrapper, adds behavior-level AJAX reconstruction of nested FormWidgets for widget-scoped handlers, restructures migration code generation into up/down anonymous-class templates, and updates related CSS for new-translation highlights and minor UI tweaks. Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant Controller
participant IndexOpsBehavior as IndexOperationsBehaviorBase
participant BehaviorImpl as ConcreteBehavior
participant FormWidget
participant CodeEditorWrapper
Client->>Controller: AJAX widget-scoped request (handler + alias)
Controller->>IndexOpsBehavior: handleFormWidgetAjax(handler)
rect rgba(200,220,255,0.5)
IndexOpsBehavior->>IndexOpsBehavior: parse widget alias from handler
IndexOpsBehavior->>Controller: check widget registry for alias
Controller-->>IndexOpsBehavior: widget not found
end
rect rgba(220,240,220,0.5)
IndexOpsBehavior->>BehaviorImpl: reconstructFormWidget(alias)
BehaviorImpl->>FormWidget: build FormWidget from POST data (fields, config, alias)
FormWidget->>FormWidget: set context (language/version/etc.), bind to controller
BehaviorImpl->>Controller: register reconstructed widget
end
IndexOpsBehavior->>Controller: resume handler execution
Controller->>FormWidget: invoke widget AJAX action (e.g., save, diff)
FormWidget->>CodeEditorWrapper: call setValue / setDecorations (Monaco)
CodeEditorWrapper-->>FormWidget: success
FormWidget-->>Client: AJAX response
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Related: wintercms/winter#801
Summary by CodeRabbit
New Features
Style
Refactor
✏️ Tip: You can customize this high-level summary in your review settings.