mirror of
https://github.com/penpot/penpot.git
synced 2025-05-10 21:06:38 +02:00
🐛 Workspace-palette items stay hidden when opening with keyboard-shortcut
This commit is contained in:
parent
599bc8dbe7
commit
0d23f4ab5d
6 changed files with 39 additions and 11 deletions
|
@ -43,6 +43,7 @@
|
||||||
- Toolbar keeps toggling on and off on spacebar press [Taiga #7654](https://github.com/penpot/penpot/pull/7654)
|
- Toolbar keeps toggling on and off on spacebar press [Taiga #7654](https://github.com/penpot/penpot/pull/7654)
|
||||||
- Fix toolbar keeps hiding when click outside workspace [Taiga #7776](https://tree.taiga.io/project/penpot/issue/7776)
|
- Fix toolbar keeps hiding when click outside workspace [Taiga #7776](https://tree.taiga.io/project/penpot/issue/7776)
|
||||||
- Fix open overlay relative to a frame [Taiga #7563](https://tree.taiga.io/project/penpot/issue/7563)
|
- Fix open overlay relative to a frame [Taiga #7563](https://tree.taiga.io/project/penpot/issue/7563)
|
||||||
|
- Workspace-palette items stay hidden when opening with keyboard-shortcut [Taiga #7489](https://tree.taiga.io/project/penpot/issue/7489)
|
||||||
|
|
||||||
## 2.0.3
|
## 2.0.3
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,7 @@ export class WorkspacePage extends BaseWebSocketPage {
|
||||||
this.selectionRect = page.getByTestId("workspace-selection-rect");
|
this.selectionRect = page.getByTestId("workspace-selection-rect");
|
||||||
this.horizontalScrollbar = page.getByTestId("horizontal-scrollbar");
|
this.horizontalScrollbar = page.getByTestId("horizontal-scrollbar");
|
||||||
this.librariesModal = page.getByTestId("libraries-modal");
|
this.librariesModal = page.getByTestId("libraries-modal");
|
||||||
|
this.togglePalettesVisibility = page.getByTestId("toggle-palettes-visibility");
|
||||||
}
|
}
|
||||||
|
|
||||||
async goToWorkspace({ fileId = WorkspacePage.anyFileId, pageId = WorkspacePage.anyPageId } = {}) {
|
async goToWorkspace({ fileId = WorkspacePage.anyFileId, pageId = WorkspacePage.anyPageId } = {}) {
|
||||||
|
@ -173,4 +174,9 @@ export class WorkspacePage extends BaseWebSocketPage {
|
||||||
.getByRole("button", { name: "Color Palette (Alt+P)" })
|
.getByRole("button", { name: "Color Palette (Alt+P)" })
|
||||||
.click(clickOptions);
|
.click(clickOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async clickTogglePalettesVisibility(clickOptions = {}) {
|
||||||
|
await this.togglePalettesVisibility
|
||||||
|
.click(clickOptions);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,3 +120,14 @@ test("User adds a library and its automatically selected in the color palette",
|
||||||
|
|
||||||
await expect(workspacePage.palette.getByText('There are no color styles in your library yet')).toBeVisible();
|
await expect(workspacePage.palette.getByText('There are no color styles in your library yet')).toBeVisible();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("Bug 7489 - Workspace-palette items stay hidden when opening with keyboard-shortcut", async ({ page }) => {
|
||||||
|
const workspacePage = new WorkspacePage(page);
|
||||||
|
await workspacePage.setupEmptyFile();
|
||||||
|
await workspacePage.goToWorkspace();
|
||||||
|
|
||||||
|
await workspacePage.clickTogglePalettesVisibility();
|
||||||
|
await workspacePage.page.keyboard.press("Alt+t");
|
||||||
|
|
||||||
|
await expect(workspacePage.palette.getByText("There are no typography styles in your library yet")).toBeVisible();
|
||||||
|
});
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
:comments
|
:comments
|
||||||
:assets
|
:assets
|
||||||
:document-history
|
:document-history
|
||||||
|
:hide-palettes
|
||||||
:colorpalette
|
:colorpalette
|
||||||
:element-options
|
:element-options
|
||||||
:rulers
|
:rulers
|
||||||
|
@ -134,7 +135,8 @@
|
||||||
"A map of layout flags that should be persisted in local storage; the
|
"A map of layout flags that should be persisted in local storage; the
|
||||||
value corresponds to the key that will be used for save the data in
|
value corresponds to the key that will be used for save the data in
|
||||||
storage object. It should be namespace qualified."
|
storage object. It should be namespace qualified."
|
||||||
{:colorpalette :app.main.data.workspace/show-colorpalette?
|
{:hide-palettes :app.main.data.workspace/hide-palettes?
|
||||||
|
:colorpalette :app.main.data.workspace/show-colorpalette?
|
||||||
:textpalette :app.main.data.workspace/show-textpalette?})
|
:textpalette :app.main.data.workspace/show-textpalette?})
|
||||||
|
|
||||||
(defn load-layout-flags
|
(defn load-layout-flags
|
||||||
|
|
|
@ -436,14 +436,16 @@
|
||||||
:command (ds/a-mod "p")
|
:command (ds/a-mod "p")
|
||||||
:subsections [:panels]
|
:subsections [:panels]
|
||||||
:fn #(do (r/set-resize-type! :bottom)
|
:fn #(do (r/set-resize-type! :bottom)
|
||||||
(emit-when-no-readonly (dw/remove-layout-flag :textpalette)
|
(emit-when-no-readonly (dw/remove-layout-flag :hide-palettes)
|
||||||
|
(dw/remove-layout-flag :textpalette)
|
||||||
(toggle-layout-flag :colorpalette)))}
|
(toggle-layout-flag :colorpalette)))}
|
||||||
|
|
||||||
:toggle-textpalette {:tooltip (ds/alt "T")
|
:toggle-textpalette {:tooltip (ds/alt "T")
|
||||||
:command (ds/a-mod "t")
|
:command (ds/a-mod "t")
|
||||||
:subsections [:panels]
|
:subsections [:panels]
|
||||||
:fn #(do (r/set-resize-type! :bottom)
|
:fn #(do (r/set-resize-type! :bottom)
|
||||||
(emit-when-no-readonly (dw/remove-layout-flag :colorpalette)
|
(emit-when-no-readonly (dw/remove-layout-flag :hide-palettes)
|
||||||
|
(dw/remove-layout-flag :colorpalette)
|
||||||
(toggle-layout-flag :textpalette)))}
|
(toggle-layout-flag :textpalette)))}
|
||||||
|
|
||||||
:hide-ui {:tooltip "\\"
|
:hide-ui {:tooltip "\\"
|
||||||
|
|
|
@ -50,12 +50,12 @@
|
||||||
[{:keys [layout on-change-palette-size]}]
|
[{:keys [layout on-change-palette-size]}]
|
||||||
(let [color-palette? (:colorpalette layout)
|
(let [color-palette? (:colorpalette layout)
|
||||||
text-palette? (:textpalette layout)
|
text-palette? (:textpalette layout)
|
||||||
|
hide-palettes? (:hide-palettes layout)
|
||||||
workspace-read-only? (mf/use-ctx ctx/workspace-read-only?)
|
workspace-read-only? (mf/use-ctx ctx/workspace-read-only?)
|
||||||
container (mf/use-ref nil)
|
container (mf/use-ref nil)
|
||||||
state* (mf/use-state {:show-menu false :hide-palettes false})
|
state* (mf/use-state {:show-menu false})
|
||||||
state (deref state*)
|
state (deref state*)
|
||||||
show-menu? (:show-menu state)
|
show-menu? (:show-menu state)
|
||||||
hide-palettes? (:hide-palettes state)
|
|
||||||
selected (h/use-shared-state mdc/colorpalette-selected-broadcast-key :recent)
|
selected (h/use-shared-state mdc/colorpalette-selected-broadcast-key :recent)
|
||||||
selected-text* (mf/use-state :file)
|
selected-text* (mf/use-state :file)
|
||||||
selected-text (deref selected-text*)
|
selected-text (deref selected-text*)
|
||||||
|
@ -100,15 +100,19 @@
|
||||||
toggle-palettes
|
toggle-palettes
|
||||||
(mf/use-callback
|
(mf/use-callback
|
||||||
(fn [_]
|
(fn [_]
|
||||||
(swap! state* update :hide-palettes not)))
|
(r/set-resize-type! :top)
|
||||||
|
(dom/add-class! (dom/get-element-by-class "color-palette") "fade-out-down")
|
||||||
|
(st/emit! (-> (dw/toggle-layout-flag :hide-palettes)
|
||||||
|
(vary-meta assoc ::ev/origin "workspace-left-toolbar")))))
|
||||||
|
|
||||||
on-select-color-palette
|
on-select-color-palette
|
||||||
(mf/use-fn
|
(mf/use-fn
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(let [node (dom/get-current-target event)]
|
(let [node (dom/get-current-target event)]
|
||||||
(r/set-resize-type! :top)
|
(r/set-resize-type! :top)
|
||||||
(dom/add-class! (dom/get-element-by-class "color-palette") "fade-out-down")
|
(dom/add-class! (dom/get-element-by-class "color-palette") "fade-out-down")
|
||||||
(ts/schedule 300 #(st/emit! (dw/remove-layout-flag :textpalette)
|
(ts/schedule 300 #(st/emit! (dw/remove-layout-flag :hide-palettes)
|
||||||
|
(dw/remove-layout-flag :textpalette)
|
||||||
(-> (dw/toggle-layout-flag :colorpalette)
|
(-> (dw/toggle-layout-flag :colorpalette)
|
||||||
(vary-meta assoc ::ev/origin "workspace-left-toolbar"))))
|
(vary-meta assoc ::ev/origin "workspace-left-toolbar"))))
|
||||||
(dom/blur! node))))
|
(dom/blur! node))))
|
||||||
|
@ -118,8 +122,9 @@
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(let [node (dom/get-current-target event)]
|
(let [node (dom/get-current-target event)]
|
||||||
(r/set-resize-type! :top)
|
(r/set-resize-type! :top)
|
||||||
(dom/add-class! (dom/get-element-by-class "color-palette") "fade-out-down")
|
(dom/add-class! (dom/get-element-by-class "color-palette") "fade-out-down")
|
||||||
(ts/schedule 300 #(st/emit! (dw/remove-layout-flag :colorpalette)
|
(ts/schedule 300 #(st/emit! (dw/remove-layout-flag :hide-palettes)
|
||||||
|
(dw/remove-layout-flag :colorpalette)
|
||||||
(-> (dw/toggle-layout-flag :textpalette)
|
(-> (dw/toggle-layout-flag :textpalette)
|
||||||
(vary-meta assoc ::ev/origin "workspace-left-toolbar"))))
|
(vary-meta assoc ::ev/origin "workspace-left-toolbar"))))
|
||||||
(dom/blur! node))))
|
(dom/blur! node))))
|
||||||
|
@ -198,5 +203,6 @@
|
||||||
:selected @selected
|
:selected @selected
|
||||||
:width vport-width}]])]]
|
:width vport-width}]])]]
|
||||||
[:div {:class (stl/css :handler)
|
[:div {:class (stl/css :handler)
|
||||||
:on-click toggle-palettes}
|
:on-click toggle-palettes
|
||||||
|
:data-testid "toggle-palettes-visibility"}
|
||||||
[:div {:class (stl/css :handler-btn)}]])])]))
|
[:div {:class (stl/css :handler-btn)}]])])]))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue