Skip to content

Commit

Permalink
Handle properly Component model defaults as functions. Closes Grape…
Browse files Browse the repository at this point in the history
  • Loading branch information
artf authored and pety-dc committed Aug 14, 2023
1 parent 82f8387 commit 9a79897
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions src/dom_components/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -480,8 +480,7 @@ export default class ComponentManager extends ItemManagerModule<DomComponentsCon

// If the model/view is a simple object I need to extend it
if (typeof model === 'object') {
const defaults = result(model, 'defaults');
// @ts-ignore
const modelDefaults = { defaults: model.defaults };
delete model.defaults;
methods.model = modelToExt.extend(
{
Expand All @@ -492,12 +491,12 @@ export default class ComponentManager extends ItemManagerModule<DomComponentsCon
isComponent: compType && !extendType && !isComponent ? modelToExt.isComponent : isComponent || (() => 0),
}
);
// @ts-ignore
Object.defineProperty(methods.model.prototype, 'defaults', {
value: {
// Reassign the defaults getter to the model
Object.defineProperty(methods.model!.prototype, 'defaults', {
get: () => ({
...(result(modelToExt.prototype, 'defaults') || {}),
...(defaults || {}),
},
...(result(modelDefaults, 'defaults') || {}),
}),
});
}

Expand Down

0 comments on commit 9a79897

Please sign in to comment.