@refinitiv-ui/efx-grid 6.0.32 → 6.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/lib/core/dist/core.js +197 -46
  2. package/lib/core/dist/core.min.js +1 -1
  3. package/lib/core/es6/data/DataTable.d.ts +1 -1
  4. package/lib/core/es6/data/DataTable.js +9 -8
  5. package/lib/core/es6/data/DataView.js +1 -1
  6. package/lib/core/es6/data/Segment.d.ts +2 -0
  7. package/lib/core/es6/data/Segment.js +16 -0
  8. package/lib/core/es6/data/SegmentCollection.d.ts +1 -3
  9. package/lib/core/es6/data/SegmentCollection.js +25 -18
  10. package/lib/core/es6/grid/Core.d.ts +4 -0
  11. package/lib/core/es6/grid/Core.js +27 -6
  12. package/lib/core/es6/grid/plugins/SortableTitlePlugin.d.ts +1 -0
  13. package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +36 -12
  14. package/lib/grid/index.js +1 -1
  15. package/lib/grid/themes/halo/dark/efx-grid.js +1 -1
  16. package/lib/grid/themes/halo/dark/es5/all-elements.js +1 -1
  17. package/lib/grid/themes/halo/efx-grid.less +2 -0
  18. package/lib/grid/themes/halo/light/efx-grid.js +1 -1
  19. package/lib/grid/themes/halo/light/es5/all-elements.js +1 -1
  20. package/lib/rt-grid/dist/rt-grid.js +945 -331
  21. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  22. package/lib/rt-grid/es6/ColumnDefinition.js +13 -8
  23. package/lib/rt-grid/es6/DataConnector.js +3 -2
  24. package/lib/rt-grid/es6/Grid.d.ts +3 -1
  25. package/lib/rt-grid/es6/Grid.js +130 -28
  26. package/lib/rt-grid/es6/RowDefinition.d.ts +7 -2
  27. package/lib/rt-grid/es6/RowDefinition.js +49 -11
  28. package/lib/rt-grid/es6/SnapshotFiller.d.ts +1 -0
  29. package/lib/rt-grid/es6/SnapshotFiller.js +1 -11
  30. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.d.ts +4 -0
  31. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +58 -30
  32. package/lib/tr-grid-column-stack/es6/ColumnStack.d.ts +2 -0
  33. package/lib/tr-grid-column-stack/es6/ColumnStack.js +56 -22
  34. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.d.ts +12 -5
  35. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +128 -42
  36. package/lib/tr-grid-heat-map/es6/HeatMap.d.ts +3 -3
  37. package/lib/tr-grid-heat-map/es6/HeatMap.js +13 -2
  38. package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +2 -1
  39. package/lib/tr-grid-row-dragging/es6/RowDragging.js +142 -17
  40. package/lib/tr-grid-textformatting/es6/TextFormatting.d.ts +20 -20
  41. package/lib/tr-grid-textformatting/es6/TextFormatting.js +37 -138
  42. package/lib/tr-grid-util/es6/CellPainter.d.ts +1 -1
  43. package/lib/tr-grid-util/es6/CellPainter.js +56 -55
  44. package/lib/tr-grid-util/es6/FieldFormatter.js +6 -2
  45. package/lib/tr-grid-util/es6/GroupDefinitions.d.ts +2 -0
  46. package/lib/tr-grid-util/es6/GroupDefinitions.js +15 -0
  47. package/lib/tr-grid-util/es6/NumberFormatter.js +23 -11
  48. package/lib/tr-grid-util/es6/Util.d.ts +6 -0
  49. package/lib/tr-grid-util/es6/Util.js +68 -0
  50. package/lib/tr-grid-util/es6/jet/CollectionDict.d.ts +1 -1
  51. package/lib/tr-grid-util/es6/jet/CollectionDict.js +12 -2
  52. package/lib/tr-grid-util/es6/jet/MockQuotes2.js +170 -47
  53. package/lib/types/es6/ColumnGrouping.d.ts +4 -0
  54. package/lib/types/es6/ColumnSelection.d.ts +2 -0
  55. package/lib/types/es6/ColumnStack.d.ts +2 -0
  56. package/lib/types/es6/ConditionalColoring.d.ts +12 -5
  57. package/lib/types/es6/Core/data/Segment.d.ts +2 -0
  58. package/lib/types/es6/Core/data/SegmentCollection.d.ts +1 -3
  59. package/lib/types/es6/Core/grid/Core.d.ts +4 -0
  60. package/lib/types/es6/Core/grid/plugins/SortableTitlePlugin.d.ts +1 -0
  61. package/lib/types/es6/Core/grid/util/SelectionList.d.ts +6 -2
  62. package/lib/types/es6/HeatMap.d.ts +3 -3
  63. package/lib/types/es6/RealtimeGrid/Grid.d.ts +3 -1
  64. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +7 -2
  65. package/lib/types/es6/RealtimeGrid/SnapshotFiller.d.ts +1 -0
  66. package/lib/types/es6/RowDragging.d.ts +25 -2
  67. package/lib/types/es6/StatisticsRow.d.ts +25 -25
  68. package/lib/types/es6/TextFormatting.d.ts +20 -20
  69. package/lib/versions.json +7 -7
  70. package/package.json +1 -1
