@wavemaker/app-rn-runtime 11.7.0-next.42251 → 11.7.0-rc.5524

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. app-rn-runtime/components/basic/anchor/anchor.component.js +3 -1
  2. app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
  3. app-rn-runtime/components/basic/anchor/anchor.props.js +1 -0
  4. app-rn-runtime/components/basic/anchor/anchor.props.js.map +1 -1
  5. app-rn-runtime/components/basic/button/button.component.js +3 -1
  6. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  7. app-rn-runtime/components/basic/button/button.styles.js +2 -1
  8. app-rn-runtime/components/basic/button/button.styles.js.map +1 -1
  9. app-rn-runtime/components/basic/label/label.component.js +17 -9
  10. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  11. app-rn-runtime/components/basic/search/search.component.js +8 -2
  12. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  13. app-rn-runtime/components/basic/search/search.props.js +1 -0
  14. app-rn-runtime/components/basic/search/search.props.js.map +1 -1
  15. app-rn-runtime/components/chart/basechart.component.js +1 -0
  16. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  17. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +17 -10
  18. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  19. app-rn-runtime/components/container/container.component.js +1 -10
  20. app-rn-runtime/components/container/container.component.js.map +1 -1
  21. app-rn-runtime/components/container/container.props.js +0 -1
  22. app-rn-runtime/components/container/container.props.js.map +1 -1
  23. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +1 -1
  24. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  25. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +14 -1
  26. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  27. app-rn-runtime/components/container/tabs/tabs.component.js +3 -0
  28. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  29. app-rn-runtime/components/data/form/form-action/form-action.component.js +1 -0
  30. app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
  31. app-rn-runtime/components/data/form/form-action/form-action.props.js +1 -0
  32. app-rn-runtime/components/data/form/form-action/form-action.props.js.map +1 -1
  33. app-rn-runtime/components/data/form/form-field/form-field.component.js +11 -0
  34. app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
  35. app-rn-runtime/components/data/form/form-field/form-field.props.js +3 -0
  36. app-rn-runtime/components/data/form/form-field/form-field.props.js.map +1 -1
  37. app-rn-runtime/components/data/form/form.component.js +26 -4
  38. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  39. app-rn-runtime/components/data/form/form.props.js +3 -0
  40. app-rn-runtime/components/data/form/form.props.js.map +1 -1
  41. app-rn-runtime/components/data/list/list.component.js +42 -38
  42. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  43. app-rn-runtime/components/data/list/list.props.js +2 -0
  44. app-rn-runtime/components/data/list/list.props.js.map +1 -1
  45. app-rn-runtime/components/data/list/list.styles.js +5 -1
  46. app-rn-runtime/components/data/list/list.styles.js.map +1 -1
  47. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js +4 -0
  48. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  49. app-rn-runtime/components/input/baseinput/baseinput.component.js +1 -1
  50. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  51. app-rn-runtime/components/input/baseinput/baseinput.props.js +2 -0
  52. app-rn-runtime/components/input/baseinput/baseinput.props.js.map +1 -1
  53. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +13 -4
  54. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  55. app-rn-runtime/components/input/checkboxset/checkboxset.props.js +1 -0
  56. app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
  57. app-rn-runtime/components/input/radioset/radioset.component.js +49 -23
  58. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  59. app-rn-runtime/components/input/radioset/radioset.props.js +1 -0
  60. app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
  61. app-rn-runtime/components/input/radioset/radioset.styles.js +35 -2
  62. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  63. app-rn-runtime/components/input/slider/slider.component.js +3 -2
  64. app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
  65. app-rn-runtime/components/input/text/text.component.js +4 -2
  66. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  67. app-rn-runtime/components/input/toggle/toggle.component.js +3 -2
  68. app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
  69. app-rn-runtime/components/navigation/popover/popover.component.js +4 -0
  70. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  71. app-rn-runtime/components/page/left-panel/left-panel.component.js +4 -0
  72. app-rn-runtime/components/page/left-panel/left-panel.component.js.map +1 -1
  73. app-rn-runtime/core/accessibility.js +2 -2
  74. app-rn-runtime/core/accessibility.js.map +1 -1
  75. app-rn-runtime/core/base.component.js +12 -3
  76. app-rn-runtime/core/base.component.js.map +1 -1
  77. app-rn-runtime/core/components/textinput.component.js +147 -14
  78. app-rn-runtime/core/components/textinput.component.js.map +1 -1
  79. app-rn-runtime/core/event-notifier.js +21 -7
  80. app-rn-runtime/core/event-notifier.js.map +1 -1
  81. app-rn-runtime/core/formatters.js +14 -1
  82. app-rn-runtime/core/formatters.js.map +1 -1
  83. app-rn-runtime/package.json +4 -3
  84. app-rn-runtime/runtime/App.js +5 -3
  85. app-rn-runtime/runtime/App.js.map +1 -1
  86. app-rn-runtime/runtime/base-fragment.component.js +5 -1
  87. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  88. app-rn-runtime/styles/background.component.js +15 -4
  89. app-rn-runtime/styles/background.component.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmFormProps","constructor","arguments","_defineProperty"],"sources":["form.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormProps extends BaseProps {\n children: any;\n dataoutput: any;\n onBeforesubmit: any;\n formdata: any;\n parentForm: string = '';\n title: any;\n subheading: any;\n iconclass: any;\n postmessage: string = 'Data posted successfully';\n errormessage: string = 'An error occured. Please try again!';\n messagelayout: string = 'Inline';\n formSubmit: Function = () => {};\n formSuccess: Function = () => {};\n relatedData: Function = () => {};\n onSuccess: Function = () => {};\n onError: Function = () => {};\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,WAAW,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,qBAK5B,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,sBAID,0BAA0B;IAAAA,eAAA,uBACzB,qCAAqC;IAAAA,eAAA,wBACpC,QAAQ;IAAAA,eAAA,qBACT,MAAM,CAAC,CAAC;IAAAA,eAAA,sBACP,MAAM,CAAC,CAAC;IAAAA,eAAA,sBACR,MAAM,CAAC,CAAC;IAAAA,eAAA,oBACV,MAAM,CAAC,CAAC;IAAAA,eAAA,kBACV,MAAM,CAAC,CAAC;EAAA;AAC9B"}
1
+ {"version":3,"names":["BaseProps","WmFormProps","constructor","arguments","_defineProperty","metadata"],"sources":["form.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormProps extends BaseProps {\n children: any;\n dataoutput: any;\n onBeforesubmit: any;\n formdata: any;\n parentForm: string = '';\n metadata: any;\n title: any;\n subheading: any;\n iconclass: any;\n postmessage: string = 'Data posted successfully';\n errormessage: string = 'An error occured. Please try again!';\n messagelayout: string = 'Inline';\n formSubmit: Function = () => {};\n formSuccess: Function = () => {};\n relatedData: Function = () => {};\n onSuccess: Function = () => {};\n onError: Function = () => {};\n onBeforerender: Function = () => {};\n generateComponent: Function = (metadata:any) => {};\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,WAAW,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,qBAK5B,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,sBAKD,0BAA0B;IAAAA,eAAA,uBACzB,qCAAqC;IAAAA,eAAA,wBACpC,QAAQ;IAAAA,eAAA,qBACT,MAAM,CAAC,CAAC;IAAAA,eAAA,sBACP,MAAM,CAAC,CAAC;IAAAA,eAAA,sBACR,MAAM,CAAC,CAAC;IAAAA,eAAA,oBACV,MAAM,CAAC,CAAC;IAAAA,eAAA,kBACV,MAAM,CAAC,CAAC;IAAAA,eAAA,yBACD,MAAM,CAAC,CAAC;IAAAA,eAAA,4BACJC,QAAY,IAAK,CAAC,CAAC;EAAA;AACpD"}
@@ -31,6 +31,9 @@ export default class WmList extends BaseComponent {
31
31
  _defineProperty(this, "endThreshold", -1);
32
32
  _defineProperty(this, "loadingData", false);
33
33
  _defineProperty(this, "hasMoreData", true);
34
+ this.updateState({
35
+ maxRecordsToShow: this.state.props.pagesize
36
+ });
34
37
  }
35
38
  isSelected($item) {
36
39
  const selectedItem = this.state.props.selecteditem;
@@ -75,31 +78,41 @@ export default class WmList extends BaseComponent {
75
78
  });
76
79
  }
77
80
  }
81
+ get loadDataOnDemand() {
82
+ const navigation = this.state.props.navigation;
83
+ return navigation === 'Scroll' || navigation === 'On-Demand';
84
+ }
78
85
  loadData() {
79
86
  if (this.loadingData) {
80
87
  return;
81
88
  }
82
- const $list = this.proxy;
83
- $list.loadingdata = true;
84
- this.loadingData = true;
85
- this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then(data => {
86
- if (data && isArray(data) && isArray(this.state.props.dataset)) {
87
- $list.dataset = [...this.state.props.dataset, ...data];
88
- this.updateState({
89
- currentPage: this.state.currentPage + 1,
90
- maxRecordsToShow: this.state.maxRecordsToShow + 20
91
- });
92
- this.hasMoreData = true;
93
- } else {
94
- this.hasMoreData = false;
95
- }
96
- }).catch(err => {
97
- console.error(err);
98
- }).then(() => {
99
- setTimeout(() => {
100
- $list.loadingdata = false;
101
- }, 1000);
102
- });
89
+ if (isArray(this.state.props.dataset) && this.state.props.dataset.length > this.state.maxRecordsToShow) {
90
+ this.updateState({
91
+ maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize
92
+ });
93
+ } else if (this.loadDataOnDemand) {
94
+ const $list = this.proxy;
95
+ $list.loadingdata = true;
96
+ this.loadingData = true;
97
+ this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then(data => {
98
+ if (isArray(data) && data.length > 0 && isArray(this.state.props.dataset)) {
99
+ $list.dataset = [...this.state.props.dataset, ...data];
100
+ this.updateState({
101
+ currentPage: this.state.currentPage + 1,
102
+ maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize
103
+ });
104
+ this.hasMoreData = true;
105
+ } else {
106
+ this.hasMoreData = false;
107
+ }
108
+ }).catch(err => {
109
+ console.error(err);
110
+ }).then(() => {
111
+ setTimeout(() => {
112
+ $list.loadingdata = false;
113
+ }, 1000);
114
+ });
115
+ }
103
116
  }
