Display a dropdown for enums inside pattern properties

This commit is contained in:
plany 2017-11-20 17:35:11 +01:00
parent c029f716da
commit 723f9f5b3f
6 changed files with 34 additions and 12 deletions

View File

@ -25,7 +25,7 @@
* *
* @author Jos de Jong, <wjosdejong@gmail.com> * @author Jos de Jong, <wjosdejong@gmail.com>
* @version 5.10.1 * @version 5.10.1
* @date 2017-11-15 * @date 2017-11-20
*/ */
(function webpackUniversalModuleDefinition(root, factory) { (function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object') if(typeof exports === 'object' && typeof module === 'object')
@ -6537,7 +6537,18 @@ return /******/ (function(modules) { // webpackBootstrap
for (var i = 0; i < path.length && childSchema; i++) { for (var i = 0; i < path.length && childSchema; i++) {
var key = path[i]; var key = path[i];
if (typeof key === 'string' && childSchema.properties) { if (typeof key === 'string' && childSchema.patternProperties && i == path.length - 1) {
for (var prop in childSchema.patternProperties) {
foundSchema = Node._findSchema(childSchema.patternProperties[prop], path.slice(i, path.length));
}
}
else if (childSchema.items && childSchema.items.properties) {
childSchema = childSchema.items.properties[key];
if (childSchema) {
foundSchema = Node._findSchema(childSchema, path.slice(i, path.length));
}
}
else if (typeof key === 'string' && childSchema.properties) {
childSchema = childSchema.properties[key] || null; childSchema = childSchema.properties[key] || null;
if (childSchema) { if (childSchema) {
foundSchema = Node._findSchema(childSchema, path.slice(i, path.length)); foundSchema = Node._findSchema(childSchema, path.slice(i, path.length));

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

15
dist/jsoneditor.js vendored
View File

@ -25,7 +25,7 @@
* *
* @author Jos de Jong, <wjosdejong@gmail.com> * @author Jos de Jong, <wjosdejong@gmail.com>
* @version 5.10.1 * @version 5.10.1
* @date 2017-11-15 * @date 2017-11-20
*/ */
(function webpackUniversalModuleDefinition(root, factory) { (function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object') if(typeof exports === 'object' && typeof module === 'object')
@ -14048,7 +14048,18 @@ return /******/ (function(modules) { // webpackBootstrap
for (var i = 0; i < path.length && childSchema; i++) { for (var i = 0; i < path.length && childSchema; i++) {
var key = path[i]; var key = path[i];
if (typeof key === 'string' && childSchema.properties) { if (typeof key === 'string' && childSchema.patternProperties && i == path.length - 1) {
for (var prop in childSchema.patternProperties) {
foundSchema = Node._findSchema(childSchema.patternProperties[prop], path.slice(i, path.length));
}
}
else if (childSchema.items && childSchema.items.properties) {
childSchema = childSchema.items.properties[key];
if (childSchema) {
foundSchema = Node._findSchema(childSchema, path.slice(i, path.length));
}
}
else if (typeof key === 'string' && childSchema.properties) {
childSchema = childSchema.properties[key] || null; childSchema = childSchema.properties[key] || null;
if (childSchema) { if (childSchema) {
foundSchema = Node._findSchema(childSchema, path.slice(i, path.length)); foundSchema = Node._findSchema(childSchema, path.slice(i, path.length));

2
dist/jsoneditor.map vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long