@@ -6,9 +6,10 @@
6
6
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7
7
 
8
8
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9
+ /* harmony export */ "Qr": () => (/* binding */ isEmptyObject),
9
10
  /* harmony export */ "kI": () => (/* binding */ cloneObject)
10
11
  /* harmony export */ });
11
- /* unused harmony exports Util, extendObject, arrayToObject, extendProperty, extendArrayProperty, parseCondition, prettifyCss, getShadowRoot, injectCss, isIE, isMac, isTouchDevice, nestedObjectToArray, rgb2Hex, prepareTSVContent */
12
+ /* unused harmony exports Util, extendObject, deepEqual, arrayToObject, extendProperty, extendArrayProperty, parseCondition, prettifyCss, getShadowRoot, injectCss, isIE, isMac, isTouchDevice, nestedObjectToArray, rgb2Hex, prepareTSVContent */
12
13
  /** @namespace */
13
14
  var Util = {};
14
15
 
@@ -149,6 +150,20 @@ var extendObject = function (obj, extender, limiters) {
149
150
  var cloneObject = function (obj, limiters) {
150
151
  return extendObject({}, obj, limiters);
151
152
  };
153
+
154
+ /** Check empty object
155
+ * @public
156
+ * @function
157
+ * @param {Object} obj
158
+ * @return {boolean}=true, if the obj is empty
159
+ */
160
+ var isEmptyObject = function (obj) {
161
+ for (var key in obj) {
162
+ return false;
163
+ }
164
+ return true;
165
+ };
166
+
152
167
  /** @public
153
168
  * @param {Array=} data
154
169
  * @param {Array.<string>=} fields In case of the given data is an array, this param will be used for mapping index to field
@@ -197,6 +212,58 @@ var extendProperty = function (obj, extender, propName) {
197
212
  }
198
213
  }
199
214
  };
215
+
216
+
217
+ /** Compare the values of obj1 and obj2. if they are the same object or have the same value, the result will be true. Otherwise, it will return false.
218
+ * @public
219
+ * @param {*} obj1
220
+ * @param {*} obj2
221
+ * @return {boolean}
222
+ */
223
+ var deepEqual = function (obj1, obj2) {
224
+
225
+ if(obj1 === obj2) {
226
+ return true;
227
+ }
228
+
229
+ if (typeof obj1 !== typeof obj2) {
230
+ return false;
231
+ }
232
+
233
+ if (typeof obj1 === "object") {
234
+
235
+ // We need to split array and object for performance reason
236
+ if(Array.isArray(obj1)) {
237
+ if(obj1.length !== obj2.length) {
238
+ return false;
239
+ }
240
+
241
+ for (var i = 0; i < obj1.length; i++) {
242
+ if (!deepEqual(obj1[i], obj2[i])) { // The array may not be a match if the elements are not sorted, so it will not be considered equal if there is a mismatch.
243
+ return false;
244
+ }
245
+ }
246
+
247
+ } else {
248
+
249
+ if (Object.keys(obj1).length !== Object.keys(obj2).length) {
250
+ return false;
251
+ }
252
+
253
+ for (var key in obj1) {
254
+ if (!deepEqual(obj1[key], obj2[key])) {
255
+ return false;
256
+ }
257
+ }
258
+ }
259
+
260
+
261
+ return true;
262
+ }
263
+
264
+ return false;
265
+
266
+ };
200
267
  /** Array.push() is much faster than Array.concat(). The downside is the parameters must be an array, whereas concat() has no such requirement. <br>
201
268
  * This method excels in extending known array property in an object.
202
269
  * @public
@@ -11843,7 +11910,22 @@ GroupDefinitions.prototype.setGroupChildren = function (groupId, newChildList) {
11843
11910
  }
11844
11911
  return false;
11845
11912
  };
11913
+ /** @public
11914
+ * @param {string} groupId
11915
+ * @param {string} groupName
11916
+ * @return {boolean}
11917
+ */
11918
+ GroupDefinitions.prototype.setGroupName = function (groupId, groupName) {
11919
+ var groupDef = this._groupMap[groupId];
11920
+ if(groupDef) {
11921
+ if(groupDef.name !== groupName) {
11922
+ groupDef.name = groupName;
11923
+ return true;
11924
+ }
11925
+ }
11846
11926
 
11927
+ return false;
11928
+ };
11847
11929
  /* harmony default export */ const es6_GroupDefinitions = ((/* unused pure expression or super */ null && (GroupDefinitions)));
11848
11930
 
11849
11931
 
@@ -14030,6 +14112,22 @@ Segment.prototype.getOrder = function() {
14030
14112
  }
14031
14113
  return this._order * 10000;
14032
14114
  };
