From 43ed448b3cf371eb7cff76e7aad3c13e9a76fe36 Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Mon, 29 Jul 2019 17:00:49 +0200 Subject: [PATCH 1/2] feat: allow override of registerElement --- platform/nativescript/element-registry.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/platform/nativescript/element-registry.js b/platform/nativescript/element-registry.js index a9cd6c1c..18f137f9 100644 --- a/platform/nativescript/element-registry.js +++ b/platform/nativescript/element-registry.js @@ -25,9 +25,10 @@ export function registerElement(elementName, resolver, meta) { meta = Object.assign({}, defaultViewMeta, meta) - if (elementMap[normalizedName]) { - throw new Error(`Element for ${elementName} already registered.`) - } + // allow override of elements classes (N ones especially) + // if (elementMap[normalizedName]) { + // throw new Error(`Element for ${elementName} already registered.`) + // } if (!meta.component) { // if no Vue component is passed, wrap the simpler vue component From a94424e4324448af34b94dd7293f72c53cd10ecc Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Thu, 9 Apr 2020 10:31:31 +0200 Subject: [PATCH 2/2] fix: log when element was already registered --- platform/nativescript/element-registry.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/platform/nativescript/element-registry.js b/platform/nativescript/element-registry.js index 18f137f9..01ca523a 100644 --- a/platform/nativescript/element-registry.js +++ b/platform/nativescript/element-registry.js @@ -1,4 +1,5 @@ import * as builtInComponents from './runtime/components' +import { trace } from './util' const elementMap = {} const nativeRegExp = /Native/gi @@ -26,9 +27,11 @@ export function registerElement(elementName, resolver, meta) { meta = Object.assign({}, defaultViewMeta, meta) // allow override of elements classes (N ones especially) - // if (elementMap[normalizedName]) { - // throw new Error(`Element for ${elementName} already registered.`) - // } + // this is very practical in case you want to test new component + // or simply override the global Button for example + if (elementMap[normalizedName]) { + trace(`Element for ${elementName} already registered.`) + } if (!meta.component) { // if no Vue component is passed, wrap the simpler vue component