Merge pull request #486 from alquist/master

Display a dropdown for enums inside pattern properties
This commit is contained in:
Jos de Jong 2017-11-22 15:53:11 +01:00 committed by GitHub
commit 5dac87c424
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 46 additions and 13 deletions

View File

@ -25,7 +25,7 @@
*
* @author Jos de Jong, <wjosdejong@gmail.com>
* @version 5.10.1
* @date 2017-11-15
* @date 2017-11-20
*/
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
@ -6537,7 +6537,18 @@ return /******/ (function(modules) { // webpackBootstrap
for (var i = 0; i < path.length && childSchema; 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;
if (childSchema) {
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>
* @version 5.10.1
* @date 2017-11-15
* @date 2017-11-20
*/
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
@ -14048,7 +14048,18 @@ return /******/ (function(modules) { // webpackBootstrap
for (var i = 0; i < path.length && childSchema; 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;
if (childSchema) {
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

View File

@ -2069,7 +2069,18 @@ Node._findSchema = function (schema, path) {
for (var i = 0; i < path.length && childSchema; 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;
if (childSchema) {
foundSchema = Node._findSchema(childSchema, path.slice(i, path.length));