josdejong/jsoneditor

enum dropdown in anyOf \ oneOf

Open

#1 653 ouverte le 21 mars 2025

Voir sur GitHub
 (1 commentaire) (0 réactions) (0 assignés)JavaScript (2 034 forks)batch import
featurehelp wanted

Métriques du dépôt

Stars
 (10 781 stars)
Métriques de merge PR
 (Merge moyen 15h 36m) (3 PRs mergées en 30 j)

Description

Hi! Thanks for the fantastic library!

I have an issue with enums, maybe someone can help me with it.

Given I have a schema:

  rules: {
    type: 'array',
    items: {
      oneOf: [
        {
          type: 'object',
          properties: {
            val: { type: 'number' },
            op: {
              type: 'string',
              enum: ['lessThan', 'greaterThan', 'equals'],
            },
          },
        },
        {
          type: 'object',
          properties: {
            val: { type: ['number', 'string'] },
            op: {
              type: 'string',
              enum: ['before', 'after', 'equals'],
            },
          },
        },
        {
          type: 'object',
          properties: {
            val: { type: 'string' },
            op: {
              type: 'string',
              enum: ['beginsWith', 'endsWith', 'contains', 'equals',]
            },
          },
        },
      ],
    },
  }

If I create a rule with any of those types, validation works well and it displays no errors. However in the op field dropdown always only values from ['lessThan', 'greaterThan', 'equals'] displayed.

I've tried if\then schemas, this actually disables enum dropdowns in general and replaces it with a regular string input mode. I've tried const discriminators, but no luck so far.

Maybe I'm missing something? I would appreciate any help. Thanks.

Guide contributeur