chore: cleanup

This commit is contained in:
Nathan Walker
2020-07-27 15:11:09 -07:00
parent 2efe8f8135
commit c7db78b586
21 changed files with 203 additions and 177 deletions

View File

@@ -3,45 +3,47 @@ g.initGlobal();
// Register "dynamically" loaded module that need to be resolved by the
// XML/component builders.
import * as coreUIModules from './ui/index';
global.registerModule('@nativescript/core/ui', () => coreUIModules);
global.registerModule('text/formatted-string', () => require('./text/formatted-string'));
global.registerModule('text/span', () => require('./text/span'));
global.registerModule('ui/text-base/formatted-string', () => require('./ui/text-base/formatted-string'));
global.registerModule('ui/text-base/span', () => require('./ui/text-base/span'));
global.registerModule('ui/action-bar', () => require('./ui/action-bar'));
global.registerModule('ui/activity-indicator', () => require('./ui/activity-indicator'));
global.registerModule('ui/bottom-navigation', () => require('./ui/bottom-navigation'));
global.registerModule('ui/button', () => require('./ui/button'));
global.registerModule('ui/content-view', () => require('./ui/content-view'));
global.registerModule('ui/date-picker', () => require('./ui/date-picker'));
global.registerModule('ui/frame', () => require('./ui/frame'));
global.registerModule('ui/html-view', () => require('./ui/html-view'));
global.registerModule('ui/image', () => require('./ui/image'));
global.registerModule('ui/label', () => require('./ui/label'));
global.registerModule('ui/layouts/absolute-layout', () => require('./ui/layouts/absolute-layout'));
global.registerModule('ui/layouts/dock-layout', () => require('./ui/layouts/dock-layout'));
global.registerModule('ui/layouts/grid-layout', () => require('./ui/layouts/grid-layout'));
global.registerModule('ui/layouts/stack-layout', () => require('./ui/layouts/stack-layout'));
global.registerModule('ui/layouts/flexbox-layout', () => require('./ui/layouts/flexbox-layout'));
global.registerModule('ui/layouts/wrap-layout', () => require('./ui/layouts/wrap-layout'));
global.registerModule('ui/list-picker', () => require('./ui/list-picker'));
global.registerModule('ui/page', () => require('./ui/page'));
global.registerModule('ui/placeholder', () => require('./ui/placeholder'));
global.registerModule('ui/progress', () => require('./ui/progress'));
global.registerModule('ui/proxy-view-container', () => require('./ui/proxy-view-container'));
global.registerModule('ui/repeater', () => require('./ui/repeater'));
global.registerModule('ui/scroll-view', () => require('./ui/scroll-view'));
global.registerModule('ui/search-bar', () => require('./ui/search-bar'));
global.registerModule('ui/segmented-bar', () => require('./ui/segmented-bar'));
global.registerModule('ui/slider', () => require('./ui/slider'));
global.registerModule('ui/switch', () => require('./ui/switch'));
global.registerModule('ui/tab-view', () => require('./ui/tab-view'));
global.registerModule('ui/tab-navigation-base/tab-strip', () => require('./ui/tab-navigation-base/tab-strip'));
global.registerModule('ui/tab-navigation-base/tab-strip-item', () => require('./ui/tab-navigation-base/tab-strip-item'));
global.registerModule('ui/tab-navigation-base/tab-content-item', () => require('./ui/tab-navigation-base/tab-content-item'));
global.registerModule('ui/tabs', () => require('./ui/tabs'));
global.registerModule('ui/web-view', () => require('./ui/web-view'));
global.registerModule('ui/text-field', () => require('./ui/text-field'));
global.registerModule('ui/text-view', () => require('./ui/text-view'));
global.registerModule('ui/time-picker', () => require('./ui/time-picker'));
global.registerModule('ui/list-view', () => require('./ui/list-view'));
// global.registerModule('text/formatted-string', () => require('./text/formatted-string'));
// global.registerModule('text/span', () => require('./text/span'));
// global.registerModule('ui/text-base/formatted-string', () => require('./ui/text-base/formatted-string'));
// global.registerModule('ui/text-base/span', () => require('./ui/text-base/span'));
// global.registerModule('ui/action-bar', () => require('./ui/action-bar'));
// global.registerModule('ui/activity-indicator', () => require('./ui/activity-indicator'));
// global.registerModule('ui/bottom-navigation', () => require('./ui/bottom-navigation'));
// global.registerModule('ui/button', () => require('./ui/button'));
// global.registerModule('ui/content-view', () => require('./ui/content-view'));
// global.registerModule('ui/date-picker', () => require('./ui/date-picker'));
// global.registerModule('ui/frame', () => require('./ui/frame'));
// global.registerModule('ui/html-view', () => require('./ui/html-view'));
// global.registerModule('ui/image', () => require('./ui/image'));
// global.registerModule('ui/label', () => require('./ui/label'));
// global.registerModule('ui/layouts/absolute-layout', () => require('./ui/layouts/absolute-layout'));
// global.registerModule('ui/layouts/dock-layout', () => require('./ui/layouts/dock-layout'));
// global.registerModule('ui/layouts/grid-layout', () => require('./ui/layouts/grid-layout'));
// global.registerModule('ui/layouts/stack-layout', () => require('./ui/layouts/stack-layout'));
// global.registerModule('ui/layouts/flexbox-layout', () => require('./ui/layouts/flexbox-layout'));
// global.registerModule('ui/layouts/wrap-layout', () => require('./ui/layouts/wrap-layout'));
// global.registerModule('ui/list-picker', () => require('./ui/list-picker'));
// global.registerModule('ui/page', () => require('./ui/page'));
// global.registerModule('ui/placeholder', () => require('./ui/placeholder'));
// global.registerModule('ui/progress', () => require('./ui/progress'));
// global.registerModule('ui/proxy-view-container', () => require('./ui/proxy-view-container'));
// global.registerModule('ui/repeater', () => require('./ui/repeater'));
// global.registerModule('ui/scroll-view', () => require('./ui/scroll-view'));
// global.registerModule('ui/search-bar', () => require('./ui/search-bar'));
// global.registerModule('ui/segmented-bar', () => require('./ui/segmented-bar'));
// global.registerModule('ui/slider', () => require('./ui/slider'));
// global.registerModule('ui/switch', () => require('./ui/switch'));
// global.registerModule('ui/tab-view', () => require('./ui/tab-view'));
// global.registerModule('ui/tab-navigation-base/tab-strip', () => require('./ui/tab-navigation-base/tab-strip'));
// global.registerModule('ui/tab-navigation-base/tab-strip-item', () => require('./ui/tab-navigation-base/tab-strip-item'));
// global.registerModule('ui/tab-navigation-base/tab-content-item', () => require('./ui/tab-navigation-base/tab-content-item'));
// global.registerModule('ui/tabs', () => require('./ui/tabs'));
// global.registerModule('ui/web-view', () => require('./ui/web-view'));
// global.registerModule('ui/text-field', () => require('./ui/text-field'));
// global.registerModule('ui/text-view', () => require('./ui/text-view'));
// global.registerModule('ui/time-picker', () => require('./ui/time-picker'));
// global.registerModule('ui/list-view', () => require('./ui/list-view'));

