@wavemaker/app-rn-runtime 11.10.5-1.6107 → 11.10.5-2.6136
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/actions/notification-action.js +3 -1
- package/actions/notification-action.js.map +1 -1
- package/components/basic/label/label.component.js +81 -34
- package/components/basic/label/label.component.js.map +1 -1
- package/components/basic/message/message.component.js +1 -1
- package/components/basic/message/message.component.js.map +1 -1
- package/components/basic/message/message.props.js +1 -0
- package/components/basic/message/message.props.js.map +1 -1
- package/components/basic/progress-bar/progress-bar.component.js +2 -2
- package/components/basic/progress-bar/progress-bar.component.js.map +1 -1
- package/components/basic/search/search.component.js +49 -28
- package/components/basic/search/search.component.js.map +1 -1
- package/components/basic/search/search.props.js +1 -0
- package/components/basic/search/search.props.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.component.js +4 -2
- package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.props.js +1 -0
- package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
- package/components/chart/basechart.component.js +9 -2
- package/components/chart/basechart.component.js.map +1 -1
- package/components/chart/basechart.props.js +3 -1
- package/components/chart/basechart.props.js.map +1 -1
- package/components/data/list/list.component.js +71 -51
- package/components/data/list/list.component.js.map +1 -1
- package/components/data/list/list.props.js +1 -1
- package/components/data/list/list.props.js.map +1 -1
- package/components/dialogs/dialog/dialog.component.js +57 -5
- package/components/dialogs/dialog/dialog.component.js.map +1 -1
- package/components/dialogs/dialog/dialog.props.js +1 -0
- package/components/dialogs/dialog/dialog.props.js.map +1 -1
- package/components/dialogs/dialogcontent/dialogcontent.component.js +7 -1
- package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
- package/components/page/left-panel/left-panel.component.js +27 -10
- package/components/page/left-panel/left-panel.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +3 -2
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page-content/page-content.props.js +2 -0
- package/components/page/page-content/page-content.props.js.map +1 -1
- package/components/page/page.component.js +16 -3
- package/components/page/page.component.js.map +1 -1
- package/core/components/textinput.component.js +18 -2
- package/core/components/textinput.component.js.map +1 -1
- package/core/toast.service.js.map +1 -1
- package/core/utils.js +290 -3
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +1359 -1818
- package/package-lock.json +1359 -1818
- package/package.json +2 -2
- package/runtime/App.js +35 -30
- package/runtime/App.js.map +1 -1
- package/runtime/services/app-toast.service.js +4 -0
- package/runtime/services/app-toast.service.js.map +1 -1
@@ -37,7 +37,7 @@ export default class BaseChartComponentProps extends SkeletonAnimationProps {
|
|
37
37
|
_defineProperty(this, "offsetright", 25);
|
38
38
|
_defineProperty(this, "showlegend", 'top');
|
39
39
|
_defineProperty(this, "showlabels", 'outside');
|
40
|
-
_defineProperty(this, "tooltips",
|
40
|
+
_defineProperty(this, "tooltips", true);
|
41
41
|
_defineProperty(this, "interpolation", 'linear');
|
42
42
|
_defineProperty(this, "highlightpoints", false);
|
43
43
|
_defineProperty(this, "showvalues", false);
|
@@ -56,6 +56,8 @@ export default class BaseChartComponentProps extends SkeletonAnimationProps {
|
|
56
56
|
_defineProperty(this, "accessibilityrole", void 0);
|
57
57
|
_defineProperty(this, "renderitempartial", void 0);
|
58
58
|
_defineProperty(this, "ynumberformat", '');
|
59
|
+
_defineProperty(this, "showxaxislabels", true);
|
60
|
+
_defineProperty(this, "showyaxislabels", true);
|
59
61
|
}
|
60
62
|
}
|
61
63
|
//# sourceMappingURL=basechart.props.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["SkeletonAnimationProps","BaseChartComponentProps","constructor","args","_defineProperty","undefined"],"sources":["basechart.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker/app-rn-runtime/runtime/base-fragment.component';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class BaseChartComponentProps extends SkeletonAnimationProps {\n xaxisdatakey: string = '';\n yaxisdatakey: string = '';\n iconclass = '';\n dataset: any;\n type: string = '';\n title: string = '';\n subheading: string = '';\n theme: string = '';\n xaxislabel: string = '';\n xunits: string = '';\n staggerlabels: boolean = false;\n yaxislabel: string = '';\n yunits: string = '';\n yaxislabeldistance?: number = undefined;\n xaxislabeldistance?: number = undefined;\n offsetxaxis?: number = undefined;\n offsetyaxis?: number = undefined;\n customcolors: string | Array<string> = '';\n legendheight: number = 0;\n labellegendheight: number = 0;\n labeltype: 'percent' | 'value' | 'key-value' | 'key' = 'percent';\n bubblesize: string= '';\n shape: string = '';\n loadingicon='fa fa-circle-o-notch fa-pulse';\n loadingdatamsg = 'Loading...';\n nodatamessage = 'No data found';\n offsetbottom: number = 50;\n offsettop: number = 70;\n offsetleft: number = 65;\n offsetright: number = 25;\n showlegend: string = 'top';\n showlabels: 'inside' | 'outside' | 'hide' = 'outside';\n tooltips: boolean =
|
1
|
+
{"version":3,"names":["SkeletonAnimationProps","BaseChartComponentProps","constructor","args","_defineProperty","undefined"],"sources":["basechart.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker/app-rn-runtime/runtime/base-fragment.component';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class BaseChartComponentProps extends SkeletonAnimationProps {\n xaxisdatakey: string = '';\n yaxisdatakey: string = '';\n iconclass = '';\n dataset: any;\n type: string = '';\n title: string = '';\n subheading: string = '';\n theme: string = '';\n xaxislabel: string = '';\n xunits: string = '';\n staggerlabels: boolean = false;\n yaxislabel: string = '';\n yunits: string = '';\n yaxislabeldistance?: number = undefined;\n xaxislabeldistance?: number = undefined;\n offsetxaxis?: number = undefined;\n offsetyaxis?: number = undefined;\n customcolors: string | Array<string> = '';\n legendheight: number = 0;\n labellegendheight: number = 0;\n labeltype: 'percent' | 'value' | 'key-value' | 'key' = 'percent';\n bubblesize: string= '';\n shape: string = '';\n loadingicon='fa fa-circle-o-notch fa-pulse';\n loadingdatamsg = 'Loading...';\n nodatamessage = 'No data found';\n offsetbottom: number = 50;\n offsettop: number = 70;\n offsetleft: number = 65;\n offsetright: number = 25;\n showlegend: string = 'top';\n showlabels: 'inside' | 'outside' | 'hide' = 'outside';\n tooltips: boolean = true;\n interpolation: string = 'linear';\n highlightpoints: boolean = false;\n showvalues: boolean = false;\n showyaxis: boolean = true;\n showxaxis: boolean = true;\n ydomain: string = 'Min';\n xdomain: string = 'Min';\n labelangle: number = 0;\n xtickexpr?: (item: any, index: number, length: number) => any;\n ytickexpr?: (item: any, index: number, length: number) => any;\n hidegridxaxis: boolean = false;\n hidegridyaxis: boolean = false;\n autoadjustlabels: boolean = false;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole;\n renderitempartial?: (item: any, index: number, partialName: string)=> React.ReactNode;\n ynumberformat?: string = '';\n showxaxislabels: boolean = true;\n showyaxislabels: boolean = true;\n}\n"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,2DAA2D;AAGlG,eAAe,MAAMC,uBAAuB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBACnD,EAAE;IAAAA,eAAA,uBACF,EAAE;IAAAA,eAAA,oBACb,EAAE;IAAAA,eAAA;IAAAA,eAAA,eAEC,EAAE;IAAAA,eAAA,gBACD,EAAE;IAAAA,eAAA,qBACG,EAAE;IAAAA,eAAA,gBACP,EAAE;IAAAA,eAAA,qBACG,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,wBACM,KAAK;IAAAA,eAAA,qBACT,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,6BACWC,SAAS;IAAAD,eAAA,6BACTC,SAAS;IAAAD,eAAA,sBAChBC,SAAS;IAAAD,eAAA,sBACTC,SAAS;IAAAD,eAAA,uBACO,EAAE;IAAAA,eAAA,uBAClB,CAAC;IAAAA,eAAA,4BACI,CAAC;IAAAA,eAAA,oBAC0B,SAAS;IAAAA,eAAA,qBAC5C,EAAE;IAAAA,eAAA,gBACN,EAAE;IAAAA,eAAA,sBACN,+BAA+B;IAAAA,eAAA,yBAC1B,YAAY;IAAAA,eAAA,wBACb,eAAe;IAAAA,eAAA,uBACR,EAAE;IAAAA,eAAA,oBACL,EAAE;IAAAA,eAAA,qBACD,EAAE;IAAAA,eAAA,sBACD,EAAE;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA,qBACkB,SAAS;IAAAA,eAAA,mBACjC,IAAI;IAAAA,eAAA,wBACA,QAAQ;IAAAA,eAAA,0BACL,KAAK;IAAAA,eAAA,qBACV,KAAK;IAAAA,eAAA,oBACN,IAAI;IAAAA,eAAA,oBACJ,IAAI;IAAAA,eAAA,kBACP,KAAK;IAAAA,eAAA,kBACL,KAAK;IAAAA,eAAA,qBACF,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBAGG,KAAK;IAAAA,eAAA,wBACL,KAAK;IAAAA,eAAA,2BACF,KAAK;IAAAA,eAAA,6BACHC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBAGA,EAAE;IAAAA,eAAA,0BACA,IAAI;IAAAA,eAAA,0BACJ,IAAI;EAAA;AACjC","ignoreList":[]}
|
@@ -22,6 +22,7 @@ export class WmListState extends BaseComponentState {
|
|
22
22
|
_defineProperty(this, "groupedData", []);
|
23
23
|
_defineProperty(this, "currentPage", 1);
|
24
24
|
_defineProperty(this, "maxRecordsToShow", 20);
|
25
|
+
_defineProperty(this, "loadingData", false);
|
25
26
|
}
|
26
27
|
}
|
27
28
|
export default class WmList extends BaseComponent {
|
@@ -31,7 +32,7 @@ export default class WmList extends BaseComponent {
|
|
31
32
|
_defineProperty(this, "selectedItemWidgets", {});
|
32
33
|
_defineProperty(this, "keyExtractor", new DefaultKeyExtractor());
|
33
34
|
_defineProperty(this, "endThreshold", -1);
|
34
|
-
|
35
|
+
// private loadingData = false;
|
35
36
|
_defineProperty(this, "hasMoreData", true);
|
36
37
|
_defineProperty(this, "leftActionTemplate", void 0);
|
37
38
|
_defineProperty(this, "rightActionTemplate", void 0);
|
@@ -61,6 +62,16 @@ export default class WmList extends BaseComponent {
|
|
61
62
|
});
|
62
63
|
}
|
63
64
|
});
|
65
|
+
_defineProperty(this, "getCaption", (isHorizontal, vData) => {
|
66
|
+
const {
|
67
|
+
nodatamessage,
|
68
|
+
ondemandmessage
|
69
|
+
} = this.state.props;
|
70
|
+
if (!isHorizontal) {
|
71
|
+
return this.hasMoreData ? ondemandmessage : nodatamessage;
|
72
|
+
}
|
73
|
+
return this.hasMoreData ? ondemandmessage : nodatamessage;
|
74
|
+
});
|
64
75
|
this.updateState({
|
65
76
|
maxRecordsToShow: this.state.props.pagesize
|
66
77
|
});
|
@@ -128,21 +139,27 @@ export default class WmList extends BaseComponent {
|
|
128
139
|
return navigation === 'Scroll' || navigation === 'On-Demand';
|
129
140
|
}
|
130
141
|
loadData() {
|
131
|
-
if (this.loadingData) {
|
142
|
+
if (this.state.loadingData) {
|
132
143
|
return;
|
133
144
|
}
|
134
145
|
if (isArray(this.state.props.dataset) && this.state.props.dataset.length > this.state.maxRecordsToShow) {
|
135
|
-
this.loadingData = true;
|
136
146
|
this.updateState({
|
147
|
+
loadingData: true,
|
137
148
|
maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize
|
138
149
|
});
|
139
150
|
setTimeout(() => {
|
140
|
-
|
151
|
+
// Force a re-render by making a small state update
|
152
|
+
this.updateState({
|
153
|
+
loadingData: false
|
154
|
+
});
|
141
155
|
}, 100);
|
142
156
|
} else if (this.loadDataOnDemand) {
|
143
157
|
const $list = this.proxy;
|
144
158
|
$list.loadingdata = true;
|
145
|
-
|
159
|
+
// Set loading state via updateState
|
160
|
+
this.updateState({
|
161
|
+
loadingData: true
|
162
|
+
});
|
146
163
|
this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then(data => {
|
147
164
|
if (isArray(data) && data.length > 0 && isArray(this.state.props.dataset)) {
|
148
165
|
$list.dataset = [...this.state.props.dataset, ...data];
|
@@ -295,7 +312,9 @@ export default class WmList extends BaseComponent {
|
|
295
312
|
}
|
296
313
|
break;
|
297
314
|
case 'loadingdata':
|
298
|
-
this.
|
315
|
+
this.updateState({
|
316
|
+
loadingData: $new && this.state.loadingData
|
317
|
+
});
|
299
318
|
break;
|
300
319
|
case 'selecteditem':
|
301
320
|
if ($new != $old && isNumber($new)) {
|
@@ -322,9 +341,7 @@ export default class WmList extends BaseComponent {
|
|
322
341
|
}
|
323
342
|
componentDidUpdate(prevProps, prevState, snapshot) {
|
324
343
|
super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);
|
325
|
-
|
326
|
-
this.invokeEventCallback('onRender', [this, this.state.props.dataset]);
|
327
|
-
}
|
344
|
+
this.invokeEventCallback('onRender', [this, this.state.props.dataset]);
|
328
345
|
}
|
329
346
|
getDefaultStyles() {
|
330
347
|
const isHorizontal = this.state.props.direction === 'horizontal';
|
@@ -342,46 +359,49 @@ export default class WmList extends BaseComponent {
|
|
342
359
|
renderItem(item, index, props) {
|
343
360
|
const cols = this.getNoOfColumns();
|
344
361
|
const isHorizontal = props.direction === 'horizontal';
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
362
|
+
if (index < this.state.maxRecordsToShow || isHorizontal && this.state.props.horizontalondemandenabled === false) {
|
363
|
+
const styles = this._showSkeleton ? {
|
364
|
+
...this.styles.item,
|
365
|
+
...this.styles.skeleton.root
|
366
|
+
} : this.styles.item;
|
367
|
+
return /*#__PURE__*/React.createElement(Swipeable, {
|
368
|
+
renderLeftActions: () => this.renderLeftActions(),
|
369
|
+
renderRightActions: () => this.renderRightActions(),
|
370
|
+
containerStyle: cols ? {
|
371
|
+
width: round(100 / cols) + "%",
|
372
|
+
flex: null
|
373
|
+
} : {}
|
374
|
+
}, /*#__PURE__*/React.createElement(View, {
|
375
|
+
style: [styles, props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null, this.isSelected(item) ? this.styles.selectedItem : {}]
|
376
|
+
}, styles.backgroundImage ? /*#__PURE__*/React.createElement(BackgroundComponent, {
|
377
|
+
image: styles.backgroundImage,
|
378
|
+
position: styles.backgroundPosition || 'center',
|
379
|
+
size: styles.backgroundSize || 'cover',
|
380
|
+
repeat: styles.backgroundRepeat || 'no-repeat',
|
381
|
+
resizeMode: styles.backgroundResizeMode || 'cover',
|
382
|
+
style: {
|
383
|
+
borderRadius: this.styles.item.borderRadius
|
384
|
+
}
|
385
|
+
}) : null, /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(`item${index}`), {
|
386
|
+
disableTouchEffect: this.state.props.disabletoucheffect,
|
387
|
+
onTap: $event => this.onSelect(item, index, $event),
|
388
|
+
onLongTap: () => this.invokeEventCallback('onLongtap', [null, this.proxy]),
|
389
|
+
onDoubleTap: () => this.invokeEventCallback('onDoubletap', [null, this.proxy]),
|
390
|
+
styles: [{
|
391
|
+
display: 'flex',
|
392
|
+
flexDirection: 'row'
|
393
|
+
}, cols ? {
|
394
|
+
width: '100%'
|
395
|
+
} : null, cols && cols > 1 || isHorizontal ? {
|
396
|
+
paddingRight: (isNil(this.styles.item.marginRight) ? this.styles.item.margin : this.styles.item.marginRight) || 4
|
397
|
+
} : null, this.styles.itemContainer]
|
398
|
+
}), props.renderItem(item, index, this), this.isSelected(item) ? /*#__PURE__*/React.createElement(WmIcon, {
|
399
|
+
id: this.getTestId('icon' + index),
|
400
|
+
iconclass: "wi wi-check-circle",
|
401
|
+
styles: this.styles.selectedIcon
|
402
|
+
}) : null)));
|
403
|
+
}
|
404
|
+
return null;
|
385
405
|
}
|
386
406
|
renderHeader(props, title) {
|
387
407
|
return props.groupby ? /*#__PURE__*/React.createElement(Text, {
|
@@ -465,10 +485,10 @@ export default class WmList extends BaseComponent {
|
|
465
485
|
showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar
|
466
486
|
} : {
|
467
487
|
numColumns: this.getNoOfColumns()
|
468
|
-
})), this.loadDataOnDemand || v.data.length > this.state.maxRecordsToShow ? this.loadingData ? this.renderLoadingIcon(props) : /*#__PURE__*/React.createElement(WmLabel, {
|
488
|
+
})), this.loadDataOnDemand || v.data.length > this.state.maxRecordsToShow && props.navigation !== 'None' ? this.state.loadingData ? this.renderLoadingIcon(props) : /*#__PURE__*/React.createElement(WmLabel, {
|
469
489
|
id: this.getTestId('ondemandmessage'),
|
470
490
|
styles: this.styles.onDemandMessage,
|
471
|
-
caption: this.
|
491
|
+
caption: this.getCaption(isHorizontal, v.data),
|
472
492
|
onTap: () => this.loadData()
|
473
493
|
}) : null);
|
474
494
|
}) : this.renderEmptyMessage(isHorizontal, null, null, props));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","round","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","WmListProps","DEFAULT_CLASS","BackgroundComponent","WmListState","constructor","args","_defineProperty","WmList","props","leftActionTemplate","createElement","Fragment","getTemplate","rightActionTemplate","item","dataset","state","onSelect","index","indexOf","groupKey","itemIndex","refKey","flatListRefs","scrollToIndex","animated","viewPosition","updateState","maxRecordsToShow","pagesize","isSelected","$item","selectedItem","selecteditem","$index","$event","eventName","disableitem","multiselect","selectionlimit","length","push","invokeEventCallback","splice","proxy","selectedItemWidgets","itemWidgets","direction","_this$state$groupedDa","groupedData","forEach","group","data","includes","key","Promise","resolve","selectedindex","scrollToItem","loadDataOnDemand","navigation","loadData","loadingData","setTimeout","$list","loadingdata","getNextPageData","currentPage","then","hasMoreData","catch","err","console","error","selectFirstItem","initialized","groupby","clear","getItem","deselect","selectedItemIndex","getWidgets","widgetname","map","filter","widget","undefined","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","orderbyData","_this$keyExtractor2","_this$keyExtractor3","selectfirstitem","pop","selectItem","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","layoutMeasurement","height","endThreshold","componentDidUpdate","prevProps","prevState","snapshot","triggeronrenderwhenhidden","showView","getDefaultStyles","isHorizontal","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","styles","skeleton","root","renderLeftActions","renderRightActions","containerStyle","width","flex","style","itemclass","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","getTestPropsForAction","disableTouchEffect","disabletoucheffect","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","itemContainer","id","getTestId","iconclass","selectedIcon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","nodatamessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","onLayoutChange","e","l","layout","renderWithFlatList","onLayout","v","i","_ref","ref","testID","scrollEnabled","horizontal","numberofskeletonitems","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","onDemandMessage","ondemandmessage","getSectionListData","_ref2","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","handleLayout","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity } from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { getGroupedData, getNumberOfEmptyObjects, isDefined } from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Swipeable } from 'react-native-gesture-handler';\nimport WmListActionTemplate from './list-action-template/list-action-template.component';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n}\n\nexport default class WmList extends BaseComponent<WmListProps, WmListState, WmListStyles> {\n\n private itemWidgets = [] as any[];\n private selectedItemWidgets = {} as any;\n private keyExtractor = new DefaultKeyExtractor();\n private endThreshold = -1;\n private loadingData = false;\n private hasMoreData = true;\n public leftActionTemplate?: WmListActionTemplate;\n public rightActionTemplate?: WmListActionTemplate;\n private flatListRefs: any = {};\n\n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private async onSelect($item: any, $index: number | string, $event?: any) {\n const props = this.state.props;\n let selectedItem = null as any;\n let eventName = 'onSelect';\n if (props.disableitem !== true\n && (typeof props.disableitem !== 'function' || !props.disableitem($item, $index))) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n eventName = 'onDeselect';\n }\n } else {\n this.state.props.selecteditem && this.invokeEventCallback('onDeselect', [this.proxy, this.state.props.selecteditem]);\n selectedItem = $item;\n }\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n let groupKey: string | null = null;\n\n if (props.direction === 'horizontal') {\n this.state.groupedData?.forEach((group) => {\n if (group.data.includes($item)) {\n groupKey = group.key;\n }\n });\n }\n\n return new Promise(resolve => {\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n if (props.direction === 'horizontal') {\n this.scrollToItem(groupKey, $index as number);\n }\n this.invokeEventCallback(eventName, [this.proxy, $item]);\n $event && this.invokeEventCallback('onTap', [$event, this.proxy]);\n resolve(null);\n });\n });\n\n } else {\n return Promise.resolve(null);\n }\n }\n\n private get loadDataOnDemand() {\n const navigation = this.state.props.navigation;\n return navigation === 'Scroll' || navigation === 'On-Demand';\n }\n\n renderLeftActions = () => {\n return this.leftActionTemplate ? (\n <>\n {this.leftActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n renderRightActions = () => {\n return this.rightActionTemplate ? (\n <>\n {this.rightActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n private loadData() {\n if (this.loadingData) {\n return;\n }\n if (isArray(this.state.props.dataset)\n && this.state.props.dataset.length > this.state.maxRecordsToShow) {\n this.loadingData = true;\n this.updateState({\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n setTimeout(() => {\n this.loadingData = false;\n }, 100);\n } else if (this.loadDataOnDemand) {\n const $list = this.proxy as any;\n $list.loadingdata = true;\n this.loadingData = true;\n this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then((data) => {\n if (isArray(data) && data.length > 0\n && isArray(this.state.props.dataset)) {\n $list.dataset = [...this.state.props.dataset, ...data];\n this.updateState({\n currentPage: this.state.currentPage + 1,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n this.hasMoreData = true;\n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n }, 1000);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00' : 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n\n clear() {\n this.updateState({\n groupedData: {},\n } as WmListState);\n }\n\n selectItem = (item: any) => {\n const dataset = this.state.props.dataset;\n if (isNumber(item)) {\n this.onSelect(dataset[item], item);\n }\n else {\n let index = dataset.indexOf(item);\n this.onSelect(dataset[index], index);\n }\n }\n\n getItem(index: number) {\n const props = this.state.props;\n return this.props.dataset[index]\n }\n\n deselect(item: any) {\n const props = this.state.props;\n let selectedItem = null as any;\n let index = isNumber(item) ? item : props.dataset.indexOf(item);\n if (props.multiselect && index >= 0) {\n selectedItem = [...(props.selecteditem || [])];\n let selectedItemIndex = selectedItem.indexOf(props.dataset[index])\n if (selectedItemIndex >= 0) {\n selectedItem.splice(selectedItemIndex, 1);\n }\n }\n else {\n if (props.selecteditem === props.dataset[index]) {\n selectedItem = null;\n }\n }\n this.updateState({\n props: { selecteditem: selectedItem },\n\n } as WmListState, () => {\n this.invokeEventCallback('onDeselect', [this.proxy, item]);\n });\n }\n\n getWidgets(widgetname: string, index: number) {\n if (index >= 0 && index < this.itemWidgets.length) {\n return this.itemWidgets[index][widgetname]\n }\n else {\n return this.itemWidgets.map(item => item[widgetname]).filter(widget => widget !== undefined);\n }\n }\n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch (name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n if (!($old && $old.length)\n && $new && $new.length\n && this.loadDataOnDemand) {\n this.updateState({\n props: {\n dataset: [...$new]\n }\n } as WmListState);\n }\n const data = isArray($new) ? $new : (!isEmpty($new) && isDefined($new) ? [$new] : []);\n if (props.orderby) {\n const orderbyData = data && getGroupedData(data, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: (orderbyData[0] ? [{\n key: 'key',\n data: orderbyData[0].data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n } else {\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: 'key',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ?\n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n break;\n case 'loadingdata':\n this.loadingData = $new && this.loadingData;\n break;\n case 'selecteditem':\n if ($new != $old && isNumber($new)) {\n this.selectItem(this.state.props.dataset[$new])\n }\n break;\n }\n }\n\n componentDidMount() {\n const props = this.state.props;\n if (this.state.props.selectfirstitem && props.dataset?.length) {\n setTimeout(() => {\n this.onSelect(props.dataset[0], 0);\n });\n }\n this.subscribe('scroll', (event: any) => {\n const scrollPosition = event.nativeEvent.contentOffset.y + event.nativeEvent.layoutMeasurement.height;\n if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {\n this.loadData();\n }\n });\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n if (prevProps.triggeronrenderwhenhidden === true || this.showView()) {\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n }\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this.getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n\n const styles = this._showSkeleton ? {\n ...this.styles.item,\n ...this.styles.skeleton.root\n } : this.styles.item as any\n return (index < this.state.maxRecordsToShow || isHorizontal) ? (\n <Swipeable\n renderLeftActions={() => this.renderLeftActions()}\n renderRightActions={() => this.renderRightActions()} containerStyle={cols ? { width: round(100 / cols) + \"%\", flex: null } as any : {}}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{ display: 'flex', flexDirection: 'row' },\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null,\n this.styles.itemContainer\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </Swipeable>\n ) : null;\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading} accessibilityRole='header'>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{ flex: 1, flexDirection: 'row' }}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('subheading')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel id={this.getTestId('emptymsg')} styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return props.loadingicon ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n : (\n <ActivityIndicator color={this.styles.loadingIcon.text.color}></ActivityIndicator>\n );\n }\n\n public getNoOfColumns() {\n const props = this.state.props;\n if (props.direction === 'vertical') {\n return props.itemsperrow.xs;\n }\n return 0;\n }\n\n private onLayoutChange(e: LayoutChangeEvent) {\n const l = e.nativeEvent.layout;\n this.endThreshold = l.height + l.y - 100;\n if (!this.endThreshold) {\n this.endThreshold = -1;\n }\n }\n\n private scrollToItem = (groupKey: string | null, itemIndex: number) => {\n const refKey = groupKey || 'main';\n if (this.flatListRefs[refKey]) {\n this.flatListRefs[refKey].scrollToIndex({\n index: itemIndex,\n animated: true,\n viewPosition: 0.5,\n });\n }\n };\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n\n return (\n <View style={this.styles.root} onLayout={e => this.onLayoutChange(e)}>\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={this.styles.group} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n ref={(ref) => { this.flatListRefs[v.key || 'main'] = ref; }}\n testID={this.getTestId('flat_list')}\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal}\n horizontal={isHorizontal}\n data={this._showSkeleton ? [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)] : (isEmpty(v.data[0]) ? [] : v.data)}\n ListEmptyComponent={(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}\n {...(isHorizontal ? { showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar } : { numColumns: this.getNoOfColumns() })}>\n </FlatList>\n {this.loadDataOnDemand || (v.data.length > this.state.maxRecordsToShow) ?\n (this.loadingData ?\n this.renderLoadingIcon(props) :\n (<WmLabel id={this.getTestId('ondemandmessage')}\n styles={this.styles.onDemandMessage}\n caption={this.hasMoreData && !isHorizontal ? props.ondemandmessage : props.nodatamessage}\n onTap={() => this.loadData()}></WmLabel>))\n : null}\n </View>\n ))) : this.renderEmptyMessage(isHorizontal, null, null, props)\n }\n </View>);\n }\n\n private getSectionListData(props: WmListProps) {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)]\n }];\n } else if (this.state.groupedData\n && this.state.groupedData[0]\n && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n return (\n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal={isHorizontal}\n contentContainerStyle={this.styles.root}\n sections={this.getSectionListData(props)}\n renderSectionHeader={({ section: { key, data } }) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent={(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n\n return (\n <View\n style={isHorizontal ? null : { width: '100%' }}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,EAAEC,WAAW,EAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,QAA6C,cAAc;AACxH,SAASC,OAAO,EAAEC,OAAO,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,QAAQ,WAAW;AACpE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,SAASC,cAAc,EAAEC,uBAAuB,EAAEC,SAAS,QAAQ,sCAAsC;AACzG,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,mBAAmB,QAAQ,8CAA8C;AAClF,OAAOC,OAAO,MAAM,kEAAkE;AACtF,OAAOC,MAAM,MAAM,gEAAgE;AACnF,SAASC,SAAS,QAAQ,8BAA8B;AAGxD,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,aAAa,QAAsB,eAAe;AAC3D,SAASC,mBAAmB,QAAQ,uDAAuD;AAG3F,OAAO,MAAMC,WAAW,SAASZ,kBAAkB,CAAc;EAAAa,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,sBAErC,EAAE;IAAAA,eAAA,sBACd,CAAC;IAAAA,eAAA,2BACI,EAAE;EAAA;AACvB;AAEA,eAAe,MAAMC,MAAM,SAASjB,aAAa,CAAyC;EAYxFc,WAAWA,CAACI,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,WAAW,CAAC,CAAC,EAAE,IAAIG,WAAW,CAAC,CAAC,CAAC;IAACG,eAAA,sBAX9C,EAAE;IAAAA,eAAA,8BACM,CAAC,CAAC;IAAAA,eAAA,uBACT,IAAIV,mBAAmB,CAAC,CAAC;IAAAU,eAAA,uBACzB,CAAC,CAAC;IAAAA,eAAA,sBACH,KAAK;IAAAA,eAAA,sBACL,IAAI;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,uBAGE,CAAC,CAAC;IAAAA,eAAA,4BA6EV,MAAM;MACxB,OAAO,IAAI,CAACG,kBAAkB,gBAC5B9B,KAAA,CAAA+B,aAAA,CAAA/B,KAAA,CAAAgC,QAAA,QACG,IAAI,CAACF,kBAAkB,CAACG,WAAW,CAAC,CACrC,CAAC,GACD,IAAI;IACV,CAAC;IAAAN,eAAA,6BAEoB,MAAM;MACzB,OAAO,IAAI,CAACO,mBAAmB,gBAC7BlC,KAAA,CAAA+B,aAAA,CAAA/B,KAAA,CAAAgC,QAAA,QACG,IAAI,CAACE,mBAAmB,CAACD,WAAW,CAAC,CACtC,CAAC,GACD,IAAI;IACV,CAAC;IAAAN,eAAA,qBAyDaQ,IAAS,IAAK;MAC1B,MAAMC,OAAO,GAAG,IAAI,CAACC,KAAK,CAACR,KAAK,CAACO,OAAO;MACxC,IAAI3B,QAAQ,CAAC0B,IAAI,CAAC,EAAE;QAClB,IAAI,CAACG,QAAQ,CAACF,OAAO,CAACD,IAAI,CAAC,EAAEA,IAAI,CAAC;MACpC,CAAC,MACI;QACH,IAAII,KAAK,GAAGH,OAAO,CAACI,OAAO,CAACL,IAAI,CAAC;QACjC,IAAI,CAACG,QAAQ,CAACF,OAAO,CAACG,KAAK,CAAC,EAAEA,KAAK,CAAC;MACtC;IACF,CAAC;IAAAZ,eAAA,uBAmRsB,CAACc,QAAuB,EAAEC,SAAiB,KAAK;MACrE,MAAMC,MAAM,GAAGF,QAAQ,IAAI,MAAM;MACjC,IAAI,IAAI,CAACG,YAAY,CAACD,MAAM,CAAC,EAAE;QAC7B,IAAI,CAACC,YAAY,CAACD,MAAM,CAAC,CAACE,aAAa,CAAC;UACtCN,KAAK,EAAEG,SAAS;UAChBI,QAAQ,EAAE,IAAI;UACdC,YAAY,EAAE;QAChB,CAAC,CAAC;MACJ;IACF,CAAC;IArbC,IAAI,CAACC,WAAW,CAAC;MACfC,gBAAgB,EAAE,IAAI,CAACZ,KAAK,CAACR,KAAK,CAACqB;IACrC,CAAgB,CAAC;EACnB;EAEQC,UAAUA,CAACC,KAAU,EAAE;IAC7B,MAAMC,YAAY,GAAG,IAAI,CAAChB,KAAK,CAACR,KAAK,CAACyB,YAAY;IAClD,IAAIhD,OAAO,CAAC+C,YAAY,CAAC,EAAE;MACzB,OAAOA,YAAY,CAACb,OAAO,CAACY,KAAK,CAAC,IAAI,CAAC;IACzC;IACA,OAAOC,YAAY,KAAKD,KAAK;EAC/B;EAEA,MAAcd,QAAQA,CAACc,KAAU,EAAEG,MAAuB,EAAEC,MAAY,EAAE;IACxE,MAAM3B,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAIwB,YAAY,GAAG,IAAW;IAC9B,IAAII,SAAS,GAAG,UAAU;IAC1B,IAAI5B,KAAK,CAAC6B,WAAW,KAAK,IAAI,KACxB,OAAO7B,KAAK,CAAC6B,WAAW,KAAK,UAAU,IAAI,CAAC7B,KAAK,CAAC6B,WAAW,CAACN,KAAK,EAAEG,MAAM,CAAC,CAAC,EAAE;MACnF,IAAI1B,KAAK,CAAC8B,WAAW,EAAE;QACrBN,YAAY,GAAG,CAAC,IAAIxB,KAAK,CAACyB,YAAY,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAMf,KAAK,GAAGc,YAAY,CAACb,OAAO,CAACY,KAAK,CAAC;QACzC,IAAIb,KAAK,GAAG,CAAC,EAAE;UACb,IAAK,CAACV,KAAK,CAAC+B,cAAc,IACrB/B,KAAK,CAAC+B,cAAc,GAAG,CAAC,IACxBP,YAAY,CAACQ,MAAM,GAAGhC,KAAK,CAAC+B,cAAc,EAAE;YAC/CP,YAAY,CAACS,IAAI,CAACV,KAAK,CAAC;UAC1B,CAAC,MAAM;YACL,IAAI,CAACW,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;UAClE;QACF,CAAC,MAAM;UACLV,YAAY,CAACW,MAAM,CAACzB,KAAK,EAAE,CAAC,CAAC;UAC7BkB,SAAS,GAAG,YAAY;QAC1B;MACF,CAAC,MAAM;QACL,IAAI,CAACpB,KAAK,CAACR,KAAK,CAACyB,YAAY,IAAI,IAAI,CAACS,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,CAACE,KAAK,EAAE,IAAI,CAAC5B,KAAK,CAACR,KAAK,CAACyB,YAAY,CAAC,CAAC;QACpHD,YAAY,GAAGD,KAAK;MACtB;MACA,IAAI,CAACc,mBAAmB,GAAG,IAAI,CAACC,WAAW,CAACZ,MAAM,CAAW;MAC7D,IAAId,QAAuB,GAAG,IAAI;MAElC,IAAIZ,KAAK,CAACuC,SAAS,KAAK,YAAY,EAAE;QAAA,IAAAC,qBAAA;QACpC,CAAAA,qBAAA,OAAI,CAAChC,KAAK,CAACiC,WAAW,cAAAD,qBAAA,eAAtBA,qBAAA,CAAwBE,OAAO,CAAEC,KAAK,IAAK;UACzC,IAAIA,KAAK,CAACC,IAAI,CAACC,QAAQ,CAACtB,KAAK,CAAC,EAAE;YAC9BX,QAAQ,GAAG+B,KAAK,CAACG,GAAG;UACtB;QACF,CAAC,CAAC;MACJ;MAEA,OAAO,IAAIC,OAAO,CAACC,OAAO,IAAI;QAC5B,IAAI,CAAC7B,WAAW,CAAC;UACfnB,KAAK,EAAE;YAAEyB,YAAY,EAAED;UAAa,CAAC;UACrCyB,aAAa,EAAEvB;QACjB,CAAC,EAAiB,MAAM;UACtB,IAAI1B,KAAK,CAACuC,SAAS,KAAK,YAAY,EAAE;YACpC,IAAI,CAACW,YAAY,CAACtC,QAAQ,EAAEc,MAAgB,CAAC;UAC/C;UACA,IAAI,CAACQ,mBAAmB,CAACN,SAAS,EAAE,CAAC,IAAI,CAACQ,KAAK,EAAEb,KAAK,CAAC,CAAC;UACxDI,MAAM,IAAI,IAAI,CAACO,mBAAmB,CAAC,OAAO,EAAE,CAACP,MAAM,EAAE,IAAI,CAACS,KAAK,CAAC,CAAC;UACjEY,OAAO,CAAC,IAAI,CAAC;QACf,CAAC,CAAC;MACJ,CAAC,CAAC;IAEJ,CAAC,MAAM;MACL,OAAOD,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;IAC9B;EACF;EAEA,IAAYG,gBAAgBA,CAAA,EAAG;IAC7B,MAAMC,UAAU,GAAG,IAAI,CAAC5C,KAAK,CAACR,KAAK,CAACoD,UAAU;IAC9C,OAAOA,UAAU,KAAK,QAAQ,IAAIA,UAAU,KAAK,WAAW;EAC9D;EAkBQC,QAAQA,CAAA,EAAG;IACjB,IAAI,IAAI,CAACC,WAAW,EAAE;MACpB;IACF;IACA,IAAI7E,OAAO,CAAC,IAAI,CAAC+B,KAAK,CAACR,KAAK,CAACO,OAAO,CAAC,IAChC,IAAI,CAACC,KAAK,CAACR,KAAK,CAACO,OAAO,CAACyB,MAAM,GAAG,IAAI,CAACxB,KAAK,CAACY,gBAAgB,EAAE;MAClE,IAAI,CAACkC,WAAW,GAAG,IAAI;MACvB,IAAI,CAACnC,WAAW,CAAC;QACfC,gBAAgB,EAAE,IAAI,CAACZ,KAAK,CAACY,gBAAgB,GAAG,IAAI,CAACZ,KAAK,CAACR,KAAK,CAACqB;MACnE,CAAgB,CAAC;MACjBkC,UAAU,CAAC,MAAM;QACf,IAAI,CAACD,WAAW,GAAG,KAAK;MAC1B,CAAC,EAAE,GAAG,CAAC;IACT,CAAC,MAAM,IAAI,IAAI,CAACH,gBAAgB,EAAE;MAChC,MAAMK,KAAK,GAAG,IAAI,CAACpB,KAAY;MAC/BoB,KAAK,CAACC,WAAW,GAAG,IAAI;MACxB,IAAI,CAACH,WAAW,GAAG,IAAI;MACvB,IAAI,CAACtD,KAAK,CAAC0D,eAAe,IAAI,IAAI,CAAC1D,KAAK,CAAC0D,eAAe,CAAC,IAAI,EAAE,IAAI,CAACtB,KAAK,EAAE,IAAI,CAAC5B,KAAK,CAACmD,WAAW,GAAG,CAAC,CAAC,CAACC,IAAI,CAAEhB,IAAI,IAAK;QACpH,IAAInE,OAAO,CAACmE,IAAI,CAAC,IAAIA,IAAI,CAACZ,MAAM,GAAG,CAAC,IAC/BvD,OAAO,CAAC,IAAI,CAAC+B,KAAK,CAACR,KAAK,CAACO,OAAO,CAAC,EAAE;UACtCiD,KAAK,CAACjD,OAAO,GAAG,CAAC,GAAG,IAAI,CAACC,KAAK,CAACR,KAAK,CAACO,OAAO,EAAE,GAAGqC,IAAI,CAAC;UACtD,IAAI,CAACzB,WAAW,CAAC;YACfwC,WAAW,EAAE,IAAI,CAACnD,KAAK,CAACmD,WAAW,GAAG,CAAC;YACvCvC,gBAAgB,EAAE,IAAI,CAACZ,KAAK,CAACY,gBAAgB,GAAG,IAAI,CAACZ,KAAK,CAACR,KAAK,CAACqB;UACnE,CAAgB,CAAC;UACjB,IAAI,CAACwC,WAAW,GAAG,IAAI;QACzB,CAAC,MAAM;UACL,IAAI,CAACA,WAAW,GAAG,KAAK;QAC1B;MACF,CAAC,CAAC,CAACC,KAAK,CAAEC,GAAG,IAAK;QAChBC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;MACpB,CAAC,CAAC,CAACH,IAAI,CAAC,MAAM;QACZL,UAAU,CAAC,MAAM;UACfC,KAAK,CAACC,WAAW,GAAG,KAAK;QAC3B,CAAC,EAAE,IAAI,CAAC;MACV,CAAC,CAAC;IACJ;EACF;EAEQS,eAAeA,CAAA,EAAG;IACxB,MAAMlE,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAI,IAAI,CAACmE,WAAW,IACfnE,KAAK,CAACO,OAAO,IACbP,KAAK,CAACO,OAAO,CAACyB,MAAM,EAAE;MACzB,MAAMtB,KAAK,GAAGV,KAAK,CAACoE,OAAO,GAAG,IAAI,GAAG,CAAC;MACtC,IAAI,CAAC3D,QAAQ,CAACT,KAAK,CAACO,OAAO,CAAC,CAAC,CAAC,EAAEG,KAAK,CAAC;IACxC;EACF;EAEA2D,KAAKA,CAAA,EAAG;IACN,IAAI,CAAClD,WAAW,CAAC;MACfsB,WAAW,EAAE,CAAC;IAChB,CAAgB,CAAC;EACnB;EAaA6B,OAAOA,CAAC5D,KAAa,EAAE;IACrB,MAAMV,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,OAAO,IAAI,CAACA,KAAK,CAACO,OAAO,CAACG,KAAK,CAAC;EAClC;EAEA6D,QAAQA,CAACjE,IAAS,EAAE;IAClB,MAAMN,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAIwB,YAAY,GAAG,IAAW;IAC9B,IAAId,KAAK,GAAG9B,QAAQ,CAAC0B,IAAI,CAAC,GAAGA,IAAI,GAAGN,KAAK,CAACO,OAAO,CAACI,OAAO,CAACL,IAAI,CAAC;IAC/D,IAAIN,KAAK,CAAC8B,WAAW,IAAIpB,KAAK,IAAI,CAAC,EAAE;MACnCc,YAAY,GAAG,CAAC,IAAIxB,KAAK,CAACyB,YAAY,IAAI,EAAE,CAAC,CAAC;MAC9C,IAAI+C,iBAAiB,GAAGhD,YAAY,CAACb,OAAO,CAACX,KAAK,CAACO,OAAO,CAACG,KAAK,CAAC,CAAC;MAClE,IAAI8D,iBAAiB,IAAI,CAAC,EAAE;QAC1BhD,YAAY,CAACW,MAAM,CAACqC,iBAAiB,EAAE,CAAC,CAAC;MAC3C;IACF,CAAC,MACI;MACH,IAAIxE,KAAK,CAACyB,YAAY,KAAKzB,KAAK,CAACO,OAAO,CAACG,KAAK,CAAC,EAAE;QAC/Cc,YAAY,GAAG,IAAI;MACrB;IACF;IACA,IAAI,CAACL,WAAW,CAAC;MACfnB,KAAK,EAAE;QAAEyB,YAAY,EAAED;MAAa;IAEtC,CAAC,EAAiB,MAAM;MACtB,IAAI,CAACU,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,CAACE,KAAK,EAAE9B,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC;EACJ;EAEAmE,UAAUA,CAACC,UAAkB,EAAEhE,KAAa,EAAE;IAC5C,IAAIA,KAAK,IAAI,CAAC,IAAIA,KAAK,GAAG,IAAI,CAAC4B,WAAW,CAACN,MAAM,EAAE;MACjD,OAAO,IAAI,CAACM,WAAW,CAAC5B,KAAK,CAAC,CAACgE,UAAU,CAAC;IAC5C,CAAC,MACI;MACH,OAAO,IAAI,CAACpC,WAAW,CAACqC,GAAG,CAACrE,IAAI,IAAIA,IAAI,CAACoE,UAAU,CAAC,CAAC,CAACE,MAAM,CAACC,MAAM,IAAIA,MAAM,KAAKC,SAAS,CAAC;IAC9F;EACF;EAEQC,WAAWA,CAAA,EAAG;IACpB,IAAI,CAAC5D,WAAW,CAAC;MACfnB,KAAK,EAAE;QAAEyB,YAAY,EAAE;MAAK,CAAC;MAC7BwB,aAAa,EAAE,CAAC;IAClB,CAAgB,CAAC;EACnB;EAEA+B,YAAYA,CAACC,KAAU,EAAE;IACvB,MAAMC,SAAS,GAAGD,KAAK;IACvB,MAAMjF,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAIA,KAAK,CAACoE,OAAO,EAAE;MACjB,MAAM3B,WAAW,GAAGyC,SAAS,IAAIlG,cAAc,CAACkG,SAAS,EAAElF,KAAK,CAACoE,OAAO,EAAEpE,KAAK,CAACmF,KAAK,EAAEnF,KAAK,CAACoF,OAAO,EAAEpF,KAAK,CAACqF,UAAU,EAAE,IAAI,CAAC;MAC7H,IAAI,CAAClE,WAAW,CAAC;QACfsB,WAAW,EAAEA;MACf,CAAC,EAAiB,MAAM;QAAA,IAAA6C,kBAAA;QACtB,CAAAA,kBAAA,OAAI,CAACC,YAAY,cAAAD,kBAAA,eAAjBA,kBAAA,CAAmBjB,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACJ;EACF;EAEOmB,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAE;IAC1D,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACxC,MAAM3F,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,QAAQyF,IAAI;MACV,KAAK,iBAAiB;QACpB,IAAIC,IAAI,EAAE;UACR,IAAI,CAACxB,eAAe,CAAC,CAAC;QACxB;QACA;MACF,KAAK,SAAS;QACZ,IAAI,IAAI,CAAC1D,KAAK,CAACR,KAAK,CAACoE,OAAO,EAAE;UAC5B,IAAI,CAACY,YAAY,CAACU,IAAI,CAAC;QACzB,CAAC,MAAM;UACL,IAAI,EAAEC,IAAI,IAAIA,IAAI,CAAC3D,MAAM,CAAC,IACrB0D,IAAI,IAAIA,IAAI,CAAC1D,MAAM,IACnB,IAAI,CAACmB,gBAAgB,EAAE;YAC1B,IAAI,CAAChC,WAAW,CAAC;cACfnB,KAAK,EAAE;gBACLO,OAAO,EAAE,CAAC,GAAGmF,IAAI;cACnB;YACF,CAAgB,CAAC;UACnB;UACA,MAAM9C,IAAI,GAAGnE,OAAO,CAACiH,IAAI,CAAC,GAAGA,IAAI,GAAI,CAAChH,OAAO,CAACgH,IAAI,CAAC,IAAIxG,SAAS,CAACwG,IAAI,CAAC,GAAG,CAACA,IAAI,CAAC,GAAG,EAAG;UACrF,IAAI1F,KAAK,CAACoF,OAAO,EAAE;YACjB,MAAMQ,WAAW,GAAGhD,IAAI,IAAI5D,cAAc,CAAC4D,IAAI,EAAE5C,KAAK,CAACoE,OAAO,EAAEpE,KAAK,CAACmF,KAAK,EAAEnF,KAAK,CAACoF,OAAO,EAAEpF,KAAK,CAACqF,UAAU,EAAE,IAAI,CAAC;YACnH,IAAI,CAAClE,WAAW,CAAC;cACfsB,WAAW,EAAGmD,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC9B9C,GAAG,EAAE,KAAK;gBACVF,IAAI,EAAEgD,WAAW,CAAC,CAAC,CAAC,CAAChD;cACvB,CAAC,CAAC,GAAG;YACP,CAAC,EAAiB,MAAM;cAAA,IAAAiD,mBAAA;cACtB,CAAAA,mBAAA,OAAI,CAACN,YAAY,cAAAM,mBAAA,eAAjBA,mBAAA,CAAmBxB,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC;UACJ,CAAC,MAAM;YACL,IAAI,CAAClD,WAAW,CAAC;cACfsB,WAAW,EAAGG,IAAI,CAAC,CAAC,CAAC,IAAI5C,KAAK,CAACuC,SAAS,KAAK,YAAY,GAAG,CAAC;gBAC3DO,GAAG,EAAE,KAAK;gBACVF,IAAI,EAAEA;cACR,CAAC,CAAC,GAAG;YACP,CAAC,EAAiB,MAAM;cAAA,IAAAkD,mBAAA;cACtB,CAAAA,mBAAA,OAAI,CAACP,YAAY,cAAAO,mBAAA,eAAjBA,mBAAA,CAAmBzB,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC;UACJ;QACF;QACA,IAAI,CAAC/B,WAAW,GAAG,EAAE;QACrB,IAAItC,KAAK,CAAC+F,eAAe,EAAE;UACzB,IAAI,CAAC7B,eAAe,CAAC,CAAC;QACxB,CAAC,MAAM;UACL,IAAI,CAACa,WAAW,CAAC,CAAC;QACpB;QACA;MACF,KAAK,SAAS;MACd,KAAK,OAAO;QACV,IAAI,CAACC,YAAY,CAAC,IAAI,CAACxE,KAAK,CAACR,KAAK,CAACO,OAAO,CAAC;QAC3C;MACF,KAAK,aAAa;QAChB,IAAImF,IAAI,EAAE;UACR,IAAI,CAACjH,OAAO,CAAC,IAAI,CAAC+B,KAAK,CAACR,KAAK,CAACyB,YAAY,CAAC,EAAE;YAC3C,IAAI,CAACjB,KAAK,CAACR,KAAK,CAACyB,YAAY,GAAG,IAAI,CAACjB,KAAK,CAACR,KAAK,CAACyB,YAAY,GAC3D,CAAC,IAAI,CAACjB,KAAK,CAACR,KAAK,CAACyB,YAAY,CAAC,GAAG,EAAE;UACxC;QACF,CAAC,MAAM,IAAIhD,OAAO,CAAC,IAAI,CAAC+B,KAAK,CAACR,KAAK,CAACyB,YAAY,CAAC,EAAE;UACjD,IAAI,CAACjB,KAAK,CAACR,KAAK,CAACyB,YAAY,GAAG,IAAI,CAACjB,KAAK,CAACR,KAAK,CAACyB,YAAY,CAACuE,GAAG,CAAC,CAAC;QACrE;QACA;MACF,KAAK,aAAa;QAChB,IAAI,CAAC1C,WAAW,GAAGoC,IAAI,IAAI,IAAI,CAACpC,WAAW;QAC3C;MACF,KAAK,cAAc;QACjB,IAAIoC,IAAI,IAAIC,IAAI,IAAI/G,QAAQ,CAAC8G,IAAI,CAAC,EAAE;UAClC,IAAI,CAACO,UAAU,CAAC,IAAI,CAACzF,KAAK,CAACR,KAAK,CAACO,OAAO,CAACmF,IAAI,CAAC,CAAC;QACjD;QACA;IACJ;EACF;EAEAQ,iBAAiBA,CAAA,EAAG;IAAA,IAAAC,cAAA;IAClB,MAAMnG,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAI,IAAI,CAACQ,KAAK,CAACR,KAAK,CAAC+F,eAAe,KAAAI,cAAA,GAAInG,KAAK,CAACO,OAAO,cAAA4F,cAAA,eAAbA,cAAA,CAAenE,MAAM,EAAE;MAC7DuB,UAAU,CAAC,MAAM;QACf,IAAI,CAAC9C,QAAQ,CAACT,KAAK,CAACO,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MACpC,CAAC,CAAC;IACJ;IACA,IAAI,CAAC6F,SAAS,CAAC,QAAQ,EAAGC,KAAU,IAAK;MACvC,MAAMC,cAAc,GAAGD,KAAK,CAACE,WAAW,CAACC,aAAa,CAACC,CAAC,GAAGJ,KAAK,CAACE,WAAW,CAACG,iBAAiB,CAACC,MAAM;MACrG,IAAIL,cAAc,GAAG,IAAI,CAACM,YAAY,IAAI,IAAI,CAACpG,KAAK,CAACR,KAAK,CAACuC,SAAS,KAAK,UAAU,EAAE;QACnF,IAAI,CAACc,QAAQ,CAAC,CAAC;MACjB;IACF,CAAC,CAAC;IACF,KAAK,CAAC6C,iBAAiB,CAAC,CAAC;EAC3B;EAEAW,kBAAkBA,CAACC,SAAsB,EAAEC,SAAsB,EAAEC,QAAc,EAAE;IACjF,KAAK,CAACH,kBAAkB,IAAI,KAAK,CAACA,kBAAkB,CAACC,SAAS,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IACpF,IAAIF,SAAS,CAACG,yBAAyB,KAAK,IAAI,IAAI,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAE;MACnE,IAAI,CAAChF,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC1B,KAAK,CAACR,KAAK,CAACO,OAAO,CAAC,CAAC;IACxE;EACF;EAEA4G,gBAAgBA,CAAA,EAAG;IACjB,MAAMC,YAAY,GAAG,IAAI,CAAC5G,KAAK,CAACR,KAAK,CAACuC,SAAS,KAAK,YAAY;IAChE,OAAO,IAAI,CAAC8E,KAAK,CAACC,QAAQ,CAAC,GAAG,IAAI,CAACC,YAAY,IAAIH,YAAY,GAAG,qBAAqB,GAAG,mBAAmB,EAAE,CAAC;EAClH;EAEAI,QAAQA,CAAClH,IAAS,EAAE;IAClB,OAAO,IAAI,CAACE,KAAK,CAACR,KAAK,CAACO,OAAO,CAACI,OAAO,CAACL,IAAI,CAAC;EAC/C;EAEQmH,eAAeA,CAACnH,IAAS,EAAEI,KAAa,EAAEV,KAAkB,EAAE;IACpE,IAAIA,KAAK,CAAC0H,OAAO,IAAIpH,IAAI,IAAI,CAAC,IAAI,CAACqH,aAAa,EAAE;MAChD,OAAO3H,KAAK,CAAC0H,OAAO,CAACpH,IAAI,EAAEI,KAAK,CAAC;IACnC;IACA,OAAO,YAAY,GAAG,IAAI,CAAC6E,YAAY,CAACqC,MAAM,CAACtH,IAAI,EAAE,IAAI,CAAC;EAC5D;EAEQuH,UAAUA,CAACvH,IAAS,EAAEI,KAAa,EAAEV,KAAkB,EAAE;IAC/D,MAAM8H,IAAI,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IAClC,MAAMX,YAAY,GAAIpH,KAAK,CAACuC,SAAS,KAAK,YAAa;IAEvD,MAAMyF,MAAM,GAAG,IAAI,CAACL,aAAa,GAAG;MAClC,GAAG,IAAI,CAACK,MAAM,CAAC1H,IAAI;MACnB,GAAG,IAAI,CAAC0H,MAAM,CAACC,QAAQ,CAACC;IAC1B,CAAC,GAAG,IAAI,CAACF,MAAM,CAAC1H,IAAW;IAC3B,OAAQI,KAAK,GAAG,IAAI,CAACF,KAAK,CAACY,gBAAgB,IAAIgG,YAAY,gBACzDjJ,KAAA,CAAA+B,aAAA,CAACX,SAAS;MACR4I,iBAAiB,EAAEA,CAAA,KAAM,IAAI,CAACA,iBAAiB,CAAC,CAAE;MAClDC,kBAAkB,EAAEA,CAAA,KAAM,IAAI,CAACA,kBAAkB,CAAC,CAAE;MAACC,cAAc,EAAEP,IAAI,GAAG;QAAEQ,KAAK,EAAEzJ,KAAK,CAAC,GAAG,GAAGiJ,IAAI,CAAC,GAAG,GAAG;QAAES,IAAI,EAAE;MAAK,CAAC,GAAU,CAAC;IAAE,gBACvIpK,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;MAACiK,KAAK,EAAE,CACXR,MAAM,EACNhI,KAAK,CAACyI,SAAS,GAAG,IAAI,CAACpB,KAAK,CAACC,QAAQ,CAACtH,KAAK,CAACyI,SAAS,CAACnI,IAAI,EAAEI,KAAK,CAAC,CAAC,GAAG,IAAI,EAC1E,IAAI,CAACY,UAAU,CAAChB,IAAI,CAAC,GAAG,IAAI,CAAC0H,MAAM,CAACxG,YAAY,GAAG,CAAC,CAAC;IAAE,GACtDwG,MAAM,CAACU,eAAe,gBACrBvK,KAAA,CAAA+B,aAAA,CAACR,mBAAmB;MAClBiJ,KAAK,EAAEX,MAAM,CAACU,eAAgB;MAC9BE,QAAQ,EAAEZ,MAAM,CAACa,kBAAkB,IAAI,QAAS;MAChDC,IAAI,EAAEd,MAAM,CAACe,cAAc,IAAI,OAAQ;MACvCC,MAAM,EAAEhB,MAAM,CAACiB,gBAAgB,IAAI,WAAY;MAC/CC,UAAU,EAAElB,MAAM,CAACmB,oBAAoB,IAAI,OAAQ;MACnDX,KAAK,EAAE;QAAEY,YAAY,EAAE,IAAI,CAACpB,MAAM,CAAC1H,IAAI,CAAC8I;MAAa;IAAE,CACxD,CAAC,GACA,IAAI,eACRjL,KAAA,CAAA+B,aAAA,CAACf,QAAQ,EAAAkK,QAAA,KACH,IAAI,CAACC,qBAAqB,CAAC,OAAO5I,KAAK,EAAE,CAAC;MAC9C6I,kBAAkB,EAAE,IAAI,CAAC/I,KAAK,CAACR,KAAK,CAACwJ,kBAAmB;MACxDC,KAAK,EAAG9H,MAAM,IAAK,IAAI,CAAClB,QAAQ,CAACH,IAAI,EAAEI,KAAK,EAAEiB,MAAM,CAAE;MACtD+H,SAAS,EAAEA,CAAA,KAAM,IAAI,CAACxH,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACE,KAAK,CAAC,CAAE;MAC3EuH,WAAW,EAAEA,CAAA,KAAM,IAAI,CAACzH,mBAAmB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAACE,KAAK,CAAC,CAAE;MAC/E4F,MAAM,EACJ,CAAC;QAAE4B,OAAO,EAAE,MAAM;QAAEC,aAAa,EAAE;MAAM,CAAC,EAC1C/B,IAAI,GAAG;QACLQ,KAAK,EAAE;MACT,CAAC,GAAG,IAAI,EACPR,IAAI,IAAIA,IAAI,GAAG,CAAC,IAAKV,YAAY,GAAG;QACnC0C,YAAY,EAAE,CAACnL,KAAK,CAAC,IAAI,CAACqJ,MAAM,CAAC1H,IAAI,CAACyJ,WAAW,CAAC,GAC9C,IAAI,CAAC/B,MAAM,CAAC1H,IAAI,CAAC0J,MAAM,GAAG,IAAI,CAAChC,MAAM,CAAC1H,IAAI,CAACyJ,WAAW,KAAK;MACjE,CAAC,GAAG,IAAI,EACR,IAAI,CAAC/B,MAAM,CAACiC,aAAa;IAE1B,IACAjK,KAAK,CAAC6H,UAAU,CAACvH,IAAI,EAAEI,KAAK,EAAE,IAAI,CAAC,EACnC,IAAI,CAACY,UAAU,CAAChB,IAAI,CAAC,gBACpBnC,KAAA,CAAA+B,aAAA,CAACZ,MAAM;MAAC4K,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,GAAGzJ,KAAK,CAAE;MAAC0J,SAAS,EAAC,oBAAoB;MAACpC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACqC;IAAa,CAAE,CAAC,GAC7G,IACI,CACN,CACG,CAAC,GACV,IAAI;EACV;EAEQC,YAAYA,CAACtK,KAAkB,EAAEuK,KAAa,EAAE;IACtD,OAAOvK,KAAK,CAACoE,OAAO,gBAClBjG,KAAA,CAAA+B,aAAA,CAAC5B,IAAI;MAACkK,KAAK,EAAE,IAAI,CAACR,MAAM,CAACwC,YAAa;MAACC,iBAAiB,EAAC;IAAQ,GAAEF,KAAY,CAAC,GAC7EvK,KAAK,CAACoK,SAAS,IAAIpK,KAAK,CAACuK,KAAK,IAAIvK,KAAK,CAAC0K,UAAU,gBACrDvM,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;MAACiK,KAAK,EAAE,IAAI,CAACR,MAAM,CAAC2C;IAAQ,gBAC/BxM,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;MAACiK,KAAK,EAAE;QAAED,IAAI,EAAE,CAAC;QAAEsB,aAAa,EAAE;MAAM;IAAE,gBAC7C1L,KAAA,CAAA+B,aAAA,CAACZ,MAAM;MAAC4K,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,CAAE;MAACnC,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC4C,QAAS;MAACR,SAAS,EAAEpK,KAAK,CAACoK;IAAU,CAAS,CAAC,eACvGjM,KAAA,CAAA+B,aAAA,CAAC3B,IAAI,qBACHJ,KAAA,CAAA+B,aAAA,CAACb,OAAO;MAAC6K,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,OAAO,CAAE;MAACnC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACuC,KAAM;MAACM,OAAO,EAAE7K,KAAK,CAACuK,KAAM;MAACO,iBAAiB,EAAC;IAAQ,CAAU,CAAC,eAC5H3M,KAAA,CAAA+B,aAAA,CAACb,OAAO;MAAC6K,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,YAAY,CAAE;MAACnC,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC0C,UAAW;MAACG,OAAO,EAAE7K,KAAK,CAAC0K;IAAW,CAAU,CAC3G,CACF,CACF,CAAC,GAAI,IAAI;EACnB;EAEQK,kBAAkBA,CAAC3D,YAAqB,EAAE9G,IAAS,EAAEI,KAAU,EAAEV,KAAkB,EAAE;IAC3F,oBAAQ7B,KAAA,CAAA+B,aAAA,CAACb,OAAO;MAAC6K,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,UAAU,CAAE;MAACnC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACgD,YAAa;MAACH,OAAO,EAAE7K,KAAK,CAACiL;IAAc,CAAU,CAAC;EAC7H;EAEQC,iBAAiBA,CAAClL,KAAkB,EAAE;IAC5C,OAAOA,KAAK,CAACmL,WAAW,gBAAIhN,KAAA,CAAA+B,aAAA,CAACZ,MAAM;MACjC4K,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,aAAa,CAAE;MAClCnC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACoD,WAAY;MAChChB,SAAS,EAAEpK,KAAK,CAACmL,WAAY;MAC7BN,OAAO,EAAE7K,KAAK,CAACqL;IAAe,CAAS,CAAC,gBAEtClN,KAAA,CAAA+B,aAAA,CAAC9B,iBAAiB;MAACkN,KAAK,EAAE,IAAI,CAACtD,MAAM,CAACoD,WAAW,CAACG,IAAI,CAACD;IAAM,CAAoB,CAClF;EACL;EAEOvD,cAAcA,CAAA,EAAG;IACtB,MAAM/H,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAIA,KAAK,CAACuC,SAAS,KAAK,UAAU,EAAE;MAClC,OAAOvC,KAAK,CAACwL,WAAW,CAACC,EAAE;IAC7B;IACA,OAAO,CAAC;EACV;EAEQC,cAAcA,CAACC,CAAoB,EAAE;IAC3C,MAAMC,CAAC,GAAGD,CAAC,CAACpF,WAAW,CAACsF,MAAM;IAC9B,IAAI,CAACjF,YAAY,GAAGgF,CAAC,CAACjF,MAAM,GAAGiF,CAAC,CAACnF,CAAC,GAAG,GAAG;IACxC,IAAI,CAAC,IAAI,CAACG,YAAY,EAAE;MACtB,IAAI,CAACA,YAAY,GAAG,CAAC,CAAC;IACxB;EACF;EAaQkF,kBAAkBA,CAAC9L,KAAkB,EAAEoH,YAAY,GAAG,KAAK,EAAE;IAEnE,oBACEjJ,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;MAACiK,KAAK,EAAE,IAAI,CAACR,MAAM,CAACE,IAAK;MAAC6D,QAAQ,EAAEJ,CAAC,IAAI,IAAI,CAACD,cAAc,CAACC,CAAC;IAAE,GAClE,CAACjN,OAAO,CAAC,IAAI,CAAC8B,KAAK,CAACiC,WAAW,CAAC,GAAG,IAAI,CAACjC,KAAK,CAACiC,WAAW,CAACkC,GAAG,CAAC,CAACqH,CAAM,EAAEC,CAAC;MAAA,IAAAC,IAAA;MAAA,oBACvE/N,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;QAACiK,KAAK,EAAE,IAAI,CAACR,MAAM,CAACrF,KAAM;QAACG,GAAG,EAAEkJ,CAAC,CAAClJ,GAAG,IAAI,IAAI,CAACyC,YAAY,CAACqC,MAAM,CAACoE,CAAC,EAAE,IAAI;MAAE,GAC7E,IAAI,CAAC1B,YAAY,CAACtK,KAAK,EAAEgM,CAAC,CAAClJ,GAAG,CAAC,eAChC3E,KAAA,CAAA+B,aAAA,CAAC1B,QAAQ,EAAA6K,QAAA;QACP8C,GAAG,EAAGA,GAAG,IAAK;UAAE,IAAI,CAACpL,YAAY,CAACiL,CAAC,CAAClJ,GAAG,IAAI,MAAM,CAAC,GAAGqJ,GAAG;QAAE,CAAE;QAC5DC,MAAM,EAAE,IAAI,CAACjC,SAAS,CAAC,WAAW,CAAE;QACpCrH,GAAG,EAAE9C,KAAK,CAACyF,IAAI,GAAG,GAAG,IAAI2B,YAAY,GAAG,GAAG,GAAG,GAAG,CAAC,GAAGpH,KAAK,CAACwL,WAAW,CAACC,EAAG;QAC1ElG,YAAY,EAAEA,CAACjF,IAAI,EAAE2L,CAAC,KAAK,IAAI,CAACxE,eAAe,CAACnH,IAAI,EAAE2L,CAAC,EAAEjM,KAAK,CAAE;QAChEqM,aAAa,EAAEjF,YAAa;QAC5BkF,UAAU,EAAElF,YAAa;QACzBxE,IAAI,EAAE,IAAI,CAAC+E,aAAa,GAAG,CAAC,GAAG1I,uBAAuB,EAAAiN,IAAA,GAAC,IAAI,CAAClM,KAAK,CAACuM,qBAAqB,cAAAL,IAAA,cAAAA,IAAA,GAAc,CAAC,CAAC,CAAC,GAAIxN,OAAO,CAACsN,CAAC,CAACpJ,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAGoJ,CAAC,CAACpJ,IAAM;QAC9I4J,kBAAkB,EAAGC,QAAQ,IAAK,IAAI,CAAC1B,kBAAkB,CAAC3D,YAAY,EAAEqF,QAAQ,CAACnM,IAAI,EAAEmM,QAAQ,CAAC/L,KAAK,EAAEV,KAAK,CAAE;QAC9G6H,UAAU,EAAG4E,QAAQ,IAAK,IAAI,CAAC5E,UAAU,CAAC4E,QAAQ,CAACnM,IAAI,EAAEmM,QAAQ,CAAC/L,KAAK,EAAEV,KAAK;MAAE,GAC3EoH,YAAY,GAAG;QAAEsF,8BAA8B,EAAE,CAAC1M,KAAK,CAAC2M;MAAwB,CAAC,GAAG;QAAEC,UAAU,EAAE,IAAI,CAAC7E,cAAc,CAAC;MAAE,CAAC,CACtH,CAAC,EACV,IAAI,CAAC5E,gBAAgB,IAAK6I,CAAC,CAACpJ,IAAI,CAACZ,MAAM,GAAG,IAAI,CAACxB,KAAK,CAACY,gBAAiB,GACpE,IAAI,CAACkC,WAAW,GACf,IAAI,CAAC4H,iBAAiB,CAAClL,KAAK,CAAC,gBAC5B7B,KAAA,CAAA+B,aAAA,CAACb,OAAO;QAAC6K,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,iBAAiB,CAAE;QAC9CnC,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC6E,eAAgB;QACpChC,OAAO,EAAE,IAAI,CAAChH,WAAW,IAAI,CAACuD,YAAY,GAAGpH,KAAK,CAAC8M,eAAe,GAAG9M,KAAK,CAACiL,aAAc;QACzFxB,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACpG,QAAQ,CAAC;MAAE,CAAU,CAAE,GAC3C,IACA,CAAC;IAAA,CACP,CAAC,GAAG,IAAI,CAAC0H,kBAAkB,CAAC3D,YAAY,EAAE,IAAI,EAAE,IAAI,EAAEpH,KAAK,CAEzD,CAAC;EACX;EAEQ+M,kBAAkBA,CAAC/M,KAAkB,EAAE;IAC7C,IAAI,IAAI,CAAC2H,aAAa,EAAE;MAAA,IAAAqF,KAAA;MACtB,OAAO,CAAC;QACNlK,GAAG,EAAE,EAAE;QACPF,IAAI,EAAE,CAAC,GAAG3D,uBAAuB,EAAA+N,KAAA,GAAC,IAAI,CAAChN,KAAK,CAACuM,qBAAqB,cAAAS,KAAA,cAAAA,KAAA,GAAc,CAAC,CAAC;MACpF,CAAC,CAAC;IACJ,CAAC,MAAM,IAAI,IAAI,CAACxM,KAAK,CAACiC,WAAW,IAC5B,IAAI,CAACjC,KAAK,CAACiC,WAAW,CAAC,CAAC,CAAC,IACzB,IAAI,CAACjC,KAAK,CAACiC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAACT,MAAM,EAAE;MAC7C,OAAO,IAAI,CAACxB,KAAK,CAACiC,WAAW;IAC/B;IACA,OAAO,EAAE;EACX;EAEQwK,qBAAqBA,CAACjN,KAAkB,EAAEoH,YAAY,GAAG,KAAK,EAAE;IACtE,oBACEjJ,KAAA,CAAA+B,aAAA,CAAC7B,WAAW;MACVkH,YAAY,EAAEA,CAACjF,IAAI,EAAE2L,CAAC,KAAK,IAAI,CAACxE,eAAe,CAACnH,IAAI,EAAE2L,CAAC,EAAEjM,KAAK,CAAE;MAChEsM,UAAU,EAAElF,YAAa;MACzB8F,qBAAqB,EAAE,IAAI,CAAClF,MAAM,CAACE,IAAK;MACxCiF,QAAQ,EAAE,IAAI,CAACJ,kBAAkB,CAAC/M,KAAK,CAAE;MACzCoN,mBAAmB,EAAEA,CAAC;QAAEC,OAAO,EAAE;UAAEvK,GAAG;UAAEF;QAAK;MAAE,CAAC,KAAK;QACnD,OAAO,IAAI,CAAC0H,YAAY,CAACtK,KAAK,EAAE8C,GAAG,CAAC;MACtC,CAAE;MACFwK,mBAAmB,EAAEA,CAAA,KAAMtN,KAAK,CAACyD,WAAW,GAAG,IAAI,CAACyH,iBAAiB,CAAClL,KAAK,CAAC,GAAG,IAAK;MACpFwM,kBAAkB,EAAGC,QAAQ,IAAK,IAAI,CAAC1B,kBAAkB,CAAC3D,YAAY,EAAEqF,QAAQ,CAACnM,IAAI,EAAEmM,QAAQ,CAAC/L,KAAK,EAAEV,KAAK,CAAE;MAC9G6H,UAAU,EAAG4E,QAAQ,IAAK,IAAI,CAAC5E,UAAU,CAAC4E,QAAQ,CAACnM,IAAI,EAAEmM,QAAQ,CAAC/L,KAAK,EAAEV,KAAK;IAAE,CACrE,CAAC;EAElB;EAEAuN,YAAYA,CAACvN,KAAkB,EAAE;IAC/B,IAAI,CAACkC,mBAAmB,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC1B,KAAK,CAACR,KAAK,CAACO,OAAO,CAAC,CAAC;IAChF,MAAM6G,YAAY,GAAIpH,KAAK,CAACuC,SAAS,KAAK,YAAa;IAEvD,oBACEpE,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;MACHiK,KAAK,EAAEpB,YAAY,GAAG,IAAI,GAAG;QAAEkB,KAAK,EAAE;MAAO,CAAE;MAC/CyD,QAAQ,EAAG1F,KAAK,IAAK,IAAI,CAACmH,YAAY,CAACnH,KAAK;IAAE,GAE7C,IAAI,CAACoH,WAAW,EACfrG,YAAY,IAAI,CAACpH,KAAK,CAACoE,OAAO,GAC9B,IAAI,CAAC0H,kBAAkB,CAAC9L,KAAK,EAAEoH,YAAY,CAAC,GAC1C,IAAI,CAAC6F,qBAAqB,CAACjN,KAAK,EAAEoH,YAAY,CAC9C,CAAC;EAEX;AACF","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","round","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","WmListProps","DEFAULT_CLASS","BackgroundComponent","WmListState","constructor","args","_defineProperty","WmList","props","leftActionTemplate","createElement","Fragment","getTemplate","rightActionTemplate","item","dataset","state","onSelect","index","indexOf","groupKey","itemIndex","refKey","flatListRefs","scrollToIndex","animated","viewPosition","isHorizontal","vData","nodatamessage","ondemandmessage","hasMoreData","updateState","maxRecordsToShow","pagesize","isSelected","$item","selectedItem","selecteditem","$index","$event","eventName","disableitem","multiselect","selectionlimit","length","push","invokeEventCallback","splice","proxy","selectedItemWidgets","itemWidgets","direction","_this$state$groupedDa","groupedData","forEach","group","data","includes","key","Promise","resolve","selectedindex","scrollToItem","loadDataOnDemand","navigation","loadData","loadingData","setTimeout","$list","loadingdata","getNextPageData","currentPage","then","catch","err","console","error","selectFirstItem","initialized","groupby","clear","getItem","deselect","selectedItemIndex","getWidgets","widgetname","map","filter","widget","undefined","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","orderbyData","_this$keyExtractor2","_this$keyExtractor3","selectfirstitem","pop","selectItem","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","layoutMeasurement","height","endThreshold","componentDidUpdate","prevProps","prevState","snapshot","getDefaultStyles","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","horizontalondemandenabled","styles","skeleton","root","renderLeftActions","renderRightActions","containerStyle","width","flex","style","itemclass","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","getTestPropsForAction","disableTouchEffect","disabletoucheffect","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","itemContainer","id","getTestId","iconclass","selectedIcon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","onLayoutChange","e","l","layout","renderWithFlatList","onLayout","v","i","_ref","ref","testID","scrollEnabled","horizontal","numberofskeletonitems","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","onDemandMessage","getCaption","getSectionListData","_ref2","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","handleLayout","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity} from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {getGroupedData, getNumberOfEmptyObjects, isDefined} from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Swipeable } from 'react-native-gesture-handler';\nimport WmListActionTemplate from './list-action-template/list-action-template.component';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n loadingData = false;\n}\n\nexport default class WmList extends BaseComponent<WmListProps, WmListState, WmListStyles> {\n\n private itemWidgets = [] as any[];\n private selectedItemWidgets = {} as any;\n private keyExtractor = new DefaultKeyExtractor();\n private endThreshold = -1;\n // private loadingData = false;\n private hasMoreData = true;\n public leftActionTemplate?: WmListActionTemplate;\n public rightActionTemplate?: WmListActionTemplate;\n private flatListRefs:any = {};\n\n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private async onSelect($item: any, $index: number | string, $event?: any) {\n const props = this.state.props;\n let selectedItem = null as any;\n let eventName = 'onSelect';\n if (props.disableitem !== true\n && (typeof props.disableitem !== 'function' || !props.disableitem($item, $index))) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n eventName = 'onDeselect';\n }\n } else {\n this.state.props.selecteditem && this.invokeEventCallback('onDeselect', [this.proxy, this.state.props.selecteditem]);\n selectedItem = $item;\n }\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n let groupKey: string | null = null;\n\n if (props.direction === 'horizontal') {\n this.state.groupedData?.forEach((group) => {\n if (group.data.includes($item)) {\n groupKey = group.key;\n }\n });\n }\n\n return new Promise(resolve => { \n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n if(props.direction === 'horizontal'){\n this.scrollToItem(groupKey, $index as number);\n }\n this.invokeEventCallback(eventName, [this.proxy, $item]);\n $event && this.invokeEventCallback('onTap', [$event, this.proxy]);\n resolve(null);\n });\n });\n \n } else {\n return Promise.resolve(null);\n }\n }\n\n private get loadDataOnDemand() {\n const navigation = this.state.props.navigation;\n return navigation === 'Scroll' || navigation === 'On-Demand';\n }\n\n renderLeftActions = () => {\n return this.leftActionTemplate ? (\n <>\n {this.leftActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n renderRightActions = () => {\n return this.rightActionTemplate ? (\n <>\n {this.rightActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n private loadData() {\n if (this.state.loadingData) {\n return;\n }\n if (isArray(this.state.props.dataset)\n && this.state.props.dataset.length > this.state.maxRecordsToShow) {\n this.updateState({\n loadingData: true,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n setTimeout(() => {\n // Force a re-render by making a small state update\n this.updateState({\n loadingData: false,\n } as WmListState);\n }, 100);\n } else if (this.loadDataOnDemand) {\n const $list = this.proxy as any;\n $list.loadingdata = true;\n // Set loading state via updateState\n this.updateState({\n loadingData: true\n } as WmListState);\n this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then((data) => {\n if (isArray(data) && data.length > 0\n && isArray(this.state.props.dataset)) {\n $list.dataset = [...this.state.props.dataset, ...data];\n this.updateState({\n currentPage : this.state.currentPage + 1,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n this.hasMoreData = true;\n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n }, 1000);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00': 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n\n clear(){\n this.updateState({\n groupedData: {},\n } as WmListState);\n }\n\n selectItem = (item: any) => {\n const dataset = this.state.props.dataset;\n if(isNumber(item)){\n this.onSelect(dataset[item], item);\n }\n else{\n let index = dataset.indexOf(item);\n this.onSelect(dataset[index], index);\n }\n }\n\n getItem(index: number){\n const props = this.state.props;\n return this.props.dataset[index]\n }\n\n deselect(item: any){\n const props = this.state.props;\n let selectedItem = null as any;\n let index = isNumber(item)?item:props.dataset.indexOf(item);\n if(props.multiselect && index >= 0){\n selectedItem = [...(props.selecteditem || [])];\n let selectedItemIndex = selectedItem.indexOf(props.dataset[index])\n if(selectedItemIndex >= 0){\n selectedItem.splice(selectedItemIndex, 1);\n }\n }\n else{\n if (props.selecteditem === props.dataset[index]) {\n selectedItem = null;\n }\n }\n this.updateState({\n props: { selecteditem: selectedItem },\n\n } as WmListState, () => {\n this.invokeEventCallback('onDeselect', [this.proxy, item]);\n });\n }\n\n getWidgets(widgetname: string, index: number){\n if(index >= 0 && index < this.itemWidgets.length){\n return this.itemWidgets[index][widgetname]\n }\n else{\n return this.itemWidgets.map(item => item[widgetname]).filter(widget => widget !== undefined);\n }\n }\n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n if (!($old && $old.length)\n && $new && $new.length\n && this.loadDataOnDemand) {\n this.updateState({\n props: {\n dataset: [...$new]\n }\n } as WmListState);\n }\n const data = isArray($new) ? $new : (!isEmpty($new) && isDefined($new) ? [$new] : []);\n if(props.orderby) {\n const orderbyData = data && getGroupedData(data, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: (orderbyData[0] ? [{\n key: 'key',\n data: orderbyData[0].data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n } else {\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: 'key',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ?\n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n break;\n case 'loadingdata':\n this.updateState({\n loadingData: $new && this.state.loadingData\n } as WmListState);\n break;\n case 'selecteditem':\n if($new != $old && isNumber($new)) {\n this.selectItem(this.state.props.dataset[$new])\n }\n break;\n }\n }\n\n componentDidMount() {\n const props = this.state.props;\n if (this.state.props.selectfirstitem && props.dataset?.length) {\n setTimeout(() => {\n this.onSelect(props.dataset[0], 0);\n });\n }\n this.subscribe('scroll', (event: any) => {\n const scrollPosition = event.nativeEvent.contentOffset.y + event.nativeEvent.layoutMeasurement.height;\n if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {\n this.loadData();\n }\n });\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this.getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n \n if (index < this.state.maxRecordsToShow || (isHorizontal && this.state.props.horizontalondemandenabled === false)){\n const styles = this._showSkeleton ? {\n ...this.styles.item,\n ...this.styles.skeleton.root\n } : this.styles.item as any\n return (\n <Swipeable\n renderLeftActions={() => this.renderLeftActions()}\n renderRightActions={() => this.renderRightActions()} containerStyle={ cols ? { width: round(100/cols) + \"%\" , flex: null } as any :{}}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{display: 'flex', flexDirection : 'row'},\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null,\n this.styles.itemContainer\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </Swipeable>\n );\n }\n return null;\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading} accessibilityRole='header'>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('subheading')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel id={this.getTestId('emptymsg')} styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return props.loadingicon ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n : (\n <ActivityIndicator color={this.styles.loadingIcon.text.color}></ActivityIndicator>\n );\n }\n\n public getNoOfColumns() {\n const props = this.state.props;\n if(props.direction === 'vertical') {\n return props.itemsperrow.xs;\n }\n return 0;\n }\n\n private onLayoutChange(e: LayoutChangeEvent) {\n const l = e.nativeEvent.layout;\n this.endThreshold = l.height + l.y - 100;\n if (!this.endThreshold) {\n this.endThreshold = -1;\n }\n }\n\n private scrollToItem = (groupKey: string | null, itemIndex: number) => {\n const refKey = groupKey || 'main';\n if (this.flatListRefs[refKey]) {\n this.flatListRefs[refKey].scrollToIndex({\n index: itemIndex,\n animated: true,\n viewPosition: 0.5,\n });\n }\n };\n\n getCaption = (isHorizontal: boolean, vData: any[]): string => {\n const { nodatamessage, ondemandmessage } = this.state.props\n if(!isHorizontal) {\n return this.hasMoreData ? ondemandmessage : nodatamessage\n }\n return this.hasMoreData ? ondemandmessage : nodatamessage\n }\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n\n return (\n <View style={this.styles.root} onLayout={e => this.onLayoutChange(e)}>\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={this.styles.group} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n ref={(ref) => { this.flatListRefs[v.key || 'main'] = ref; }}\n testID={this.getTestId('flat_list')}\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal}\n horizontal = {isHorizontal}\n data={this._showSkeleton? [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)] : (isEmpty(v.data[0]) ? []: v.data)}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}\n {...(isHorizontal ? {showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar} : {numColumns : this.getNoOfColumns()})}>\n </FlatList>\n {this.loadDataOnDemand || (v.data.length > this.state.maxRecordsToShow && props.navigation !== 'None') ?\n (this.state.loadingData ? this.renderLoadingIcon(props) :\n (<WmLabel id={this.getTestId('ondemandmessage')}\n styles={this.styles.onDemandMessage}\n caption={this.getCaption( isHorizontal, v.data)}\n onTap={() => this.loadData()}></WmLabel>)): null}\n </View>\n ))) : this.renderEmptyMessage(isHorizontal, null, null,props)\n }\n </View>);\n }\n\n private getSectionListData(props: WmListProps) {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)]\n }];\n } else if (this.state.groupedData\n && this.state.groupedData[0]\n && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n return (\n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal = {isHorizontal}\n contentContainerStyle={this.styles.root}\n sections={this.getSectionListData(props)}\n renderSectionHeader={({ section: {key, data}}) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n\n return (\n <View \n style={isHorizontal ? null : { width: '100%' }}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -44,7 +44,7 @@ export default class WmListProps extends BaseProps {
|
|
44
44
|
});
|
45
45
|
_defineProperty(this, "numberofskeletonitems", void 0);
|
46
46
|
_defineProperty(this, "hidehorizontalscrollbar", false);
|
47
|
-
_defineProperty(this, "
|
47
|
+
_defineProperty(this, "horizontalondemandenabled", false);
|
48
48
|
}
|
49
49
|
}
|
50
50
|
//# sourceMappingURL=list.props.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","BaseProps","View","WmListProps","constructor","args","_defineProperty","createElement","$item","$index","xs","sm","md","lg"],"sources":["list.props.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { View } from 'react-native';\n\nexport default class WmListProps extends BaseProps {\n formRef: any;\n iconclass: string = null as any;\n deferload = false;\n ondemandmessage = 'Load More';\n title: string = null as any;\n subheading: string = null as any;\n dataset = [] as any;\n maxnumberofitems = 50;\n children? = null as any;\n renderItem: any = () => (<View
|
1
|
+
{"version":3,"names":["React","BaseProps","View","WmListProps","constructor","args","_defineProperty","createElement","$item","$index","xs","sm","md","lg"],"sources":["list.props.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { View } from 'react-native';\n\nexport default class WmListProps extends BaseProps {\n formRef: any;\n iconclass: string = null as any;\n deferload = false;\n ondemandmessage = 'Load More';\n title: string = null as any;\n subheading: string = null as any;\n dataset = [] as any;\n maxnumberofitems = 50;\n children? = null as any;\n renderItem: any = () => (<View/>);\n loadingicon: string = null as any;\n loadingdatamsg = 'Loading...';\n multiselect = false;\n nodatamessage = 'No data found';\n loadingdata = false;\n selectfirstitem = false;\n selectionlimit = -1;\n disableitem: Function | boolean = ($item: any, $index: any) => false;\n itemkey?: ($item: any, $index: any) => any = null as any;\n direction: 'horizontal' | 'vertical' = 'vertical';\n groupby: string = null as any;\n match: string = null as any;\n orderby: string = null as any;\n dateformat: string = null as any;\n selecteditem = null as any;\n navigation : 'Scroll' | 'On-Demand' | 'None' = 'None';\n itemclass: ($item: any, $index: any) => string = null as any;\n getNextPageData: ($event: any, $list: any, page: number) => Promise<any> = null as any;\n pagesize = 20;\n itemsperrow = {\n xs: 1,\n sm: 1,\n md: 1,\n lg: 1,\n };\n numberofskeletonitems?: number | string;\n hidehorizontalscrollbar?: boolean = false;\n horizontalondemandenabled:boolean = false;\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,+CAA+C;AACzE,SAASC,IAAI,QAAQ,cAAc;AAEnC,eAAe,MAAMC,WAAW,SAASF,SAAS,CAAC;EAAAG,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,oBAE3B,IAAI;IAAAA,eAAA,oBACZ,KAAK;IAAAA,eAAA,0BACC,WAAW;IAAAA,eAAA,gBACb,IAAI;IAAAA,eAAA,qBACC,IAAI;IAAAA,eAAA,kBACf,EAAE;IAAAA,eAAA,2BACO,EAAE;IAAAA,eAAA,mBACT,IAAI;IAAAA,eAAA,qBACE,mBAAON,KAAA,CAAAO,aAAA,CAACL,IAAI,MAAC,CAAE;IAAAI,eAAA,sBACX,IAAI;IAAAA,eAAA,yBACT,YAAY;IAAAA,eAAA,sBACf,KAAK;IAAAA,eAAA,wBACH,eAAe;IAAAA,eAAA,sBACjB,KAAK;IAAAA,eAAA,0BACD,KAAK;IAAAA,eAAA,yBACN,CAAC,CAAC;IAAAA,eAAA,sBACe,CAACE,KAAU,EAAEC,MAAW,KAAK,KAAK;IAAAH,eAAA,kBACvB,IAAI;IAAAA,eAAA,oBACV,UAAU;IAAAA,eAAA,kBAC/B,IAAI;IAAAA,eAAA,gBACN,IAAI;IAAAA,eAAA,kBACF,IAAI;IAAAA,eAAA,qBACD,IAAI;IAAAA,eAAA,uBACV,IAAI;IAAAA,eAAA,qBAC4B,MAAM;IAAAA,eAAA,oBACJ,IAAI;IAAAA,eAAA,0BACsB,IAAI;IAAAA,eAAA,mBACpE,EAAE;IAAAA,eAAA,sBACE;MACZI,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE;IACP,CAAC;IAAAP,eAAA;IAAAA,eAAA,kCAEmC,KAAK;IAAAA,eAAA,oCACL,KAAK;EAAA;AAC7C","ignoreList":[]}
|
@@ -1,8 +1,9 @@
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
1
2
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
2
3
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
3
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
4
5
|
import React from 'react';
|
5
|
-
import { View } from 'react-native';
|
6
|
+
import { Animated, PanResponder, View, Dimensions, KeyboardAvoidingView, Platform } from 'react-native';
|
6
7
|
import { ModalConsumer } from '@wavemaker/app-rn-runtime/core/modal.service';
|
7
8
|
import { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';
|
8
9
|
import { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';
|
@@ -16,13 +17,23 @@ export class WmDialogState extends BaseComponentState {
|
|
16
17
|
constructor(...args) {
|
17
18
|
super(...args);
|
18
19
|
_defineProperty(this, "modalOptions", {});
|
20
|
+
_defineProperty(this, "translateY", new Animated.Value(0));
|
19
21
|
}
|
20
22
|
}
|
21
23
|
export default class WmDialog extends BaseComponent {
|
22
24
|
constructor(props) {
|
23
25
|
super(props, DEFAULT_CLASS, new WmDialogProps(), new WmDialogState());
|
24
26
|
_defineProperty(this, "_close", () => {});
|
27
|
+
_defineProperty(this, "swipeThreshold", 100);
|
28
|
+
_defineProperty(this, "maxTranslateY", void 0);
|
29
|
+
// Allow dragging to the bottom of the screen
|
30
|
+
_defineProperty(this, "panResponder", void 0);
|
25
31
|
this.hideMode = HideMode.DONOT_ADD_TO_DOM;
|
32
|
+
|
33
|
+
// Dynamically calculate maxTranslateY as the entire screen height
|
34
|
+
const screenHeight = Dimensions.get('window').height;
|
35
|
+
this.maxTranslateY = screenHeight; // Allow drag till bottom of the screen
|
36
|
+
|
26
37
|
this.state.modalOptions.onClose = () => {
|
27
38
|
return new Promise(res => {
|
28
39
|
this.updateState({
|
@@ -38,9 +49,35 @@ export default class WmDialog extends BaseComponent {
|
|
38
49
|
this.state.modalOptions.onOpen = () => {
|
39
50
|
this.invokeEventCallback('onOpened', [null, this]);
|
40
51
|
};
|
52
|
+
|
53
|
+
// PanResponder to handle swipe gestures
|
54
|
+
this.panResponder = PanResponder.create({
|
55
|
+
onStartShouldSetPanResponder: () => true,
|
56
|
+
onMoveShouldSetPanResponder: (evt, gestureState) => {
|
57
|
+
return Math.abs(gestureState.dy) > Math.abs(gestureState.dx) && gestureState.dy > 0;
|
58
|
+
},
|
59
|
+
onPanResponderMove: (evt, gestureState) => {
|
60
|
+
if (gestureState.dy > 0) {
|
61
|
+
const dy = Math.min(gestureState.dy, this.maxTranslateY);
|
62
|
+
this.state.translateY.setValue(dy);
|
63
|
+
}
|
64
|
+
},
|
65
|
+
onPanResponderRelease: (evt, gestureState) => {
|
66
|
+
const shouldClose = gestureState.dy > this.swipeThreshold || gestureState.vy > 1.2;
|
67
|
+
if (shouldClose) {
|
68
|
+
this.close();
|
69
|
+
} else {
|
70
|
+
Animated.spring(this.state.translateY, {
|
71
|
+
toValue: 0,
|
72
|
+
useNativeDriver: true
|
73
|
+
}).start();
|
74
|
+
}
|
75
|
+
}
|
76
|
+
});
|
41
77
|
}
|
42
78
|
open() {
|
43
79
|
if (!this.state.props.show) {
|
80
|
+
this.state.translateY.setValue(0); // Reset position
|
44
81
|
this.updateState({
|
45
82
|
props: {
|
46
83
|
show: true
|
@@ -49,7 +86,14 @@ export default class WmDialog extends BaseComponent {
|
|
49
86
|
}
|
50
87
|
}
|
51
88
|
close() {
|
52
|
-
this.
|
89
|
+
Animated.timing(this.state.translateY, {
|
90
|
+
toValue: this.maxTranslateY,
|
91
|
+
// Close till bottom of screen
|
92
|
+
duration: 300,
|
93
|
+
useNativeDriver: true
|
94
|
+
}).start(() => {
|
95
|
+
this._close(); // Hide after animation
|
96
|
+
});
|
53
97
|
}
|
54
98
|
prepareModalOptions(content, modalService) {
|
55
99
|
const o = this.state.modalOptions;
|
@@ -65,15 +109,23 @@ export default class WmDialog extends BaseComponent {
|
|
65
109
|
return o;
|
66
110
|
}
|
67
111
|
renderWidget(props) {
|
112
|
+
const verticalOffset = Platform.OS === 'ios' ? props.keyboardverticaloffset : 0;
|
68
113
|
return /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
|
69
114
|
modalService.showModal(this.prepareModalOptions(/*#__PURE__*/React.createElement(AssetProvider, {
|
70
115
|
value: this.loadAsset
|
71
116
|
}, /*#__PURE__*/React.createElement(ThemeProvider, {
|
72
117
|
value: this.theme
|
73
|
-
}, /*#__PURE__*/React.createElement(View, {
|
74
|
-
style: this.styles.root,
|
118
|
+
}, /*#__PURE__*/React.createElement(Animated.View, _extends({}, this.panResponder.panHandlers, {
|
119
|
+
style: [this.styles.root, {
|
120
|
+
transform: [{
|
121
|
+
translateY: this.state.translateY
|
122
|
+
}]
|
123
|
+
}],
|
75
124
|
testID: "wm-dialog",
|
76
125
|
onLayout: event => this.handleLayout(event)
|
126
|
+
}), /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
|
127
|
+
behavior: Platform.OS === 'ios' ? 'padding' : undefined,
|
128
|
+
keyboardVerticalOffset: verticalOffset
|
77
129
|
}, this._background, props.showheader ? /*#__PURE__*/React.createElement(View, {
|
78
130
|
style: this.styles.header,
|
79
131
|
testID: "wm-dialog-header"
|
@@ -95,7 +147,7 @@ export default class WmDialog extends BaseComponent {
|
|
95
147
|
iconclass: "wm-sl-l sl-close",
|
96
148
|
onTap: () => this.close(),
|
97
149
|
styles: this.styles.closeBtn
|
98
|
-
})) : null, props.children))), modalService));
|
150
|
+
})) : null, props.children)))), modalService));
|
99
151
|
return null;
|
100
152
|
});
|
101
153
|
}
|