Skip to content

Commit 9d60764

Browse files
authored
Merge pull request #48560 from phillip-kruger/dev-ui-workspace-cosmetic
Dev UI Workspace fixes
2 parents b57f54e + 8de145a commit 9d60764

File tree

3 files changed

+31
-9
lines changed

3 files changed

+31
-9
lines changed

extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/menu/WorkspaceProcessor.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import io.quarkus.assistant.runtime.dev.Assistant;
2525
import io.quarkus.deployment.Capabilities;
2626
import io.quarkus.deployment.Capability;
27-
import io.quarkus.deployment.IsDevelopment;
27+
import io.quarkus.deployment.IsLocalDevelopment;
2828
import io.quarkus.deployment.annotations.BuildProducer;
2929
import io.quarkus.deployment.annotations.BuildStep;
3030
import io.quarkus.deployment.annotations.BuildSteps;
@@ -47,7 +47,7 @@
4747
/**
4848
* This creates the workspace Page
4949
*/
50-
@BuildSteps(onlyIf = IsDevelopment.class)
50+
@BuildSteps(onlyIf = IsLocalDevelopment.class)
5151
public class WorkspaceProcessor {
5252

5353
@BuildStep
@@ -62,7 +62,6 @@ void locateWorkspaceItems(BuildSystemTargetBuildItem buildSystemTarget,
6262

6363
Path outputDir = buildSystemTarget.getOutputDirectory();
6464
Path projectRoot = outputDir.getParent();
65-
6665
if (projectRoot != null && Files.exists(projectRoot)) {
6766

6867
List<WorkspaceBuildItem.WorkspaceItem> workspaceItems = new ArrayList<>();
@@ -87,7 +86,7 @@ public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) th
8786
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
8887
String fileName = file.getFileName().toString();
8988
boolean shouldIgnore = Files.isHidden(file)
90-
|| file.startsWith(outputDir) || !Files.isReadable(file) || !Files.isExecutable(file)
89+
|| file.startsWith(outputDir) || !Files.isReadable(file)
9190
|| ignoreFilePatterns.stream().anyMatch(p -> p.matcher(fileName).matches());
9291

9392
if (!shouldIgnore) {

extensions/vertx-http/dev-ui-resources/src/main/resources/dev-ui/qui/qui-themed-code-block.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,11 @@ class QuiThemedCodeBlock extends observeState(LitElement) {
4141
}
4242

4343
_onValueChanged(e) {
44+
e.stopPropagation();
4445
// re-dispatch event so parent can listen on <qui-themed-code-block>
46+
if (this.value !== e.detail.value) {
47+
this.value = e.detail.value;
48+
}
4549
this.dispatchEvent(new CustomEvent('value-changed', {
4650
detail: e.detail,
4751
bubbles: true,

extensions/vertx-http/dev-ui-resources/src/main/resources/dev-ui/qwc/qwc-workspace.js

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,21 +87,21 @@ export class QwcWorkspace extends observeState(QwcHotReloadElement) {
8787
.mainMenuBarButtons {
8888
display: flex;
8989
align-items: center;
90-
width: 100%;
9190
}
9291
9392
.mainMenuBarTitle {
9493
font-size: large;
9594
color: var(--lumo-contrast-50pct);
9695
user-select: none;
9796
cursor: pointer;
97+
width: 100%;
98+
text-align: center;
9899
}
99100
100101
.mainMenuBarActions {
101102
display: flex;
102103
align-items: center;
103104
gap: 0.5rem;
104-
width: 100%;
105105
justify-content: end;
106106
padding-right: 10px;
107107
}
@@ -325,7 +325,7 @@ export class QwcWorkspace extends observeState(QwcHotReloadElement) {
325325

326326
_renderActionResult(){
327327
if(this._actionResult && this._actionResult.content && this._actionResult.displayType === "raw"){
328-
return html`<div class="actionResult">${this._actionResult.content}${this._renderAssistantWarning()}</div>`;
328+
return html`<div class="actionResult">${this._actionResult.content}</div>${this._renderAssistantWarning()}`;
329329
}else if(this._actionResult && this._actionResult.content && this._actionResult.displayType === "code"){
330330
// TODO: We can not assume the mode is the same as the input
331331
// Maybe return name|content ?
@@ -360,7 +360,7 @@ export class QwcWorkspace extends observeState(QwcHotReloadElement) {
360360
_renderActions(){
361361
if(this._filteredActions){
362362
if(this._showActionProgress){
363-
return html`<vaadin-progress-bar indeterminate></vaadin-progress-bar>`;
363+
return html`<vaadin-progress-bar style="width:400px;" indeterminate></vaadin-progress-bar>`;
364364
}else{
365365
return html`<div class="actions">
366366
<vaadin-menu-bar .items="${this._filteredActions}" theme="dropdown-indicators tertiary" @item-selected="${(e) => this._actionSelected(e)}"></vaadin-menu-bar>
@@ -479,6 +479,21 @@ export class QwcWorkspace extends observeState(QwcHotReloadElement) {
479479
content:newWorkspaceItemValue,
480480
type:this._selectedWorkspaceItem.type}).then(jsonRpcResponse => {
481481

482+
if (!('content' in jsonRpcResponse.result.result) || !('name' in jsonRpcResponse.result.result)) {
483+
const firstEntry = Object.entries(jsonRpcResponse.result.result).find(
484+
([key]) => key !== 'path' && key !== 'name'
485+
);
486+
if (firstEntry) {
487+
const [key, value] = firstEntry;
488+
if (!('content' in jsonRpcResponse.result.result)) {
489+
jsonRpcResponse.result.result.content = value;
490+
}
491+
if (!('name' in jsonRpcResponse.result.result)) {
492+
jsonRpcResponse.result.result.name = key;
493+
}
494+
}
495+
}
496+
482497
if(e.detail.value.display === "notification"){
483498
notifier.showInfoMessage(jsonRpcResponse.result.result);
484499
}else if(e.detail.value.display === "replace"){
@@ -489,7 +504,11 @@ export class QwcWorkspace extends observeState(QwcHotReloadElement) {
489504
this._selectedWorkspaceItem.isAssistant = jsonRpcResponse.result?.isAssistant ?? false;
490505
}else if(e.detail.value.display !== "nothing"){
491506
this._actionResult = jsonRpcResponse.result.result;
492-
this._actionResult.name = this._actionResult.path;
507+
if(jsonRpcResponse.result.result.name){
508+
this._actionResult.name = jsonRpcResponse.result.result.name;
509+
}else{
510+
this._actionResult.name = this._actionResult.path;
511+
}
493512
this._actionResult.path = jsonRpcResponse.result.path;
494513
this._actionResult.display = e.detail.value.display;
495514
this._actionResult.isAssistant = jsonRpcResponse.result?.isAssistant ?? false;

0 commit comments

Comments
 (0)