mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-23 03:41:54 +08:00
New syntax and editor for carousel both in rich text editor and markdown: [grid mode=carousel] ... ... [/grid] Will display a carousel vs a masonry grid of images --------- Co-authored-by: chapoi <101828855+chapoi@users.noreply.github.com> Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
73 lines
2.3 KiB
Ruby
Vendored
73 lines
2.3 KiB
Ruby
Vendored
# frozen_string_literal: true
|
|
|
|
module PageObjects
|
|
module Components
|
|
class ComposerImageGrid < PageObjects::Components::Base
|
|
def initialize(rich_editor)
|
|
@rich_editor = rich_editor
|
|
end
|
|
|
|
def add_image_to_grid
|
|
page.find(".composer-image-toolbar__add-to-grid").click
|
|
self
|
|
end
|
|
|
|
def move_image_outside_grid
|
|
page.find(".composer-image-toolbar__move-outside-grid").click
|
|
self
|
|
end
|
|
|
|
def select_first_grid_image
|
|
@rich_editor.all(".composer-image-grid .composer-image-node img").first.click
|
|
self
|
|
end
|
|
|
|
def has_add_to_grid_toolbar?
|
|
page.has_css?("[data-identifier='composer-image-toolbar']") &&
|
|
page.has_css?(".composer-image-toolbar__add-to-grid") &&
|
|
page.has_no_css?(".composer-image-toolbar__move-outside-grid")
|
|
end
|
|
|
|
def has_move_outside_grid_toolbar?
|
|
page.has_css?("[data-identifier='composer-image-toolbar']") &&
|
|
page.has_css?(".composer-image-toolbar__move-outside-grid") &&
|
|
page.has_no_css?(".composer-image-toolbar__add-to-grid")
|
|
end
|
|
|
|
def has_images?(count)
|
|
@rich_editor.has_css?(".composer-image-node img", count: count)
|
|
end
|
|
|
|
def has_grid_images?(count)
|
|
@rich_editor.has_css?(".composer-image-grid .composer-image-node img", count: count)
|
|
end
|
|
|
|
def has_no_grid_images?
|
|
@rich_editor.has_no_css?(".composer-image-grid .composer-image-node img")
|
|
end
|
|
|
|
def has_single_grid_with_images?(count)
|
|
@rich_editor.has_css?(".composer-image-grid", count: 1) &&
|
|
@rich_editor.has_css?(".composer-image-grid .composer-image-node img", count: count) &&
|
|
@rich_editor.has_no_css?(".composer-image-grid .composer-image-grid")
|
|
end
|
|
|
|
def has_mode_select?
|
|
@rich_editor.has_css?(".composer-image-gallery__mode-buttons")
|
|
end
|
|
|
|
def select_mode(mode)
|
|
@rich_editor.find(".composer-image-gallery__mode-btn[data-mode='#{mode.downcase}']").click
|
|
self
|
|
end
|
|
|
|
def has_selected_mode?(value)
|
|
@rich_editor.has_css?(".composer-image-gallery__mode-btn[data-mode='#{value}'].is-active")
|
|
end
|
|
|
|
def mode_value
|
|
@rich_editor.find(".composer-image-gallery")["data-mode"]
|
|
end
|
|
end
|
|
end
|
|
end
|