View File

@@ -22,6 +22,7 @@ const maxTabsCount = 5;
const majorVersion = iOSNativeHelper.MajorVersion;
const isPhone = Device.deviceType === 'Phone';
@NativeClass
class UITabBarControllerImpl extends UITabBarController {
private _owner: WeakRef<BottomNavigation>;

View File

@@ -27,7 +27,50 @@ const MODULES = {
NavigationButton: 'ui/action-bar',
SegmentedBarItem: 'ui/segmented-bar',
};
const legacyShortBarrels = [
'text/formatted-string',
'text/span',
'ui/text-base/formatted-string',
'ui/text-base/span',
'ui/action-bar',
'ui/activity-indicator',
'ui/bottom-navigation',
'ui/button',
'ui/content-view',
'ui/date-picker',
'ui/frame',
'ui/html-view',
'ui/image',
'ui/label',
'ui/layouts/absolute-layout',
'ui/layouts/dock-layout',
'ui/layouts/grid-layout',
'ui/layouts/stack-layout',
'ui/layouts/flexbox-layout',
'ui/layouts/wrap-layout',
'ui/list-picker',
'ui/page',
'ui/placeholder',
'ui/progress',
'ui/proxy-view-container',
'ui/repeater',
'ui/scroll-view',
'ui/search-bar',
'ui/segmented-bar',
'ui/slider',
'ui/switch',
'ui/tab-view',
'ui/tab-navigation-base/tab-strip',
'ui/tab-navigation-base/tab-strip-item',
'ui/tab-navigation-base/tab-content-item',
'ui/tabs',
'ui/web-view',
'ui/text-field',
'ui/text-view',
'ui/time-picker',
'ui/list-view',
];
const CORE_UI_BARREL = '@nativescript/core/ui';
const CODE_FILE = 'codeFile';
const CSS_FILE = 'cssFile';
const IMPORT = 'import';
@@ -39,21 +82,28 @@ const createComponentInstance = profile('createComponentInstance', (elementName:
let resolvedModuleName;
try {
if (typeof namespace === 'string') {
resolvedModuleName = resolveModuleName(namespace, '');
if (legacyShortBarrels.includes(namespace)) {
// console.log('CORE_UI_BARREL namespace:', namespace)
resolvedModuleName = CORE_UI_BARREL;
} else {
// console.log('CUSTOM namespace:', namespace)
resolvedModuleName = resolveModuleName(namespace, '');
}
instanceModule = global.loadModule(resolvedModuleName, true);
} else {
// load module from @nativescript/core/ui or mapped paths
resolvedModuleName =
MODULES[elementName] ||
UI_PATH +
(elementName.toLowerCase().indexOf('layout') !== -1 ? 'layouts/' : '') +
elementName
.split(/(?=[A-Z])/)
.join('-')
.toLowerCase();
// resolvedModuleName =
// MODULES[elementName] ||
// UI_PATH +
// (elementName.toLowerCase().indexOf('layout') !== -1 ? 'layouts/' : '') +
// elementName
// .split(/(?=[A-Z])/)
// .join('-')
// .toLowerCase();
instanceModule = global.loadModule(CORE_UI_BARREL, false);
// don't register core modules for HMR self-accept
instanceModule = global.loadModule(resolvedModuleName, false);
// instanceModule = global.loadModule(resolvedModuleName, false);
}
// Get the component type from module.

View File

@@ -463,6 +463,7 @@ function _getLongPressData(args: GestureEventData): GestureEventDataWithState {
};
}
@NativeClass
class TouchGestureRecognizer extends UIGestureRecognizer {
public observer: GesturesObserver;
private _eventData: TouchGestureEventData;

View File

@@ -25,6 +25,7 @@ interface ViewItemIndex {
type ItemView = View & ViewItemIndex;
@NativeClass
class ListViewCell extends UITableViewCell {
public static initWithEmptyBackground(): ListViewCell {
const cell = <ListViewCell>ListViewCell.new();

View File

@@ -57,6 +57,7 @@ class UISearchBarDelegateImpl extends NSObject implements UISearchBarDelegate {
}
}
@NativeClass
class UISearchBarImpl extends UISearchBar {
sizeThatFits(size: CGSize): CGSize {
// iOS11 SDK does not support passing sizeThatFits(...) non-finite width value;

View File

@@ -18,6 +18,7 @@ export * from './tab-view-common';
const majorVersion = iOSNativeHelper.MajorVersion;
const isPhone = Device.deviceType === 'Phone';
@NativeClass
class UITabBarControllerImpl extends UITabBarController {
private _owner: WeakRef<TabView>;

View File

@@ -92,6 +92,7 @@ class BackgroundIndicatorTemplate extends NSObject implements MDCTabBarIndicator
}
}
@NativeClass
class UIPageViewControllerImpl extends UIPageViewController {
tabBar: MDCTabBar;
scrollView: UIScrollView;

View File

@@ -79,6 +79,7 @@ class UITextFieldDelegateImpl extends NSObject implements UITextFieldDelegate {
}
}
@NativeClass
class UITextFieldImpl extends UITextField {
private _owner: WeakRef<TextField>;

View File

@@ -71,6 +71,7 @@ class UITextViewDelegateImpl extends NSObject implements UITextViewDelegate {
}
}
@NativeClass
class NoScrollAnimationUITextView extends UITextView {
// see https://github.com/NativeScript/NativeScript/issues/6863
// UITextView internally scrolls the text you are currently typing to visible when newline character