Better to wait for an official fix. You could try to override fillFromMaster method for the StoreChained mixin with the next code
fillFromMaster() {
const
me = this,
{ masterStore, isTree } = me,
// the || is for BW compat since we had public demos using store.chain(() => true)
isRecordFilter = me.chainedFilterFn.length > 0 || me.chainedFilterFn.toString().length <= 10;
let records;
if (!me.isChained) {
throw new Error('fillFromMaster only allowed on chained store');
}
if (me.keepUncommittedChanges) {
if (isTree) {
throw new Error('Cannot use keepUncommittedChanges on a chained tree store');
}
if (isRecordFilter) {
records = masterStore.allRecords.filter(r => !me.removed.includes(r) && !me.added.includes(r) && me.chainedFilterFn(r));
}
else {
records = me.chainedFilterFn().filter(r => !me.removed.includes(r) && !me.added.includes(r));
}
me.data = me.added.values.filter(r => !me.removed.includes(r)).concat(records);
}
else {
if (isRecordFilter) {
records = masterStore.allRecords.filter(me.chainedFilterFn);
}
else {
records = me.chainedFilterFn();
}
if (isTree) {
// All nodes will be registered
me.idRegister = {};
me.internalIdRegister = {};
// *all* owned records have to join, as they would have done if they'd all gone through
// the appendChild route for this store.
records.forEach(r => {
if (r.isModel) {
if (r.stores.includes(me)) {
me.register(r);
}
else {
r.joinStore(me);
}
}
});
// We exclude collapsed records by default. It's used in Columns Store.
// Because grid columns is a tree store when subgrid columns is just a chained store of the columns store.
// And we don't need to include collapsed column.
// If we need to show collapsed nodes in Combo we need to chain tree store and set `excludeCollapsedRecords` to `false`.
if (me.excludeCollapsedRecords) {
const children = me.getChildren(me.rootNode);
records = me.doIncludeExclude(children, true);
}
}
me.data = records;
}
}
Better to wait for an official fix. You could try to override fillFromMaster method for the StoreChained mixin with the next code
fillFromMaster() {
const
me = this,
{ masterStore, isTree } = me,
// the || is for BW compat since we had public demos using store.chain(() => true)
isRecordFilter = me.chainedFilterFn.length > 0 || me.chainedFilterFn.toString().length <= 10;
let records;
if (!me.isChained) {
throw new Error('fillFromMaster only allowed on chained store');
}
if (me.keepUncommittedChanges) {
if (isTree) {
throw new Error('Cannot use keepUncommittedChanges on a chained tree store');
}
if (isRecordFilter) {
records = masterStore.allRecords.filter(r => !me.removed.includes(r) && !me.added.includes(r) && me.chainedFilterFn(r));
}
else {
records = me.chainedFilterFn().filter(r => !me.removed.includes(r) && !me.added.includes(r));
}
me.data = me.added.values.filter(r => !me.removed.includes(r)).concat(records);
}
else {
if (isRecordFilter) {
records = masterStore.allRecords.filter(me.chainedFilterFn);
}
else {
records = me.chainedFilterFn();
}
if (isTree) {
// All nodes will be registered
me.idRegister = {};
me.internalIdRegister = {};
// *all* owned records have to join, as they would have done if they'd all gone through
// the appendChild route for this store.
records.forEach(r => {
if (r.isModel) {
if (r.stores.includes(me)) {
me.register(r);
}
else {
r.joinStore(me);
}
}
});
// We exclude collapsed records by default. It's used in Columns Store.
// Because grid columns is a tree store when subgrid columns is just a chained store of the columns store.
// And we don't need to include collapsed column.
// If we need to show collapsed nodes in Combo we need to chain tree store and set `excludeCollapsedRecords` to `false`.
if (me.excludeCollapsedRecords) {
const children = me.getChildren(me.rootNode);
records = me.doIncludeExclude(children, true);
}
}
me.data = records;
}
}
Better to wait for an official fix. You could try to override fillFromMaster method for the StoreChained mixin with the next code
fillFromMaster() {
const
me = this,
{ masterStore, isTree } = me,
// the || is for BW compat since we had public demos using store.chain(() => true)
isRecordFilter = me.chainedFilterFn.length > 0 || me.chainedFilterFn.toString().length <= 10;
let records;
if (!me.isChained) {
throw new Error('fillFromMaster only allowed on chained store');
}
if (me.keepUncommittedChanges) {
if (isTree) {
throw new Error('Cannot use keepUncommittedChanges on a chained tree store');
}
if (isRecordFilter) {
records = masterStore.allRecords.filter(r => !me.removed.includes(r) && !me.added.includes(r) && me.chainedFilterFn(r));
}
else {
records = me.chainedFilterFn().filter(r => !me.removed.includes(r) && !me.added.includes(r));
}
me.data = me.added.values.filter(r => !me.removed.includes(r)).concat(records);
}
else {
if (isRecordFilter) {
records = masterStore.allRecords.filter(me.chainedFilterFn);
}
else {
records = me.chainedFilterFn();
}
if (isTree) {
// All nodes will be registered
me.idRegister = {};
me.internalIdRegister = {};
// *all* owned records have to join, as they would have done if they'd all gone through
// the appendChild route for this store.
records.forEach(r => {
if (r.isModel) {
if (r.stores.includes(me)) {
me.register(r);
}
else {
r.joinStore(me);
}
}
});
// We exclude collapsed records by default. It's used in Columns Store.
// Because grid columns is a tree store when subgrid columns is just a chained store of the columns store.
// And we don't need to include collapsed column.
// If we need to show collapsed nodes in Combo we need to chain tree store and set `excludeCollapsedRecords` to `false`.
if (me.excludeCollapsedRecords) {
const children = me.getChildren(me.rootNode);
records = me.doIncludeExclude(children, true);
}
}
me.data = records;
}
}
But this is just a temp fix that is not tested.
How and where should I call the new class that overrides above method? I guess official next release is going to take 2 to 3 weeks