@triniwiz/nativescript-masonkit 1.0.0-beta.61 → 1.0.0-beta.63
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.
- package/DOCS.md +5 -5
- package/button/index.ios.js +2 -2
- package/button/index.ios.js.map +1 -1
- package/common.d.ts +8 -1
- package/common.js +183 -140
- package/common.js.map +1 -1
- package/img/index.ios.js +4 -2
- package/img/index.ios.js.map +1 -1
- package/index.android.d.ts +2 -0
- package/index.android.js +2 -0
- package/index.android.js.map +1 -1
- package/index.d.ts +10 -0
- package/index.ios.d.ts +2 -0
- package/index.ios.js +2 -0
- package/index.ios.js.map +1 -1
- package/input/index.ios.js +10 -2
- package/input/index.ios.js.map +1 -1
- package/li/index.android.d.ts +12 -0
- package/li/index.android.js +57 -0
- package/li/index.android.js.map +1 -0
- package/li/index.ios.d.ts +14 -0
- package/li/index.ios.js +125 -0
- package/li/index.ios.js.map +1 -0
- package/list/common.d.ts +33 -0
- package/list/common.js +157 -0
- package/list/common.js.map +1 -0
- package/list/index.android.d.ts +28 -0
- package/list/index.android.js +155 -0
- package/list/index.android.js.map +1 -0
- package/list/index.ios.d.ts +42 -0
- package/list/index.ios.js +321 -0
- package/list/index.ios.js.map +1 -0
- package/package.json +1 -1
- package/platforms/android/masonkit-release.aar +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +110 -24
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/mason_native.h +57 -8
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +63643 -39594
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +777 -226
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +777 -226
- package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8210 -7413
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +220 -48
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/mason_native.h +57 -8
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +63643 -39594
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +777 -226
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +777 -226
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +63643 -39594
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +777 -226
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +777 -226
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +28 -28
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8205 -7408
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/x86_64/Mason.yml +7869 -7103
- package/properties.d.ts +12 -1
- package/properties.js +57 -0
- package/properties.js.map +1 -1
- package/scroll/index.ios.js +6 -2
- package/scroll/index.ios.js.map +1 -1
- package/style.d.ts +22 -3
- package/style.js +512 -235
- package/style.js.map +1 -1
- package/text/index.ios.js +5 -2
- package/text/index.ios.js.map +1 -1
- package/tree/index.android.d.ts +2 -0
- package/tree/index.android.js +6 -0
- package/tree/index.android.js.map +1 -1
- package/tree/index.ios.d.ts +3 -1
- package/tree/index.ios.js +7 -1
- package/tree/index.ios.js.map +1 -1
- package/utils/index.android.d.ts +11 -0
- package/utils/index.ios.d.ts +11 -0
- package/view/index.ios.js +20 -4
- package/view/index.ios.js.map +1 -1
package/DOCS.md
CHANGED
|
@@ -869,11 +869,11 @@ function onTap() {
|
|
|
869
869
|
import { registerElement } from '@nativescript/angular';
|
|
870
870
|
import { View, Text, Div, H1, P } from '@triniwiz/nativescript-masonkit';
|
|
871
871
|
|
|
872
|
-
registerElement('
|
|
873
|
-
registerElement('
|
|
874
|
-
registerElement('
|
|
875
|
-
registerElement('
|
|
876
|
-
registerElement('
|
|
872
|
+
registerElement('view', () => View);
|
|
873
|
+
registerElement('text', () => Text);
|
|
874
|
+
registerElement('div', () => Div);
|
|
875
|
+
registerElement('h1', () => H1);
|
|
876
|
+
registerElement('p', () => P);
|
|
877
877
|
```
|
|
878
878
|
|
|
879
879
|
```html
|
package/button/index.ios.js
CHANGED
|
@@ -65,8 +65,8 @@ let Button = class Button extends ButtonBase {
|
|
|
65
65
|
const specHeight = Utils.layout.getMeasureSpecSize(heightMeasureSpec);
|
|
66
66
|
const heightMode = Utils.layout.getMeasureSpecMode(heightMeasureSpec);
|
|
67
67
|
if (!this[isMasonView_]) {
|
|
68
|
-
|
|
69
|
-
if (this.width === 'auto' && this.height === 'auto') {
|
|
68
|
+
const unconstrained = widthMode === Utils.layout.UNSPECIFIED || heightMode === Utils.layout.UNSPECIFIED || (widthMode === Utils.layout.AT_MOST && specWidth === 0) || (heightMode === Utils.layout.AT_MOST && specHeight === 0);
|
|
69
|
+
if (this.width === 'auto' && this.height === 'auto' && !unconstrained) {
|
|
70
70
|
// todo
|
|
71
71
|
// @ts-ignore
|
|
72
72
|
this.ios.mason_computeWithSize(specWidth, specHeight);
|
package/button/index.ios.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/button/index.ios.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/button/index.ios.ts"],"names":[],"mappings":"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"}
|
package/common.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AddChildFromBuilder, CustomLayoutView, View as NSView, ViewBase as NSViewBase, Property, CoreTypes } from '@nativescript/core';
|
|
2
|
-
import { Display, Gap, GridAutoFlow, JustifyItems, JustifySelf, Length, LengthAuto, Overflow, Position, BoxSizing, VerticalAlign, FlexDirection } from '.';
|
|
2
|
+
import { Display, Gap, GridAutoFlow, JustifyItems, JustifySelf, Length, LengthAuto, Overflow, Position, BoxSizing, VerticalAlign, FlexDirection, Float, Clear } from '.';
|
|
3
3
|
import { isMasonView_, isTextChild_, isText_, native_ } from './symbols';
|
|
4
4
|
import { TextNode } from './text-node';
|
|
5
5
|
export interface MasonChild extends ViewBase {
|
|
@@ -51,6 +51,9 @@ declare module '@nativescript/core/ui/styling/style' {
|
|
|
51
51
|
verticalAlign: VerticalAlign;
|
|
52
52
|
textWrap: 'nowrap' | 'wrap' | 'balance';
|
|
53
53
|
textOverFlow: 'clip' | 'ellipsis' | `${string}`;
|
|
54
|
+
float: Float;
|
|
55
|
+
clear: Clear;
|
|
56
|
+
cornerShape: string;
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
export declare class ViewBase extends CustomLayoutView implements AddChildFromBuilder {
|
|
@@ -97,6 +100,10 @@ export declare class ViewBase extends CustomLayoutView implements AddChildFromBu
|
|
|
97
100
|
get textWrap(): "nowrap" | "wrap" | "balance";
|
|
98
101
|
set aspectRatio(value: number);
|
|
99
102
|
get aspectRatio(): number;
|
|
103
|
+
private _createOrUpdateNativeTextNode;
|
|
104
|
+
private _nativeAddChild;
|
|
105
|
+
private _nativeReplaceChild;
|
|
106
|
+
private _setOrPushChild;
|
|
100
107
|
private _updateTextNode;
|
|
101
108
|
set text(value: string);
|
|
102
109
|
get filter(): string;
|
package/common.js
CHANGED
|
@@ -4,7 +4,7 @@ var _a, _b, _c;
|
|
|
4
4
|
import { CustomLayoutView, View as NSView, getViewById, Property, widthProperty, heightProperty, Length as CoreLength, PercentLength as CorePercentLength, marginLeftProperty, marginRightProperty, marginTopProperty, marginBottomProperty, minWidthProperty, minHeightProperty, fontSizeProperty, fontWeightProperty, fontStyleProperty, colorProperty, Color, lineHeightProperty, letterSpacingProperty, textAlignmentProperty, borderLeftWidthProperty, borderTopWidthProperty, borderRightWidthProperty, borderBottomWidthProperty, backgroundColorProperty, paddingLeftProperty, paddingRightProperty, paddingTopProperty, paddingBottomProperty, zIndexProperty } from '@nativescript/core';
|
|
5
5
|
import { alignItemsProperty, alignSelfProperty, flexDirectionProperty, flexGrowProperty, flexShrinkProperty, flexWrapProperty, justifyContentProperty } from '@nativescript/core/ui/layouts/flexbox-layout';
|
|
6
6
|
import { _forceStyleUpdate } from './utils';
|
|
7
|
-
import { alignContentProperty, aspectRatioProperty, backgroundProperty, borderProperty, borderRadiusProperty, bottomProperty, boxSizingProperty, columnGapProperty, displayProperty, filterProperty, flexBasisProperty, gridAreaProperty, gridAutoColumnsProperty, gridAutoFlowProperty, gridAutoRowsProperty, gridColumnEndProperty, gridColumnProperty, gridColumnStartProperty, gridRowEndProperty, gridRowProperty, gridRowStartProperty, gridTemplateAreasProperty, gridTemplateColumnsProperty, gridTemplateRowsProperty, justifyItemsProperty, justifySelfProperty, leftProperty, marginProperty, maxHeightProperty, maxWidthProperty, overflowXProperty, overflowYProperty, paddingProperty, positionProperty, rightProperty, rowGapProperty, scrollBarWidthProperty, textOverFlowProperty, textWrapProperty, topProperty, verticalAlignProperty, } from './properties';
|
|
7
|
+
import { alignContentProperty, aspectRatioProperty, backgroundProperty, borderProperty, borderRadiusProperty, bottomProperty, boxSizingProperty, clearProperty, columnGapProperty, cornerShapeProperty, displayProperty, filterProperty, flexBasisProperty, floatProperty, gridAreaProperty, gridAutoColumnsProperty, gridAutoFlowProperty, gridAutoRowsProperty, gridColumnEndProperty, gridColumnProperty, gridColumnStartProperty, gridRowEndProperty, gridRowProperty, gridRowStartProperty, gridTemplateAreasProperty, gridTemplateColumnsProperty, gridTemplateRowsProperty, justifyItemsProperty, justifySelfProperty, leftProperty, marginProperty, maxHeightProperty, maxWidthProperty, overflowXProperty, overflowYProperty, paddingProperty, positionProperty, rightProperty, rowGapProperty, scrollBarWidthProperty, textOverFlowProperty, textWrapProperty, topProperty, verticalAlignProperty, } from './properties';
|
|
8
8
|
import { isMasonView_, isTextChild_, isText_, isPlaceholder_, text_, native_, textNode_, textNodeIndex_ } from './symbols';
|
|
9
9
|
import { Tree } from './tree';
|
|
10
10
|
import { TextNode } from './text-node';
|
|
@@ -12,22 +12,60 @@ function getViewStyle(view) {
|
|
|
12
12
|
const ret = (__ANDROID__ ? view.get() : view.deref());
|
|
13
13
|
return ret._styleHelper;
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Cached per-view accessor for the framework's virtual DOM element.
|
|
17
|
+
* The accessor is a function that retrieves the element cheaply on subsequent calls.
|
|
18
|
+
* We use `false` as a sentinel to indicate "no framework detected" (avoids re-scanning).
|
|
19
|
+
*/
|
|
20
|
+
const _frameworkAccessorCache = new WeakMap();
|
|
21
|
+
function getFrameworkElement(view) {
|
|
22
|
+
const cached = _frameworkAccessorCache.get(view);
|
|
23
|
+
if (cached === false)
|
|
24
|
+
return null;
|
|
25
|
+
if (cached)
|
|
26
|
+
return cached(view);
|
|
27
|
+
// First call: detect framework and cache the accessor
|
|
28
|
+
const symbols = Object.getOwnPropertySymbols(view);
|
|
29
|
+
// Vue 3 (nativescript-vue): stores ELEMENT_REF symbol on native view
|
|
30
|
+
for (const sym of symbols) {
|
|
31
|
+
if (sym.description === 'elementRef' || sym.description === '') {
|
|
32
|
+
const el = view[sym];
|
|
33
|
+
if (el && Array.isArray(el.childNodes)) {
|
|
34
|
+
_frameworkAccessorCache.set(view, (v) => v[sym]);
|
|
35
|
+
return el;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// React (react-nativescript): stores __reactFiber$ symbol on node
|
|
40
|
+
for (const sym of symbols) {
|
|
41
|
+
if (sym.description?.startsWith('__reactFiber$')) {
|
|
42
|
+
if (Array.isArray(view.childNodes)) {
|
|
43
|
+
_frameworkAccessorCache.set(view, (v) => v);
|
|
44
|
+
return view;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// Svelte (svelte-native): stores __SvelteNativeElement__ on native view
|
|
49
|
+
if (view.__SvelteNativeElement__) {
|
|
50
|
+
const el = view.__SvelteNativeElement__;
|
|
51
|
+
if (Array.isArray(el.childNodes)) {
|
|
52
|
+
_frameworkAccessorCache.set(view, (v) => v.__SvelteNativeElement__);
|
|
53
|
+
return el;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// SolidJS (dominative): the element IS the native view, extended with DOM methods
|
|
57
|
+
if (view.__dominative_isNative) {
|
|
58
|
+
_frameworkAccessorCache.set(view, (v) => v);
|
|
59
|
+
return view;
|
|
60
|
+
}
|
|
61
|
+
// Angular (@nativescript/angular): uses firstChild/nextSibling linked list
|
|
62
|
+
if (view.firstChild !== undefined && view.meta?.skipAddToDom !== undefined) {
|
|
63
|
+
_frameworkAccessorCache.set(view, (v) => v);
|
|
64
|
+
return view;
|
|
65
|
+
}
|
|
66
|
+
_frameworkAccessorCache.set(view, false);
|
|
67
|
+
return null;
|
|
29
68
|
}
|
|
30
|
-
// @ts-ignore
|
|
31
69
|
export const textContentProperty = new Property({
|
|
32
70
|
name: 'textContent',
|
|
33
71
|
affectsLayout: true,
|
|
@@ -404,151 +442,133 @@ export class ViewBase extends CustomLayoutView {
|
|
|
404
442
|
style.aspectRatio = value;
|
|
405
443
|
}
|
|
406
444
|
}
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
if (
|
|
410
|
-
if (
|
|
411
|
-
node[textNode_].setData(
|
|
412
|
-
textNode = node[textNode_];
|
|
413
|
-
}
|
|
414
|
-
else {
|
|
415
|
-
textNode = new org.nativescript.mason.masonkit.TextNode(Tree.instance.native, node.text ?? '');
|
|
416
|
-
node[textNode_] = textNode;
|
|
445
|
+
// -- Platform bridge methods for native text node operations --
|
|
446
|
+
_createOrUpdateNativeTextNode(node, text) {
|
|
447
|
+
if (node[textNode_]) {
|
|
448
|
+
if (__ANDROID__) {
|
|
449
|
+
node[textNode_].setData(text);
|
|
417
450
|
}
|
|
418
|
-
if (
|
|
419
|
-
|
|
420
|
-
case 'add':
|
|
421
|
-
//@ts-ignore
|
|
422
|
-
this._view.addChildAt(textNode, this._children.length);
|
|
423
|
-
//@ts-ignore
|
|
424
|
-
this._children.push({ [text_]: node.text, [textNode_]: textNode, [textNodeIndex_]: this._children.length });
|
|
425
|
-
break;
|
|
426
|
-
case 'replace':
|
|
427
|
-
//@ts-ignore
|
|
428
|
-
this._view.replaceChildAt(textNode, operation.index);
|
|
429
|
-
if (this._children.length >= operation.index) {
|
|
430
|
-
//@ts-ignore
|
|
431
|
-
this._children[operation.index] = { text: node.text, [textNode_]: textNode, [textNodeIndex_]: operation.index };
|
|
432
|
-
}
|
|
433
|
-
else {
|
|
434
|
-
//@ts-ignore
|
|
435
|
-
this._children.push({ text: node.text, [textNode_]: textNode, [textNodeIndex_]: operation.index });
|
|
436
|
-
}
|
|
437
|
-
break;
|
|
438
|
-
case 'insert':
|
|
439
|
-
//@ts-ignore
|
|
440
|
-
this._view.addChildAt(textNode, operation.index);
|
|
441
|
-
if (this._children.length >= operation.index) {
|
|
442
|
-
//@ts-ignore
|
|
443
|
-
this._children[operation.index] = { text: node.text, [textNode_]: textNode, [textNodeIndex_]: operation.index };
|
|
444
|
-
}
|
|
445
|
-
else {
|
|
446
|
-
//@ts-ignore
|
|
447
|
-
this._children.push({ text: node.text, [textNode_]: textNode, [textNodeIndex_]: operation.index });
|
|
448
|
-
}
|
|
449
|
-
break;
|
|
450
|
-
}
|
|
451
|
+
if (__APPLE__) {
|
|
452
|
+
node[textNode_].data = text;
|
|
451
453
|
}
|
|
454
|
+
return node[textNode_];
|
|
455
|
+
}
|
|
456
|
+
let textNode;
|
|
457
|
+
if (__ANDROID__) {
|
|
458
|
+
textNode = new org.nativescript.mason.masonkit.TextNode(Tree.instance.native, text);
|
|
452
459
|
}
|
|
453
460
|
if (__APPLE__) {
|
|
454
|
-
|
|
455
|
-
node[textNode_].data = node.text;
|
|
456
|
-
textNode = node[textNode_];
|
|
457
|
-
if (operation && 'index' in operation && node[textNodeIndex_] === operation.index) {
|
|
458
|
-
return;
|
|
459
|
-
}
|
|
460
|
-
}
|
|
461
|
-
else {
|
|
462
|
-
textNode = MasonTextNode.alloc().initWithMasonDataAttributes(Tree.instance.native, node.text, null);
|
|
463
|
-
node[textNode_] = textNode;
|
|
464
|
-
node[textNodeIndex_] = operation?.index ?? this._children.length;
|
|
465
|
-
}
|
|
466
|
-
if (operation) {
|
|
467
|
-
switch (operation.type) {
|
|
468
|
-
case 'add':
|
|
469
|
-
//@ts-ignore
|
|
470
|
-
this._view.mason_addChildAtNode(textNode, this._children.length);
|
|
471
|
-
//@ts-ignore
|
|
472
|
-
this._children.push({ [text_]: node.text, [textNode_]: textNode, [textNodeIndex_]: this._children.length });
|
|
473
|
-
break;
|
|
474
|
-
case 'replace':
|
|
475
|
-
//@ts-ignore
|
|
476
|
-
this._view.mason_replaceChildAtNode(textNode, operation.index);
|
|
477
|
-
if (this._children.length >= operation.index) {
|
|
478
|
-
//@ts-ignore
|
|
479
|
-
this._children[operation.index] = { text: node.text, [textNode_]: textNode, [textNodeIndex_]: operation.index };
|
|
480
|
-
}
|
|
481
|
-
else {
|
|
482
|
-
//@ts-ignore
|
|
483
|
-
this._children.push({ text: node.text, [textNode_]: textNode, [textNodeIndex_]: operation.index });
|
|
484
|
-
}
|
|
485
|
-
break;
|
|
486
|
-
case 'insert':
|
|
487
|
-
//@ts-ignore
|
|
488
|
-
this._view.mason_addChildAtNode(textNode, operation.index);
|
|
489
|
-
if (this._children.length >= operation.index) {
|
|
490
|
-
//@ts-ignore
|
|
491
|
-
this._children[operation.index] = { text: node.text, [textNode_]: textNode, [textNodeIndex_]: operation.index };
|
|
492
|
-
}
|
|
493
|
-
else {
|
|
494
|
-
//@ts-ignore
|
|
495
|
-
this._children.push({ text: node.text, [textNode_]: textNode, [textNodeIndex_]: operation.index });
|
|
496
|
-
}
|
|
497
|
-
break;
|
|
498
|
-
}
|
|
499
|
-
}
|
|
461
|
+
textNode = MasonTextNode.alloc().initWithMasonDataAttributes(Tree.instance.native, text, null);
|
|
500
462
|
}
|
|
463
|
+
node[textNode_] = textNode;
|
|
464
|
+
return textNode;
|
|
501
465
|
}
|
|
466
|
+
_nativeAddChild(textNode, index) {
|
|
467
|
+
//@ts-ignore
|
|
468
|
+
if (__ANDROID__)
|
|
469
|
+
this._view.addChildAt(textNode, index);
|
|
470
|
+
//@ts-ignore
|
|
471
|
+
if (__APPLE__)
|
|
472
|
+
this._view.mason_addChildAtNode(textNode, index);
|
|
473
|
+
}
|
|
474
|
+
_nativeReplaceChild(textNode, index) {
|
|
475
|
+
//@ts-ignore
|
|
476
|
+
if (__ANDROID__)
|
|
477
|
+
this._view.replaceChildAt(textNode, index);
|
|
478
|
+
//@ts-ignore
|
|
479
|
+
if (__APPLE__)
|
|
480
|
+
this._view.mason_replaceChildAtNode(textNode, index);
|
|
481
|
+
}
|
|
482
|
+
_setOrPushChild(index, entry) {
|
|
483
|
+
if (this._children.length > index) {
|
|
484
|
+
//@ts-ignore
|
|
485
|
+
this._children[index] = entry;
|
|
486
|
+
}
|
|
487
|
+
else {
|
|
488
|
+
//@ts-ignore
|
|
489
|
+
this._children.push(entry);
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
// -- Unified text node update (cross-platform) --
|
|
493
|
+
_updateTextNode(node, operation = null) {
|
|
494
|
+
const text = node.text ?? node.data ?? '';
|
|
495
|
+
const textNode = this._createOrUpdateNativeTextNode(node, text);
|
|
496
|
+
if (!operation)
|
|
497
|
+
return;
|
|
498
|
+
const entry = { [text_]: text, [textNode_]: textNode, [textNodeIndex_]: operation.index ?? this._children.length };
|
|
499
|
+
switch (operation.type) {
|
|
500
|
+
case 'add':
|
|
501
|
+
this._nativeAddChild(textNode, this._children.length);
|
|
502
|
+
//@ts-ignore
|
|
503
|
+
this._children.push({ ...entry, [textNodeIndex_]: this._children.length });
|
|
504
|
+
break;
|
|
505
|
+
case 'replace':
|
|
506
|
+
this._nativeReplaceChild(textNode, operation.index);
|
|
507
|
+
this._setOrPushChild(operation.index, entry);
|
|
508
|
+
break;
|
|
509
|
+
case 'insert':
|
|
510
|
+
this._nativeAddChild(textNode, operation.index);
|
|
511
|
+
this._setOrPushChild(operation.index, entry);
|
|
512
|
+
break;
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
// -- Text setter with per-view framework detection --
|
|
502
516
|
set text(value) {
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
517
|
+
const frameworkEl = getFrameworkElement(this);
|
|
518
|
+
if (frameworkEl) {
|
|
519
|
+
// Frameworks with childNodes array (Vue, React, Svelte, SolidJS)
|
|
520
|
+
if (Array.isArray(frameworkEl.childNodes)) {
|
|
521
|
+
const childNodes = frameworkEl.childNodes;
|
|
522
|
+
if (childNodes.length === 0) {
|
|
507
523
|
this.replaceChild({ [text_]: value }, 0);
|
|
508
524
|
return;
|
|
509
525
|
}
|
|
510
|
-
|
|
511
|
-
const node =
|
|
512
|
-
|
|
513
|
-
|
|
526
|
+
for (let i = 0; i < childNodes.length; i++) {
|
|
527
|
+
const node = childNodes[i];
|
|
528
|
+
const isTextNode = node.nodeType === 'text' || node.nodeType === 3;
|
|
529
|
+
if (isTextNode) {
|
|
530
|
+
const type = i === 0 && childNodes.length === 1 && !this._children.length ? 'add' : 'replace';
|
|
531
|
+
this._updateTextNode(node, { type, index: i, isBreak: node.nodeName === 'br' });
|
|
514
532
|
}
|
|
515
|
-
return;
|
|
516
533
|
}
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
534
|
+
return;
|
|
535
|
+
}
|
|
536
|
+
// Frameworks with linked-list traversal (Angular)
|
|
537
|
+
if ('firstChild' in frameworkEl) {
|
|
538
|
+
const nodes = [];
|
|
539
|
+
let child = frameworkEl.firstChild;
|
|
540
|
+
while (child) {
|
|
541
|
+
nodes.push(child);
|
|
542
|
+
child = child.nextSibling;
|
|
543
|
+
}
|
|
544
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
545
|
+
const node = nodes[i];
|
|
546
|
+
const isTextNode = node.nodeType === 'text' || node.nodeType === 3 || node.nodeName === 'TextNode' || node.constructor?.name === 'TextNode';
|
|
547
|
+
if (isTextNode || node.nodeName === 'br') {
|
|
548
|
+
this._updateTextNode(node, { type: 'replace', index: i, isBreak: node.nodeName === 'br' });
|
|
520
549
|
}
|
|
521
|
-
}
|
|
550
|
+
}
|
|
551
|
+
return;
|
|
522
552
|
}
|
|
523
|
-
return;
|
|
524
553
|
}
|
|
554
|
+
// NativeScript Core: linked-list traversal on the view itself
|
|
525
555
|
if ('firstChild' in this) {
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
node = node.nextSibling;
|
|
532
|
-
}
|
|
533
|
-
return result;
|
|
556
|
+
const nodes = [];
|
|
557
|
+
let child = this.firstChild;
|
|
558
|
+
while (child) {
|
|
559
|
+
nodes.push(child);
|
|
560
|
+
child = child.nextSibling;
|
|
534
561
|
}
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
// todo direct set text
|
|
541
|
-
this._updateTextNode(node, { type: 'replace', index });
|
|
542
|
-
continue;
|
|
543
|
-
}
|
|
544
|
-
this._updateTextNode(node, { type: 'replace', index });
|
|
545
|
-
}
|
|
546
|
-
else if (node.nodeName === 'br') {
|
|
547
|
-
this._updateTextNode(node, { type: 'replace', index, isBreak: true });
|
|
562
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
563
|
+
const node = nodes[i];
|
|
564
|
+
const isTextNode = node.nodeType === 'text' || node.nodeName === 'TextNode' || node.constructor?.name === 'TextNode';
|
|
565
|
+
if (isTextNode || node.nodeName === 'br') {
|
|
566
|
+
this._updateTextNode(node, { type: 'replace', index: i, isBreak: node.nodeName === 'br' });
|
|
548
567
|
}
|
|
549
568
|
}
|
|
550
569
|
return;
|
|
551
570
|
}
|
|
571
|
+
// Fallback: direct textContent
|
|
552
572
|
if ('textContent' in this) {
|
|
553
573
|
// @ts-ignore
|
|
554
574
|
this.textContent = value;
|
|
@@ -1341,6 +1361,29 @@ export class ViewBase extends CustomLayoutView {
|
|
|
1341
1361
|
style.textOverFlow = value;
|
|
1342
1362
|
}
|
|
1343
1363
|
}
|
|
1364
|
+
[clearProperty.setNative](value) {
|
|
1365
|
+
// @ts-ignore
|
|
1366
|
+
const style = this._styleHelper;
|
|
1367
|
+
if (style) {
|
|
1368
|
+
// @ts-ignore
|
|
1369
|
+
style.clear = value;
|
|
1370
|
+
}
|
|
1371
|
+
}
|
|
1372
|
+
[floatProperty.setNative](value) {
|
|
1373
|
+
// @ts-ignore
|
|
1374
|
+
const style = this._styleHelper;
|
|
1375
|
+
if (style) {
|
|
1376
|
+
// @ts-ignore
|
|
1377
|
+
style.float = value;
|
|
1378
|
+
}
|
|
1379
|
+
}
|
|
1380
|
+
[cornerShapeProperty.setNative](value) {
|
|
1381
|
+
// @ts-ignore
|
|
1382
|
+
const style = this._styleHelper;
|
|
1383
|
+
if (style) {
|
|
1384
|
+
style.cornerShape = value;
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1344
1387
|
}
|
|
1345
1388
|
export class TextBase extends ViewBase {
|
|
1346
1389
|
[textWrapProperty.setNative](value) {
|