Created repair button in text mode
This commit is contained in:
parent
cba5659e78
commit
a958e229f9
|
@ -9,7 +9,8 @@ https://github.com/josdejong/jsoneditor
|
||||||
- Implemented a status bar showing cursor location.
|
- Implemented a status bar showing cursor location.
|
||||||
Thanks @meirotstein.
|
Thanks @meirotstein.
|
||||||
- Implemented repairing JSON objects containing left and right single
|
- Implemented repairing JSON objects containing left and right single
|
||||||
and double quotes (which you get when typing a JSON object in Word).
|
and double quotes (which you get when typing a JSON object in Word)
|
||||||
|
in `text` and `code` mode.
|
||||||
|
|
||||||
|
|
||||||
## 2017-09-16, version 5.9.6
|
## 2017-09-16, version 5.9.6
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
height="144"
|
height="144"
|
||||||
id="svg4136"
|
id="svg4136"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
inkscape:version="0.91 r"
|
inkscape:version="0.91 r13725"
|
||||||
sodipodi:docname="jsoneditor-icons.svg">
|
sodipodi:docname="jsoneditor-icons.svg">
|
||||||
<title
|
<title
|
||||||
id="title6512">JSON Editor Icons</title>
|
id="title6512">JSON Editor Icons</title>
|
||||||
|
@ -39,12 +39,12 @@
|
||||||
inkscape:pageopacity="0"
|
inkscape:pageopacity="0"
|
||||||
inkscape:pageshadow="2"
|
inkscape:pageshadow="2"
|
||||||
inkscape:window-width="1920"
|
inkscape:window-width="1920"
|
||||||
inkscape:window-height="1028"
|
inkscape:window-height="1027"
|
||||||
id="namedview4144"
|
id="namedview4144"
|
||||||
showgrid="true"
|
showgrid="true"
|
||||||
inkscape:zoom="4"
|
inkscape:zoom="4"
|
||||||
inkscape:cx="97.217248"
|
inkscape:cx="74.167308"
|
||||||
inkscape:cy="59.950227"
|
inkscape:cy="53.488549"
|
||||||
inkscape:window-x="0"
|
inkscape:window-x="0"
|
||||||
inkscape:window-y="0"
|
inkscape:window-y="0"
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
|
@ -710,49 +710,49 @@
|
||||||
width="15.99999"
|
width="15.99999"
|
||||||
y="101"
|
y="101"
|
||||||
x="76.000008"
|
x="76.000008"
|
||||||
style="fill:#ffffff;fill-opacity:0.80000007;stroke:none;stroke-width:0" />
|
style="fill:#ffffff;fill-opacity:0.8;stroke:none;stroke-width:0" />
|
||||||
<rect
|
<rect
|
||||||
id="rect4761-0"
|
id="rect4761-0"
|
||||||
height="1.9999945"
|
height="1.9999945"
|
||||||
width="15.99999"
|
width="15.99999"
|
||||||
y="105"
|
y="105"
|
||||||
x="76.000008"
|
x="76.000008"
|
||||||
style="fill:#ffffff;fill-opacity:0.80000007;stroke:none;stroke-width:0" />
|
style="fill:#ffffff;fill-opacity:0.8;stroke:none;stroke-width:0" />
|
||||||
<rect
|
<rect
|
||||||
id="rect4761-7"
|
id="rect4761-7"
|
||||||
height="1.9999945"
|
height="1.9999945"
|
||||||
width="9"
|
width="9"
|
||||||
y="109"
|
y="109"
|
||||||
x="76.000008"
|
x="76.000008"
|
||||||
style="fill:#ffffff;fill-opacity:0.80000007;stroke:none;stroke-width:0" />
|
style="fill:#ffffff;fill-opacity:0.8;stroke:none;stroke-width:0" />
|
||||||
<rect
|
<rect
|
||||||
id="rect4761-1-1"
|
id="rect4761-1-1"
|
||||||
height="1.9999945"
|
height="1.9999945"
|
||||||
width="12"
|
width="12"
|
||||||
y="125"
|
y="125"
|
||||||
x="76.000008"
|
x="76.000008"
|
||||||
style="fill:#ffffff;fill-opacity:0.80000007;stroke:none;stroke-width:0" />
|
style="fill:#ffffff;fill-opacity:0.8;stroke:none;stroke-width:0" />
|
||||||
<rect
|
<rect
|
||||||
id="rect4761-1-1-4"
|
id="rect4761-1-1-4"
|
||||||
height="1.9999945"
|
height="1.9999945"
|
||||||
width="10"
|
width="10"
|
||||||
y="137"
|
y="137"
|
||||||
x="76.000008"
|
x="76.000008"
|
||||||
style="fill:#ffffff;fill-opacity:0.80000007;stroke:none;stroke-width:0" />
|
style="fill:#ffffff;fill-opacity:0.8;stroke:none;stroke-width:0" />
|
||||||
<rect
|
<rect
|
||||||
id="rect4761-1-1-4-4"
|
id="rect4761-1-1-4-4"
|
||||||
height="1.9999945"
|
height="1.9999945"
|
||||||
width="10"
|
width="10"
|
||||||
y="129"
|
y="129"
|
||||||
x="82"
|
x="82"
|
||||||
style="fill:#ffffff;fill-opacity:0.80000007;stroke:none;stroke-width:0" />
|
style="fill:#ffffff;fill-opacity:0.8;stroke:none;stroke-width:0" />
|
||||||
<rect
|
<rect
|
||||||
id="rect4761-1-1-4-4-3"
|
id="rect4761-1-1-4-4-3"
|
||||||
height="1.9999945"
|
height="1.9999945"
|
||||||
width="9"
|
width="9"
|
||||||
y="133"
|
y="133"
|
||||||
x="82"
|
x="82"
|
||||||
style="fill:#ffffff;fill-opacity:0.80000007;stroke:none;stroke-width:0" />
|
style="fill:#ffffff;fill-opacity:0.8;stroke:none;stroke-width:0" />
|
||||||
<path
|
<path
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.66157866;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.66157866;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
@ -890,4 +890,9 @@
|
||||||
id="path4300-6"
|
id="path4300-6"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
sodipodi:nodetypes="cccc" />
|
sodipodi:nodetypes="cccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:0.80000001;fill-opacity:0.80000001"
|
||||||
|
d="m 99,113 3,3 7,-7 3,0 2,-1 1,-2 0,-3 -3,3 -3,-3 3,-3 -3,0 -2,1 -1,2 0,3 z"
|
||||||
|
id="path4268"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
@ -71,6 +71,9 @@ div.jsoneditor-menu > button.jsoneditor-compact {
|
||||||
div.jsoneditor-menu > button.jsoneditor-format {
|
div.jsoneditor-menu > button.jsoneditor-format {
|
||||||
background-position: -72px -120px;
|
background-position: -72px -120px;
|
||||||
}
|
}
|
||||||
|
div.jsoneditor-menu > button.jsoneditor-repair {
|
||||||
|
background-position: -96px -96px;
|
||||||
|
}
|
||||||
|
|
||||||
div.jsoneditor-menu > div.jsoneditor-modes {
|
div.jsoneditor-menu > div.jsoneditor-modes {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|
|
@ -136,6 +136,22 @@ textmode.create = function (container, options) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// create repair button
|
||||||
|
var buttonRepair = document.createElement('button');
|
||||||
|
buttonRepair.type = 'button';
|
||||||
|
buttonRepair.className = 'jsoneditor-repair';
|
||||||
|
buttonRepair.title = 'Repair JSON data: fix quotes and escape characters, remove comments and JSONP notation.';
|
||||||
|
this.menu.appendChild(buttonRepair);
|
||||||
|
buttonRepair.onclick = function () {
|
||||||
|
try {
|
||||||
|
me.repair();
|
||||||
|
me._onChange();
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
me._onError(err);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// create mode box
|
// create mode box
|
||||||
if (this.options && this.options.modes && this.options.modes.length) {
|
if (this.options && this.options.modes && this.options.modes.length) {
|
||||||
this.modeSwitcher = new ModeSwitcher(this.menu, this.options.modes, this.options.mode, function onSwitch(mode) {
|
this.modeSwitcher = new ModeSwitcher(this.menu, this.options.modes, this.options.mode, function onSwitch(mode) {
|
||||||
|
@ -414,7 +430,7 @@ textmode.destroy = function () {
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compact the code in the formatter
|
* Compact the code in the text editor
|
||||||
*/
|
*/
|
||||||
textmode.compact = function () {
|
textmode.compact = function () {
|
||||||
var json = this.get();
|
var json = this.get();
|
||||||
|
@ -423,7 +439,7 @@ textmode.compact = function () {
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Format the code in the formatter
|
* Format the code in the text editor
|
||||||
*/
|
*/
|
||||||
textmode.format = function () {
|
textmode.format = function () {
|
||||||
var json = this.get();
|
var json = this.get();
|
||||||
|
@ -431,6 +447,15 @@ textmode.format = function () {
|
||||||
this.setText(text);
|
this.setText(text);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Repair the code in the text editor
|
||||||
|
*/
|
||||||
|
textmode.repair = function () {
|
||||||
|
var text = this.getText();
|
||||||
|
var sanitizedText = util.sanitize(text);
|
||||||
|
this.setText(sanitizedText);
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set focus to the formatter
|
* Set focus to the formatter
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue