Skip to content

Commit 5114dbb

Browse files
authored
Merge pull request #5813 from plotly/sort-object-key-values-in-schema
Sort object key values in schema
2 parents e683025 + b67d4a5 commit 5114dbb

File tree

10 files changed

+176
-162
lines changed

10 files changed

+176
-162
lines changed

Diff for: draftlogs/5813_change.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- Sort object key values in schema [[#5813](https://github.com/plotly/plotly.js/pull/5813)]

Diff for: src/components/calendars/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ var ONEDAY = constants.ONEDAY;
1010

1111
var attributes = {
1212
valType: 'enumerated',
13-
values: Object.keys(calendars.calendars),
13+
values: Lib.sortObjectKeys(calendars.calendars),
1414
editType: 'calc',
1515
dflt: 'gregorian'
1616
};

Diff for: src/components/colorscale/attributes.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22

33
var colorbarAttrs = require('../colorbar/attributes');
44
var counterRegex = require('../../lib/regex').counter;
5+
var sortObjectKeys = require('../../lib/sort_object_keys');
56

67
var palettes = require('./scales.js').scales;
7-
var paletteStr = Object.keys(palettes);
8+
var paletteStr = sortObjectKeys(palettes);
89

910
function code(s) {
1011
return '`' + s + '`';

Diff for: src/lib/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ lib.roundUp = searchModule.roundUp;
6767
lib.sort = searchModule.sort;
6868
lib.findIndexOfMin = searchModule.findIndexOfMin;
6969

70+
lib.sortObjectKeys = require('./sort_object_keys');
71+
7072
var statsModule = require('./stats');
7173
lib.aggNums = statsModule.aggNums;
7274
lib.len = statsModule.len;

Diff for: src/lib/sort_object_keys.js

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
'use strict';
2+
3+
module.exports = function sortObjectKeys(obj) {
4+
return Object.keys(obj).sort();
5+
};

Diff for: src/plots/geo/layout_attributes.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ var colorAttrs = require('../../components/color/attributes');
44
var domainAttrs = require('../domain').attributes;
55
var constants = require('./constants');
66
var overrideAll = require('../../plot_api/edit_types').overrideAll;
7+
var sortObjectKeys = require('../../lib/sort_object_keys');
78

89
var geoAxesAttrs = {
910
range: {
@@ -100,14 +101,14 @@ var attrs = module.exports = overrideAll({
100101
},
101102
scope: {
102103
valType: 'enumerated',
103-
values: Object.keys(constants.scopeDefaults),
104+
values: sortObjectKeys(constants.scopeDefaults),
104105
dflt: 'world',
105106
description: 'Set the scope of the map.'
106107
},
107108
projection: {
108109
type: {
109110
valType: 'enumerated',
110-
values: Object.keys(constants.projNames),
111+
values: sortObjectKeys(constants.projNames),
111112
description: 'Sets the projection type.'
112113
},
113114
rotation: {

Diff for: src/plots/mapbox/constants.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
'use strict';
22

3+
var sortObjectKeys = require('../../lib/sort_object_keys');
4+
35
var requiredVersion = '1.10.1';
46

57
var OSM = '© <a target="_blank" href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors';
@@ -156,7 +158,7 @@ var stylesNonMapbox = {
156158
}
157159
};
158160

159-
var styleValuesNonMapbox = Object.keys(stylesNonMapbox);
161+
var styleValuesNonMapbox = sortObjectKeys(stylesNonMapbox);
160162

161163
module.exports = {
162164
requiredVersion: requiredVersion,

Diff for: src/traces/scatter3d/attributes.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ var DASHES = require('../../constants/gl3d_dashes');
1111
var MARKER_SYMBOLS = require('../../constants/gl3d_markers');
1212
var extendFlat = require('../../lib/extend').extendFlat;
1313
var overrideAll = require('../../plot_api/edit_types').overrideAll;
14+
var sortObjectKeys = require('../../lib/sort_object_keys');
1415

1516
var scatterLineAttrs = scatterAttrs.line;
1617
var scatterMarkerAttrs = scatterAttrs.marker;
@@ -20,7 +21,7 @@ var lineAttrs = extendFlat({
2021
width: scatterLineAttrs.width,
2122
dash: {
2223
valType: 'enumerated',
23-
values: Object.keys(DASHES),
24+
values: sortObjectKeys(DASHES),
2425
dflt: 'solid',
2526
description: 'Sets the dash style of the lines.'
2627
}
@@ -122,7 +123,7 @@ var attrs = module.exports = overrideAll({
122123
marker: extendFlat({ // Parity with scatter.js?
123124
symbol: {
124125
valType: 'enumerated',
125-
values: Object.keys(MARKER_SYMBOLS),
126+
values: sortObjectKeys(MARKER_SYMBOLS),
126127
dflt: 'circle',
127128
arrayOk: true,
128129
description: 'Sets the marker symbol type.'

Diff for: src/traces/scattergl/attributes.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ var scatterAttrs = require('../scatter/attributes');
55
var axisHoverFormat = require('../../plots/cartesian/axis_format_attributes').axisHoverFormat;
66
var colorScaleAttrs = require('../../components/colorscale/attributes');
77

8+
var sortObjectKeys = require('../../lib/sort_object_keys');
89
var extendFlat = require('../../lib/extend').extendFlat;
910
var overrideAll = require('../../plot_api/edit_types').overrideAll;
1011
var DASHES = require('./constants').DASHES;
@@ -59,7 +60,7 @@ var attrs = module.exports = overrideAll({
5960
},
6061
dash: {
6162
valType: 'enumerated',
62-
values: Object.keys(DASHES),
63+
values: sortObjectKeys(DASHES),
6364
dflt: 'solid',
6465
description: 'Sets the style of the lines.'
6566
}

0 commit comments

Comments
 (0)