Skip to content

Commit 3bfad2c

Browse files
authored
Merge pull request #21633 from opf/merge-release/17.0-20260112112144
Merge release/17.0 into dev
2 parents 625184d + bc35d87 commit 3bfad2c

File tree

9 files changed

+42
-28
lines changed

9 files changed

+42
-28
lines changed

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,4 +428,4 @@ end
428428

429429
gem "openproject-octicons", "~>19.32.0"
430430
gem "openproject-octicons_helper", "~>19.32.0"
431-
gem "openproject-primer_view_components", "~>0.79.0"
431+
gem "openproject-primer_view_components", "~>0.79.1"

Gemfile.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -879,7 +879,7 @@ GEM
879879
actionview
880880
openproject-octicons (= 19.32.0)
881881
railties
882-
openproject-primer_view_components (0.79.0)
882+
openproject-primer_view_components (0.79.1)
883883
actionview (>= 7.2.0)
884884
activesupport (>= 7.2.0)
885885
openproject-octicons (>= 19.30.1)
@@ -1652,7 +1652,7 @@ DEPENDENCIES
16521652
openproject-octicons (~> 19.32.0)
16531653
openproject-octicons_helper (~> 19.32.0)
16541654
openproject-openid_connect!
1655-
openproject-primer_view_components (~> 0.79.0)
1655+
openproject-primer_view_components (~> 0.79.1)
16561656
openproject-recaptcha!
16571657
openproject-reporting!
16581658
openproject-storages!
@@ -2028,7 +2028,7 @@ CHECKSUMS
20282028
openproject-octicons (19.32.0) sha256=e9c908e7c4310d57e1dece8fc506339862f18b67b3b67d549e8f56a7b763d48b
20292029
openproject-octicons_helper (19.32.0) sha256=687a8b173c6436634397477c1f05b0a575e52745a5cc1aef03351272e73e3832
20302030
openproject-openid_connect (1.0.0)
2031-
openproject-primer_view_components (0.79.0) sha256=2bce8ba03527bf0998adb4a3aa672d70bd3c475413da2ea084cb21668acfbb9b
2031+
openproject-primer_view_components (0.79.1) sha256=3cb8315ed0ea0cefa831764f9b1c54a4aa242a3bd771626ad2699e62a228519a
20322032
openproject-recaptcha (1.0.0)
20332033
openproject-reporting (1.0.0)
20342034
openproject-storages (1.0.0)

frontend/package-lock.json

Lines changed: 14 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,12 @@
110110
"@ng-select/ng-select": "^20.1.0",
111111
"@ngneat/content-loader": "^7.0.0",
112112
"@openproject/octicons-angular": "^19.32.0",
113-
"@openproject/primer-view-components": "^0.79.0",
113+
"@openproject/primer-view-components": "^0.79.1",
114114
"@openproject/reactivestates": "^3.0.1",
115115
"@primer/css": "^22.0.2",
116116
"@primer/live-region-element": "^0.8.0",
117117
"@primer/primitives": "^11.3.2",
118-
"@primer/view-components": "npm:@openproject/primer-view-components@^0.79.0",
118+
"@primer/view-components": "npm:@openproject/primer-view-components@^0.79.1",
119119
"@rails/request.js": "^0.0.13",
120120
"@stimulus-components/auto-submit": "^6.0.0",
121121
"@stimulus-components/reveal": "^5.0.0",

frontend/src/app/core/global_search/input/global-search-input-mobile.component.sass

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ $search-input-height-mobile: 36px
1111
width: unset
1212
min-width: unset
1313
flex-basis: 100%
14-
position: unset
1514
flex-grow: 1
1615

1716
.scroll-host
@@ -34,11 +33,13 @@ $search-input-height-mobile: 36px
3433
width: 0 !important
3534
padding-left: 0.75rem !important
3635

37-
.ng-input input
36+
.ng-input
3837
height: 36px
38+
top: 0 !important
3939

4040
.ng-dropdown-panel
4141
width: 100% !important
42+
min-width: unset !important
4243

