tmsdev / Tms.Select

Select nodes instead of searching via reference editor in Neos CMS.
MIT License
5 stars 1 forks source link

BUG: Tms.Select does not respect dimensions #4

Closed paavo closed 3 years ago

paavo commented 3 years ago

Looks like Tms.Select does not respect dimensions.

With the classic references i can only see and select Nodes which exist in the current Dimension - makes sense.

After switching to Tms.Select I can see and select Nodes which do not exist in this Dimension. Even the Titles do not get translated. So it looks like the "default dimensions" are used @jobee?

jobee commented 3 years ago

Thank you @paavo for reporting this. I can't reproduce what you've described in my multi-dimension setups. Tested Neos 7.1 & Neos 7.2

Could you please provide a little more insights on how your setup looks like? (Neos/UI version, YAML settings, Dimensions setup, Nodetree structure)

paavo commented 3 years ago

Thanks for having a look at @jobee and sorry for not posting more details.

Versions

neos/neos: 5.3.4
neos/neos-ui: 5.3.9
tms/selct: 1.2.0
UI version: v5.3.9

I have two dimensions: country & language

Neos:
  ContentRepository:
    contentDimensions:
      country:
        label: 'Country'
        icon: 'icon-globe'
        default: 'global'
        defaultPreset: global
        presets:
          global:
            label: Global
            sort: '99'
            values:
              - global
            uriSegment: 'global'
            constraints:
              language:
                de: true
                fr: true
                en: true
                '*': false
          ch:
            label: 'Switzerland'
            sort: '1'
            values:
              - ch
              - global
            uriSegment: 'ch'
            constraints:
              language:
                'de': true
                'fr': true
                '*': false
          de:
            label: 'Germany'
            values:
              - de
              - global
            uriSegment: 'de'
            constraints:
              language:
                'de': true
                '*': false
          at:
            label: 'Austria'
            values:
              - at
              - global
            uriSegment: 'at'
            constraints:
              language:
                'de': true
                '*': false
          fr:
            label: 'France'
            values:
              - fr
              - global
            uriSegment: 'fr'
            constraints:
              language:
                'fr': true
                '*': false
          jp:
            label: 'Japan'
            values:
              - jp
              - global
            uriSegment: 'jp'
            constraints:
              language:
                'ja': true
                '*': false
      language:
        label: 'Language'
        icon: icon-language
        default: 'de'
        defaultPreset: de
        presets:
          de:
            label: 'German'
            values:
              - de
            uriSegment: 'de'
          fr:
            label: 'French'
            values:
              - fr
            uriSegment: fr
          en:
            label: 'English'
            values:
              - en
            uriSegment: en
          ja:
            label: 'Japanese'
            values:
              - ja
            uriSegment: ja

Let me try to make a sample... ⌛

paavo commented 3 years ago

I have a Property products where you can reference multiple Products Vendor.Project:Document.Product

The standard references Element only shows Nodes of type Vendor.Project:Document.Product who are existing Also the Product Titles are shown in the current Dimension

'Vendor.Project:Content.Element':
  ...
  properties:
    products:
      type: references
      ui:
        label: Product(s)
        showInCreationDialog: true
        reloadPageIfChanged: true
        inspector:
          group: settings
          editorOptions:
            nodeTypes: ['Vendor.Project:Document.Product']

After switching to tms/select i can see all Vendor.Project:Document.Product - even if they not exist in the current dimension. Also the Product Titles are not localised (shown in default dimension i think)

'Vendor.Project:Content.Element':
  ...
  properties:
    products:
      type: references
      ui:
        label: Product(s)
        showInCreationDialog: true
        reloadPageIfChanged: true
        inspector:
          group: settings
          editor: 'Neos.Neos/Inspector/Editors/SelectBoxEditor'
          editorOptions:
            multiple: true
            dataSourceIdentifier: 'tms-select-nodedata'
            dataSourceAdditionalData:
              nodeTypes: ['Vendor.Project:Document.Product']

We can have a Slack-Call and i can show you the Issue if this helps @jobee

But first, have a good weekend 🎉

jobee commented 3 years ago

@paavo I've just released a new version, please test if this also fixes your dimension issues

paavo commented 3 years ago

Thank you very much @jobee - this works well 👍 I specially like the new setLabelPrefixByNodeContext option.