GetPublii / Publii

The most intuitive Static Site CMS designed for SEO-optimized and privacy-focused websites.
https://getpublii.com
GNU General Public License v3.0
6.06k stars 407 forks source link

[Bug]: posts-dropdown, tags-dropdown, etc. not rendered when used in Repeater #1312

Closed eitau closed 5 months ago

eitau commented 5 months ago

Operating system

Linux (NixOS unstable)

Publii version

0.44.3 (build 16556)

Post editor

None

Bug description

When trying to use Posts dropdown as part of theme settings inside a Repeater ("type": "structure"), it's not showing up in the UI.

repeater-no-dropdowns

It seems that missing components are not registered via Vue: https://github.com/GetPublii/Publii/blob/4d244edd60ed6700ac48fc5d40481d5164c32e84/app/src/components/basic-elements/Repeater.vue#L217-L219

Steps to reproduce

Used Repeater field config:

{
  "name": "frontPage",
  "label": "Card",
  "group": "Front page",
  "type": "repeater",
  "value": [],
  "translations": {
    "addItem": "Add a Card",
    "duplicateItem": "Duplicate",
    "emptyState": "Click the button below to add a card.",
    "removeItem": "Delete"
  },
  "structure": [
    {
      "name": "type",
      "label": "Page type",
      "value": "default",
      "type": "radio",
      "options": [
        {
          "label": "Tag",
          "value": "tag"
        },
        {
          "label": "Post",
          "value": "post"
        },
        {
          "label": "Separator",
          "value": "separator"
        }
      ]
    },
    {
      "name": "tag",
      "label": "Tag",
      "type": "tags-dropdown",
      "value": "",
      "width": 100,
      "dependencies": [
        {
          "field": "type",
          "value": "tag"
        }
      ]
    },
    {
      "name": "post",
      "label": "Post",
      "type": "posts-dropdown",
      "value": "",
      "width": 100,
      "dependencies": [
        {
          "field": "type",
          "value": "post"
        }
      ]
    },
    {
      "name": "separator",
      "label": "Separator",
      "type": "text",
      "value": "",
      "width": 100,
      "dependencies": [
        {
          "field": "type",
          "value": "separator"
        }
      ]
    }
  ]
}

Relevant log output

No response

dziudek commented 5 months ago

Hi,

Thank you for finding this - problem will be fixed in v.0.45