neo.mjs 4.4.3 → 4.4.4
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.
- package/package.json +1 -1
- package/src/list/Base.mjs +21 -11
- package/src/selection/ListModel.mjs +1 -1
package/package.json
CHANGED
package/src/list/Base.mjs
CHANGED
@@ -432,10 +432,17 @@ class Base extends Component {
|
|
432
432
|
* @param {Boolean} [silent=false]
|
433
433
|
*/
|
434
434
|
createItems(silent=false) {
|
435
|
-
let me
|
436
|
-
|
435
|
+
let me = this,
|
436
|
+
headerlessActiveIndex = me.headerlessActiveIndex,
|
437
|
+
vdom = me.getVdomRoot(),
|
437
438
|
listItem;
|
438
439
|
|
440
|
+
// in case we set headerlessActiveIndex before the store was loaded, activeIndex can be null
|
441
|
+
// and the wanted selection is not initially there
|
442
|
+
if (Neo.isNumber(headerlessActiveIndex) && !Neo.isNumber(me.activeIndex)) {
|
443
|
+
me.afterSetHeaderlessActiveIndex(headerlessActiveIndex, null);
|
444
|
+
}
|
445
|
+
|
439
446
|
if (!(me.animate && !me.getPlugin('animate'))) {
|
440
447
|
vdom.cn = [];
|
441
448
|
|
@@ -484,11 +491,17 @@ class Base extends Component {
|
|
484
491
|
getActiveIndex(headerlessIndex) {
|
485
492
|
let delta = 0,
|
486
493
|
i = 0,
|
487
|
-
records = this.store.items
|
494
|
+
records = this.store.items,
|
495
|
+
len = headerlessIndex;
|
496
|
+
|
497
|
+
if (records.length < 1) {
|
498
|
+
return null;
|
499
|
+
}
|
488
500
|
|
489
|
-
for (; i <=
|
501
|
+
for (; i <= len; i++) {
|
490
502
|
if (records[i].isHeader) {
|
491
503
|
delta++;
|
504
|
+
len++;
|
492
505
|
}
|
493
506
|
}
|
494
507
|
|
@@ -511,18 +524,15 @@ class Base extends Component {
|
|
511
524
|
getHeaderlessIndex(index) {
|
512
525
|
let headerlessIndex = 0,
|
513
526
|
i = 0,
|
514
|
-
records = this.store.items
|
515
|
-
len = records.length;
|
527
|
+
records = this.store.items;
|
516
528
|
|
517
|
-
for (; i <
|
529
|
+
for (; i < index; i++) {
|
518
530
|
if (!records[i].isHeader) {
|
519
531
|
headerlessIndex++;
|
520
|
-
|
521
|
-
if (headerlessIndex === index) {
|
522
|
-
return i;
|
523
|
-
}
|
524
532
|
}
|
525
533
|
}
|
534
|
+
|
535
|
+
return headerlessIndex;
|
526
536
|
}
|
527
537
|
|
528
538
|
/**
|