14115
+ /** Get the last (highest) order from the entire tree regardless of the current position segment in the hierachy
14116
+ * @public
14117
+ * @return {number}
14118
+ */
14119
+ Segment.prototype.getLastOrder = function() {
14120
+ if(this._subSegDef) {
14121
+ var subSegments = this._subSegDef.subSegments;
14122
+ if(subSegments) {
14123
+ var lastSegment = subSegments[subSegments.length - 1];
14124
+ if(lastSegment) {
14125
+ return lastSegment.getOrder();
14126
+ }
14127
+ }
14128
+ }
14129
+ return this.getOrder();
14130
+ };
14033
14131
  /** @public
14034
14132
  * @param {number} val
14035
14133
  */
@@ -14151,9 +14249,10 @@ SegmentCollection.prototype.dispose = function() {
14151
14249
  };
14152
14250
  /** @public
14153
14251
  * @param {string} rid
14252
+ * @param {Array.<string>=} childRids Children of the newly added segment. This is a shorthand to addSegmentChildren method
14154
14253
  * @return {boolean} Returns true if there is any change. Otherwise, returns false
14155
14254
  */
14156
- SegmentCollection.prototype.addSegment = function(rid) {
14255
+ SegmentCollection.prototype.addSegment = function(rid, childRids) {
14157
14256
  if(rid && !this._segments[rid]) {
14158
14257
  if(this.getParentRowId(rid)) {
14159
14258
  console.log("child of a segment cannot be set as a segment separator");
@@ -14164,6 +14263,10 @@ SegmentCollection.prototype.addSegment = function(rid) {
14164
14263
  segment.addEventListener("subSegmentRemoved", this._onSubSegmentRemoved);
14165
14264
  ++this._segmentCount;
14166
14265
  this._segmentList = null; // order could be changed
14266
+
14267
+ if(childRids && childRids.length) {
14268
+ segment.addChildren(childRids);
14269
+ }
14167
14270
  return true;
14168
14271
  }
14169
14272
  return false;
@@ -14511,9 +14614,10 @@ SegmentCollection.prototype.calcSegmentOrder = function(rids) {
14511
14614
  };
14512
14615
  /** @public
14513
14616
  * @param {!Array.<string>} rids Array of row ids
14617
+ * @param {boolean=} partial Indicating that the given ids are not the whole list
14514
14618
  * @return {Array.<number>} Returns Array of segment values, if there are at least one segment, otherwise returns null
14515
- */
14516
- SegmentCollection.prototype.getSegmentValues = function(rids) {
14619
+ */ //
14620
+ SegmentCollection.prototype.getSegmentValues = function(rids, partial) {
14517
14621
  var rowCount = rids ? rids.length : 0;
14518
14622
  if(!rowCount) {
14519
14623
  return null;
@@ -14530,29 +14634,30 @@ SegmentCollection.prototype.getSegmentValues = function(rids) {
14530
14634
  var rid = rids[r];
14531
14635
  curSegment = segmentSeparators[rid];
14532
14636
  if(curSegment) { // segment separator
14533
- if(prevSegment !== curSegment) {
14534
- prevSegment = curSegment;
14535
- segmentVal = curSegment.getOrder() * 100;
14536
- if(segmentVal > highestVal) {
14537
- highestVal = segmentVal;
14637
+ segmentVal = curSegment.getOrder() * 100;
14638
+ offset = 0;
14639
+ if(!curSegment.isSubSegment()) {
14640
+ if(prevSegment !== curSegment) {
14641
+ prevSegment = curSegment;
14642
+ highestVal = curSegment.getLastOrder() * 100;
14538
14643
  }
14539
14644
  }
14540
- offset = 0;
14541
14645
  } else {
14542
14646
  var parentId = childToSegmentId[rid];
14543
14647
  if(parentId) { // segment member
14544
14648
  curSegment = segmentSeparators[parentId];
14545
- if(prevSegment !== curSegment) {
14546
- prevSegment = curSegment;
14547
- segmentVal = curSegment.getOrder() * 100;
14548
- if(segmentVal > highestVal) {
14549
- highestVal = segmentVal;
14550
- }
14551
- }
14649
+ segmentVal = curSegment.getOrder() * 100;
14552
14650
  offset = 1;
14651
+ if(partial) {
14652
+ highestVal = curSegment.getLastOrder() * 100;
14653
+ }
14553
14654
  } else { // row outside of segments
14554
- segmentVal = highestVal;
14555
- offset = 10;
14655
+ if(highestVal) {
14656
+ segmentVal = highestVal;
14657
+ offset = 10;
14658
+ } else {
14659
+ segmentVal = offset = 0;
14660
+ }
14556
14661
  }
14557
14662
  }
14558
14663
 
@@ -15734,11 +15839,12 @@ DataTable.prototype.getSegmentParentRowId = function(rid) {
15734
15839
  /**
15735
15840
  * @public
15736
15841
  * @param {Array.<string>=} rids If no row id is given, row ids of this data table is used instead
15842
+ * @param {boolean=} partial Indicating that the given ids are not the whole list
15737
15843
  * @return {Array.<number>} Return null if there is no segmentation
15738
15844
  */
15739
- DataTable.prototype.getSegmentValues = function(rids) {
15845
+ DataTable.prototype.getSegmentValues = function(rids, partial) {
15740
15846
  if(this._segments) {
15741
- return this._segments.getSegmentValues(rids || this._rids);
15847
+ return this._segments.getSegmentValues(rids || this._rids, partial);
15742
15848
  }
15743
15849
  return null;
15744
15850
  };
@@ -15821,9 +15927,9 @@ DataTable.prototype.addSegmentChild = function(segmentId, rid, dataId) {
15821
15927
  if(this._segments) {
15822
15928
  var dirty = this._segments.addSegmentChild(segmentId, rid, dataId);
15823
15929
  if(dirty) {
15824
- if(this._sort(null)) {
15825
- this._dispatchPositionChange();
15826
- }
15930
+ this._sort(null);
15931
+ this._dispatchPositionChange(); // Force rerendering, even if there is no position change
15932
+
15827
15933
  this.requestClassifying();
15828
15934
  return true;
15829
15935
  }
@@ -15840,9 +15946,9 @@ DataTable.prototype.addSegmentChildren = function(segmentId, rids, dataIds) {
15840
15946
  if(this._segments) {
15841
15947
  var dirty = this._segments.addSegmentChildren(segmentId, rids, dataIds);
15842
15948
  if(dirty) {
15843
- if(this._sort(null)) {
15844
- this._dispatchPositionChange();
15845
- }
15949
+ this._sort(null);
15950
+ this._dispatchPositionChange(); // Force rerendering, even if there is no position change
15951
+
15846
15952
  this.requestClassifying();
15847
15953
  return true;
15848
15954
  }
@@ -21834,7 +21940,7 @@ DataView.prototype._sort = function() {
21834
21940
  if(this._dt._getSegmentSeparators() || this.isSorting()) {
21835
21941
  var rids = this._rids;
21836
21942
  var dataRows = this._dt.getMultipleRowData(rids);
21837
- var segmentValues = this._dt.getSegmentValues(rids);
21943
+ var segmentValues = this._dt.getSegmentValues(rids, true); // WARNING: This does not work well for hidden/filtered rows
21838
21944
  var change = data_DataTable._performMultiLevelSorting(dataRows, this._sortingDefs, segmentValues);
21839
21945
 
21840
21946
  if(change) {
@@ -25588,7 +25694,7 @@ Core_Core.prototype._groupDefs = null;
25588
25694
  * @return {string}
25589
25695
  */
25590
25696
  Core_Core.getVersion = function () {
25591
- return "5.1.41";
25697
+ return "5.1.45";
25592
25698
  };
25593
25699
  /** {@link ElementWrapper#dispose}
25594
25700
  * @override
@@ -25724,10 +25830,10 @@ Core_Core.prototype.getConfigObject = function (gridOptions) {
25724
25830
  }
25725
25831
  }
25726
25832
 
25727
- if(this._rowHighlighting) {
25728
- obj["rowHighlighting"] = true;
25729
- }
25730
- obj["columnVirtualization"] = this._colVirtualizer.isEnabled();
25833
+ // It will be overwrite in rt-grid or atlas-blotter
25834
+ obj["rowVirtualization"] = this.isRowVirtualizationEnabled();
25835
+ obj["columnVirtualization"] = this.isColumnVirtualizationEnabled();
25836
+ obj["rowHighlighting"] = this._rowHighlighting;
25731
25837
 
25732
25838
  if(this._fixFrozenTopSections) {
25733
25839
  obj["topFreezingCount"] = this._startVScrollbarIndex >= 0 ? (this._startVScrollbarIndex + 1) : false;
@@ -25740,7 +25846,13 @@ Core_Core.prototype.getConfigObject = function (gridOptions) {
25740
25846
  if(this._rowScrollingStep) {
25741
25847
  obj["stepScroll"] = (this._rowScrollingStep === 1) ? true : this._rowScrollingStep;
25742
25848
  }
25743
- obj["autoHideScrollbar"] = this._vscrollbar.getAutoHide(); // this._hscrollbar has the same settings
25849
+
25850
+ var val = this._vscrollbar.getAutoHide();
25851
+ if(val !== true) {
25852
+ // TODO: check this._hscrollbar and this._vscrollbar can be difference config
25853
+ obj["autoHideScrollbar"] = val; // this._hscrollbar has the same settings
25854
+ }
25855
+
25744
25856
  var wheelSpeed = this._vscrollbar.getMouseWheelSpeed();
25745
25857
  if(wheelSpeed) {
25746
25858
  obj["linearWheelScrolling"] = wheelSpeed;
@@ -28713,6 +28825,14 @@ Core_Core.prototype.enableRowVirtualization = function (opt_enabled) {
28713
28825
  this._rowVirtualizer.deactivate();
28714
28826
  }
28715
28827
  };
28828
+
28829
+ /** @public
28830
+ * @return {boolean}
28831
+ */
28832
+ Core_Core.prototype.isRowVirtualizationEnabled = function () {
28833
+ return this._rowVirtualizer.isEnabled();
28834
+ };
28835
+
28716
28836
  /** No runtime support
28717
28837
  * @public
28718
28838
  * @param {boolean=} opt_enabled
@@ -28727,6 +28847,13 @@ Core_Core.prototype.enableColumnVirtualization = function (opt_enabled) {
28727
28847
  }
28728
28848
  };
28729
28849
 
28850
+ /** @public
28851
+ * @return {boolean}
28852
+ */
28853
+ Core_Core.prototype.isColumnVirtualizationEnabled = function () {
28854
+ return this._colVirtualizer.isEnabled();
28855
+ };
28856
+
28730
28857
  /** Scrolling step will be multiple of the default row height in pixels. For example, if default row height is 32 pixel and row scrolling step is 2, <br>
28731
28858
  * then the actual scrolling step for vertical scrollbar will be (32 * 2) = 64 pixels
28732
28859
  * @public
@@ -30732,6 +30859,7 @@ Core_Core._proto = Core_Core.prototype;
30732
30859
 
30733
30860
 
30734
30861
 
30862
+
30735
30863
  /* eslint-enable */
30736
30864
 
30737
30865
  /** Fired when user click and before the sorting operation.
@@ -31191,7 +31319,10 @@ SortableTitlePlugin.prototype.getConfigObject = function (gridOptions) {
31191
31319
  }
31192
31320
  field = opt["field"];
31193
31321
  if (field) {
31194
- col["sortBy"] = field;
31322
+ if(col["field"] !== field) {
31323
+ col["sortBy"] = field;
31324
+ } // else The default value is an empty sortBy, which refers to the same column field by default.
31325
+
31195
31326
  if (this._sortingSequenceMap && this._sortingSequenceMap[field]) {
31196
31327
  col["sortingSequence"] = this._sortingSequenceMap[field];
31197
31328
  }
@@ -31204,16 +31335,32 @@ SortableTitlePlugin.prototype.getConfigObject = function (gridOptions) {
31204
31335
  extOptions = obj["sorting"] = {};
31205
31336
  }
31206
31337
 
31207
- extOptions["initialSort"] = this.getSortedColumns();
31208
- extOptions["sortableIndicator"] = this._sortableIndicator;
31338
+ var val = this.getSortedColumns();
31339
+ if(val != null) {
31340
+ extOptions["initialSort"] = val;
31341
+ }
31342
+
31343
+ val = this._sortableIndicator;
31344
+ if(val !== false) {
31345
+ extOptions["sortableIndicator"] = val;
31346
+ }
31347
+
31209
31348
  if(this._maxCount !== 1) {
31210
31349
  extOptions["multiColumn"] = this._maxCount === -1 ? true : this._maxCount;
31211
31350
  }
31212
31351
  if(this._dblClickAllowed) {
31213
31352
  extOptions["disableDoubleClickToSort"] = !this._dblClickAllowed;
31214
31353
  }
31215
- extOptions["sortableColumns"] = this._sortableColumns;
31216
- extOptions["indicatorOnly"] = !this._dataSorting;
31354
+
31355
+ val = this._sortableColumns;
31356
+ if(val !== true) {
31357
+ extOptions["sortableColumns"] = val;
31358
+ }
31359
+
31360
+ val = this._dataSorting;
31361
+ if(val !== true) {
31362
+ extOptions["indicatorOnly"] = val;
31363
+ }
31217
31364
  // extOptions["mode"] = this._mode;
31218
31365
  if(this._disabled) {
31219
31366
  extOptions["disabled"] = true;
@@ -31230,6 +31377,10 @@ SortableTitlePlugin.prototype.getConfigObject = function (gridOptions) {
31230
31377
  extOptions["sortingSequence"] = sortingSeq.slice();
31231
31378
  }
31232
31379
 
31380
+ if((0,es6_Util/* isEmptyObject */.Qr)(obj["sorting"])) {
31381
+ delete obj["sorting"];
31382
+ }
31383
+
31233
31384
  return obj;
31234
31385
  };
31235
31386
 
@@ -32367,16 +32518,16 @@ SortableTitlePlugin.prototype._updateSortableIndicator = function (hostIndex) {
32367
32518
  symbol = t._createIconElem(icon, textContent);
32368
32519
  symbol.className = "sort-symbol";
32369
32520
  cell["insertFloatingIcon"](symbol, 0);
32370
-
32371
- if (t._sortStates.length > 1) {
32372
- symbol = document.createElement("span");
32373
- symbol.className = "priority-symbol";
32374
- symbol.textContent = priority + 1;
32375
- cell["insertFloatingIcon"](symbol, 1);
32376
- }
32377
32521
  } else {
32378
32522
  cell["addClass"]("edge-indicator");
32379
32523
  }
32524
+
32525
+ if (t._sortStates.length > 1) {
32526
+ symbol = document.createElement("span");
32527
+ symbol.className = "priority-symbol";
32528
+ symbol.textContent = priority + 1;
32529
+ cell["insertFloatingIcon"](symbol, 1);
32530
+ }
32380
32531
  } else if (t._sortableIndicator) { // Can sort but currently not sorting
32381
32532
  icon = SortableTitlePlugin._icons["sortable"];
32382
32533
  symbol = t._createIconElem(icon, CODE_DIAMOND);