4344
.top-menu-search--back-button
4445
@include unset-button-styles

frontend/src/app/core/global_search/input/global-search-input.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
class="global-search"
3535
[placeholder]="effectivePlaceholder"
3636
[ariaLabel]="effectivePlaceholder"
37+
[appendTo]="'#global-search-input'"
3738
[dropdownPosition]="'bottom'"
3839
[classes]="{'top-menu-search--input': true, '-markable': markable, '-expanded': expanded, 'ng-select--primerized': true }"
3940
[inputAttrs]="{ 'class': 'global-search--input', 'name': 'global-search--input', autocomplete: 'off'}"

frontend/src/elements/block-note-element.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030

3131
import { User } from '@blocknote/core/comments';
3232
import { HocuspocusProvider } from '@hocuspocus/provider';
33+
import { Application } from '@hotwired/stimulus';
34+
import FlashController from 'core-stimulus/controllers/flash.controller';
3335
import { LiveCollaborationManager } from 'core-stimulus/helpers/live-collaboration-helpers';
3436
import { ShadowDomWrapper } from 'op-blocknote-extensions';
3537
import React from 'react';
@@ -41,15 +43,20 @@ class BlockNoteElement extends HTMLElement {
4143
private mount:HTMLDivElement;
4244
private errorContainer:HTMLDivElement;
4345
private reactRoot:Root|null = null;
46+
private stimulusApp:Application|null = null;
4447

4548
constructor() {
4649
super();
4750

4851
const shadowRoot = this.attachShadow({ mode: 'open' });
52+
4953
// Container for connection error/recovery messages (rendered by React via fetchConnectionTemplate)
5054
this.errorContainer = document.createElement('div');
5155
this.errorContainer.id = 'documents-show-edit-view-connection-error-notice-component';
56+
this.errorContainer.dataset.controller = 'flash';
57+
this.errorContainer.dataset.flashAutohideValue = 'true';
5258
this.mount = document.createElement('div');
59+
5360
shadowRoot.appendChild(this.errorContainer);
5461
shadowRoot.appendChild(this.mount);
5562

@@ -71,6 +78,11 @@ class BlockNoteElement extends HTMLElement {
7178
}
7279

7380
connectedCallback() {
81+
// Initialize Stimulus application within shadow DOM
82+
this.stimulusApp = Application.start(this.errorContainer);
83+
this.stimulusApp.register('flash', FlashController);
84+
85+
// Initialize React application within shadow DOM
7486
this.reactRoot = createRoot(this.mount);
7587

7688
const collaborationEnabled = this.getAttribute('collaboration-enabled') === 'true';
@@ -93,6 +105,11 @@ class BlockNoteElement extends HTMLElement {
93105
this.reactRoot.unmount();
94106
this.reactRoot = null;
95107
}
108+
109+
if (this.stimulusApp) {
110+
this.stimulusApp.stop();
111+
this.stimulusApp = null;
112+
}
96113
}
97114

98115
private BlockNoteReactContainer = (hocuspocusProvider?:HocuspocusProvider) => {

frontend/src/global_styles/primer/_overrides.sass

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,6 @@ ul.SegmentedControl,
9191
align-self: center
9292
min-width: var(--control-medium-size)
9393

94-
&.op-app-header--modules-menu-button svg
95-
height: 20px
96-
width: 20px
97-
9894
&:hover
9995
color: var(--header-item-font-hover-color)
10096

lib/redmine/menu_manager/top_menu/module_menu.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ def render_module_top_menu_node(item_groups = module_top_menu_item_groups)
3838
position: :left) do |dialog|
3939
dialog.with_show_button(icon: "op-grid-menu",
4040
scheme: :invisible,
41-
size: :large,
42-
classes: "op-app-header--primer-button op-app-header--modules-menu-button",
41+
classes: "op-app-header--primer-button",
4342
test_selector: "op-app-header--modules-menu-button",
4443
"aria-controls": "op-app-header--modules-menu-list",
4544
"aria-label": I18n.t("label_global_modules"))

0 commit comments

Comments
 (0)