ember-native 2.0.0 → 2.1.1

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.
@@ -5,6 +5,7 @@ interface ListViewInterface<T> {
5
5
  Element: NativeElementNode<NativeListView>;
6
6
  Args: {
7
7
  items: T[];
8
+ key?: string;
8
9
  };
9
10
  Blocks: {
10
11
  item: [T | null];
@@ -18,6 +19,7 @@ type Ref<T> = {
18
19
  export default class ListView<T> extends Component<ListViewInterface<T>> {
19
20
  elementRefs: Ref<T>[];
20
21
  get items(): Ref<T>[];
22
+ get itemKey(): string;
21
23
  cleanup(listView: NativeElementNode<NativeListView>): void;
22
24
  setupListView: import("ember-modifier").FunctionBasedModifier<{
23
25
  Args: {
@@ -11,6 +11,7 @@ interface RadListViewInterface<T> {
11
11
  Element: NativeElementNode<NativeRadListView>;
12
12
  Args: {
13
13
  items: T[];
14
+ key?: string;
14
15
  };
15
16
  Blocks: {
16
17
  header: [];
@@ -24,6 +25,7 @@ export default class RadListView<T = any> extends Component<RadListViewInterface
24
25
  private headerElement;
25
26
  private footerElement;
26
27
  cleanup(listView: NativeElementNode<NativeRadListView>): void;
28
+ get itemKey(): string;
27
29
  get items(): {
28
30
  item: any;
29
31
  element: any;
@@ -28,6 +28,9 @@ let ListView = (_class = (_ListView = class ListView extends Component {
28
28
  listView.nativeView._getDefaultItemContent = _getDefaultItemContent;
29
29
  listView.nativeView._prepareItem = (stackLayout, index) => {
30
30
  const ref = listViewComponent.elementRefs.find(e => e.element.nativeView === stackLayout);
31
+ if (ref.index === index) {
32
+ return;
33
+ }
31
34
  ref.index = index;
32
35
  listViewComponent.elementRefs = [...listViewComponent.elementRefs];
33
36
  };
@@ -45,6 +48,12 @@ let ListView = (_class = (_ListView = class ListView extends Component {
45
48
  };
46
49
  });
47
50
  }
51
+ get itemKey() {
52
+ if (this.args.key) {
53
+ return 'item.' + this.args.key;
54
+ }
55
+ return 'item';
56
+ }
48
57
  cleanup(listView) {
49
58
  for (const elementRef of this.elementRefs) {
50
59
  const n = elementRef.element.nativeView.nativeViewProtected;
@@ -55,7 +64,7 @@ let ListView = (_class = (_ListView = class ListView extends Component {
55
64
  }
56
65
  this.elementRefs = this.elementRefs.filter(e => !!e.element.nativeView.nativeViewProtected?.getWindowToken());
57
66
  }
58
- }, setComponentTemplate(precompileTemplate("\n <list-view {{this.setupListView}} items={{@items}} ...attributes />\n {{#each this.items as |item|}}\n {{#in-element item.element}}\n {{yield item.item to=\"item\"}}\n {{/in-element}}\n {{/each}}\n ", {
67
+ }, setComponentTemplate(precompileTemplate("\n <list-view {{this.setupListView}} items={{@items}} ...attributes />\n {{#each this.items key=this.itemKey as |item|}}\n {{#in-element item.element}}\n {{yield item.item to=\"item\"}}\n {{/in-element}}\n {{/each}}\n ", {
59
68
  strictMode: true
60
69
  }), _ListView), _ListView), _descriptor = _applyDecoratedDescriptor(_class.prototype, "elementRefs", [tracked], {
61
70
  configurable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.js","sources":["../../src/components/ListView.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { modifier } from 'ember-modifier';\nimport type {\n ListView as NativeListView,\n StackLayout,\n} from '@nativescript/core';\nimport { tracked } from '@glimmer/tracking';\nimport NativeElementNode from '../dom/native/NativeElementNode.ts';\nimport DocumentNode from '../dom/nodes/DocumentNode.ts';\n\ninterface ListViewInterface<T> {\n Element: NativeElementNode<NativeListView>;\n Args: {\n items: T[];\n };\n Blocks: {\n item: [T | null];\n };\n}\n\ntype Ref<T> = {\n index: number;\n item: T | null;\n element: NativeElementNode<any>;\n};\n\nexport default class ListView<T> extends Component<ListViewInterface<T>> {\n @tracked elementRefs: Ref<T>[] = [];\n\n get items(): Ref<T>[] {\n return this.elementRefs\n .filter((x) => x.index < this.args.items.length)\n .map(({ element, index }) => {\n return {\n index,\n item: this.args.items[index] || null,\n element,\n };\n });\n }\n\n cleanup(listView: NativeElementNode<NativeListView>) {\n for (const elementRef of this.elementRefs) {\n const n = elementRef.element.nativeView.nativeViewProtected;\n if (!n || !n.getWindowToken()) {\n elementRef.element.parentNode?.removeChild(elementRef.element);\n ((listView.nativeView as any)._realizedItems as any).delete(\n elementRef.element.nativeView,\n );\n }\n }\n this.elementRefs = this.elementRefs.filter(\n (e) => !!e.element.nativeView.nativeViewProtected?.getWindowToken(),\n ) as Ref<T>[];\n }\n\n setupListView = modifier(\n function setupListView(\n this: ListView<T>,\n listView: NativeElementNode<NativeListView>,\n ) {\n const listViewComponent = this;\n function _getDefaultItemContent(index: number) {\n listViewComponent.cleanup(listView);\n const sl = DocumentNode.createElement('stack-layout');\n listView.appendChild(sl);\n listViewComponent.elementRefs.push({\n element: sl,\n item: null,\n index,\n });\n listViewComponent.elementRefs = [...listViewComponent.elementRefs];\n return sl.nativeView;\n }\n (listView.nativeView as any)._getDefaultItemContent =\n _getDefaultItemContent;\n (listView.nativeView as any)._prepareItem = (\n stackLayout: StackLayout,\n index: number,\n ) => {\n const ref = listViewComponent.elementRefs.find(\n (e) => e.element.nativeView === stackLayout,\n )!;\n ref.index = index;\n listViewComponent.elementRefs = [...listViewComponent.elementRefs];\n };\n }.bind(this),\n );\n\n <template>\n <list-view {{this.setupListView}} items={{@items}} ...attributes />\n {{#each this.items as |item|}}\n {{#in-element item.element}}\n {{yield item.item to='item'}}\n {{/in-element}}\n {{/each}}\n </template>\n}\n"],"names":["ListView","_class","_ListView","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","modifier","setupListView","listView","listViewComponent","_getDefaultItemContent","index","cleanup","sl","DocumentNode","createElement","appendChild","elementRefs","push","element","item","nativeView","_prepareItem","stackLayout","ref","find","e","bind","items","filter","x","length","map","elementRef","n","nativeViewProtected","getWindowToken","parentNode","removeChild","_realizedItems","delete","setComponentTemplate","template_fd9b2463e5f141cfb5666b64daa1f11a","strictMode","_applyDecoratedDescriptor","prototype","tracked"],"mappings":"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"}
1
+ {"version":3,"file":"ListView.js","sources":["../../src/components/ListView.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { modifier } from 'ember-modifier';\nimport type {\n ListView as NativeListView,\n StackLayout,\n} from '@nativescript/core';\nimport { tracked } from '@glimmer/tracking';\nimport NativeElementNode from '../dom/native/NativeElementNode.ts';\nimport DocumentNode from '../dom/nodes/DocumentNode.ts';\n\ninterface ListViewInterface<T> {\n Element: NativeElementNode<NativeListView>;\n Args: {\n items: T[];\n key?: string;\n };\n Blocks: {\n item: [T | null];\n };\n}\n\ntype Ref<T> = {\n index: number;\n item: T | null;\n element: NativeElementNode<any>;\n};\n\nexport default class ListView<T> extends Component<ListViewInterface<T>> {\n @tracked elementRefs: Ref<T>[] = [];\n\n get items(): Ref<T>[] {\n return this.elementRefs\n .filter((x) => x.index < this.args.items.length)\n .map(({ element, index }) => {\n return {\n index,\n item: this.args.items[index] || null,\n element,\n };\n });\n }\n\n get itemKey() {\n if (this.args.key) {\n return 'item.' + this.args.key;\n }\n return 'item';\n }\n\n cleanup(listView: NativeElementNode<NativeListView>) {\n for (const elementRef of this.elementRefs) {\n const n = elementRef.element.nativeView.nativeViewProtected;\n if (!n || !n.getWindowToken()) {\n elementRef.element.parentNode?.removeChild(elementRef.element);\n ((listView.nativeView as any)._realizedItems as any).delete(\n elementRef.element.nativeView,\n );\n }\n }\n this.elementRefs = this.elementRefs.filter(\n (e) => !!e.element.nativeView.nativeViewProtected?.getWindowToken(),\n ) as Ref<T>[];\n }\n\n setupListView = modifier(\n function setupListView(\n this: ListView<T>,\n listView: NativeElementNode<NativeListView>,\n ) {\n const listViewComponent = this;\n function _getDefaultItemContent(index: number) {\n listViewComponent.cleanup(listView);\n const sl = DocumentNode.createElement('stack-layout');\n listView.appendChild(sl);\n listViewComponent.elementRefs.push({\n element: sl,\n item: null,\n index,\n });\n listViewComponent.elementRefs = [...listViewComponent.elementRefs];\n return sl.nativeView;\n }\n (listView.nativeView as any)._getDefaultItemContent =\n _getDefaultItemContent;\n (listView.nativeView as any)._prepareItem = (\n stackLayout: StackLayout,\n index: number,\n ) => {\n const ref = listViewComponent.elementRefs.find(\n (e) => e.element.nativeView === stackLayout,\n )!;\n if (ref.index === index) {\n return;\n }\n ref.index = index;\n listViewComponent.elementRefs = [...listViewComponent.elementRefs];\n };\n }.bind(this),\n );\n\n <template>\n <list-view {{this.setupListView}} items={{@items}} ...attributes />\n {{#each this.items key=this.itemKey as |item|}}\n {{#in-element item.element}}\n {{yield item.item to='item'}}\n {{/in-element}}\n {{/each}}\n </template>\n}\n"],"names":["ListView","_class","_ListView","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","modifier","setupListView","listView","listViewComponent","_getDefaultItemContent","index","cleanup","sl","DocumentNode","createElement","appendChild","elementRefs","push","element","item","nativeView","_prepareItem","stackLayout","ref","find","e","bind","items","filter","x","length","map","itemKey","key","elementRef","n","nativeViewProtected","getWindowToken","parentNode","removeChild","_realizedItems","delete","setComponentTemplate","template_fd9b2463e5f141cfb5666b64daa1f11a","strictMode","_applyDecoratedDescriptor","prototype","tracked"],"mappings":"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"}
@@ -97,6 +97,12 @@ let RadListView = (_class2 = (_RadListView = class RadListView extends Component
97
97
  }
98
98
  }
99
99
  }
100
+ get itemKey() {
101
+ if (this.args.key) {
102
+ return 'item.' + this.args.key;
103
+ }
104
+ return 'item';
105
+ }
100
106
  get items() {
101
107
  return [...this.elementRefs.entries()].map(([element, item]) => {
102
108
  return {
@@ -105,7 +111,7 @@ let RadListView = (_class2 = (_RadListView = class RadListView extends Component
105
111
  };
106
112
  });
107
113
  }
108
- }, setComponentTemplate(precompileTemplate("\n <rad-list-view {{this.setupListView}} items={{@items}} ...attributes />\n {{#if this.listView}}\n {{#if (has-block \"header\")}}\n {{this.setupHeader}}\n {{#in-element this.headerElement}}\n {{yield to=\"header\"}}\n {{/in-element}}\n {{/if}}\n {{#each this.items as |item|}}\n {{#in-element item.element}}\n {{yield item.item to=\"item\"}}\n {{/in-element}}\n {{/each}}\n {{#if (has-block \"footer\")}}\n {{this.setupFooter}}\n {{#in-element this.footerElement}}\n {{yield to=\"footer\"}}\n {{/in-element}}\n {{/if}}\n {{/if}}\n ", {
114
+ }, setComponentTemplate(precompileTemplate("\n <rad-list-view {{this.setupListView}} items={{@items}} ...attributes />\n {{#if this.listView}}\n {{#if (has-block \"header\")}}\n {{this.setupHeader}}\n {{#in-element this.headerElement}}\n {{yield to=\"header\"}}\n {{/in-element}}\n {{/if}}\n {{#each this.items key=this.itemKey as |item|}}\n {{#in-element item.element}}\n {{yield item.item to=\"item\"}}\n {{/in-element}}\n {{/each}}\n {{#if (has-block \"footer\")}}\n {{this.setupFooter}}\n {{#in-element this.footerElement}}\n {{yield to=\"footer\"}}\n {{/in-element}}\n {{/if}}\n {{/if}}\n ", {
109
115
  strictMode: true
110
116
  }), _RadListView), _RadListView), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "listView", [tracked], {
111
117
  configurable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"RadListView.js","sources":["../../src/components/RadListView.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { modifier } from 'ember-modifier';\nimport { tracked } from '@glimmer/tracking';\nimport {\n RadListView as NativeRadListView,\n ListViewViewType,\n} from 'nativescript-ui-listview';\nimport NativeElementNode from '../dom/native/NativeElementNode.ts';\nimport DocumentNode from '../dom/nodes/DocumentNode.ts';\nimport type { StackLayout } from '@nativescript/core';\n\nclass TrackedMap extends Map<any, any> {\n @tracked counter = 0;\n set(key: any, value: any): this {\n this.counter += 1;\n super.set(key, value);\n return this;\n }\n\n get(key: any): any {\n if (this.counter === 0) return null;\n return super.get(key);\n }\n\n entries(): any {\n if (this.counter === 0) return super.entries();\n return super.entries();\n }\n}\n\ninterface RadListViewInterface<T> {\n Element: NativeElementNode<NativeRadListView>;\n Args: {\n items: T[];\n };\n Blocks: {\n header: [];\n footer: [];\n item: [T];\n };\n}\n\nexport default class RadListView<T = any> extends Component<\n RadListViewInterface<T>\n> {\n elementRefs: TrackedMap = new TrackedMap();\n @tracked private listView: NativeElementNode<NativeRadListView> | undefined;\n private declare headerElement: NativeElementNode<StackLayout>;\n private declare footerElement: NativeElementNode<StackLayout>;\n\n cleanup(listView: NativeElementNode<NativeRadListView>) {\n for (const [element] of [...this.elementRefs.entries()]) {\n const n = element.nativeView.nativeViewProtected;\n if (!n || !n.getWindowToken()) {\n this.elementRefs.delete(element);\n const idx = listView.childNodes.findIndex((c) => c === element);\n if (idx >= 0) {\n listView.childNodes.splice(idx, 1);\n }\n }\n }\n }\n\n get items() {\n return [...this.elementRefs.entries()].map(([element, item]) => {\n return {\n item,\n element,\n };\n });\n }\n\n setupListView = modifier(\n function setupListView(\n this: RadListView,\n listView: NativeElementNode<NativeRadListView>,\n ) {\n this.listView = listView;\n listView.nativeView.on('itemRecyclingInternal', () => {\n this.cleanup(listView);\n });\n const listViewComponent = this;\n function _getDefaultItemContent() {\n const sl = DocumentNode.createElement('stack-layout');\n listView.appendChild(sl);\n Object.defineProperty(sl.nativeView, 'parent', {\n get() {\n return this._parent;\n },\n set(v: any) {\n this._parent = v;\n Object.defineProperty(v, 'bindingContext', {\n get() {\n return listViewComponent.elementRefs.get(sl);\n },\n set(v: any) {\n listViewComponent.elementRefs.set(sl, v);\n },\n });\n },\n });\n return sl.nativeView;\n }\n listView.nativeView.itemViewLoader = (type) => {\n switch (type) {\n case ListViewViewType.ItemView:\n return _getDefaultItemContent();\n case ListViewViewType.HeaderView:\n return this.headerElement.nativeView;\n case ListViewViewType.FooterView:\n return this.footerElement.nativeView;\n }\n return DocumentNode.createElement('stack-layout').nativeView;\n };\n }.bind(this),\n );\n\n setupHeader = () => {\n this.headerElement = DocumentNode.createElement('stack-layout');\n };\n\n setupFooter = () => {\n this.footerElement = DocumentNode.createElement('stack-layout');\n };\n\n <template>\n <rad-list-view {{this.setupListView}} items={{@items}} ...attributes />\n {{#if this.listView}}\n {{#if (has-block 'header')}}\n {{this.setupHeader}}\n {{#in-element this.headerElement}}\n {{yield to='header'}}\n {{/in-element}}\n {{/if}}\n {{#each this.items as |item|}}\n {{#in-element item.element}}\n {{yield item.item to='item'}}\n {{/in-element}}\n {{/each}}\n {{#if (has-block 'footer')}}\n {{this.setupFooter}}\n {{#in-element this.footerElement}}\n {{yield to='footer'}}\n {{/in-element}}\n {{/if}}\n {{/if}}\n </template>\n}\n"],"names":["TrackedMap","_class","Map","constructor","args","_initializerDefineProperty","_descriptor","set","key","value","counter","get","entries","_applyDecoratedDescriptor","prototype","tracked","RadListView","_class2","_RadListView","Component","_defineProperty","_descriptor2","modifier","setupListView","listView","nativeView","on","cleanup","listViewComponent","_getDefaultItemContent","sl","DocumentNode","createElement","appendChild","Object","defineProperty","_parent","v","elementRefs","itemViewLoader","type","ListViewViewType","ItemView","HeaderView","headerElement","FooterView","footerElement","bind","setupHeader","setupFooter","element","n","nativeViewProtected","getWindowToken","delete","idx","childNodes","findIndex","c","splice","items","map","item","setComponentTemplate","template_fd9b2463e5f141cfb5666b64daa1f11a","strictMode"],"mappings":"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"}
1
+ {"version":3,"file":"RadListView.js","sources":["../../src/components/RadListView.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { modifier } from 'ember-modifier';\nimport { tracked } from '@glimmer/tracking';\nimport {\n RadListView as NativeRadListView,\n ListViewViewType,\n} from 'nativescript-ui-listview';\nimport NativeElementNode from '../dom/native/NativeElementNode.ts';\nimport DocumentNode from '../dom/nodes/DocumentNode.ts';\nimport type { StackLayout } from '@nativescript/core';\n\nclass TrackedMap extends Map<any, any> {\n @tracked counter = 0;\n set(key: any, value: any): this {\n this.counter += 1;\n super.set(key, value);\n return this;\n }\n\n get(key: any): any {\n if (this.counter === 0) return null;\n return super.get(key);\n }\n\n entries(): any {\n if (this.counter === 0) return super.entries();\n return super.entries();\n }\n}\n\ninterface RadListViewInterface<T> {\n Element: NativeElementNode<NativeRadListView>;\n Args: {\n items: T[];\n key?: string;\n };\n Blocks: {\n header: [];\n footer: [];\n item: [T];\n };\n}\n\nexport default class RadListView<T = any> extends Component<\n RadListViewInterface<T>\n> {\n elementRefs: TrackedMap = new TrackedMap();\n @tracked private listView: NativeElementNode<NativeRadListView> | undefined;\n private declare headerElement: NativeElementNode<StackLayout>;\n private declare footerElement: NativeElementNode<StackLayout>;\n\n cleanup(listView: NativeElementNode<NativeRadListView>) {\n for (const [element] of [...this.elementRefs.entries()]) {\n const n = element.nativeView.nativeViewProtected;\n if (!n || !n.getWindowToken()) {\n this.elementRefs.delete(element);\n const idx = listView.childNodes.findIndex((c) => c === element);\n if (idx >= 0) {\n listView.childNodes.splice(idx, 1);\n }\n }\n }\n }\n\n get itemKey() {\n if (this.args.key) {\n return 'item.' + this.args.key;\n }\n return 'item';\n }\n\n get items() {\n return [...this.elementRefs.entries()].map(([element, item]) => {\n return {\n item,\n element,\n };\n });\n }\n\n setupListView = modifier(\n function setupListView(\n this: RadListView,\n listView: NativeElementNode<NativeRadListView>,\n ) {\n this.listView = listView;\n listView.nativeView.on('itemRecyclingInternal', () => {\n this.cleanup(listView);\n });\n const listViewComponent = this;\n function _getDefaultItemContent() {\n const sl = DocumentNode.createElement('stack-layout');\n listView.appendChild(sl);\n Object.defineProperty(sl.nativeView, 'parent', {\n get() {\n return this._parent;\n },\n set(v: any) {\n this._parent = v;\n Object.defineProperty(v, 'bindingContext', {\n get() {\n return listViewComponent.elementRefs.get(sl);\n },\n set(v: any) {\n listViewComponent.elementRefs.set(sl, v);\n },\n });\n },\n });\n return sl.nativeView;\n }\n listView.nativeView.itemViewLoader = (type) => {\n switch (type) {\n case ListViewViewType.ItemView:\n return _getDefaultItemContent();\n case ListViewViewType.HeaderView:\n return this.headerElement.nativeView;\n case ListViewViewType.FooterView:\n return this.footerElement.nativeView;\n }\n return DocumentNode.createElement('stack-layout').nativeView;\n };\n }.bind(this),\n );\n\n setupHeader = () => {\n this.headerElement = DocumentNode.createElement('stack-layout');\n };\n\n setupFooter = () => {\n this.footerElement = DocumentNode.createElement('stack-layout');\n };\n\n <template>\n <rad-list-view {{this.setupListView}} items={{@items}} ...attributes />\n {{#if this.listView}}\n {{#if (has-block 'header')}}\n {{this.setupHeader}}\n {{#in-element this.headerElement}}\n {{yield to='header'}}\n {{/in-element}}\n {{/if}}\n {{#each this.items key=this.itemKey as |item|}}\n {{#in-element item.element}}\n {{yield item.item to='item'}}\n {{/in-element}}\n {{/each}}\n {{#if (has-block 'footer')}}\n {{this.setupFooter}}\n {{#in-element this.footerElement}}\n {{yield to='footer'}}\n {{/in-element}}\n {{/if}}\n {{/if}}\n </template>\n}\n"],"names":["TrackedMap","_class","Map","constructor","args","_initializerDefineProperty","_descriptor","set","key","value","counter","get","entries","_applyDecoratedDescriptor","prototype","tracked","RadListView","_class2","_RadListView","Component","_defineProperty","_descriptor2","modifier","setupListView","listView","nativeView","on","cleanup","listViewComponent","_getDefaultItemContent","sl","DocumentNode","createElement","appendChild","Object","defineProperty","_parent","v","elementRefs","itemViewLoader","type","ListViewViewType","ItemView","HeaderView","headerElement","FooterView","footerElement","bind","setupHeader","setupFooter","element","n","nativeViewProtected","getWindowToken","delete","idx","childNodes","findIndex","c","splice","itemKey","items","map","item","setComponentTemplate","template_fd9b2463e5f141cfb5666b64daa1f11a","strictMode"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Frame, AbsoluteLayout, ActionBar, ActionItem, ActivityIndicator, Placeholder, Button, DatePicker, DockLayout, FlexboxLayout, FormattedString, GridLayout, HtmlView, Image, Label, ListPicker, NavigationButton, Span, StackLayout, ScrollView, Switch, TabView, TabViewItem, TextField, TextView, WebView, WrapLayout, ContentView, ListView } from '@nativescript/core';
1
+ import { Frame, StackLayout, GridLayout, RootLayout, FlexboxLayout, WrapLayout, DockLayout, AbsoluteLayout, ActionBar, ActionItem, NavigationButton, ActivityIndicator, Button, DatePicker, HtmlView, Image, Label, ListPicker, ListView, Placeholder, Progress, ScrollView, SearchBar, SegmentedBar, Slider, Switch, TabView, TabViewItem, TextField, TextView, TimePicker, FormattedString, Span, WebView, ContentView } from '@nativescript/core';
2
2
  import { registerElement } from './element-registry.js';
3
3
  import FrameElement from './native/FrameElement.js';
4
4
  import NativeElementNode from './native/NativeElementNode.js';
@@ -20,44 +20,51 @@ function registerElements() {
20
20
  }
21
21
  });
22
22
  // Completed
23
+ registerNativeElement('StackLayout', () => StackLayout);
24
+ registerNativeElement('GridLayout', () => GridLayout);
25
+ registerNativeElement('RootLayout', () => RootLayout);
26
+ registerNativeElement('FlexboxLayout', () => FlexboxLayout);
27
+ registerNativeElement('WrapLayout', () => WrapLayout);
28
+ registerNativeElement('DockLayout', () => DockLayout);
23
29
  registerNativeElement('AbsoluteLayout', () => AbsoluteLayout);
30
+ registerElement('Frame', () => new FrameElement());
31
+ registerElement('Page', () => new PageElement());
24
32
  registerNativeElement('ActionBar', () => ActionBar);
25
33
  registerNativeElement('ActionItem', () => ActionItem);
34
+ registerNativeElement('NavigationButton', () => NavigationButton);
26
35
  registerNativeElement('ActivityIndicator', () => ActivityIndicator);
27
- registerNativeElement('Comment', () => Placeholder);
28
36
  registerNativeElement('Button', () => Button);
29
37
  registerNativeElement('DatePicker', () => DatePicker);
30
- registerNativeElement('DockLayout', () => DockLayout);
31
- registerNativeElement('FlexboxLayout', () => FlexboxLayout);
32
- registerNativeElement('FormattedString', () => FormattedString, {
33
- insertChild(parentNode, childNode, atIndex) {
34
- const parent = parentNode.nativeView;
35
- const child = childNode.nativeView;
36
- parent.spans.splice(atIndex, 0, child);
37
- }
38
- });
39
- registerNativeElement('GridLayout', () => GridLayout);
40
38
  registerNativeElement('HtmlView', () => HtmlView);
41
39
  registerNativeElement('Image', () => Image);
42
40
  registerNativeElement('Label', () => Label);
43
41
  registerNativeElement('ListPicker', () => ListPicker);
44
- registerNativeElement('NavigationButton', () => NavigationButton);
45
- registerNativeElement('Span', () => Span);
46
- registerNativeElement('StackLayout', () => StackLayout);
42
+ registerNativeElement('ListView', () => ListView);
43
+ registerNativeElement('Comment', () => Placeholder);
44
+ registerNativeElement('Placeholder', () => Placeholder);
45
+ registerNativeElement('Progress', () => Progress);
47
46
  registerNativeElement('ScrollView', () => ScrollView);
47
+ registerNativeElement('SearchBar', () => SearchBar);
48
+ registerNativeElement('SegmentedBar', () => SegmentedBar);
49
+ registerNativeElement('Slider', () => Slider);
48
50
  registerNativeElement('Switch', () => Switch);
49
51
  registerNativeElement('TabView', () => TabView);
50
52
  registerNativeElement('TabViewItem', () => TabViewItem);
51
53
  registerNativeElement('TextField', () => TextField);
52
54
  registerNativeElement('TextView', () => TextView);
55
+ registerNativeElement('TimePicker', () => TimePicker);
56
+ registerNativeElement('FormattedString', () => FormattedString, {
57
+ insertChild(parentNode, childNode, atIndex) {
58
+ const parent = parentNode.nativeView;
59
+ const child = childNode.nativeView;
60
+ parent.spans.splice(atIndex, 0, child);
61
+ }
62
+ });
63
+ registerNativeElement('Span', () => Span);
53
64
  registerNativeElement('WebView', () => WebView);
54
- registerNativeElement('WrapLayout', () => WrapLayout);
55
65
  registerNativeElement('ContentView', () => ContentView);
56
- registerNativeElement('ListView', () => ListView);
57
66
 
58
67
  // Not Complete
59
- registerElement('Frame', () => new FrameElement());
60
- registerElement('Page', () => new PageElement());
61
68
  registerElement('Fragment', () => new NativeElementNode('fragment', null));
62
69
  }
63
70
 
@@ -1 +1 @@
1
- {"version":3,"file":"setup-registry.js","sources":["../../src/dom/setup-registry.ts"],"sourcesContent":["// Largely taken from the Vue implimentation\nimport {\n View,\n AbsoluteLayout,\n ActionBar,\n ActionItem,\n NavigationButton,\n ActivityIndicator,\n Placeholder,\n Button,\n DatePicker,\n FlexboxLayout,\n DockLayout,\n FormattedString,\n Span,\n GridLayout,\n HtmlView,\n Label,\n ListPicker,\n StackLayout,\n ScrollView,\n Switch,\n TabView,\n TabViewItem,\n TextField,\n TextView,\n WebView,\n WrapLayout,\n ContentView,\n ListView,\n Image,\n Frame,\n} from '@nativescript/core';\n\nimport { registerElement } from './element-registry.ts';\nimport FrameElement from './native/FrameElement.ts';\nimport NativeElementNode, {\n type ComponentMeta,\n} from './native/NativeElementNode.ts';\nimport PageElement from './native/PageElement.ts';\n\nexport function registerNativeElement(\n elementName: string,\n resolver: () => typeof View,\n meta: ComponentMeta | null = null,\n) {\n registerElement(\n elementName,\n () => new NativeElementNode(elementName, resolver(), meta),\n );\n}\n\nexport function registerElements() {\n registerElement('head', () => null as any, {\n insertChild() {},\n });\n registerElement('style', () => new NativeElementNode('style', null));\n registerElement('div', () => Frame as any, {\n insertChild(parentNode: any, childNode: any, _atIndex: any) {\n //dont bother\n parentNode.appendChild(childNode);\n },\n });\n // Completed\n registerNativeElement('AbsoluteLayout', () => AbsoluteLayout);\n registerNativeElement('ActionBar', () => ActionBar);\n registerNativeElement('ActionItem', () => ActionItem as any);\n registerNativeElement('ActivityIndicator', () => ActivityIndicator);\n\n registerNativeElement('Comment', () => Placeholder);\n registerNativeElement('Button', () => Button);\n registerNativeElement('DatePicker', () => DatePicker);\n registerNativeElement('DockLayout', () => DockLayout);\n registerNativeElement('FlexboxLayout', () => FlexboxLayout);\n registerNativeElement('FormattedString', () => FormattedString as any, {\n insertChild(\n parentNode: NativeElementNode<FormattedString>,\n childNode: NativeElementNode<Span>,\n atIndex,\n ) {\n const parent = parentNode.nativeView;\n const child = childNode.nativeView;\n parent.spans.splice(atIndex, 0, child);\n },\n });\n registerNativeElement('GridLayout', () => GridLayout);\n registerNativeElement('HtmlView', () => HtmlView);\n registerNativeElement('Image', () => Image);\n registerNativeElement('Label', () => Label);\n registerNativeElement('ListPicker', () => ListPicker);\n registerNativeElement('NavigationButton', () => NavigationButton as any);\n registerNativeElement('Span', () => Span as any);\n registerNativeElement('StackLayout', () => StackLayout);\n registerNativeElement('ScrollView', () => ScrollView);\n registerNativeElement('Switch', () => Switch);\n registerNativeElement('TabView', () => TabView);\n registerNativeElement('TabViewItem', () => TabViewItem as any);\n registerNativeElement('TextField', () => TextField);\n registerNativeElement('TextView', () => TextView);\n registerNativeElement('WebView', () => WebView);\n registerNativeElement('WrapLayout', () => WrapLayout);\n registerNativeElement('ContentView', () => ContentView);\n registerNativeElement('ListView', () => ListView);\n\n // Not Complete\n registerElement('Frame', () => new FrameElement());\n registerElement('Page', () => new PageElement());\n registerElement('Fragment', () => new NativeElementNode('fragment', null));\n}\n"],"names":["registerNativeElement","elementName","resolver","meta","registerElement","NativeElementNode","registerElements","insertChild","Frame","parentNode","childNode","_atIndex","appendChild","AbsoluteLayout","ActionBar","ActionItem","ActivityIndicator","Placeholder","Button","DatePicker","DockLayout","FlexboxLayout","FormattedString","atIndex","parent","nativeView","child","spans","splice","GridLayout","HtmlView","Image","Label","ListPicker","NavigationButton","Span","StackLayout","ScrollView","Switch","TabView","TabViewItem","TextField","TextView","WebView","WrapLayout","ContentView","ListView","FrameElement","PageElement"],"mappings":"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"}
1
+ {"version":3,"file":"setup-registry.js","sources":["../../src/dom/setup-registry.ts"],"sourcesContent":["// Largely taken from the Vue implimentation\nimport {\n View,\n AbsoluteLayout,\n ActionBar,\n ActionItem,\n NavigationButton,\n ActivityIndicator,\n Placeholder,\n Button,\n DatePicker,\n FlexboxLayout,\n DockLayout,\n FormattedString,\n Span,\n GridLayout,\n HtmlView,\n Label,\n ListPicker,\n StackLayout,\n ScrollView,\n Switch,\n TabView,\n TabViewItem,\n TextField,\n TextView,\n WebView,\n WrapLayout,\n ContentView,\n ListView,\n Image,\n Frame,\n RootLayout,\n Progress,\n SearchBar,\n SegmentedBar,\n Slider,\n TimePicker,\n} from '@nativescript/core';\n\nimport { registerElement } from './element-registry.ts';\nimport FrameElement from './native/FrameElement.ts';\nimport NativeElementNode, {\n type ComponentMeta,\n} from './native/NativeElementNode.ts';\nimport PageElement from './native/PageElement.ts';\n\nexport function registerNativeElement(\n elementName: string,\n resolver: () => typeof View,\n meta: ComponentMeta | null = null,\n) {\n registerElement(\n elementName,\n () => new NativeElementNode(elementName, resolver(), meta),\n );\n}\n\nexport function registerElements() {\n registerElement('head', () => null as any, {\n insertChild() {},\n });\n registerElement('style', () => new NativeElementNode('style', null));\n registerElement('div', () => Frame as any, {\n insertChild(parentNode: any, childNode: any, _atIndex: any) {\n //dont bother\n parentNode.appendChild(childNode);\n },\n });\n // Completed\n registerNativeElement('StackLayout', () => StackLayout);\n registerNativeElement('GridLayout', () => GridLayout);\n registerNativeElement('RootLayout', () => RootLayout);\n registerNativeElement('FlexboxLayout', () => FlexboxLayout);\n registerNativeElement('WrapLayout', () => WrapLayout);\n registerNativeElement('DockLayout', () => DockLayout);\n registerNativeElement('AbsoluteLayout', () => AbsoluteLayout);\n\n registerElement('Frame', () => new FrameElement());\n registerElement('Page', () => new PageElement());\n registerNativeElement('ActionBar', () => ActionBar);\n registerNativeElement('ActionItem', () => ActionItem as any);\n registerNativeElement('NavigationButton', () => NavigationButton as any);\n registerNativeElement('ActivityIndicator', () => ActivityIndicator);\n registerNativeElement('Button', () => Button);\n registerNativeElement('DatePicker', () => DatePicker);\n registerNativeElement('HtmlView', () => HtmlView);\n registerNativeElement('Image', () => Image);\n registerNativeElement('Label', () => Label);\n registerNativeElement('ListPicker', () => ListPicker);\n registerNativeElement('ListView', () => ListView);\n registerNativeElement('Comment', () => Placeholder);\n registerNativeElement('Placeholder', () => Placeholder);\n registerNativeElement('Progress', () => Progress);\n registerNativeElement('ScrollView', () => ScrollView);\n registerNativeElement('SearchBar', () => SearchBar);\n registerNativeElement('SegmentedBar', () => SegmentedBar);\n registerNativeElement('Slider', () => Slider);\n registerNativeElement('Switch', () => Switch);\n registerNativeElement('TabView', () => TabView);\n registerNativeElement('TabViewItem', () => TabViewItem as any);\n registerNativeElement('TextField', () => TextField);\n registerNativeElement('TextView', () => TextView);\n registerNativeElement('TimePicker', () => TimePicker);\n registerNativeElement('FormattedString', () => FormattedString as any, {\n insertChild(\n parentNode: NativeElementNode<FormattedString>,\n childNode: NativeElementNode<Span>,\n atIndex,\n ) {\n const parent = parentNode.nativeView;\n const child = childNode.nativeView;\n parent.spans.splice(atIndex, 0, child);\n },\n });\n registerNativeElement('Span', () => Span as any);\n registerNativeElement('WebView', () => WebView);\n registerNativeElement('ContentView', () => ContentView);\n\n // Not Complete\n registerElement('Fragment', () => new NativeElementNode('fragment', null));\n}\n"],"names":["registerNativeElement","elementName","resolver","meta","registerElement","NativeElementNode","registerElements","insertChild","Frame","parentNode","childNode","_atIndex","appendChild","StackLayout","GridLayout","RootLayout","FlexboxLayout","WrapLayout","DockLayout","AbsoluteLayout","FrameElement","PageElement","ActionBar","ActionItem","NavigationButton","ActivityIndicator","Button","DatePicker","HtmlView","Image","Label","ListPicker","ListView","Placeholder","Progress","ScrollView","SearchBar","SegmentedBar","Slider","Switch","TabView","TabViewItem","TextField","TextView","TimePicker","FormattedString","atIndex","parent","nativeView","child","spans","splice","Span","WebView","ContentView"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-native",
3
- "version": "2.0.0",
3
+ "version": "2.1.1",
4
4
  "description": "the Ember framework with Nativescript",
5
5
  "keywords": [
6
6
  "ember-addon"
@@ -28,7 +28,7 @@
28
28
  "dependencies": {
29
29
  "@babel/core": "^7.24.0",
30
30
  "@babel/plugin-syntax-decorators": "^7.22.5",
31
- "@ember/render-modifiers": "^2.1.0",
31
+ "@ember/render-modifiers": "^3.0.0",
32
32
  "@ember/string": "^4.0.0",
33
33
  "@ember/test-waiters": "^4.0.0",
34
34
  "@embroider/addon-shim": "^1.10.0",
@@ -45,7 +45,7 @@
45
45
  "ember-concurrency": "^4.0.2",
46
46
  "ember-get-config": "^2.1.1",
47
47
  "ember-maybe-import-regenerator": "^1.0.0",
48
- "ember-template-lint-plugin-prettier": "^4.2.0",
48
+ "ember-template-lint-plugin-prettier": "^5.0.0",
49
49
  "ember-truth-helpers": "^4.0.3",
50
50
  "prettier-linter-helpers": "^1.0.0",
51
51
  "rollup-plugin-astroturf": "^0.1.0",
@@ -63,7 +63,7 @@
63
63
  "@embroider/shared-internals": "^3.0.0",
64
64
  "@embroider/util": "^1.13.2",
65
65
  "@embroider/webpack": "^4.1.0",
66
- "@glimmer/interfaces": "^0.92.3",
66
+ "@glimmer/interfaces": "^0.94.6",
67
67
  "@glimmer/reference": "^0.94.8",
68
68
  "@glimmer/runtime": "^0.93.1",
69
69
  "@glimmer/syntax": "^0.94.9",
@@ -87,12 +87,12 @@
87
87
  "bower": "^1.8.8",
88
88
  "broccoli": "^3.4.2",
89
89
  "broccoli-asset-rev": "^3.0.0",
90
- "concurrently": "^8.0.1",
90
+ "concurrently": "^9.1.2",
91
91
  "content-tag": "^4.0.0",
92
92
  "css-loader": "^7.1.2",
93
93
  "ember-eslint-parser": "^0.5.9",
94
94
  "ember-modifier": "^4.2.0",
95
- "ember-source": "^6.0.1",
95
+ "ember-source": "^6.4.0",
96
96
  "ember-template-lint": "^5.11.2",
97
97
  "eslint": "^8.57.0",
98
98
  "eslint-config-airbnb-base": "^15.0.0",
@@ -115,7 +115,7 @@
115
115
  "rollup-plugin-copy": "^3.4.0",
116
116
  "router_js": "^8.0.6",
117
117
  "sass": "^1.81.0",
118
- "sass-embedded": "^1.81.0",
118
+ "sass-embedded": "^1.88.0",
119
119
  "sass-loader": "^16.0.4",
120
120
  "typescript": "^5.6.3",
121
121
  "typescript-plugin-css-modules": "^5.0.1",
package/types/ember.d.ts CHANGED
@@ -1 +1 @@
1
- import 'ember-source/types/stable';
1
+ import 'ember-source/types';