Released version 5.1.3

This commit is contained in:
jos 2016-02-03 08:14:46 +01:00
parent 2a4fa900e6
commit 8be330393a
8 changed files with 998 additions and 998 deletions

View File

@ -3,7 +3,7 @@
https://github.com/josdejong/jsoneditor
## not yet released, version 5.1.3
## 2016-02-03, version 5.1.3
- Fixed #264: Clicking items in the context menu not working on Firefox.

View File

@ -24,8 +24,8 @@
* Copyright (c) 2011-2016 Jos de Jong, http://jsoneditoronline.org
*
* @author Jos de Jong, <wjosdejong@gmail.com>
* @version 5.1.2
* @date 2016-01-21
* @version 5.1.3
* @date 2016-02-03
*/
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
@ -460,12 +460,12 @@ return /******/ (function(modules) { // webpackBootstrap
/* 1 */
/***/ function(module, exports, __webpack_require__) {
var Highlighter = __webpack_require__(4);
var History = __webpack_require__(5);
var SearchBox = __webpack_require__(6);
var ContextMenu = __webpack_require__(7);
var Node = __webpack_require__(8);
var modeswitcher = __webpack_require__(9);
var Highlighter = __webpack_require__(5);
var History = __webpack_require__(6);
var SearchBox = __webpack_require__(7);
var ContextMenu = __webpack_require__(8);
var Node = __webpack_require__(9);
var modeswitcher = __webpack_require__(4);
var util = __webpack_require__(3);
// create a mixin with the functions for tree mode
@ -1624,7 +1624,7 @@ return /******/ (function(modules) { // webpackBootstrap
// failed to load ace, no problem, we will fall back to plain text
}
var modeswitcher = __webpack_require__(9);
var modeswitcher = __webpack_require__(4);
var util = __webpack_require__(3);
// create a mixin with the functions for text mode
@ -2865,6 +2865,117 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
/* 4 */
/***/ function(module, exports, __webpack_require__) {
var ContextMenu = __webpack_require__(8);
/**
* Create a select box to be used in the editor menu's, which allows to switch mode
* @param {Object} editor
* @param {String[]} modes Available modes: 'code', 'form', 'text', 'tree', 'view'
* @param {String} current Available modes: 'code', 'form', 'text', 'tree', 'view'
* @returns {HTMLElement} box
*/
function createModeSwitcher(editor, modes, current) {
// TODO: decouple mode switcher from editor
/**
* Switch the mode of the editor
* @param {String} mode
*/
function switchMode(mode) {
// switch mode
editor.setMode(mode);
// restore focus on mode box
var modeBox = editor.dom && editor.dom.modeBox;
if (modeBox) {
modeBox.focus();
}
}
// available modes
var availableModes = {
code: {
'text': 'Code',
'title': 'Switch to code highlighter',
'click': function () {
switchMode('code')
}
},
form: {
'text': 'Form',
'title': 'Switch to form editor',
'click': function () {
switchMode('form');
}
},
text: {
'text': 'Text',
'title': 'Switch to plain text editor',
'click': function () {
switchMode('text');
}
},
tree: {
'text': 'Tree',
'title': 'Switch to tree editor',
'click': function () {
switchMode('tree');
}
},
view: {
'text': 'View',
'title': 'Switch to tree view',
'click': function () {
switchMode('view');
}
}
};
// list the selected modes
var items = [];
for (var i = 0; i < modes.length; i++) {
var mode = modes[i];
var item = availableModes[mode];
if (!item) {
throw new Error('Unknown mode "' + mode + '"');
}
item.className = 'jsoneditor-type-modes' + ((current == mode) ? ' jsoneditor-selected' : '');
items.push(item);
}
// retrieve the title of current mode
var currentMode = availableModes[current];
if (!currentMode) {
throw new Error('Unknown mode "' + current + '"');
}
var currentTitle = currentMode.text;
// create the html element
var box = document.createElement('button');
box.className = 'jsoneditor-modes jsoneditor-separator';
box.innerHTML = currentTitle + ' &#x25BE;';
box.title = 'Switch editor mode';
box.onclick = function () {
var menu = new ContextMenu(items);
menu.show(box);
};
var div = document.createElement('div');
div.className = 'jsoneditor-modes';
div.style.position = 'relative';
div.appendChild(box);
return div;
}
exports.create = createModeSwitcher;
/***/ },
/* 5 */
/***/ function(module, exports, __webpack_require__) {
/**
@ -2954,7 +3065,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
/* 5 */
/* 6 */
/***/ function(module, exports, __webpack_require__) {
var util = __webpack_require__(3);
@ -3212,7 +3323,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
/* 6 */
/* 7 */
/***/ function(module, exports, __webpack_require__) {
/**
@ -3513,7 +3624,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
/* 7 */
/* 8 */
/***/ function(module, exports, __webpack_require__) {
var util = __webpack_require__(3);
@ -3590,7 +3701,7 @@ return /******/ (function(modules) { // webpackBootstrap
button.title = item.title;
}
if (item.click) {
button.onclick = function () {
button.onclick = function (event) {
event.preventDefault();
me.hide();
item.click();
@ -3974,10 +4085,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
/* 8 */
/* 9 */
/***/ function(module, exports, __webpack_require__) {
var ContextMenu = __webpack_require__(7);
var ContextMenu = __webpack_require__(8);
var appendNodeFactory = __webpack_require__(12);
var util = __webpack_require__(3);
@ -7379,117 +7490,6 @@ return /******/ (function(modules) { // webpackBootstrap
module.exports = Node;
/***/ },
/* 9 */
/***/ function(module, exports, __webpack_require__) {
var ContextMenu = __webpack_require__(7);
/**
* Create a select box to be used in the editor menu's, which allows to switch mode
* @param {Object} editor
* @param {String[]} modes Available modes: 'code', 'form', 'text', 'tree', 'view'
* @param {String} current Available modes: 'code', 'form', 'text', 'tree', 'view'
* @returns {HTMLElement} box
*/
function createModeSwitcher(editor, modes, current) {
// TODO: decouple mode switcher from editor
/**
* Switch the mode of the editor
* @param {String} mode
*/
function switchMode(mode) {
// switch mode
editor.setMode(mode);
// restore focus on mode box
var modeBox = editor.dom && editor.dom.modeBox;
if (modeBox) {
modeBox.focus();
}
}
// available modes
var availableModes = {
code: {
'text': 'Code',
'title': 'Switch to code highlighter',
'click': function () {
switchMode('code')
}
},
form: {
'text': 'Form',
'title': 'Switch to form editor',
'click': function () {
switchMode('form');
}
},
text: {
'text': 'Text',
'title': 'Switch to plain text editor',
'click': function () {
switchMode('text');
}
},
tree: {
'text': 'Tree',
'title': 'Switch to tree editor',
'click': function () {
switchMode('tree');
}
},
view: {
'text': 'View',
'title': 'Switch to tree view',
'click': function () {
switchMode('view');
}
}
};
// list the selected modes
var items = [];
for (var i = 0; i < modes.length; i++) {
var mode = modes[i];
var item = availableModes[mode];
if (!item) {
throw new Error('Unknown mode "' + mode + '"');
}
item.className = 'jsoneditor-type-modes' + ((current == mode) ? ' jsoneditor-selected' : '');
items.push(item);
}
// retrieve the title of current mode
var currentMode = availableModes[current];
if (!currentMode) {
throw new Error('Unknown mode "' + current + '"');
}
var currentTitle = currentMode.text;
// create the html element
var box = document.createElement('button');
box.className = 'jsoneditor-modes jsoneditor-separator';
box.innerHTML = currentTitle + ' &#x25BE;';
box.title = 'Switch editor mode';
box.onclick = function () {
var menu = new ContextMenu(items);
menu.show(box);
};
var div = document.createElement('div');
div.className = 'jsoneditor-modes';
div.style.position = 'relative';
div.appendChild(box);
return div;
}
exports.create = createModeSwitcher;
/***/ },
/* 10 */
/***/ function(module, exports, __webpack_require__) {
@ -7933,7 +7933,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ function(module, exports, __webpack_require__) {
var util = __webpack_require__(3);
var ContextMenu = __webpack_require__(7);
var ContextMenu = __webpack_require__(8);
/**
* A factory function to create an AppendNode, which depends on a Node

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1686
dist/jsoneditor.js vendored

File diff suppressed because it is too large Load Diff

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

@ -1,6 +1,6 @@
{
"name": "jsoneditor",
"version": "5.1.2",
"version": "5.1.3",
"main": "./index",
"description": "A web-based tool to view, edit, format, and validate JSON",
"tags": [