104
117
  selectFirstItem() {
105
118
  const props = this.state.props;
@@ -188,7 +201,7 @@ export default class WmList extends BaseComponent {
188
201
  if (this.state.props.groupby) {
189
202
  this.setGroupData($new);
190
203
  } else {
191
- if (!($old && $old.length) && $new && $new.length && this.state.props.deferload) {
204
+ if (!($old && $old.length) && $new && $new.length && this.loadDataOnDemand) {
192
205
  this.updateState({
193
206
  props: {
194
207
  dataset: [...$new]
@@ -246,15 +259,8 @@ export default class WmList extends BaseComponent {
246
259
  }
247
260
  this.subscribe('scroll', event => {
248
261
  const scrollPosition = event.nativeEvent.contentOffset.y + event.nativeEvent.layoutMeasurement.height;
249
- if (scrollPosition > this.endThreshold) {
250
- var _this$state$props$dat;
251
- if (((_this$state$props$dat = this.state.props.dataset) === null || _this$state$props$dat === void 0 ? void 0 : _this$state$props$dat.length) > this.state.maxRecordsToShow) {
252
- this.updateState({
253
- maxRecordsToShow: this.state.maxRecordsToShow + 20
254
- });
255
- } else if (this.state.props.deferload) {
256
- this.loadData();
257
- }
262
+ if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {
263
+ this.loadData();
258
264
  }
259
265
  });
260
266
  super.componentDidMount();
@@ -279,7 +285,7 @@ export default class WmList extends BaseComponent {
279
285
  renderItem(item, index, props) {
280
286
  const cols = this.getNoOfColumns();
281
287
  const isHorizontal = props.direction === 'horizontal';
282
- return index < this.state.maxRecordsToShow ? /*#__PURE__*/React.createElement(View, {
288
+ return index < this.state.maxRecordsToShow || isHorizontal ? /*#__PURE__*/React.createElement(View, {
283
289
  style: [this.styles.item, props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null, this.isSelected(item) ? this.styles.selectedItem : {}]
284
290
  }, /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(`item${index}`), {
285
291
  onTap: () => this.onSelect(item, index, true),
@@ -357,24 +363,22 @@ export default class WmList extends BaseComponent {
357
363
  style: this.styles.root,
358
364
  onLayout: e => this.onLayoutChange(e)
359
365
  }, !isEmpty(this.state.groupedData) ? this.state.groupedData.map((v, i) => /*#__PURE__*/React.createElement(View, {
360
- style: {
361
- marginBottom: 16
362
- },
366
+ style: this.styles.group,
363
367
  key: v.key || this.keyExtractor.getKey(v, true)
364
368
  }, this.renderHeader(props, v.key), /*#__PURE__*/React.createElement(FlatList, _extends({
365
369
  key: props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs,
366
370
  keyExtractor: (item, i) => this.generateItemKey(item, i, props),
367
- scrollEnabled: false,
371
+ scrollEnabled: isHorizontal,
368
372
  horizontal: isHorizontal,
369
373
  data: isEmpty(v.data[0]) ? [] : v.data,
370
374
  ListEmptyComponent: itemInfo => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props),
371
375
  renderItem: itemInfo => this.renderItem(itemInfo.item, itemInfo.index, props)
372
376
  }, isHorizontal ? {} : {
373
377
  numColumns: this.getNoOfColumns()
374
- })), props.deferload ? this.loadingData ? this.renderLoadingIcon(props) : /*#__PURE__*/React.createElement(WmLabel, {
378
+ })), this.loadDataOnDemand || v.data.length > this.state.maxRecordsToShow ? this.loadingData ? this.renderLoadingIcon(props) : /*#__PURE__*/React.createElement(WmLabel, {
375
379
  id: this.getTestId('ondemandmessage'),
376
380
  styles: this.styles.onDemandMessage,
377
- caption: this.hasMoreData ? props.ondemandmessage : props.nodatamessage,
381
+ caption: this.hasMoreData && !isHorizontal ? props.ondemandmessage : props.nodatamessage,
378
382
  onTap: () => this.loadData()
379
383
  }) : null)) : this.renderEmptyMessage(isHorizontal, null, null, props));
380
384
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","BaseComponent","BaseComponentState","getGroupedData","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","WmListProps","DEFAULT_CLASS","WmListState","constructor","arguments","_defineProperty","WmList","props","isSelected","$item","selectedItem","state","selecteditem","indexOf","onSelect","$index","triggerTapEvent","length","undefined","disableitem","multiselect","index","selectionlimit","push","invokeEventCallback","splice","selectedItemWidgets","itemWidgets","updateState","selectedindex","proxy","loadData","loadingData","$list","loadingdata","getNextPageData","currentPage","then","data","dataset","maxRecordsToShow","hasMoreData","catch","err","console","error","setTimeout","selectFirstItem","initialized","groupby","clear","groupedData","selectItem","item","getItem","deselect","selectedItemIndex","getWidgets","widgetname","map","filter","widget","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","deferload","direction","key","_this$keyExtractor2","selectfirstitem","pop","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","layoutMeasurement","height","endThreshold","_this$state$props$dat","componentDidUpdate","prevProps","prevState","snapshot","getDefaultStyles","isHorizontal","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","createElement","style","styles","itemclass","_extends","getTestPropsForAction","onTap","onLongTap","onDoubleTap","width","paddingRight","marginRight","margin","id","getTestId","iconclass","selectedIcon","renderHeader","title","groupHeading","subheading","heading","flex","flexDirection","listIcon","caption","renderEmptyMessage","emptyMessage","nodatamessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","onLayoutChange","e","l","layout","renderWithFlatList","root","onLayout","v","i","marginBottom","scrollEnabled","horizontal","ListEmptyComponent","itemInfo","numColumns","onDemandMessage","ondemandmessage","getSectionListData","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","_ref","section","renderSectionFooter","renderWidget","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent } 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, 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 ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\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 \n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new 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 onSelect($item: any, $index: number | string, triggerTapEvent = false) {\n const props = this.state.props;\n let selectedItem = null as any;\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 }\n } else {\n if (props.selecteditem === $item) {\n selectedItem = null;\n } else {\n selectedItem = $item;\n }\n }\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n this.invokeEventCallback('onSelect', [this.proxy, $item]);\n triggerTapEvent && this.invokeEventCallback('onTap', [null, this.proxy]);\n });\n }\n }\n\n private loadData() {\n if (this.loadingData) {\n return;\n }\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 (data \n && isArray(data)\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 + 20\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 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 }\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.state.props.deferload) {\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 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 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) {\n if (this.state.props.dataset?.length > this.state.maxRecordsToShow) {\n this.updateState({\n maxRecordsToShow: this.state.maxRecordsToShow + 20\n } as WmListState);\n } else if (this.state.props.deferload) {\n this.loadData();\n } \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 return index < this.state.maxRecordsToShow ? ( \n <View style={[\n this.styles.item,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n onTap={() => this.onSelect(item, index, true)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [\n cols ? {\n width: '100%'\n } : null,\n cols || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null\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 ) : null;\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading}>{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}></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 renderWithFlatList(props: WmListProps, isHorizontal = false) {\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={{marginBottom: 16}} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={false}\n horizontal = {isHorizontal}\n data={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 ? {} : {numColumns : this.getNoOfColumns()})}> \n </FlatList>\n {props.deferload ? \n (this.loadingData ? \n this.renderLoadingIcon(props) :\n (<WmLabel id={this.getTestId('ondemandmessage')}\n styles={this.styles.onDemandMessage}\n caption={this.hasMoreData ? 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() {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [{}, {}, {}]\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()}\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 return (\n <View style={isHorizontal ? null : { width: '100%' }}>\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>);\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,EAAEC,WAAW,EAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,QAA2B,cAAc;AACtG,SAASC,OAAO,EAAEC,OAAO,EAAEC,KAAK,EAAEC,QAAQ,QAAe,WAAW;AACpE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,SAAQC,cAAc,EAAEC,SAAS,QAAO,sCAAsC;AAC9E,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,mBAAmB,QAAQ,8CAA8C;AAClF,OAAOC,OAAO,MAAM,kEAAkE;AACtF,OAAOC,MAAM,MAAM,gEAAgE;AAGnF,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,aAAa,QAAsB,eAAe;AAG3D,OAAO,MAAMC,WAAW,SAAST,kBAAkB,CAAc;EAAAU,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA,sBAErC,EAAE;IAAAA,eAAA,sBACd,CAAC;IAAAA,eAAA,2BACI,EAAE;EAAA;AACvB;AAEA,eAAe,MAAMC,MAAM,SAASd,aAAa,CAAyC;EASxFW,WAAWA,CAACI,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,WAAW,CAAC,CAAC,EAAE,IAAIE,WAAW,CAAC,CAAC,CAAC;IAACG,eAAA,sBAR9C,EAAE;IAAAA,eAAA,8BACM,CAAC,CAAC;IAAAA,eAAA,uBACT,IAAIR,mBAAmB,CAAC,CAAC;IAAAQ,eAAA,uBACzB,CAAC,CAAC;IAAAA,eAAA,sBACH,KAAK;IAAAA,eAAA,sBACL,IAAI;EAI1B;EAEQG,UAAUA,CAACC,KAAU,EAAE;IAC7B,MAAMC,YAAY,GAAG,IAAI,CAACC,KAAK,CAACJ,KAAK,CAACK,YAAY;IAClD,IAAIxB,OAAO,CAACsB,YAAY,CAAC,EAAE;MACzB,OAAOA,YAAY,CAACG,OAAO,CAACJ,KAAK,CAAC,IAAI,CAAC;IACzC;IACA,OAAOC,YAAY,KAAKD,KAAK;EAC/B;EAEQK,QAAQA,CAACL,KAAU,EAAEM,MAAuB,EAA2B;IAAA,IAAzBC,eAAe,GAAAZ,SAAA,CAAAa,MAAA,QAAAb,SAAA,QAAAc,SAAA,GAAAd,SAAA,MAAG,KAAK;IAC3E,MAAMG,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAIG,YAAY,GAAG,IAAW;IAC9B,IAAIH,KAAK,CAACY,WAAW,KAAK,IAAI,KACtB,OAAOZ,KAAK,CAACY,WAAW,KAAK,UAAU,IAAI,CAACZ,KAAK,CAACY,WAAW,CAACV,KAAK,EAAEM,MAAM,CAAC,CAAC,EAAE;MACrF,IAAIR,KAAK,CAACa,WAAW,EAAE;QACrBV,YAAY,GAAG,CAAC,IAAIH,KAAK,CAACK,YAAY,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAMS,KAAK,GAAGX,YAAY,CAACG,OAAO,CAACJ,KAAK,CAAC;QACzC,IAAIY,KAAK,GAAG,CAAC,EAAE;UACb,IAAK,CAACd,KAAK,CAACe,cAAc,IACrBf,KAAK,CAACe,cAAc,GAAG,CAAC,IACxBZ,YAAY,CAACO,MAAM,GAAGV,KAAK,CAACe,cAAc,EAAE;YAC/CZ,YAAY,CAACa,IAAI,CAACd,KAAK,CAAC;UAC1B,CAAC,MAAM;YACL,IAAI,CAACe,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;UAClE;QACF,CAAC,MAAM;UACLd,YAAY,CAACe,MAAM,CAACJ,KAAK,EAAE,CAAC,CAAC;QAC/B;MACF,CAAC,MAAM;QACL,IAAId,KAAK,CAACK,YAAY,KAAKH,KAAK,EAAE;UAChCC,YAAY,GAAG,IAAI;QACrB,CAAC,MAAM;UACLA,YAAY,GAAGD,KAAK;QACtB;MACF;MACA,IAAI,CAACiB,mBAAmB,GAAG,IAAI,CAACC,WAAW,CAACZ,MAAM,CAAW;MAC7D,IAAI,CAACa,WAAW,CAAC;QACfrB,KAAK,EAAE;UAAEK,YAAY,EAAEF;QAAa,CAAC;QACrCmB,aAAa,EAAEd;MACjB,CAAC,EAAiB,MAAM;QACtB,IAAI,CAACS,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,CAACM,KAAK,EAAErB,KAAK,CAAC,CAAC;QACzDO,eAAe,IAAI,IAAI,CAACQ,mBAAmB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAACM,KAAK,CAAC,CAAC;MAC1E,CAAC,CAAC;IACJ;EACF;EAEQC,QAAQA,CAAA,EAAG;IACjB,IAAI,IAAI,CAACC,WAAW,EAAE;MACpB;IACF;IACA,MAAMC,KAAK,GAAG,IAAI,CAACH,KAAY;IAC/BG,KAAK,CAACC,WAAW,GAAG,IAAI;IACxB,IAAI,CAACF,WAAW,GAAG,IAAI;IACvB,IAAI,CAACzB,KAAK,CAAC4B,eAAe,IAAI,IAAI,CAAC5B,KAAK,CAAC4B,eAAe,CAAC,IAAI,EAAE,IAAI,CAACL,KAAK,EAAE,IAAI,CAACnB,KAAK,CAACyB,WAAW,GAAG,CAAC,CAAC,CAACC,IAAI,CAAEC,IAAI,IAAK;MACpH,IAAIA,IAAI,IACHlD,OAAO,CAACkD,IAAI,CAAC,IACblD,OAAO,CAAC,IAAI,CAACuB,KAAK,CAACJ,KAAK,CAACgC,OAAO,CAAC,EAAE;QACpCN,KAAK,CAACM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC5B,KAAK,CAACJ,KAAK,CAACgC,OAAO,EAAE,GAAGD,IAAI,CAAC;QACtD,IAAI,CAACV,WAAW,CAAC;UACfQ,WAAW,EAAG,IAAI,CAACzB,KAAK,CAACyB,WAAW,GAAG,CAAC;UACxCI,gBAAgB,EAAE,IAAI,CAAC7B,KAAK,CAAC6B,gBAAgB,GAAG;QAClD,CAAgB,CAAC;QACjB,IAAI,CAACC,WAAW,GAAG,IAAI;MAC3B,CAAC,MAAM;QACL,IAAI,CAACA,WAAW,GAAG,KAAK;MAC1B;IACF,CAAC,CAAC,CAACC,KAAK,CAAEC,GAAG,IAAK;MAChBC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;IACpB,CAAC,CAAC,CAACN,IAAI,CAAC,MAAM;MACZS,UAAU,CAAC,MAAM;QACfb,KAAK,CAACC,WAAW,GAAG,KAAK;MAC3B,CAAC,EAAE,IAAI,CAAC;IACV,CAAC,CAAC;EACJ;EAEQa,eAAeA,CAAA,EAAG;IACxB,MAAMxC,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAI,IAAI,CAACyC,WAAW,IACfzC,KAAK,CAACgC,OAAO,IACbhC,KAAK,CAACgC,OAAO,CAACtB,MAAM,EAAE;MACvB,MAAMI,KAAK,GAAGd,KAAK,CAAC0C,OAAO,GAAG,IAAI,GAAE,CAAC;MACrC,IAAI,CAACnC,QAAQ,CAACP,KAAK,CAACgC,OAAO,CAAC,CAAC,CAAC,EAAElB,KAAK,CAAC;IACxC;EACJ;EAEA6B,KAAKA,CAAA,EAAE;IACL,IAAI,CAACtB,WAAW,CAAC;MACfuB,WAAW,EAAE,CAAC;IAChB,CAAgB,CAAC;EACnB;EAEAC,UAAUA,CAACC,IAAS,EAAC;IACnB,MAAMd,OAAO,GAAG,IAAI,CAAC5B,KAAK,CAACJ,KAAK,CAACgC,OAAO;IACxC,IAAGhD,QAAQ,CAAC8D,IAAI,CAAC,EAAC;MAChB,IAAI,CAACvC,QAAQ,CAACyB,OAAO,CAACc,IAAI,CAAC,EAAEA,IAAI,CAAC;IACpC,CAAC,MACG;MACF,IAAIhC,KAAK,GAAGkB,OAAO,CAAC1B,OAAO,CAACwC,IAAI,CAAC;MACjC,IAAI,CAACvC,QAAQ,CAACyB,OAAO,CAAClB,KAAK,CAAC,EAAEA,KAAK,CAAC;IACtC;EACF;EAEAiC,OAAOA,CAACjC,KAAa,EAAC;IACpB,MAAMd,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,OAAO,IAAI,CAACA,KAAK,CAACgC,OAAO,CAAClB,KAAK,CAAC;EAClC;EAEAkC,QAAQA,CAACF,IAAS,EAAC;IACjB,MAAM9C,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAIG,YAAY,GAAG,IAAW;IAC9B,IAAIW,KAAK,GAAG9B,QAAQ,CAAC8D,IAAI,CAAC,GAACA,IAAI,GAAC9C,KAAK,CAACgC,OAAO,CAAC1B,OAAO,CAACwC,IAAI,CAAC;IAC3D,IAAG9C,KAAK,CAACa,WAAW,IAAIC,KAAK,IAAI,CAAC,EAAC;MACjCX,YAAY,GAAG,CAAC,IAAIH,KAAK,CAACK,YAAY,IAAI,EAAE,CAAC,CAAC;MAC9C,IAAI4C,iBAAiB,GAAG9C,YAAY,CAACG,OAAO,CAACN,KAAK,CAACgC,OAAO,CAAClB,KAAK,CAAC,CAAC;MAClE,IAAGmC,iBAAiB,IAAI,CAAC,EAAC;QACxB9C,YAAY,CAACe,MAAM,CAAC+B,iBAAiB,EAAE,CAAC,CAAC;MAC3C;IACF,CAAC,MACG;MACF,IAAIjD,KAAK,CAACK,YAAY,KAAKL,KAAK,CAACgC,OAAO,CAAClB,KAAK,CAAC,EAAE;QAC/CX,YAAY,GAAG,IAAI;MACrB;IACF;IACA,IAAI,CAACkB,WAAW,CAAC;MACfrB,KAAK,EAAE;QAAEK,YAAY,EAAEF;MAAa;IAEtC,CAAgB,CAAC;EACnB;EAEA+C,UAAUA,CAACC,UAAkB,EAAErC,KAAa,EAAC;IAC3C,IAAGA,KAAK,IAAI,CAAC,IAAIA,KAAK,GAAG,IAAI,CAACM,WAAW,CAACV,MAAM,EAAC;MAC/C,OAAO,IAAI,CAACU,WAAW,CAACN,KAAK,CAAC,CAACqC,UAAU,CAAC;IAC5C,CAAC,MACG;MACF,OAAO,IAAI,CAAC/B,WAAW,CAACgC,GAAG,CAACN,IAAI,IAAIA,IAAI,CAACK,UAAU,CAAC,CAAC,CAACE,MAAM,CAACC,MAAM,IAAIA,MAAM,KAAK3C,SAAS,CAAC;IAC9F;EACF;EAEQ4C,WAAWA,CAAA,EAAG;IACpB,IAAI,CAAClC,WAAW,CAAC;MACfrB,KAAK,EAAE;QAAEK,YAAY,EAAE;MAAK,CAAC;MAC7BiB,aAAa,EAAE,CAAC;IAClB,CAAgB,CAAC;EACnB;EAEAkC,YAAYA,CAACC,KAAU,EAAE;IACvB,MAAMC,SAAS,GAAGD,KAAK;IACvB,MAAMzD,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAIA,KAAK,CAAC0C,OAAO,EAAE;MACjB,MAAME,WAAW,GAAGc,SAAS,IAAIvE,cAAc,CAACuE,SAAS,EAAE1D,KAAK,CAAC0C,OAAO,EAAE1C,KAAK,CAAC2D,KAAK,EAAE3D,KAAK,CAAC4D,OAAO,EAAE5D,KAAK,CAAC6D,UAAU,EAAE,IAAI,CAAC;MAC7H,IAAI,CAACxC,WAAW,CAAC;QACfuB,WAAW,EAAEA;MACf,CAAC,EAAiB,MAAM;QAAA,IAAAkB,kBAAA;QACtB,CAAAA,kBAAA,OAAI,CAACC,YAAY,cAAAD,kBAAA,uBAAjBA,kBAAA,CAAmBnB,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACJ;EACF;EAEOqB,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAE;IAC1D,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACxC,MAAMnE,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,QAAOiE,IAAI;MACT,KAAK,iBAAiB;QACpB,IAAIC,IAAI,EAAE;UACR,IAAI,CAAC1B,eAAe,CAAC,CAAC;QACxB;QACF;MACA,KAAK,SAAS;QACZ,IAAI,IAAI,CAACpC,KAAK,CAACJ,KAAK,CAAC0C,OAAO,EAAE;UAC5B,IAAI,CAACc,YAAY,CAACU,IAAI,CAAC;QACzB,CAAC,MAAM;UACL,IAAI,EAAEC,IAAI,IAAIA,IAAI,CAACzD,MAAM,CAAC,IACrBwD,IAAI,IAAIA,IAAI,CAACxD,MAAM,IACnB,IAAI,CAACN,KAAK,CAACJ,KAAK,CAACoE,SAAS,EAAE;YAC7B,IAAI,CAAC/C,WAAW,CAAC;cACfrB,KAAK,EAAE;gBACLgC,OAAO,EAAE,CAAC,GAAGkC,IAAI;cACnB;YACF,CAAgB,CAAC;UACrB;UACA,MAAMnC,IAAI,GAAGlD,OAAO,CAACqF,IAAI,CAAC,GAAGA,IAAI,GAAI,CAACpF,OAAO,CAACoF,IAAI,CAAC,IAAI9E,SAAS,CAAC8E,IAAI,CAAC,GAAG,CAACA,IAAI,CAAC,GAAG,EAAG;UACrF,IAAI,CAAC7C,WAAW,CAAC;YACfuB,WAAW,EAAGb,IAAI,CAAC,CAAC,CAAC,IAAI/B,KAAK,CAACqE,SAAS,KAAK,YAAY,GAAG,CAAC;cAC3DC,GAAG,EAAE,KAAK;cACVvC,IAAI,EAAEA;YACR,CAAC,CAAC,GAAG;UACP,CAAC,EAAiB,MAAM;YAAA,IAAAwC,mBAAA;YACtB,CAAAA,mBAAA,OAAI,CAACR,YAAY,cAAAQ,mBAAA,uBAAjBA,mBAAA,CAAmB5B,KAAK,CAAC,CAAC;UAC5B,CAAC,CAAC;QACJ;QACA,IAAI,CAACvB,WAAW,GAAG,EAAE;QACrB,IAAIpB,KAAK,CAACwE,eAAe,EAAE;UACzB,IAAI,CAAChC,eAAe,CAAC,CAAC;QACxB,CAAC,MAAM;UACL,IAAI,CAACe,WAAW,CAAC,CAAC;QACpB;QACF;MACA,KAAK,SAAS;MACd,KAAK,OAAO;QACV,IAAI,CAACC,YAAY,CAAC,IAAI,CAACpD,KAAK,CAACJ,KAAK,CAACgC,OAAO,CAAC;QAC3C;MACF,KAAK,aAAa;QAChB,IAAIkC,IAAI,EAAE;UACR,IAAI,CAACrF,OAAO,CAAC,IAAI,CAACuB,KAAK,CAACJ,KAAK,CAACK,YAAY,CAAC,EAAE;YAC3C,IAAI,CAACD,KAAK,CAACJ,KAAK,CAACK,YAAY,GAAG,IAAI,CAACD,KAAK,CAACJ,KAAK,CAACK,YAAY,GAC3D,CAAC,IAAI,CAACD,KAAK,CAACJ,KAAK,CAACK,YAAY,CAAC,GAAG,EAAE;UACxC;QACF,CAAC,MAAM,IAAIxB,OAAO,CAAC,IAAI,CAACuB,KAAK,CAACJ,KAAK,CAACK,YAAY,CAAC,EAAE;UACjD,IAAI,CAACD,KAAK,CAACJ,KAAK,CAACK,YAAY,GAAG,IAAI,CAACD,KAAK,CAACJ,KAAK,CAACK,YAAY,CAACoE,GAAG,CAAC,CAAC;QACrE;QACA;MACF,KAAK,aAAa;QAChB,IAAI,CAAChD,WAAW,GAAGyC,IAAI,IAAI,IAAI,CAACzC,WAAW;QAC3C;MACF,KAAK,cAAc;QACjB,IAAGyC,IAAI,IAAIC,IAAI,IAAInF,QAAQ,CAACkF,IAAI,CAAC,EAAE;UACjC,IAAI,CAACrB,UAAU,CAAC,IAAI,CAACzC,KAAK,CAACJ,KAAK,CAACgC,OAAO,CAACkC,IAAI,CAAC,CAAC;QACjD;QACA;IACJ;EACF;EAEAQ,iBAAiBA,CAAA,EAAG;IAAA,IAAAC,cAAA;IAClB,MAAM3E,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAI,IAAI,CAACI,KAAK,CAACJ,KAAK,CAACwE,eAAe,KAAAG,cAAA,GAAI3E,KAAK,CAACgC,OAAO,cAAA2C,cAAA,eAAbA,cAAA,CAAejE,MAAM,EAAE;MAC7D6B,UAAU,CAAC,MAAM;QACf,IAAI,CAAChC,QAAQ,CAACP,KAAK,CAACgC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MACpC,CAAC,CAAC;IACJ;IACA,IAAI,CAAC4C,SAAS,CAAC,QAAQ,EAAGC,KAAU,IAAK;MACvC,MAAMC,cAAc,GAAGD,KAAK,CAACE,WAAW,CAACC,aAAa,CAACC,CAAC,GAAIJ,KAAK,CAACE,WAAW,CAACG,iBAAiB,CAACC,MAAM;MACtG,IAAIL,cAAc,GAAG,IAAI,CAACM,YAAY,EAAE;QAAA,IAAAC,qBAAA;QACtC,IAAI,EAAAA,qBAAA,OAAI,CAACjF,KAAK,CAACJ,KAAK,CAACgC,OAAO,cAAAqD,qBAAA,uBAAxBA,qBAAA,CAA0B3E,MAAM,IAAG,IAAI,CAACN,KAAK,CAAC6B,gBAAgB,EAAE;UAClE,IAAI,CAACZ,WAAW,CAAC;YACfY,gBAAgB,EAAE,IAAI,CAAC7B,KAAK,CAAC6B,gBAAgB,GAAG;UAClD,CAAgB,CAAC;QACnB,CAAC,MAAM,IAAI,IAAI,CAAC7B,KAAK,CAACJ,KAAK,CAACoE,SAAS,EAAE;UACrC,IAAI,CAAC5C,QAAQ,CAAC,CAAC;QACjB;MACF;IACF,CAAC,CAAC;IACF,KAAK,CAACkD,iBAAiB,CAAC,CAAC;EAC3B;EAEAY,kBAAkBA,CAACC,SAAsB,EAAEC,SAAsB,EAAEC,QAAc,EAAE;IACjF,KAAK,CAACH,kBAAkB,IAAI,KAAK,CAACA,kBAAkB,CAACC,SAAS,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IACpF,IAAI,CAACxE,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACb,KAAK,CAACJ,KAAK,CAACgC,OAAO,CAAC,CAAC;EACxE;EAEA0D,gBAAgBA,CAAA,EAAG;IACjB,MAAMC,YAAY,GAAG,IAAI,CAACvF,KAAK,CAACJ,KAAK,CAACqE,SAAS,KAAK,YAAY;IAChE,OAAO,IAAI,CAACuB,KAAK,CAACC,QAAQ,CAAE,GAAE,IAAI,CAACC,YAAa,IAAGH,YAAY,GAAG,qBAAqB,GAAG,mBAAoB,EAAC,CAAC;EAClH;EAEAI,QAAQA,CAACjD,IAAS,EAAE;IAClB,OAAO,IAAI,CAAC1C,KAAK,CAACJ,KAAK,CAACgC,OAAO,CAAC1B,OAAO,CAACwC,IAAI,CAAC;EAC/C;EAEQkD,eAAeA,CAAClD,IAAS,EAAEhC,KAAa,EAAEd,KAAkB,EAAE;IACpE,IAAIA,KAAK,CAACiG,OAAO,IAAInD,IAAI,IAAI,CAAC,IAAI,CAACoD,aAAa,EAAE;MAChD,OAAOlG,KAAK,CAACiG,OAAO,CAACnD,IAAI,EAAEhC,KAAK,CAAC;IACnC;IACA,OAAO,YAAY,GAAI,IAAI,CAACiD,YAAY,CAACoC,MAAM,CAACrD,IAAI,EAAE,IAAI,CAAC;EAC7D;EAEQsD,UAAUA,CAACtD,IAAS,EAAEhC,KAAa,EAAEd,KAAkB,EAAE;IAC/D,MAAMqG,IAAI,GAAG,IAAI,CAAEC,cAAc,CAAC,CAAC;IACnC,MAAMX,YAAY,GAAI3F,KAAK,CAACqE,SAAS,KAAK,YAAa;IACvD,OAAOvD,KAAK,GAAG,IAAI,CAACV,KAAK,CAAC6B,gBAAgB,gBACxC1D,KAAA,CAAAgI,aAAA,CAAC5H,IAAI;MAAC6H,KAAK,EAAE,CACX,IAAI,CAACC,MAAM,CAAC3D,IAAI,EAChB9C,KAAK,CAAC0G,SAAS,GAAG,IAAI,CAACd,KAAK,CAACC,QAAQ,CAAC7F,KAAK,CAAC0G,SAAS,CAAC5D,IAAI,EAAEhC,KAAK,CAAC,CAAC,GAAG,IAAI,EAC1E,IAAI,CAACb,UAAU,CAAC6C,IAAI,CAAC,GAAG,IAAI,CAAC2D,MAAM,CAACtG,YAAY,GAAG,CAAC,CAAC;IAAE,gBACvD5B,KAAA,CAAAgI,aAAA,CAAClH,QAAQ,EAAAsH,QAAA,KACH,IAAI,CAACC,qBAAqB,CAAE,OAAM9F,KAAM,EAAC,CAAC;MAC9C+F,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACtG,QAAQ,CAACuC,IAAI,EAAEhC,KAAK,EAAE,IAAI,CAAE;MAC9CgG,SAAS,EAAEA,CAAA,KAAM,IAAI,CAAC7F,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACM,KAAK,CAAC,CAAE;MAC3EwF,WAAW,EAAEA,CAAA,KAAM,IAAI,CAAC9F,mBAAmB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAACM,KAAK,CAAC,CAAE;MAC/EkF,MAAM,EACJ,CACEJ,IAAI,GAAG;QACLW,KAAK,EAAE;MACT,CAAC,GAAG,IAAI,EACRX,IAAI,IAAIV,YAAY,GAAG;QACrBsB,YAAY,EAAE,CAAClI,KAAK,CAAC,IAAI,CAAC0H,MAAM,CAAC3D,IAAI,CAACoE,WAAW,CAAC,GAC9C,IAAI,CAACT,MAAM,CAAC3D,IAAI,CAACqE,MAAM,GAAG,IAAI,CAACV,MAAM,CAAC3D,IAAI,CAACoE,WAAW,KAAK;MACjE,CAAC,GAAG,IAAI;IAEX,IACAlH,KAAK,CAACoG,UAAU,CAACtD,IAAI,EAAEhC,KAAK,EAAE,IAAI,CAAC,EACnC,IAAI,CAACb,UAAU,CAAC6C,IAAI,CAAC,gBACpBvE,KAAA,CAAAgI,aAAA,CAAC/G,MAAM;MAAC4H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,GAAGvG,KAAK,CAAE;MAACwG,SAAS,EAAC,oBAAoB;MAACb,MAAM,EAAE,IAAI,CAACA,MAAM,CAACc;IAAa,CAAE,CAAC,GAC7G,IACI,CACN,CAAC,GACH,IAAI;EACZ;EAEQC,YAAYA,CAACxH,KAAkB,EAAEyH,KAAa,EAAE;IACtD,OAAOzH,KAAK,CAAC0C,OAAO,gBAClBnE,KAAA,CAAAgI,aAAA,CAAC7H,IAAI;MAAC8H,KAAK,EAAE,IAAI,CAACC,MAAM,CAACiB;IAAa,GAAED,KAAY,CAAC,GAClDzH,KAAK,CAACsH,SAAS,IAAItH,KAAK,CAACyH,KAAK,IAAIzH,KAAK,CAAC2H,UAAU,gBACrDpJ,KAAA,CAAAgI,aAAA,CAAC5H,IAAI;MAAC6H,KAAK,EAAE,IAAI,CAACC,MAAM,CAACmB;IAAQ,gBAC/BrJ,KAAA,CAAAgI,aAAA,CAAC5H,IAAI;MAAC6H,KAAK,EAAE;QAACqB,IAAI,EAAE,CAAC;QAAEC,aAAa,EAAE;MAAK;IAAE,gBAC3CvJ,KAAA,CAAAgI,aAAA,CAAC/G,MAAM;MAAC4H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,CAAE;MAACZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACsB,QAAS;MAACT,SAAS,EAAEtH,KAAK,CAACsH;IAAU,CAAS,CAAC,eACvG/I,KAAA,CAAAgI,aAAA,CAAC5H,IAAI,qBACHJ,KAAA,CAAAgI,aAAA,CAAChH,OAAO;MAAC6H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,OAAO,CAAE;MAACZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACgB,KAAM;MAACO,OAAO,EAAEhI,KAAK,CAACyH;IAAM,CAAU,CAAC,eACjGlJ,KAAA,CAAAgI,aAAA,CAAChH,OAAO;MAAC6H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,YAAY,CAAE;MAACZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACkB,UAAW;MAACK,OAAO,EAAEhI,KAAK,CAAC2H;IAAW,CAAU,CAC3G,CACF,CACF,CAAC,GAAI,IAAI;EACnB;EAEQM,kBAAkBA,CAACtC,YAAqB,EAAE7C,IAAS,EAAEhC,KAAU,EAAEd,KAAkB,EAAE;IAC3F,oBAAQzB,KAAA,CAAAgI,aAAA,CAAChH,OAAO;MAAE6H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,UAAU,CAAE;MAACZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACyB,YAAa;MAACF,OAAO,EAAEhI,KAAK,CAACmI;IAAc,CAAU,CAAC;EAC9H;EAEQC,iBAAiBA,CAACpI,KAAkB,EAAE;IAC5C,OAAOA,KAAK,CAACqI,WAAW,gBAAI9J,KAAA,CAAAgI,aAAA,CAAC/G,MAAM;MACjC4H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,aAAa,CAAE;MAClCZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC6B,WAAY;MAChChB,SAAS,EAAEtH,KAAK,CAACqI,WAAY;MAC7BL,OAAO,EAAEhI,KAAK,CAACuI;IAAe,CAAS,CAAC,gBAEtChK,KAAA,CAAAgI,aAAA,CAAC/H,iBAAiB;MAACgK,KAAK,EAAE,IAAI,CAAC/B,MAAM,CAAC6B,WAAW,CAACG,IAAI,CAACD;IAAM,CAAoB,CAClF;EACL;EAEOlC,cAAcA,CAAA,EAAG;IACtB,MAAMtG,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAGA,KAAK,CAACqE,SAAS,KAAK,UAAU,EAAE;MACjC,OAAOrE,KAAK,CAAC0I,WAAW,CAACC,EAAE;IAC7B;IACA,OAAO,CAAC;EACV;EAEQC,cAAcA,CAACC,CAAoB,EAAE;IAC3C,MAAMC,CAAC,GAAGD,CAAC,CAAC9D,WAAW,CAACgE,MAAM;IAC9B,IAAI,CAAC3D,YAAY,GAAG0D,CAAC,CAAC3D,MAAM,GAAG2D,CAAC,CAAC7D,CAAC,GAAG,GAAG;IACxC,IAAI,CAAC,IAAI,CAACG,YAAY,EAAE;MACtB,IAAI,CAACA,YAAY,GAAG,CAAC,CAAC;IACxB;EACF;EAEQ4D,kBAAkBA,CAAChJ,KAAkB,EAAwB;IAAA,IAAtB2F,YAAY,GAAA9F,SAAA,CAAAa,MAAA,QAAAb,SAAA,QAAAc,SAAA,GAAAd,SAAA,MAAG,KAAK;IACjE,oBACAtB,KAAA,CAAAgI,aAAA,CAAC5H,IAAI;MAAC6H,KAAK,EAAE,IAAI,CAACC,MAAM,CAACwC,IAAK;MAACC,QAAQ,EAAEL,CAAC,IAAI,IAAI,CAACD,cAAc,CAACC,CAAC;IAAE,GAClE,CAAC/J,OAAO,CAAC,IAAI,CAACsB,KAAK,CAACwC,WAAW,CAAC,GAAG,IAAI,CAACxC,KAAK,CAACwC,WAAW,CAACQ,GAAG,CAAC,CAAC+F,CAAM,EAAEC,CAAC,kBACrE7K,KAAA,CAAAgI,aAAA,CAAC5H,IAAI;MAAC6H,KAAK,EAAE;QAAC6C,YAAY,EAAE;MAAE,CAAE;MAAC/E,GAAG,EAAE6E,CAAC,CAAC7E,GAAG,IAAI,IAAI,CAACP,YAAY,CAACoC,MAAM,CAACgD,CAAC,EAAE,IAAI;IAAE,GAC9E,IAAI,CAAC3B,YAAY,CAACxH,KAAK,EAAEmJ,CAAC,CAAC7E,GAAG,CAAC,eAChC/F,KAAA,CAAAgI,aAAA,CAAC3H,QAAQ,EAAA+H,QAAA;MACPrC,GAAG,EAAEtE,KAAK,CAACiE,IAAI,GAAG,GAAG,IAAI0B,YAAY,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG3F,KAAK,CAAC0I,WAAW,CAACC,EAAG;MAC1E5E,YAAY,EAAEA,CAACjB,IAAI,EAAEsG,CAAC,KAAK,IAAI,CAACpD,eAAe,CAAClD,IAAI,EAAEsG,CAAC,EAAEpJ,KAAK,CAAE;MAChEsJ,aAAa,EAAE,KAAM;MACrBC,UAAU,EAAI5D,YAAa;MAC3B5D,IAAI,EAAEjD,OAAO,CAACqK,CAAC,CAACpH,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAEoH,CAAC,CAACpH,IAAK;MACtCyH,kBAAkB,EAAKC,QAAQ,IAAK,IAAI,CAACxB,kBAAkB,CAACtC,YAAY,EAAE8D,QAAQ,CAAC3G,IAAI,EAAE2G,QAAQ,CAAC3I,KAAK,EAAEd,KAAK,CAAE;MAChHoG,UAAU,EAAGqD,QAAQ,IAAK,IAAI,CAACrD,UAAU,CAACqD,QAAQ,CAAC3G,IAAI,EAAE2G,QAAQ,CAAC3I,KAAK,EAAEd,KAAK;IAAE,GAC3E2F,YAAY,GAAG,CAAC,CAAC,GAAG;MAAC+D,UAAU,EAAG,IAAI,CAACpD,cAAc,CAAC;IAAC,CAAC,CACrD,CAAC,EACVtG,KAAK,CAACoE,SAAS,GACb,IAAI,CAAC3C,WAAW,GACf,IAAI,CAAC2G,iBAAiB,CAACpI,KAAK,CAAC,gBAC5BzB,KAAA,CAAAgI,aAAA,CAAChH,OAAO;MAAC6H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,iBAAiB,CAAE;MAC9CZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACkD,eAAgB;MACpC3B,OAAO,EAAE,IAAI,CAAC9F,WAAW,GAAGlC,KAAK,CAAC4J,eAAe,GAAG5J,KAAK,CAACmI,aAAc;MACxEtB,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACrF,QAAQ,CAAC;IAAE,CAAU,CAAE,GAC3C,IACA,CACN,CAAC,GAAG,IAAI,CAACyG,kBAAkB,CAACtC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAC3F,KAAK,CAE1D,CAAC;EACT;EAEQ6J,kBAAkBA,CAAA,EAAG;IAC3B,IAAI,IAAI,CAAC3D,aAAa,EAAE;MACtB,OAAO,CAAC;QACN5B,GAAG,EAAE,EAAE;QACPvC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;MACnB,CAAC,CAAC;IACJ,CAAC,MAAM,IAAI,IAAI,CAAC3B,KAAK,CAACwC,WAAW,IAC1B,IAAI,CAACxC,KAAK,CAACwC,WAAW,CAAC,CAAC,CAAC,IACzB,IAAI,CAACxC,KAAK,CAACwC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAClC,MAAM,EAAE;MAC/C,OAAO,IAAI,CAACN,KAAK,CAACwC,WAAW;IAC/B;IACA,OAAO,EAAE;EACX;EAEQkH,qBAAqBA,CAAC9J,KAAkB,EAAwB;IAAA,IAAtB2F,YAAY,GAAA9F,SAAA,CAAAa,MAAA,QAAAb,SAAA,QAAAc,SAAA,GAAAd,SAAA,MAAG,KAAK;IACpE,oBACEtB,KAAA,CAAAgI,aAAA,CAAC9H,WAAW;MACVsF,YAAY,EAAEA,CAACjB,IAAI,EAAEsG,CAAC,KAAK,IAAI,CAACpD,eAAe,CAAClD,IAAI,EAAEsG,CAAC,EAAEpJ,KAAK,CAAE;MAChEuJ,UAAU,EAAI5D,YAAa;MAC3BoE,qBAAqB,EAAE,IAAI,CAACtD,MAAM,CAACwC,IAAK;MACxCe,QAAQ,EAAE,IAAI,CAACH,kBAAkB,CAAC,CAAE;MACpCI,mBAAmB,EAAEC,IAAA,IAA6B;QAAA,IAA5B;UAAEC,OAAO,EAAE;YAAC7F,GAAG;YAAEvC;UAAI;QAAC,CAAC,GAAAmI,IAAA;QAC3C,OAAO,IAAI,CAAC1C,YAAY,CAACxH,KAAK,EAAEsE,GAAG,CAAC;MACtC,CAAE;MACF8F,mBAAmB,EAAEA,CAAA,KAAMpK,KAAK,CAAC2B,WAAW,GAAG,IAAI,CAACyG,iBAAiB,CAACpI,KAAK,CAAC,GAAG,IAAK;MACpFwJ,kBAAkB,EAAKC,QAAQ,IAAK,IAAI,CAACxB,kBAAkB,CAACtC,YAAY,EAAE8D,QAAQ,CAAC3G,IAAI,EAAE2G,QAAQ,CAAC3I,KAAK,EAAEd,KAAK,CAAE;MAChHoG,UAAU,EAAGqD,QAAQ,IAAK,IAAI,CAACrD,UAAU,CAACqD,QAAQ,CAAC3G,IAAI,EAAE2G,QAAQ,CAAC3I,KAAK,EAAEd,KAAK;IAAE,CACrE,CAAC;EAElB;EAEAqK,YAAYA,CAACrK,KAAkB,EAAE;IAC/B,IAAI,CAACiB,mBAAmB,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,IAAI,CAACb,KAAK,CAACJ,KAAK,CAACgC,OAAO,CAAC,CAAC;IAChF,MAAM2D,YAAY,GAAI3F,KAAK,CAACqE,SAAS,KAAK,YAAa;IACvD,oBACI9F,KAAA,CAAAgI,aAAA,CAAC5H,IAAI;MAAC6H,KAAK,EAAEb,YAAY,GAAG,IAAI,GAAG;QAAEqB,KAAK,EAAE;MAAO;IAAE,GAClD,IAAI,CAACsD,WAAW,EACf3E,YAAY,IAAI,CAAC3F,KAAK,CAAC0C,OAAO,GAC9B,IAAI,CAACsG,kBAAkB,CAAChJ,KAAK,EAAE2F,YAAY,CAAC,GAC5C,IAAI,CAACmE,qBAAqB,CAAC9J,KAAK,EAAE2F,YAAY,CAC9C,CAAC;EACX;AACF"}
1
+ {"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","BaseComponent","BaseComponentState","getGroupedData","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","WmListProps","DEFAULT_CLASS","WmListState","constructor","arguments","_defineProperty","WmList","props","updateState","maxRecordsToShow","state","pagesize","isSelected","$item","selectedItem","selecteditem","indexOf","onSelect","$index","triggerTapEvent","length","undefined","disableitem","multiselect","index","selectionlimit","push","invokeEventCallback","splice","selectedItemWidgets","itemWidgets","selectedindex","proxy","loadDataOnDemand","navigation","loadData","loadingData","dataset","$list","loadingdata","getNextPageData","currentPage","then","data","hasMoreData","catch","err","console","error","setTimeout","selectFirstItem","initialized","groupby","clear","groupedData","selectItem","item","getItem","deselect","selectedItemIndex","getWidgets","widgetname","map","filter","widget","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","direction","key","_this$keyExtractor2","selectfirstitem","pop","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","layoutMeasurement","height","endThreshold","componentDidUpdate","prevProps","prevState","snapshot","getDefaultStyles","isHorizontal","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","createElement","style","styles","itemclass","_extends","getTestPropsForAction","onTap","onLongTap","onDoubleTap","width","paddingRight","marginRight","margin","id","getTestId","iconclass","selectedIcon","renderHeader","title","groupHeading","subheading","heading","flex","flexDirection","listIcon","caption","renderEmptyMessage","emptyMessage","nodatamessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","onLayoutChange","e","l","layout","renderWithFlatList","root","onLayout","v","i","group","scrollEnabled","horizontal","ListEmptyComponent","itemInfo","numColumns","onDemandMessage","ondemandmessage","getSectionListData","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","_ref","section","renderSectionFooter","renderWidget","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent } 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, 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 ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\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 \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 onSelect($item: any, $index: number | string, triggerTapEvent = false) {\n const props = this.state.props;\n let selectedItem = null as any;\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 }\n } else {\n if (props.selecteditem === $item) {\n selectedItem = null;\n } else {\n selectedItem = $item;\n }\n }\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n this.invokeEventCallback('onSelect', [this.proxy, $item]);\n triggerTapEvent && this.invokeEventCallback('onTap', [null, this.proxy]);\n });\n }\n }\n\n private get loadDataOnDemand() {\n const navigation = this.state.props.navigation;\n return navigation === 'Scroll' || navigation === 'On-Demand';\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.updateState({\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\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 }\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 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 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 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 return (index < this.state.maxRecordsToShow || isHorizontal) ? ( \n <View style={[\n this.styles.item,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n onTap={() => this.onSelect(item, index, true)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [\n cols ? {\n width: '100%'\n } : null,\n cols || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null\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 ) : null;\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading}>{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}></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 renderWithFlatList(props: WmListProps, isHorizontal = false) {\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 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={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 ? {} : {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() {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [{}, {}, {}]\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()}\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 return (\n <View style={isHorizontal ? null : { width: '100%' }}>\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -31,8 +31,10 @@ export default class WmListProps extends BaseProps {
31
31
  _defineProperty(this, "orderby", null);
32
32
  _defineProperty(this, "dateformat", null);
33
33
  _defineProperty(this, "selecteditem", null);
34
+ _defineProperty(this, "navigation", 'None');
34
35
  _defineProperty(this, "itemclass", null);
35
36
  _defineProperty(this, "getNextPageData", null);
37
+ _defineProperty(this, "pagesize", 20);
36
38
  _defineProperty(this, "itemsperrow", {
37
39
  xs: 1,
38
40
  sm: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["React","BaseProps","View","WmListProps","constructor","arguments","_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 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 itemclass: ($item: any, $index: any) => string = null as any;\n getNextPageData: ($event: any, $list: any, page: number) => Promise<any> = null as any;\n itemsperrow = {\n xs: 1,\n sm: 1,\n md: 1,\n lg: 1,\n }\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;IAAA,SAAAC,SAAA;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,qBACH,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,oBAC8B,IAAI;IAAAA,eAAA,0BACsB,IAAI;IAAAA,eAAA,sBAChE;MACZI,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE;IACP,CAAC;EAAA;AACL"}
1
+ {"version":3,"names":["React","BaseProps","View","WmListProps","constructor","arguments","_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 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}\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;IAAA,SAAAC,SAAA;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,qBACH,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;EAAA;AACL"}
@@ -64,13 +64,17 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
64
64
  },
65
65
  onDemandMessage: {
66
66
  root: {
67
- paddingVertical: 8
67
+ paddingVertical: 8,
68
+ width: '100%'
68
69
  },
69
70
  text: {
70
71
  textAlign: 'center',
71
72
  color: themeVariables.listSubTitleColor
72
73
  }
73
74
  },
75
+ group: {
76
+ marginBottom: 16
77
+ },
74
78
  item: {
75
79
  ...BASE_THEME.getStyle('elevate1').root,
76
80
  shadowColor: 'rgba(0, 0, 0, 0.3)',
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","listIcon","marginTop","marginRight","groupHeading","backgroundColor","groupHeadingBgColor","fontSize","paddingLeft","paddingRight","lineHeight","fontFamily","baseFont","loadingIcon","flex","alignSelf","justifyContent","color","listSubTitleColor","heading","padding","marginBottom","listHeaderBgColor","title","listTitleColor","fontWeight","subheading","emptyMessage","onDemandMessage","paddingVertical","textAlign","item","getStyle","shadowColor","flexDirection","paddingTop","paddingBottom","minHeight","itemBgColor","borderColor","selectedItemBorderColor","borderRadius","borderStyle","selectedItem","selectedIcon","position","right","top","primaryColor","minWidth","width","borderBottomWidth","borderBottomColor","listDividerColor","borderRightWidth","borderRightColor"],"sources":["list.styles.ts"],"sourcesContent":["import { TextStyle, ViewStyle } from 'react-native';\nimport BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmLabelStyles } from '@wavemaker/app-rn-runtime/components/basic/label/label.styles';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\n\nexport type WmListStyles = BaseStyles & {\n heading: AllStyle,\n groupHeading: TextStyle,\n listIcon: WmIconStyles,\n loadingIcon: WmIconStyles,\n title: WmLabelStyles,\n subheading: WmLabelStyles,\n emptyMessage: WmLabelStyles,\n onDemandMessage: WmLabelStyles,\n item: AllStyle,\n selectedItem: AllStyle,\n selectedIcon: WmIconStyles\n};\n\nexport const DEFAULT_CLASS = 'app-list';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmListStyles = defineStyles({\n root: {},\n text: {},\n listIcon: {\n root: {\n marginTop: 10,\n marginRight: 8\n }\n } as WmIconStyles,\n groupHeading: {\n backgroundColor: themeVariables.groupHeadingBgColor,\n fontSize: 16,\n paddingLeft: 8,\n paddingRight: 8,\n lineHeight: 40,\n fontFamily: themeVariables.baseFont\n },\n loadingIcon: {\n root: {\n flex: 1,\n alignSelf: 'center',\n justifyContent: 'center',\n fontSize: 16\n },\n text: {\n color: themeVariables.listSubTitleColor\n }\n } as WmIconStyles,\n heading : {\n padding: 8,\n marginBottom: 6,\n backgroundColor: themeVariables.listHeaderBgColor\n },\n title: {\n text: {\n color: themeVariables.listTitleColor,\n fontSize: 16,\n fontFamily: themeVariables.baseFont,\n lineHeight: 24,\n fontWeight: '400' \n }\n } as WmLabelStyles,\n subheading: {\n text: {\n fontSize: 14,\n lineHeight: 20,\n fontFamily: themeVariables.baseFont,\n fontWeight: '400',\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n emptyMessage: {\n root: {\n flex: 1,\n alignSelf: 'center',\n fontSize: 16,\n lineHeight: 18,\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n onDemandMessage: {\n root: {\n paddingVertical: 8\n },\n text: {\n textAlign: 'center',\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n item: {\n ...BASE_THEME.getStyle('elevate1').root,\n shadowColor: 'rgba(0, 0, 0, 0.3)',\n flexDirection: 'row',\n flex: 1,\n paddingLeft: 4,\n paddingRight: 4,\n paddingTop: 4,\n paddingBottom: 4,\n minHeight: 56,\n backgroundColor: themeVariables.itemBgColor,\n borderColor: themeVariables.selectedItemBorderColor,\n borderRadius: 6,\n borderStyle: 'solid',\n },\n selectedItem : {} as AllStyle,\n selectedIcon : {\n root: {\n position: 'absolute',\n right: 0,\n top: 0\n },\n text: {\n color: themeVariables.primaryColor,\n fontSize: 16\n }\n } as WmIconStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n\n addStyle('app-horizontal-list', '', {\n groupHeading: {\n minWidth: 120,\n backgroundColor: themeVariables.groupHeadingBgColor,\n },\n item: {\n marginRight: 6,\n borderColor: themeVariables.selectedItemBorderColor,\n }\n } as WmListStyles);\n\n addStyle('app-vertical-list', '', {\n item: {\n marginBottom: 6,\n width: '100%',\n borderBottomWidth: 0,\n borderBottomColor: themeVariables.listDividerColor,\n }\n } as any as WmListStyles);\n\n addStyle('app-horizontal-list-dense', '', {\n item: {\n marginRight: 0,\n borderRadius: 0,\n borderRightWidth: 1,\n borderRightColor: 'rgba(0,0,0,0.05)'\n } as ViewStyle\n } as WmListStyles);\n\n addStyle('app-list-dense', '', {\n item: {\n marginBottom: 0,\n borderRadius: 0,\n borderBottomWidth: 1,\n borderBottomColor: 'rgba(0,0,0,0.05)'\n } as ViewStyle\n } as WmListStyles);\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","listIcon","marginTop","marginRight","groupHeading","backgroundColor","groupHeadingBgColor","fontSize","paddingLeft","paddingRight","lineHeight","fontFamily","baseFont","loadingIcon","flex","alignSelf","justifyContent","color","listSubTitleColor","heading","padding","marginBottom","listHeaderBgColor","title","listTitleColor","fontWeight","subheading","emptyMessage","onDemandMessage","paddingVertical","width","textAlign","group","item","getStyle","shadowColor","flexDirection","paddingTop","paddingBottom","minHeight","itemBgColor","borderColor","selectedItemBorderColor","borderRadius","borderStyle","selectedItem","selectedIcon","position","right","top","primaryColor","minWidth","borderBottomWidth","borderBottomColor","listDividerColor","borderRightWidth","borderRightColor"],"sources":["list.styles.ts"],"sourcesContent":["import { TextStyle, ViewStyle } from 'react-native';\nimport BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmLabelStyles } from '@wavemaker/app-rn-runtime/components/basic/label/label.styles';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\n\nexport type WmListStyles = BaseStyles & {\n heading: AllStyle,\n groupHeading: TextStyle,\n listIcon: WmIconStyles,\n loadingIcon: WmIconStyles,\n title: WmLabelStyles,\n subheading: WmLabelStyles,\n emptyMessage: WmLabelStyles,\n onDemandMessage: WmLabelStyles,\n item: AllStyle,\n selectedItem: AllStyle,\n selectedIcon: WmIconStyles,\n group: AllStyle,\n};\n\nexport const DEFAULT_CLASS = 'app-list';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmListStyles = defineStyles({\n root: {},\n text: {},\n listIcon: {\n root: {\n marginTop: 10,\n marginRight: 8\n }\n } as WmIconStyles,\n groupHeading: {\n backgroundColor: themeVariables.groupHeadingBgColor,\n fontSize: 16,\n paddingLeft: 8,\n paddingRight: 8,\n lineHeight: 40,\n fontFamily: themeVariables.baseFont\n },\n loadingIcon: {\n root: {\n flex: 1,\n alignSelf: 'center',\n justifyContent: 'center',\n fontSize: 16\n },\n text: {\n color: themeVariables.listSubTitleColor\n }\n } as WmIconStyles,\n heading : {\n padding: 8,\n marginBottom: 6,\n backgroundColor: themeVariables.listHeaderBgColor\n },\n title: {\n text: {\n color: themeVariables.listTitleColor,\n fontSize: 16,\n fontFamily: themeVariables.baseFont,\n lineHeight: 24,\n fontWeight: '400' \n }\n } as WmLabelStyles,\n subheading: {\n text: {\n fontSize: 14,\n lineHeight: 20,\n fontFamily: themeVariables.baseFont,\n fontWeight: '400',\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n emptyMessage: {\n root: {\n flex: 1,\n alignSelf: 'center',\n fontSize: 16,\n lineHeight: 18,\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n onDemandMessage: {\n root: {\n paddingVertical: 8,\n width: '100%'\n } as ViewStyle,\n text: {\n textAlign: 'center',\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n group: {\n marginBottom: 16,\n },\n item: {\n ...BASE_THEME.getStyle('elevate1').root,\n shadowColor: 'rgba(0, 0, 0, 0.3)',\n flexDirection: 'row',\n flex: 1,\n paddingLeft: 4,\n paddingRight: 4,\n paddingTop: 4,\n paddingBottom: 4,\n minHeight: 56,\n backgroundColor: themeVariables.itemBgColor,\n borderColor: themeVariables.selectedItemBorderColor,\n borderRadius: 6,\n borderStyle: 'solid',\n },\n selectedItem : {} as AllStyle,\n selectedIcon : {\n root: {\n position: 'absolute',\n right: 0,\n top: 0\n },\n text: {\n color: themeVariables.primaryColor,\n fontSize: 16\n }\n } as WmIconStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n\n addStyle('app-horizontal-list', '', {\n groupHeading: {\n minWidth: 120,\n backgroundColor: themeVariables.groupHeadingBgColor,\n },\n item: {\n marginRight: 6,\n borderColor: themeVariables.selectedItemBorderColor,\n }\n } as WmListStyles);\n\n addStyle('app-vertical-list', '', {\n item: {\n marginBottom: 6,\n width: '100%',\n borderBottomWidth: 0,\n borderBottomColor: themeVariables.listDividerColor,\n }\n } as any as WmListStyles);\n\n addStyle('app-horizontal-list-dense', '', {\n item: {\n marginRight: 0,\n borderRadius: 0,\n borderRightWidth: 1,\n borderRightColor: 'rgba(0,0,0,0.05)'\n } as ViewStyle\n } as WmListStyles);\n\n addStyle('app-list-dense', '', {\n item: {\n marginBottom: 0,\n borderRadius: 0,\n borderBottomWidth: 1,\n borderBottomColor: 'rgba(0,0,0,0.05)'\n } as ViewStyle\n } as WmListStyles);\n});\n"],"mappings":"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"}
@@ -13,6 +13,10 @@ export default class WmDialogcontent extends BaseComponent {
13
13
  contentContainerStyle: [this.styles.root, {
14
14
  maxHeight: undefined
15
15
  }],
16
+ onScroll: event => {
17
+ this.notify('scroll', [event]);
18
+ },
19
+ scrollEventThrottle: 48,
16
20
  style: {
17
21
  maxHeight: this.styles.root.maxHeight
18
22
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","ScrollView","BaseComponent","BaseComponentState","WmDialogcontentProps","DEFAULT_CLASS","WmDialogcontentState","WmDialogcontent","constructor","props","renderWidget","createElement","contentContainerStyle","styles","root","maxHeight","undefined","style","_background","children"],"sources":["dialogcontent.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmDialogcontentProps from './dialogcontent.props';\nimport { DEFAULT_CLASS, WmDialogcontentStyles } from './dialogcontent.styles';\n\nexport class WmDialogcontentState extends BaseComponentState<WmDialogcontentProps> {}\n\nexport default class WmDialogcontent extends BaseComponent<WmDialogcontentProps, WmDialogcontentState, WmDialogcontentStyles> {\n\n constructor(props: WmDialogcontentProps) {\n super(props, DEFAULT_CLASS, new WmDialogcontentProps());\n }\n\n renderWidget(props: WmDialogcontentProps) {\n return (<ScrollView\n contentContainerStyle={[this.styles.root, {maxHeight: undefined}]}\n style={{maxHeight: this.styles.root.maxHeight}}>\n {this._background}\n {props.children}\n </ScrollView>);\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,oBAAoB,MAAM,uBAAuB;AACxD,SAASC,aAAa,QAA+B,wBAAwB;AAE7E,OAAO,MAAMC,oBAAoB,SAASH,kBAAkB,CAAuB;AAEnF,eAAe,MAAMI,eAAe,SAASL,aAAa,CAAoE;EAE5HM,WAAWA,CAACC,KAA2B,EAAE;IACvC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,oBAAoB,CAAC,CAAC,CAAC;EACzD;EAEAM,YAAYA,CAACD,KAA2B,EAAE;IACxC,oBAAQT,KAAA,CAAAW,aAAA,CAACV,UAAU;MACjBW,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,SAAS,EAAEC;MAAS,CAAC,CAAE;MAClEC,KAAK,EAAE;QAACF,SAAS,EAAE,IAAI,CAACF,MAAM,CAACC,IAAI,CAACC;MAAS;IAAE,GAC5C,IAAI,CAACG,WAAW,EAChBT,KAAK,CAACU,QACC,CAAC;EACf;AACF"}
1
+ {"version":3,"names":["React","ScrollView","BaseComponent","BaseComponentState","WmDialogcontentProps","DEFAULT_CLASS","WmDialogcontentState","WmDialogcontent","constructor","props","renderWidget","createElement","contentContainerStyle","styles","root","maxHeight","undefined","onScroll","event","notify","scrollEventThrottle","style","_background","children"],"sources":["dialogcontent.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmDialogcontentProps from './dialogcontent.props';\nimport { DEFAULT_CLASS, WmDialogcontentStyles } from './dialogcontent.styles';\n\nexport class WmDialogcontentState extends BaseComponentState<WmDialogcontentProps> {}\n\nexport default class WmDialogcontent extends BaseComponent<WmDialogcontentProps, WmDialogcontentState, WmDialogcontentStyles> {\n\n constructor(props: WmDialogcontentProps) {\n super(props, DEFAULT_CLASS, new WmDialogcontentProps());\n }\n\n renderWidget(props: WmDialogcontentProps) {\n return (<ScrollView\n contentContainerStyle={[this.styles.root, {maxHeight: undefined}]}\n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n style={{maxHeight: this.styles.root.maxHeight}}>\n {this._background}\n {props.children}\n </ScrollView>);\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,oBAAoB,MAAM,uBAAuB;AACxD,SAASC,aAAa,QAA+B,wBAAwB;AAE7E,OAAO,MAAMC,oBAAoB,SAASH,kBAAkB,CAAuB;AAEnF,eAAe,MAAMI,eAAe,SAASL,aAAa,CAAoE;EAE5HM,WAAWA,CAACC,KAA2B,EAAE;IACvC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,oBAAoB,CAAC,CAAC,CAAC;EACzD;EAEAM,YAAYA,CAACD,KAA2B,EAAE;IACxC,oBAAQT,KAAA,CAAAW,aAAA,CAACV,UAAU;MACjBW,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,SAAS,EAAEC;MAAS,CAAC,CAAE;MAClEC,QAAQ,EAAGC,KAAK,IAAK;QAAC,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,CAACD,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDE,mBAAmB,EAAE,EAAG;MACxBC,KAAK,EAAE;QAACN,SAAS,EAAE,IAAI,CAACF,MAAM,CAACC,IAAI,CAACC;MAAS;IAAE,GAC5C,IAAI,CAACO,WAAW,EAChBb,KAAK,CAACc,QACC,CAAC;EACf;AACF"}
@@ -113,7 +113,7 @@ export class BaseInputComponent extends BaseComponent {
113
113
  onBlur(event) {
114
114
  Injector.FOCUSED_ELEMENT.remove();
115
115
  this.isTouched = true;
116
- let newVal = event.target.value || this.state.textValue;
116
+ let newVal = this.state.textValue;
117
117
  let oldVal = this.state.props.datavalue || '';
118
118
  this.validate(newVal);
119
119
  if (newVal === '' || newVal == undefined) {
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","arguments","_defineProperty","BaseInputComponent","props","defaultClass","length","undefined","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","onChangeText","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","setTimeout","triggerValidation","validationObj","isValid","errorType","onFocus","set","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n onChangeText(value: any) {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [ event, this.proxy]);\n }\n })\n\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = event.target.value || this.state.textValue;\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur') {\n if (oldVal !== newVal) {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n }, 250);\n\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","arguments","_defineProperty","BaseInputComponent","props","defaultClass","length","undefined","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","onChangeText","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","setTimeout","triggerValidation","validationObj","isValid","errorType","onFocus","set","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n onChangeText(value: any) {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [ event, this.proxy]);\n }\n })\n\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue;\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur') {\n if (oldVal !== newVal) {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n }, 250);\n\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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"}
@@ -22,6 +22,8 @@ export default class BaseInputProps extends BaseProps {
22
22
  _defineProperty(this, "hint", undefined);
23
23
  _defineProperty(this, "accessibilityrole", "none");
24
24
  _defineProperty(this, "accessibilitylabelledby", undefined);
25
+ _defineProperty(this, "maskchar", null);
26
+ _defineProperty(this, "displayformat", null);
25
27
  }
26
28
  }
27
29
  //# sourceMappingURL=baseinput.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","BaseInputProps","constructor","arguments","_defineProperty","undefined"],"sources":["baseinput.props.ts"],"sourcesContent":["import {AccessibilityRole} from \"react-native\";\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class BaseInputProps extends BaseProps {\n autofocus: boolean = null as any;\n autocomplete: boolean = true;\n autotrim: boolean = true;\n datavalue: any;\n maxchars: number = null as any;\n readonly: boolean = null as any;\n regexp: string = null as any;\n type: string = 'text';\n updateon: string = 'blur' as any;\n required?: boolean = false as any;\n checkFormField?: any;\n onFieldChange?: any;\n triggerValidation?: any;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = \"none\";\n accessibilitylabelledby?: string = undefined;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,uBACD,IAAI;IAAAA,eAAA,mBACR,IAAI;IAAAA,eAAA;IAAAA,eAAA,mBAEL,IAAI;IAAAA,eAAA,mBACH,IAAI;IAAAA,eAAA,iBACP,IAAI;IAAAA,eAAA,eACN,MAAM;IAAAA,eAAA,mBACF,MAAM;IAAAA,eAAA,mBACJ,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,6BAIIC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,MAAM;IAAAA,eAAA,kCACXC,SAAS;EAAA;AAC9C"}
1
+ {"version":3,"names":["BaseProps","BaseInputProps","constructor","arguments","_defineProperty","undefined"],"sources":["baseinput.props.ts"],"sourcesContent":["import {AccessibilityRole} from \"react-native\";\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class BaseInputProps extends BaseProps {\n autofocus: boolean = null as any;\n autocomplete: boolean = true;\n autotrim: boolean = true;\n datavalue: any;\n maxchars: number = null as any;\n readonly: boolean = null as any;\n regexp: string = null as any;\n type: string = 'text';\n updateon: string = 'blur' as any;\n required?: boolean = false as any;\n checkFormField?: any;\n onFieldChange?: any;\n triggerValidation?: any;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = \"none\";\n accessibilitylabelledby?: string = undefined;\n maskchar: string = null as any;\n displayformat: string = null as any;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,uBACD,IAAI;IAAAA,eAAA,mBACR,IAAI;IAAAA,eAAA;IAAAA,eAAA,mBAEL,IAAI;IAAAA,eAAA,mBACH,IAAI;IAAAA,eAAA,iBACP,IAAI;IAAAA,eAAA,eACN,MAAM;IAAAA,eAAA,mBACF,MAAM;IAAAA,eAAA,mBACJ,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,6BAIIC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,MAAM;IAAAA,eAAA,kCACXC,SAAS;IAAAD,eAAA,mBACzB,IAAI;IAAAA,eAAA,wBACC,IAAI;EAAA;AAC9B"}
@@ -4,7 +4,8 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
4
4
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
5
  import React from 'react';
6
6
  import { Text, View, TouchableOpacity } from 'react-native';
7
- import { find, forEach, isEqual } from 'lodash';
7
+ import { find, forEach, isEqual, isEmpty } from 'lodash';
8
+ import { ScrollView } from 'react-native-gesture-handler';
8
9
  import WmCheckboxsetProps from './checkboxset.props';
9
10
  import { DEFAULT_CLASS } from './checkboxset.styles';
10
11
  import { BaseDatasetComponent, BaseDatasetState } from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';
@@ -14,6 +15,7 @@ export class WmCheckboxsetState extends BaseDatasetState {
14
15
  constructor() {
15
16
  super(...arguments);
16
17
  _defineProperty(this, "isValid", true);
18
+ _defineProperty(this, "template", "");
17
19
  }
18
20
  }
19
21
  export default class WmCheckboxset extends BaseDatasetComponent {
@@ -62,7 +64,7 @@ export default class WmCheckboxset extends BaseDatasetComponent {
62
64
  iconclass: "wi wi-check",
63
65
  styles: item.selected ? this.styles.checkicon : this.styles.uncheckicon,
64
66
  disabled: props.readonly || props.disabled
65
- }), /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel(index + ''), {
67
+ }), !isEmpty(this.state.template) && this.props.renderitempartial ? this.props.renderitempartial(item.dataObject, index, this.state.template) : /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel(index + ''), {
66
68
  style: this.styles.text
67
69
  }), displayText));
68
70
  }
@@ -81,6 +83,11 @@ export default class WmCheckboxset extends BaseDatasetComponent {
81
83
  });
82
84
  return Promise.resolve();
83
85
  }
86
+ setTemplate(partialName) {
87
+ this.updateState({
88
+ template: partialName
89
+ });
90
+ }
84
91
  renderGroupby() {
85
92
  const groupedData = this.state.groupedData;
86
93
  return /*#__PURE__*/React.createElement(View, null, groupedData && groupedData.length ? groupedData.map((groupObj, index) => {
@@ -97,9 +104,11 @@ export default class WmCheckboxset extends BaseDatasetComponent {
97
104
  }
98
105
  renderWidget(props) {
99
106
  const items = this.state.dataItems;
100
- return /*#__PURE__*/React.createElement(View, {
107
+ return /*#__PURE__*/React.createElement(ScrollView, {
101
108
  style: this.styles.root
102
- }, props.groupby && this.renderGroupby(), !props.groupby && this.renderCheckboxses(items));
109
+ }, /*#__PURE__*/React.createElement(ScrollView, {
110
+ horizontal: true
111
+ }, props.groupby && this.renderGroupby(), !props.groupby && this.renderCheckboxses(items)));
103
112
  }
104
113
  }
105
114
  //# sourceMappingURL=checkboxset.component.js.map