@wavemaker/app-rn-runtime 11.7.0-dev.1 → 11.7.0-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/components/basic/anchor/anchor.component.js +3 -1
  2. package/components/basic/anchor/anchor.component.js.map +1 -1
  3. package/components/basic/anchor/anchor.props.js +1 -0
  4. package/components/basic/anchor/anchor.props.js.map +1 -1
  5. package/components/container/container.component.js +1 -10
  6. package/components/container/container.component.js.map +1 -1
  7. package/components/container/container.props.js +0 -1
  8. package/components/container/container.props.js.map +1 -1
  9. package/components/container/tabs/tabpane/tabpane.component.js +6 -12
  10. package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  11. package/components/container/tabs/tabpane/tabpane.props.js +0 -1
  12. package/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
  13. package/components/data/form/form-field/form-field.component.js +9 -0
  14. package/components/data/form/form-field/form-field.component.js.map +1 -1
  15. package/components/data/form/form-field/form-field.props.js +1 -0
  16. package/components/data/form/form-field/form-field.props.js.map +1 -1
  17. package/components/data/form/form.component.js +26 -4
  18. package/components/data/form/form.component.js.map +1 -1
  19. package/components/data/form/form.props.js +3 -0
  20. package/components/data/form/form.props.js.map +1 -1
  21. package/components/data/list/list.component.js +16 -9
  22. package/components/data/list/list.component.js.map +1 -1
  23. package/components/data/list/list.props.js +2 -0
  24. package/components/data/list/list.props.js.map +1 -1
  25. package/components/input/checkboxset/checkboxset.component.js +5 -2
  26. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  27. package/components/input/slider/slider.component.js +3 -2
  28. package/components/input/slider/slider.component.js.map +1 -1
  29. package/components/input/toggle/toggle.component.js +3 -2
  30. package/components/input/toggle/toggle.component.js.map +1 -1
  31. package/core/base.component.js +12 -3
  32. package/core/base.component.js.map +1 -1
  33. package/core/event-notifier.js +12 -2
  34. package/core/event-notifier.js.map +1 -1
  35. package/core/formatters.js +14 -1
  36. package/core/formatters.js.map +1 -1
  37. package/package.json +2 -2
  38. package/runtime/App.js +5 -3
  39. package/runtime/App.js.map +1 -1
  40. package/runtime/base-fragment.component.js +5 -1
  41. package/runtime/base-fragment.component.js.map +1 -1
  42. package/styles/background.component.js +11 -6
  43. package/styles/background.component.js.map +1 -1
@@ -10,6 +10,7 @@ export default class WmFormProps extends BaseProps {
10
10
  _defineProperty(this, "onBeforesubmit", void 0);
11
11
  _defineProperty(this, "formdata", void 0);
12
12
  _defineProperty(this, "parentForm", '');
13
+ _defineProperty(this, "metadata", void 0);
13
14
  _defineProperty(this, "title", void 0);
14
15
  _defineProperty(this, "subheading", void 0);
15
16
  _defineProperty(this, "iconclass", void 0);
@@ -21,6 +22,8 @@ export default class WmFormProps extends BaseProps {
21
22
  _defineProperty(this, "relatedData", () => {});
22
23
  _defineProperty(this, "onSuccess", () => {});
23
24
  _defineProperty(this, "onError", () => {});
25
+ _defineProperty(this, "onBeforerender", () => {});
26
+ _defineProperty(this, "generateComponent", metadata => {});
24
27
  }
25
28
  }
26
29
  //# sourceMappingURL=form.props.js.map
@@ -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,24 +78,28 @@ 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
89
  if (isArray(this.state.props.dataset) && this.state.props.dataset.length > this.state.maxRecordsToShow) {
83
90
  this.updateState({
84
- maxRecordsToShow: this.state.maxRecordsToShow + 20
91
+ maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize
85
92
  });
86
- } else if (this.state.props.deferload) {
93
+ } else if (this.loadDataOnDemand) {
87
94
  const $list = this.proxy;
88
95
  $list.loadingdata = true;
89
96
  this.loadingData = true;
90
97
  this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then(data => {
91
- if (data && isArray(data) && isArray(this.state.props.dataset)) {
98
+ if (isArray(data) && data.length > 0 && isArray(this.state.props.dataset)) {
92
99
  $list.dataset = [...this.state.props.dataset, ...data];
93
100
  this.updateState({
94
101
  currentPage: this.state.currentPage + 1,
95
- maxRecordsToShow: this.state.maxRecordsToShow + 20
102
+ maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize
96
103
  });
97
104
  this.hasMoreData = true;
98
105
  } else {
@@ -194,7 +201,7 @@ export default class WmList extends BaseComponent {
194
201
  if (this.state.props.groupby) {
195
202
  this.setGroupData($new);
196
203
  } else {
197
- if (!($old && $old.length) && $new && $new.length && this.state.props.deferload) {
204
+ if (!($old && $old.length) && $new && $new.length && this.loadDataOnDemand) {
198
205
  this.updateState({
199
206
  props: {
200
207
  dataset: [...$new]
@@ -252,7 +259,7 @@ export default class WmList extends BaseComponent {
252
259
  }
253
260
  this.subscribe('scroll', event => {
254
261
  const scrollPosition = event.nativeEvent.contentOffset.y + event.nativeEvent.layoutMeasurement.height;
255
- if (scrollPosition > this.endThreshold) {
262
+ if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {
256
263
  this.loadData();
257
264
  }
258
265
  });
@@ -278,7 +285,7 @@ export default class WmList extends BaseComponent {
278
285
  renderItem(item, index, props) {
279
286
  const cols = this.getNoOfColumns();
280
287
  const isHorizontal = props.direction === 'horizontal';
281
- return index < this.state.maxRecordsToShow ? /*#__PURE__*/React.createElement(View, {
288
+ return index < this.state.maxRecordsToShow || isHorizontal ? /*#__PURE__*/React.createElement(View, {
282
289
  style: [this.styles.item, props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null, this.isSelected(item) ? this.styles.selectedItem : {}]
283
290
  }, /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(`item${index}`), {
284
291
  onTap: () => this.onSelect(item, index, true),
@@ -368,10 +375,10 @@ export default class WmList extends BaseComponent {
368
375
  renderItem: itemInfo => this.renderItem(itemInfo.item, itemInfo.index, props)
369
376
  }, isHorizontal ? {} : {
370
377
  numColumns: this.getNoOfColumns()
371
- })), props.deferload || v.data.length > this.state.maxRecordsToShow ? 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, {
372
379
  id: this.getTestId('ondemandmessage'),
373
380
  styles: this.styles.onDemandMessage,
374
- caption: this.hasMoreData ? props.ondemandmessage : props.nodatamessage,
381
+ caption: this.hasMoreData && !isHorizontal ? props.ondemandmessage : props.nodatamessage,
375
382
  onTap: () => this.loadData()
376
383
  }) : null)) : this.renderEmptyMessage(isHorizontal, null, null, props));
377
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","dataset","maxRecordsToShow","deferload","$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 }\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 if (isArray(this.state.props.dataset) \n && 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 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\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 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 ? ( \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 {props.deferload || (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 ? 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,IAAI5C,OAAO,CAAC,IAAI,CAACuB,KAAK,CAACJ,KAAK,CAAC0B,OAAO,CAAC,IAChC,IAAI,CAACtB,KAAK,CAACJ,KAAK,CAAC0B,OAAO,CAAChB,MAAM,GAAG,IAAI,CAACN,KAAK,CAACuB,gBAAgB,EAAE;MAClE,IAAI,CAACN,WAAW,CAAC;QACfM,gBAAgB,EAAE,IAAI,CAACvB,KAAK,CAACuB,gBAAgB,GAAG;MAClD,CAAgB,CAAC;IACnB,CAAC,MAAM,IAAI,IAAI,CAACvB,KAAK,CAACJ,KAAK,CAAC4B,SAAS,EAAE;MACrC,MAAMC,KAAK,GAAG,IAAI,CAACN,KAAY;MAC/BM,KAAK,CAACC,WAAW,GAAG,IAAI;MACxB,IAAI,CAACL,WAAW,GAAG,IAAI;MACvB,IAAI,CAACzB,KAAK,CAAC+B,eAAe,IAAI,IAAI,CAAC/B,KAAK,CAAC+B,eAAe,CAAC,IAAI,EAAE,IAAI,CAACR,KAAK,EAAE,IAAI,CAACnB,KAAK,CAAC4B,WAAW,GAAG,CAAC,CAAC,CAACC,IAAI,CAAEC,IAAI,IAAK;QACpH,IAAIA,IAAI,IACHrD,OAAO,CAACqD,IAAI,CAAC,IACbrD,OAAO,CAAC,IAAI,CAACuB,KAAK,CAACJ,KAAK,CAAC0B,OAAO,CAAC,EAAE;UACpCG,KAAK,CAACH,OAAO,GAAG,CAAC,GAAG,IAAI,CAACtB,KAAK,CAACJ,KAAK,CAAC0B,OAAO,EAAE,GAAGQ,IAAI,CAAC;UACtD,IAAI,CAACb,WAAW,CAAC;YACfW,WAAW,EAAG,IAAI,CAAC5B,KAAK,CAAC4B,WAAW,GAAG,CAAC;YACxCL,gBAAgB,EAAE,IAAI,CAACvB,KAAK,CAACuB,gBAAgB,GAAG;UAClD,CAAgB,CAAC;UACjB,IAAI,CAACQ,WAAW,GAAG,IAAI;QAC3B,CAAC,MAAM;UACL,IAAI,CAACA,WAAW,GAAG,KAAK;QAC1B;MACF,CAAC,CAAC,CAACC,KAAK,CAAEC,GAAG,IAAK;QAChBC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;MACpB,CAAC,CAAC,CAACJ,IAAI,CAAC,MAAM;QACZO,UAAU,CAAC,MAAM;UACfX,KAAK,CAACC,WAAW,GAAG,KAAK;QAC3B,CAAC,EAAE,IAAI,CAAC;MACV,CAAC,CAAC;IACJ;EACF;EAEQW,eAAeA,CAAA,EAAG;IACxB,MAAMzC,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAI,IAAI,CAAC0C,WAAW,IACf1C,KAAK,CAAC0B,OAAO,IACb1B,KAAK,CAAC0B,OAAO,CAAChB,MAAM,EAAE;MACvB,MAAMI,KAAK,GAAGd,KAAK,CAAC2C,OAAO,GAAG,IAAI,GAAE,CAAC;MACrC,IAAI,CAACpC,QAAQ,CAACP,KAAK,CAAC0B,OAAO,CAAC,CAAC,CAAC,EAAEZ,KAAK,CAAC;IACxC;EACJ;EAEA8B,KAAKA,CAAA,EAAE;IACL,IAAI,CAACvB,WAAW,CAAC;MACfwB,WAAW,EAAE,CAAC;IAChB,CAAgB,CAAC;EACnB;EAEAC,UAAUA,CAACC,IAAS,EAAC;IACnB,MAAMrB,OAAO,GAAG,IAAI,CAACtB,KAAK,CAACJ,KAAK,CAAC0B,OAAO;IACxC,IAAG1C,QAAQ,CAAC+D,IAAI,CAAC,EAAC;MAChB,IAAI,CAACxC,QAAQ,CAACmB,OAAO,CAACqB,IAAI,CAAC,EAAEA,IAAI,CAAC;IACpC,CAAC,MACG;MACF,IAAIjC,KAAK,GAAGY,OAAO,CAACpB,OAAO,CAACyC,IAAI,CAAC;MACjC,IAAI,CAACxC,QAAQ,CAACmB,OAAO,CAACZ,KAAK,CAAC,EAAEA,KAAK,CAAC;IACtC;EACF;EAEAkC,OAAOA,CAAClC,KAAa,EAAC;IACpB,MAAMd,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,OAAO,IAAI,CAACA,KAAK,CAAC0B,OAAO,CAACZ,KAAK,CAAC;EAClC;EAEAmC,QAAQA,CAACF,IAAS,EAAC;IACjB,MAAM/C,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAIG,YAAY,GAAG,IAAW;IAC9B,IAAIW,KAAK,GAAG9B,QAAQ,CAAC+D,IAAI,CAAC,GAACA,IAAI,GAAC/C,KAAK,CAAC0B,OAAO,CAACpB,OAAO,CAACyC,IAAI,CAAC;IAC3D,IAAG/C,KAAK,CAACa,WAAW,IAAIC,KAAK,IAAI,CAAC,EAAC;MACjCX,YAAY,GAAG,CAAC,IAAIH,KAAK,CAACK,YAAY,IAAI,EAAE,CAAC,CAAC;MAC9C,IAAI6C,iBAAiB,GAAG/C,YAAY,CAACG,OAAO,CAACN,KAAK,CAAC0B,OAAO,CAACZ,KAAK,CAAC,CAAC;MAClE,IAAGoC,iBAAiB,IAAI,CAAC,EAAC;QACxB/C,YAAY,CAACe,MAAM,CAACgC,iBAAiB,EAAE,CAAC,CAAC;MAC3C;IACF,CAAC,MACG;MACF,IAAIlD,KAAK,CAACK,YAAY,KAAKL,KAAK,CAAC0B,OAAO,CAACZ,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;EAEAgD,UAAUA,CAACC,UAAkB,EAAEtC,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,CAACsC,UAAU,CAAC;IAC5C,CAAC,MACG;MACF,OAAO,IAAI,CAAChC,WAAW,CAACiC,GAAG,CAACN,IAAI,IAAIA,IAAI,CAACK,UAAU,CAAC,CAAC,CAACE,MAAM,CAACC,MAAM,IAAIA,MAAM,KAAK5C,SAAS,CAAC;IAC9F;EACF;EAEQ6C,WAAWA,CAAA,EAAG;IACpB,IAAI,CAACnC,WAAW,CAAC;MACfrB,KAAK,EAAE;QAAEK,YAAY,EAAE;MAAK,CAAC;MAC7BiB,aAAa,EAAE,CAAC;IAClB,CAAgB,CAAC;EACnB;EAEAmC,YAAYA,CAACC,KAAU,EAAE;IACvB,MAAMC,SAAS,GAAGD,KAAK;IACvB,MAAM1D,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAIA,KAAK,CAAC2C,OAAO,EAAE;MACjB,MAAME,WAAW,GAAGc,SAAS,IAAIxE,cAAc,CAACwE,SAAS,EAAE3D,KAAK,CAAC2C,OAAO,EAAE3C,KAAK,CAAC4D,KAAK,EAAE5D,KAAK,CAAC6D,OAAO,EAAE7D,KAAK,CAAC8D,UAAU,EAAE,IAAI,CAAC;MAC7H,IAAI,CAACzC,WAAW,CAAC;QACfwB,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,MAAMpE,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,QAAOkE,IAAI;MACT,KAAK,iBAAiB;QACpB,IAAIC,IAAI,EAAE;UACR,IAAI,CAAC1B,eAAe,CAAC,CAAC;QACxB;QACF;MACA,KAAK,SAAS;QACZ,IAAI,IAAI,CAACrC,KAAK,CAACJ,KAAK,CAAC2C,OAAO,EAAE;UAC5B,IAAI,CAACc,YAAY,CAACU,IAAI,CAAC;QACzB,CAAC,MAAM;UACL,IAAI,EAAEC,IAAI,IAAIA,IAAI,CAAC1D,MAAM,CAAC,IACrByD,IAAI,IAAIA,IAAI,CAACzD,MAAM,IACnB,IAAI,CAACN,KAAK,CAACJ,KAAK,CAAC4B,SAAS,EAAE;YAC7B,IAAI,CAACP,WAAW,CAAC;cACfrB,KAAK,EAAE;gBACL0B,OAAO,EAAE,CAAC,GAAGyC,IAAI;cACnB;YACF,CAAgB,CAAC;UACrB;UACA,MAAMjC,IAAI,GAAGrD,OAAO,CAACsF,IAAI,CAAC,GAAGA,IAAI,GAAI,CAACrF,OAAO,CAACqF,IAAI,CAAC,IAAI/E,SAAS,CAAC+E,IAAI,CAAC,GAAG,CAACA,IAAI,CAAC,GAAG,EAAG;UACrF,IAAI,CAAC9C,WAAW,CAAC;YACfwB,WAAW,EAAGX,IAAI,CAAC,CAAC,CAAC,IAAIlC,KAAK,CAACqE,SAAS,KAAK,YAAY,GAAG,CAAC;cAC3DC,GAAG,EAAE,KAAK;cACVpC,IAAI,EAAEA;YACR,CAAC,CAAC,GAAG;UACP,CAAC,EAAiB,MAAM;YAAA,IAAAqC,mBAAA;YACtB,CAAAA,mBAAA,OAAI,CAACP,YAAY,cAAAO,mBAAA,uBAAjBA,mBAAA,CAAmB3B,KAAK,CAAC,CAAC;UAC5B,CAAC,CAAC;QACJ;QACA,IAAI,CAACxB,WAAW,GAAG,EAAE;QACrB,IAAIpB,KAAK,CAACwE,eAAe,EAAE;UACzB,IAAI,CAAC/B,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,CAACrD,KAAK,CAACJ,KAAK,CAAC0B,OAAO,CAAC;QAC3C;MACF,KAAK,aAAa;QAChB,IAAIyC,IAAI,EAAE;UACR,IAAI,CAACtF,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,GAAG0C,IAAI,IAAI,IAAI,CAAC1C,WAAW;QAC3C;MACF,KAAK,cAAc;QACjB,IAAG0C,IAAI,IAAIC,IAAI,IAAIpF,QAAQ,CAACmF,IAAI,CAAC,EAAE;UACjC,IAAI,CAACrB,UAAU,CAAC,IAAI,CAAC1C,KAAK,CAACJ,KAAK,CAAC0B,OAAO,CAACyC,IAAI,CAAC,CAAC;QACjD;QACA;IACJ;EACF;EAEAO,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,CAAC0B,OAAO,cAAAiD,cAAA,eAAbA,cAAA,CAAejE,MAAM,EAAE;MAC7D8B,UAAU,CAAC,MAAM;QACf,IAAI,CAACjC,QAAQ,CAACP,KAAK,CAAC0B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MACpC,CAAC,CAAC;IACJ;IACA,IAAI,CAACkD,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;QACtC,IAAI,CAAC5D,QAAQ,CAAC,CAAC;MACjB;IACF,CAAC,CAAC;IACF,KAAK,CAACkD,iBAAiB,CAAC,CAAC;EAC3B;EAEAW,kBAAkBA,CAACC,SAAsB,EAAEC,SAAsB,EAAEC,QAAc,EAAE;IACjF,KAAK,CAACH,kBAAkB,IAAI,KAAK,CAACA,kBAAkB,CAACC,SAAS,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IACpF,IAAI,CAACvE,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACb,KAAK,CAACJ,KAAK,CAAC0B,OAAO,CAAC,CAAC;EACxE;EAEA+D,gBAAgBA,CAAA,EAAG;IACjB,MAAMC,YAAY,GAAG,IAAI,CAACtF,KAAK,CAACJ,KAAK,CAACqE,SAAS,KAAK,YAAY;IAChE,OAAO,IAAI,CAACsB,KAAK,CAACC,QAAQ,CAAE,GAAE,IAAI,CAACC,YAAa,IAAGH,YAAY,GAAG,qBAAqB,GAAG,mBAAoB,EAAC,CAAC;EAClH;EAEAI,QAAQA,CAAC/C,IAAS,EAAE;IAClB,OAAO,IAAI,CAAC3C,KAAK,CAACJ,KAAK,CAAC0B,OAAO,CAACpB,OAAO,CAACyC,IAAI,CAAC;EAC/C;EAEQgD,eAAeA,CAAChD,IAAS,EAAEjC,KAAa,EAAEd,KAAkB,EAAE;IACpE,IAAIA,KAAK,CAACgG,OAAO,IAAIjD,IAAI,IAAI,CAAC,IAAI,CAACkD,aAAa,EAAE;MAChD,OAAOjG,KAAK,CAACgG,OAAO,CAACjD,IAAI,EAAEjC,KAAK,CAAC;IACnC;IACA,OAAO,YAAY,GAAI,IAAI,CAACkD,YAAY,CAACkC,MAAM,CAACnD,IAAI,EAAE,IAAI,CAAC;EAC7D;EAEQoD,UAAUA,CAACpD,IAAS,EAAEjC,KAAa,EAAEd,KAAkB,EAAE;IAC/D,MAAMoG,IAAI,GAAG,IAAI,CAAEC,cAAc,CAAC,CAAC;IACnC,MAAMX,YAAY,GAAI1F,KAAK,CAACqE,SAAS,KAAK,YAAa;IACvD,OAAOvD,KAAK,GAAG,IAAI,CAACV,KAAK,CAACuB,gBAAgB,gBACxCpD,KAAA,CAAA+H,aAAA,CAAC3H,IAAI;MAAC4H,KAAK,EAAE,CACX,IAAI,CAACC,MAAM,CAACzD,IAAI,EAChB/C,KAAK,CAACyG,SAAS,GAAG,IAAI,CAACd,KAAK,CAACC,QAAQ,CAAC5F,KAAK,CAACyG,SAAS,CAAC1D,IAAI,EAAEjC,KAAK,CAAC,CAAC,GAAG,IAAI,EAC1E,IAAI,CAACb,UAAU,CAAC8C,IAAI,CAAC,GAAG,IAAI,CAACyD,MAAM,CAACrG,YAAY,GAAG,CAAC,CAAC;IAAE,gBACvD5B,KAAA,CAAA+H,aAAA,CAACjH,QAAQ,EAAAqH,QAAA,KACH,IAAI,CAACC,qBAAqB,CAAE,OAAM7F,KAAM,EAAC,CAAC;MAC9C8F,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACrG,QAAQ,CAACwC,IAAI,EAAEjC,KAAK,EAAE,IAAI,CAAE;MAC9C+F,SAAS,EAAEA,CAAA,KAAM,IAAI,CAAC5F,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACM,KAAK,CAAC,CAAE;MAC3EuF,WAAW,EAAEA,CAAA,KAAM,IAAI,CAAC7F,mBAAmB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAACM,KAAK,CAAC,CAAE;MAC/EiF,MAAM,EACJ,CACEJ,IAAI,GAAG;QACLW,KAAK,EAAE;MACT,CAAC,GAAG,IAAI,EACRX,IAAI,IAAIV,YAAY,GAAG;QACrBsB,YAAY,EAAE,CAACjI,KAAK,CAAC,IAAI,CAACyH,MAAM,CAACzD,IAAI,CAACkE,WAAW,CAAC,GAC9C,IAAI,CAACT,MAAM,CAACzD,IAAI,CAACmE,MAAM,GAAG,IAAI,CAACV,MAAM,CAACzD,IAAI,CAACkE,WAAW,KAAK;MACjE,CAAC,GAAG,IAAI;IAEX,IACAjH,KAAK,CAACmG,UAAU,CAACpD,IAAI,EAAEjC,KAAK,EAAE,IAAI,CAAC,EACnC,IAAI,CAACb,UAAU,CAAC8C,IAAI,CAAC,gBACpBxE,KAAA,CAAA+H,aAAA,CAAC9G,MAAM;MAAC2H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,GAAGtG,KAAK,CAAE;MAACuG,SAAS,EAAC,oBAAoB;MAACb,MAAM,EAAE,IAAI,CAACA,MAAM,CAACc;IAAa,CAAE,CAAC,GAC7G,IACI,CACN,CAAC,GACH,IAAI;EACZ;EAEQC,YAAYA,CAACvH,KAAkB,EAAEwH,KAAa,EAAE;IACtD,OAAOxH,KAAK,CAAC2C,OAAO,gBAClBpE,KAAA,CAAA+H,aAAA,CAAC5H,IAAI;MAAC6H,KAAK,EAAE,IAAI,CAACC,MAAM,CAACiB;IAAa,GAAED,KAAY,CAAC,GAClDxH,KAAK,CAACqH,SAAS,IAAIrH,KAAK,CAACwH,KAAK,IAAIxH,KAAK,CAAC0H,UAAU,gBACrDnJ,KAAA,CAAA+H,aAAA,CAAC3H,IAAI;MAAC4H,KAAK,EAAE,IAAI,CAACC,MAAM,CAACmB;IAAQ,gBAC/BpJ,KAAA,CAAA+H,aAAA,CAAC3H,IAAI;MAAC4H,KAAK,EAAE;QAACqB,IAAI,EAAE,CAAC;QAAEC,aAAa,EAAE;MAAK;IAAE,gBAC3CtJ,KAAA,CAAA+H,aAAA,CAAC9G,MAAM;MAAC2H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,CAAE;MAACZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACsB,QAAS;MAACT,SAAS,EAAErH,KAAK,CAACqH;IAAU,CAAS,CAAC,eACvG9I,KAAA,CAAA+H,aAAA,CAAC3H,IAAI,qBACHJ,KAAA,CAAA+H,aAAA,CAAC/G,OAAO;MAAC4H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,OAAO,CAAE;MAACZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACgB,KAAM;MAACO,OAAO,EAAE/H,KAAK,CAACwH;IAAM,CAAU,CAAC,eACjGjJ,KAAA,CAAA+H,aAAA,CAAC/G,OAAO;MAAC4H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,YAAY,CAAE;MAACZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACkB,UAAW;MAACK,OAAO,EAAE/H,KAAK,CAAC0H;IAAW,CAAU,CAC3G,CACF,CACF,CAAC,GAAI,IAAI;EACnB;EAEQM,kBAAkBA,CAACtC,YAAqB,EAAE3C,IAAS,EAAEjC,KAAU,EAAEd,KAAkB,EAAE;IAC3F,oBAAQzB,KAAA,CAAA+H,aAAA,CAAC/G,OAAO;MAAE4H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,UAAU,CAAE;MAACZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACyB,YAAa;MAACF,OAAO,EAAE/H,KAAK,CAACkI;IAAc,CAAU,CAAC;EAC9H;EAEQC,iBAAiBA,CAACnI,KAAkB,EAAE;IAC5C,OAAOA,KAAK,CAACoI,WAAW,gBAAI7J,KAAA,CAAA+H,aAAA,CAAC9G,MAAM;MACjC2H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,aAAa,CAAE;MAClCZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC6B,WAAY;MAChChB,SAAS,EAAErH,KAAK,CAACoI,WAAY;MAC7BL,OAAO,EAAE/H,KAAK,CAACsI;IAAe,CAAS,CAAC,gBAEtC/J,KAAA,CAAA+H,aAAA,CAAC9H,iBAAiB;MAAC+J,KAAK,EAAE,IAAI,CAAC/B,MAAM,CAAC6B,WAAW,CAACG,IAAI,CAACD;IAAM,CAAoB,CAClF;EACL;EAEOlC,cAAcA,CAAA,EAAG;IACtB,MAAMrG,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAGA,KAAK,CAACqE,SAAS,KAAK,UAAU,EAAE;MACjC,OAAOrE,KAAK,CAACyI,WAAW,CAACC,EAAE;IAC7B;IACA,OAAO,CAAC;EACV;EAEQC,cAAcA,CAACC,CAAoB,EAAE;IAC3C,MAAMC,CAAC,GAAGD,CAAC,CAAC7D,WAAW,CAAC+D,MAAM;IAC9B,IAAI,CAAC1D,YAAY,GAAGyD,CAAC,CAAC1D,MAAM,GAAG0D,CAAC,CAAC5D,CAAC,GAAG,GAAG;IACxC,IAAI,CAAC,IAAI,CAACG,YAAY,EAAE;MACtB,IAAI,CAACA,YAAY,GAAG,CAAC,CAAC;IACxB;EACF;EAEQ2D,kBAAkBA,CAAC/I,KAAkB,EAAwB;IAAA,IAAtB0F,YAAY,GAAA7F,SAAA,CAAAa,MAAA,QAAAb,SAAA,QAAAc,SAAA,GAAAd,SAAA,MAAG,KAAK;IACjE,oBACAtB,KAAA,CAAA+H,aAAA,CAAC3H,IAAI;MAAC4H,KAAK,EAAE,IAAI,CAACC,MAAM,CAACwC,IAAK;MAACC,QAAQ,EAAEL,CAAC,IAAI,IAAI,CAACD,cAAc,CAACC,CAAC;IAAE,GAClE,CAAC9J,OAAO,CAAC,IAAI,CAACsB,KAAK,CAACyC,WAAW,CAAC,GAAG,IAAI,CAACzC,KAAK,CAACyC,WAAW,CAACQ,GAAG,CAAC,CAAC6F,CAAM,EAAEC,CAAC,kBACrE5K,KAAA,CAAA+H,aAAA,CAAC3H,IAAI;MAAC4H,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC4C,KAAM;MAAC9E,GAAG,EAAE4E,CAAC,CAAC5E,GAAG,IAAI,IAAI,CAACN,YAAY,CAACkC,MAAM,CAACgD,CAAC,EAAE,IAAI;IAAE,GAC7E,IAAI,CAAC3B,YAAY,CAACvH,KAAK,EAAEkJ,CAAC,CAAC5E,GAAG,CAAC,eAChC/F,KAAA,CAAA+H,aAAA,CAAC1H,QAAQ,EAAA8H,QAAA;MACPpC,GAAG,EAAEtE,KAAK,CAACkE,IAAI,GAAG,GAAG,IAAIwB,YAAY,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG1F,KAAK,CAACyI,WAAW,CAACC,EAAG;MAC1E1E,YAAY,EAAEA,CAACjB,IAAI,EAAEoG,CAAC,KAAK,IAAI,CAACpD,eAAe,CAAChD,IAAI,EAAEoG,CAAC,EAAEnJ,KAAK,CAAE;MAChEqJ,aAAa,EAAE3D,YAAa;MAC5B4D,UAAU,EAAI5D,YAAa;MAC3BxD,IAAI,EAAEpD,OAAO,CAACoK,CAAC,CAAChH,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAEgH,CAAC,CAAChH,IAAK;MACtCqH,kBAAkB,EAAKC,QAAQ,IAAK,IAAI,CAACxB,kBAAkB,CAACtC,YAAY,EAAE8D,QAAQ,CAACzG,IAAI,EAAEyG,QAAQ,CAAC1I,KAAK,EAAEd,KAAK,CAAE;MAChHmG,UAAU,EAAGqD,QAAQ,IAAK,IAAI,CAACrD,UAAU,CAACqD,QAAQ,CAACzG,IAAI,EAAEyG,QAAQ,CAAC1I,KAAK,EAAEd,KAAK;IAAE,GAC3E0F,YAAY,GAAG,CAAC,CAAC,GAAG;MAAC+D,UAAU,EAAG,IAAI,CAACpD,cAAc,CAAC;IAAC,CAAC,CACrD,CAAC,EACVrG,KAAK,CAAC4B,SAAS,IAAKsH,CAAC,CAAChH,IAAI,CAACxB,MAAM,GAAG,IAAI,CAACN,KAAK,CAACuB,gBAAiB,GAC9D,IAAI,CAACF,WAAW,GACf,IAAI,CAAC0G,iBAAiB,CAACnI,KAAK,CAAC,gBAC5BzB,KAAA,CAAA+H,aAAA,CAAC/G,OAAO;MAAC4H,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,iBAAiB,CAAE;MAC9CZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACkD,eAAgB;MACpC3B,OAAO,EAAE,IAAI,CAAC5F,WAAW,GAAGnC,KAAK,CAAC2J,eAAe,GAAG3J,KAAK,CAACkI,aAAc;MACxEtB,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACpF,QAAQ,CAAC;IAAE,CAAU,CAAE,GAC3C,IACA,CACN,CAAC,GAAG,IAAI,CAACwG,kBAAkB,CAACtC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAC1F,KAAK,CAE1D,CAAC;EACT;EAEQ4J,kBAAkBA,CAAA,EAAG;IAC3B,IAAI,IAAI,CAAC3D,aAAa,EAAE;MACtB,OAAO,CAAC;QACN3B,GAAG,EAAE,EAAE;QACPpC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;MACnB,CAAC,CAAC;IACJ,CAAC,MAAM,IAAI,IAAI,CAAC9B,KAAK,CAACyC,WAAW,IAC1B,IAAI,CAACzC,KAAK,CAACyC,WAAW,CAAC,CAAC,CAAC,IACzB,IAAI,CAACzC,KAAK,CAACyC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAACnC,MAAM,EAAE;MAC/C,OAAO,IAAI,CAACN,KAAK,CAACyC,WAAW;IAC/B;IACA,OAAO,EAAE;EACX;EAEQgH,qBAAqBA,CAAC7J,KAAkB,EAAwB;IAAA,IAAtB0F,YAAY,GAAA7F,SAAA,CAAAa,MAAA,QAAAb,SAAA,QAAAc,SAAA,GAAAd,SAAA,MAAG,KAAK;IACpE,oBACEtB,KAAA,CAAA+H,aAAA,CAAC7H,WAAW;MACVuF,YAAY,EAAEA,CAACjB,IAAI,EAAEoG,CAAC,KAAK,IAAI,CAACpD,eAAe,CAAChD,IAAI,EAAEoG,CAAC,EAAEnJ,KAAK,CAAE;MAChEsJ,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;YAAC5F,GAAG;YAAEpC;UAAI;QAAC,CAAC,GAAA+H,IAAA;QAC3C,OAAO,IAAI,CAAC1C,YAAY,CAACvH,KAAK,EAAEsE,GAAG,CAAC;MACtC,CAAE;MACF6F,mBAAmB,EAAEA,CAAA,KAAMnK,KAAK,CAAC8B,WAAW,GAAG,IAAI,CAACqG,iBAAiB,CAACnI,KAAK,CAAC,GAAG,IAAK;MACpFuJ,kBAAkB,EAAKC,QAAQ,IAAK,IAAI,CAACxB,kBAAkB,CAACtC,YAAY,EAAE8D,QAAQ,CAACzG,IAAI,EAAEyG,QAAQ,CAAC1I,KAAK,EAAEd,KAAK,CAAE;MAChHmG,UAAU,EAAGqD,QAAQ,IAAK,IAAI,CAACrD,UAAU,CAACqD,QAAQ,CAACzG,IAAI,EAAEyG,QAAQ,CAAC1I,KAAK,EAAEd,KAAK;IAAE,CACrE,CAAC;EAElB;EAEAoK,YAAYA,CAACpK,KAAkB,EAAE;IAC/B,IAAI,CAACiB,mBAAmB,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,IAAI,CAACb,KAAK,CAACJ,KAAK,CAAC0B,OAAO,CAAC,CAAC;IAChF,MAAMgE,YAAY,GAAI1F,KAAK,CAACqE,SAAS,KAAK,YAAa;IACvD,oBACI9F,KAAA,CAAA+H,aAAA,CAAC3H,IAAI;MAAC4H,KAAK,EAAEb,YAAY,GAAG,IAAI,GAAG;QAAEqB,KAAK,EAAE;MAAO;IAAE,GAClD,IAAI,CAACsD,WAAW,EACf3E,YAAY,IAAI,CAAC1F,KAAK,CAAC2C,OAAO,GAC9B,IAAI,CAACoG,kBAAkB,CAAC/I,KAAK,EAAE0F,YAAY,CAAC,GAC5C,IAAI,CAACmE,qBAAqB,CAAC7J,KAAK,EAAE0F,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"}
@@ -5,6 +5,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
5
5
  import React from 'react';
6
6
  import { Text, View, TouchableOpacity } from 'react-native';
7
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';
@@ -103,9 +104,11 @@ export default class WmCheckboxset extends BaseDatasetComponent {
103
104
  }
104
105
  renderWidget(props) {
105
106
  const items = this.state.dataItems;
106
- return /*#__PURE__*/React.createElement(View, {
107
+ return /*#__PURE__*/React.createElement(ScrollView, {
107
108
  style: this.styles.root
108
- }, 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)));
109
112
  }
110
113
  }
111
114
  //# sourceMappingURL=checkboxset.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","TouchableOpacity","find","forEach","isEqual","isEmpty","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","AccessibilityWidgetType","getAccessibilityProps","WmCheckboxsetState","constructor","arguments","_defineProperty","WmCheckboxset","props","onPress","item","invokeEventCallback","proxy","state","disabled","readonly","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","displayText","displayexp","displayfield","createElement","_extends","getTestPropsForAction","style","styles","bind","CHECKBOX","checked","accessibilityRole","accessibilityLabel","iconclass","checkicon","uncheckicon","template","renderitempartial","dataObject","getTestPropsForLabel","text","displayValue","filter","map","updateDatavalue","value","Promise","resolve","setTemplate","partialName","renderGroupby","groupedData","length","groupObj","groupHeaderTitle","renderCheckboxses","data","items","renderWidget","root","groupby"],"sources":["checkboxset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\nimport { find, forEach, isEqual, isEmpty } from 'lodash';\nimport { Checkbox } from 'react-native-paper';\n\nimport WmCheckboxsetProps from './checkboxset.props';\nimport {\n DEFAULT_CLASS,\n \n WmCheckboxsetStyles,\n} from './checkboxset.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState,\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmCheckboxsetState extends BaseDatasetState<WmCheckboxsetProps> {\n isValid: boolean = true;\n template: string = \"\";\n}\n\nexport default class WmCheckboxset extends BaseDatasetComponent<WmCheckboxsetProps, WmCheckboxsetState, WmCheckboxsetStyles> {\n constructor(props: WmCheckboxsetProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxsetProps());\n }\n\n onPress(item: any) {\n this.invokeEventCallback('onTap', [null, this.proxy]);\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n item.selected = !item.selected;\n const selectedValue: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n selectedValue.push(item.datafield);\n }\n });\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmCheckboxsetState,\n () => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any) {\n const props = this.state.props;\n const displayText = item.displayexp || item.displayfield;\n return (\n <TouchableOpacity {...this.getTestPropsForAction(index + '')}\n style={this.styles.item}\n onPress={this.onPress.bind(this, item)} key={item.key} {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {...props, checked: item.selected})} accessibilityRole='checkbox' accessibilityLabel={`Checkbox for ${displayText}`}>\n <WmIcon iconclass=\"wi wi-check\" styles={item.selected? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled}/>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) :\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.text}>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmCheckboxsetState);\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxsetState);\n return Promise.resolve();\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmCheckboxsetState);\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderCheckboxses(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderCheckboxses(items: any) {\n const props = this.state.props;\n return(<View>\n {items && items.length\n ? items.map((item: any, index: any) => this.renderChild(item, index))\n : null}\n </View>)\n }\n renderWidget(props: WmCheckboxsetProps) {\n const items = this.state.dataItems;\n return (\n <View style={this.styles.root}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderCheckboxses(items)}\n </View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","TouchableOpacity","find","forEach","isEqual","isEmpty","ScrollView","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","AccessibilityWidgetType","getAccessibilityProps","WmCheckboxsetState","constructor","arguments","_defineProperty","WmCheckboxset","props","onPress","item","invokeEventCallback","proxy","state","disabled","readonly","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","displayText","displayexp","displayfield","createElement","_extends","getTestPropsForAction","style","styles","bind","CHECKBOX","checked","accessibilityRole","accessibilityLabel","iconclass","checkicon","uncheckicon","template","renderitempartial","dataObject","getTestPropsForLabel","text","displayValue","filter","map","updateDatavalue","value","Promise","resolve","setTemplate","partialName","renderGroupby","groupedData","length","groupObj","groupHeaderTitle","renderCheckboxses","data","items","renderWidget","root","horizontal","groupby"],"sources":["checkboxset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\nimport { find, forEach, isEqual, isEmpty } from 'lodash';\nimport { Checkbox } from 'react-native-paper';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport WmCheckboxsetProps from './checkboxset.props';\nimport {\n DEFAULT_CLASS,\n \n WmCheckboxsetStyles,\n} from './checkboxset.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState,\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmCheckboxsetState extends BaseDatasetState<WmCheckboxsetProps> {\n isValid: boolean = true;\n template: string = \"\";\n}\n\nexport default class WmCheckboxset extends BaseDatasetComponent<WmCheckboxsetProps, WmCheckboxsetState, WmCheckboxsetStyles> {\n constructor(props: WmCheckboxsetProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxsetProps());\n }\n\n onPress(item: any) {\n this.invokeEventCallback('onTap', [null, this.proxy]);\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n item.selected = !item.selected;\n const selectedValue: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n selectedValue.push(item.datafield);\n }\n });\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmCheckboxsetState,\n () => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any) {\n const props = this.state.props;\n const displayText = item.displayexp || item.displayfield;\n return (\n <TouchableOpacity {...this.getTestPropsForAction(index + '')}\n style={this.styles.item}\n onPress={this.onPress.bind(this, item)} key={item.key} {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {...props, checked: item.selected})} accessibilityRole='checkbox' accessibilityLabel={`Checkbox for ${displayText}`}>\n <WmIcon iconclass=\"wi wi-check\" styles={item.selected? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled}/>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) :\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.text}>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmCheckboxsetState);\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxsetState);\n return Promise.resolve();\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmCheckboxsetState);\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderCheckboxses(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderCheckboxses(items: any) {\n const props = this.state.props;\n return(<View>\n {items && items.length\n ? items.map((item: any, index: any) => this.renderChild(item, index))\n : null}\n </View>)\n }\n renderWidget(props: WmCheckboxsetProps) {\n const items = this.state.dataItems;\n return (\n <ScrollView style={this.styles.root}>\n <ScrollView horizontal={true}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderCheckboxses(items)}\n </ScrollView>\n </ScrollView>\n );\n }\n}\n"],"mappings":"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"}
@@ -144,9 +144,10 @@ export default class WmSlider extends BaseComponent {
144
144
  }]
145
145
  }]
146
146
  }, /*#__PURE__*/React.createElement(BackgroundComponent, {
147
- size: this.styles.thumb.backgroundSize,
147
+ size: this.styles.thumb.backgroundSize || 'contain',
148
148
  position: this.styles.thumb.backgroundPosition,
149
- image: this.styles.thumb.backgroundImage
149
+ image: this.styles.thumb.backgroundImage,
150
+ repeat: this.styles.thumb.backgroundRepeat || 'no-repeat'
150
151
  }))));
151
152
  }
152
153
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","TouchableOpacity","Animated","debounce","isNumber","isNil","Gesture","GestureDetector","BackgroundComponent","BaseComponent","BaseComponentState","WmSliderProps","DEFAULT_CLASS","isWebPreviewMode","WmSliderState","constructor","arguments","_defineProperty","WmSlider","props","Value","Pan","value","state","datavalue","updateState","onFieldChange","e","layout","nativeEvent","track","top","y","left","x","width","height","computePosition","configureGesture","trackGesture","knobGesture","getValueFromGesture","positionX","factor","step","maxvalue","minvalue","Math","round","max","min","gesture","maxPointers","minDistance","onChange","absoluteX","forceUpdate","onEnd","getDataValue","onPropertyChange","name","$new","$old","invokeEventCallback","setProp","_this$state$track","_this$position","position","setValue","isNaN","renderWidget","_this$state$track2","createElement","style","styles","root","_background","flexDirection","justifyContent","_extends","getTestProps","text","minimumValue","maximumValue","activeOpacity","onLayout","onLayoutChange","minimumTrack","transform","translateX","interpolate","inputRange","outputRange","maximumTrack","thumb","size","backgroundSize","backgroundPosition","image","backgroundImage"],"sources":["slider.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent, TouchableOpacity, Animated, Easing } from 'react-native';\nimport { debounce, isNumber, isNil } from 'lodash';\nimport { Gesture, GestureDetector, PanGesture } from 'react-native-gesture-handler';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmSliderProps from './slider.props';\nimport { DEFAULT_CLASS, WmSliderStyles } from './slider.styles';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmSliderState extends BaseComponentState<WmSliderProps> {\n track?: {\n top: number,\n left: number,\n width: number,\n height: number\n };\n}\n\nexport default class WmSlider extends BaseComponent<WmSliderProps, WmSliderState, WmSliderStyles> {\n valueBeforeSlide: number = 0;\n private position = new Animated.Value(0);\n private trackGesture = Gesture.Pan();\n private knobGesture = Gesture.Pan();\n\n constructor(props: WmSliderProps) {\n super(props, DEFAULT_CLASS, new WmSliderProps());\n this.configureGesture(this.trackGesture);\n this.configureGesture(this.knobGesture);\n }\n\n getValueFromGesture(positionX: number) {\n if (this.state.track) {\n const factor = (positionX - this.state.track.left) / this.state.track.width;\n const props = this.state.props;\n const step = props.step || (props.maxvalue - props.minvalue) / 100;\n let value = Math.round((factor * props.maxvalue + props.minvalue) / step) * step;\n return Math.max(Math.min(props.maxvalue, value), props.minvalue);\n }\n return 0;\n };\n\n configureGesture(gesture: PanGesture) {\n gesture\n .maxPointers(1)\n .minDistance(0)\n .onChange(e => {\n const value = this.getValueFromGesture(e.absoluteX);\n this.computePosition(value);\n this.forceUpdate();\n })\n .onEnd(e => {\n if (this.state.track) {\n const value = this.getValueFromGesture(e.absoluteX);\n this.onChange(value);\n this.forceUpdate();\n }\n })\n }\n\n getDataValue() {\n if (isNil(this.props.datavalue)) {\n return this.state.props.minvalue + (this.state.props.maxvalue - this.state.props.minvalue)/2;\n }\n return Math.min(Math.max(this.props.datavalue, this.state.props.minvalue), this.state.props.maxvalue);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'datavalue':\n if (isNumber($new) && isNumber($old)) {\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n }\n case 'maxvalue':\n case 'minvalue': \n this.setProp('datavalue', this.getDataValue() || 0)\n this.computePosition(this.state.props.datavalue);\n }\n }\n\n onChange = debounce((value: number) => {\n if (this.state.props.datavalue !== value) {\n this.updateState({\n props : {\n datavalue: value\n }\n } as WmSliderState);\n this.props.onFieldChange &&\n this.props.onFieldChange(\n 'datavalue',\n value,\n this.state.props.datavalue\n );\n }\n }, 200);\n\n computePosition(datavalue: number) {\n const props = this.state.props;\n const width = this.state.track?.width || 0;\n const value = ((datavalue - props.minvalue) / props.maxvalue) * (width);\n this.position?.setValue(isNaN(value) ? 0 : value);\n }\n\n onLayoutChange = (e: LayoutChangeEvent) => {\n const layout = e.nativeEvent.layout;\n this.updateState({\n track: {\n top: isWebPreviewMode() ? (layout as any).top : layout.y,\n left: isWebPreviewMode() ? (layout as any).left : layout.x,\n width: layout.width,\n height: layout.height\n }\n } as WmSliderState, () => this.computePosition(this.state.props.datavalue));\n }\n\n renderWidget(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={{flexDirection:'row', justifyContent:'space-between'}}>\n <Text {...this.getTestProps('min')} style={[this.styles.text, this.styles.minimumValue]}>{props.minvalue}</Text>\n <Text {...this.getTestProps('value')} style={[this.styles.text, this.styles.value]}>{props.datavalue}</Text>\n <Text {...this.getTestProps('max')} style={[this.styles.text, this.styles.maximumValue]}>{props.maxvalue}</Text>\n </View>\n <GestureDetector gesture={this.trackGesture}>\n <TouchableOpacity\n activeOpacity={1} \n style={this.styles.track}\n onLayout={this.onLayoutChange}\n {...this.getTestProps()}>\n <Animated.View style={[this.styles.minimumTrack, {\n width: width,\n transform: [{\n translateX: this.position.interpolate({\n inputRange: [0, width],\n outputRange: [-width, 0]\n })\n }]\n }]}></Animated.View>\n <Animated.View style={[this.styles.maximumTrack, {\n width: width,\n transform: [{\n translateX: this.position\n }]\n }]}></Animated.View>\n </TouchableOpacity>\n </GestureDetector>\n <GestureDetector gesture={this.knobGesture}>\n <Animated.View style={[this.styles.thumb, {\n transform: [{\n translateX: this.position\n }]\n }]}>\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}> \n </BackgroundComponent>\n </Animated.View>\n </GestureDetector>\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","Text","TouchableOpacity","Animated","debounce","isNumber","isNil","Gesture","GestureDetector","BackgroundComponent","BaseComponent","BaseComponentState","WmSliderProps","DEFAULT_CLASS","isWebPreviewMode","WmSliderState","constructor","arguments","_defineProperty","WmSlider","props","Value","Pan","value","state","datavalue","updateState","onFieldChange","e","layout","nativeEvent","track","top","y","left","x","width","height","computePosition","configureGesture","trackGesture","knobGesture","getValueFromGesture","positionX","factor","step","maxvalue","minvalue","Math","round","max","min","gesture","maxPointers","minDistance","onChange","absoluteX","forceUpdate","onEnd","getDataValue","onPropertyChange","name","$new","$old","invokeEventCallback","setProp","_this$state$track","_this$position","position","setValue","isNaN","renderWidget","_this$state$track2","createElement","style","styles","root","_background","flexDirection","justifyContent","_extends","getTestProps","text","minimumValue","maximumValue","activeOpacity","onLayout","onLayoutChange","minimumTrack","transform","translateX","interpolate","inputRange","outputRange","maximumTrack","thumb","size","backgroundSize","backgroundPosition","image","backgroundImage","repeat","backgroundRepeat"],"sources":["slider.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent, TouchableOpacity, Animated, Easing } from 'react-native';\nimport { debounce, isNumber, isNil } from 'lodash';\nimport { Gesture, GestureDetector, PanGesture } from 'react-native-gesture-handler';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmSliderProps from './slider.props';\nimport { DEFAULT_CLASS, WmSliderStyles } from './slider.styles';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmSliderState extends BaseComponentState<WmSliderProps> {\n track?: {\n top: number,\n left: number,\n width: number,\n height: number\n };\n}\n\nexport default class WmSlider extends BaseComponent<WmSliderProps, WmSliderState, WmSliderStyles> {\n valueBeforeSlide: number = 0;\n private position = new Animated.Value(0);\n private trackGesture = Gesture.Pan();\n private knobGesture = Gesture.Pan();\n\n constructor(props: WmSliderProps) {\n super(props, DEFAULT_CLASS, new WmSliderProps());\n this.configureGesture(this.trackGesture);\n this.configureGesture(this.knobGesture);\n }\n\n getValueFromGesture(positionX: number) {\n if (this.state.track) {\n const factor = (positionX - this.state.track.left) / this.state.track.width;\n const props = this.state.props;\n const step = props.step || (props.maxvalue - props.minvalue) / 100;\n let value = Math.round((factor * props.maxvalue + props.minvalue) / step) * step;\n return Math.max(Math.min(props.maxvalue, value), props.minvalue);\n }\n return 0;\n };\n\n configureGesture(gesture: PanGesture) {\n gesture\n .maxPointers(1)\n .minDistance(0)\n .onChange(e => {\n const value = this.getValueFromGesture(e.absoluteX);\n this.computePosition(value);\n this.forceUpdate();\n })\n .onEnd(e => {\n if (this.state.track) {\n const value = this.getValueFromGesture(e.absoluteX);\n this.onChange(value);\n this.forceUpdate();\n }\n })\n }\n\n getDataValue() {\n if (isNil(this.props.datavalue)) {\n return this.state.props.minvalue + (this.state.props.maxvalue - this.state.props.minvalue)/2;\n }\n return Math.min(Math.max(this.props.datavalue, this.state.props.minvalue), this.state.props.maxvalue);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'datavalue':\n if (isNumber($new) && isNumber($old)) {\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n }\n case 'maxvalue':\n case 'minvalue': \n this.setProp('datavalue', this.getDataValue() || 0)\n this.computePosition(this.state.props.datavalue);\n }\n }\n\n onChange = debounce((value: number) => {\n if (this.state.props.datavalue !== value) {\n this.updateState({\n props : {\n datavalue: value\n }\n } as WmSliderState);\n this.props.onFieldChange &&\n this.props.onFieldChange(\n 'datavalue',\n value,\n this.state.props.datavalue\n );\n }\n }, 200);\n\n computePosition(datavalue: number) {\n const props = this.state.props;\n const width = this.state.track?.width || 0;\n const value = ((datavalue - props.minvalue) / props.maxvalue) * (width);\n this.position?.setValue(isNaN(value) ? 0 : value);\n }\n\n onLayoutChange = (e: LayoutChangeEvent) => {\n const layout = e.nativeEvent.layout;\n this.updateState({\n track: {\n top: isWebPreviewMode() ? (layout as any).top : layout.y,\n left: isWebPreviewMode() ? (layout as any).left : layout.x,\n width: layout.width,\n height: layout.height\n }\n } as WmSliderState, () => this.computePosition(this.state.props.datavalue));\n }\n\n renderWidget(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={{flexDirection:'row', justifyContent:'space-between'}}>\n <Text {...this.getTestProps('min')} style={[this.styles.text, this.styles.minimumValue]}>{props.minvalue}</Text>\n <Text {...this.getTestProps('value')} style={[this.styles.text, this.styles.value]}>{props.datavalue}</Text>\n <Text {...this.getTestProps('max')} style={[this.styles.text, this.styles.maximumValue]}>{props.maxvalue}</Text>\n </View>\n <GestureDetector gesture={this.trackGesture}>\n <TouchableOpacity\n activeOpacity={1} \n style={this.styles.track}\n onLayout={this.onLayoutChange}\n {...this.getTestProps()}>\n <Animated.View style={[this.styles.minimumTrack, {\n width: width,\n transform: [{\n translateX: this.position.interpolate({\n inputRange: [0, width],\n outputRange: [-width, 0]\n })\n }]\n }]}></Animated.View>\n <Animated.View style={[this.styles.maximumTrack, {\n width: width,\n transform: [{\n translateX: this.position\n }]\n }]}></Animated.View>\n </TouchableOpacity>\n </GestureDetector>\n <GestureDetector gesture={this.knobGesture}>\n <Animated.View style={[this.styles.thumb, {\n transform: [{\n translateX: this.position\n }]\n }]}>\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize || 'contain'}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}\n repeat={(this.styles.thumb as any).backgroundRepeat || 'no-repeat'}> \n </BackgroundComponent>\n </Animated.View>\n </GestureDetector>\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -129,9 +129,10 @@ export default class WmToggle extends BaseComponent {
129
129
  }]
130
130
  }]
131
131
  }, /*#__PURE__*/React.createElement(BackgroundComponent, {
132
- size: styles.handle.backgroundSize,
132
+ size: styles.handle.backgroundSize || 'contain',
133
133
  position: styles.handle.backgroundPosition,
134
- image: styles.handle.backgroundImage
134
+ image: styles.handle.backgroundImage,
135
+ repeat: styles.handle.backgroundRepeat || 'no-repeat'
135
136
  })));
136
137
  }
137
138
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","TouchableOpacity","Animated","Easing","BackgroundComponent","BaseComponent","BaseComponentState","unStringify","validateField","AccessibilityWidgetType","getAccessibilityProps","WmToggleProps","DEFAULT_CLASS","WmToggleState","constructor","arguments","_defineProperty","WmToggle","props","Value","onPropertyChange","name","$new","$old","value","state","checkedvalue","updateState","isSwitchOn","updateDatavalue","datavalue","validate","validationObj","isValid","errorType","onToggleSwitch","oldValue","dataValue","uncheckedvalue","sequence","timing","scaleValue","toValue","duration","useNativeDriver","animationValue","easing","linear","start","onFieldChange","invokeEventCallback","proxy","onLayoutChange","event","width","nativeEvent","layout","setState","viewWidth","renderWidget","styles","theme","mergeStyle","getStyle","createElement","_extends","onLayout","e","TOGGLE","selected","onPress","disabled","setTimeout","readonly","getTestPropsForAction","style","root","_background","View","handle","transform","translateX","interpolate","inputRange","outputRange","scale","size","backgroundSize","position","backgroundPosition","image","backgroundImage"],"sources":["toggle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity, Animated, Easing, LayoutChangeEvent } from 'react-native';\n\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { unStringify, validateField} from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport WmToggleProps from './toggle.props';\nimport { DEFAULT_CLASS, WmToggleStyles } from './toggle.styles';\n\nexport class WmToggleState extends BaseComponentState<WmToggleProps> {\n isSwitchOn: boolean = false;\n isValid: boolean = true;\n errorType = '';\n viewWidth: number = 0;\n}\n\nexport default class WmToggle extends BaseComponent<WmToggleProps, WmToggleState, WmToggleStyles> {\n\n private animationValue = new Animated.Value(0);\n private scaleValue = new Animated.Value(1);\n\n constructor(props: WmToggleProps) {\n super(props, DEFAULT_CLASS, new WmToggleProps(), new WmToggleState());\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n let value =\n unStringify($new) ===\n unStringify(this.state.props.checkedvalue, true);\n this.updateState({ isSwitchOn: value } as WmToggleState);\n break;\n }\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmToggleState);\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as WmToggleState);\n }\n\n onToggleSwitch(value: any) {\n const oldValue = this.state.props.datavalue;\n this.validate(value);\n this.updateState({ isSwitchOn: value } as WmToggleState);\n const dataValue = value === true ? this.state.props.checkedvalue : this.state.props.uncheckedvalue;\n Animated.sequence([\n Animated.timing(this.scaleValue, {\n toValue: 1.6,\n duration: 300,\n useNativeDriver: true,\n }),\n Animated.timing(this.animationValue, {\n toValue: value ? 1 : 0,\n duration: 300,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n ]).start(() => {\n Animated.timing(this.scaleValue, {\n toValue: value ? 1.5 : 1,\n duration: 0,\n useNativeDriver: true,\n }).start();\n });\n // @ts-ignore\n this.updateState({ props: { datavalue: dataValue } },\n ()=> {\n if (!this.props.onFieldChange) {\n this.invokeEventCallback('onChange', [null, this.proxy, dataValue, oldValue]);\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', dataValue, oldValue);\n }\n this.invokeEventCallback('onBlur', [ null, this.proxy ]);\n });\n }\n\n onLayoutChange(event: LayoutChangeEvent){\n let width = event.nativeEvent.layout.width;\n this.setState({\n viewWidth: width,\n } as WmToggleState);\n }\n\n renderWidget(props: WmToggleProps) {\n const styles = this.theme.mergeStyle(this.styles, \n this.theme.getStyle(this.state.isSwitchOn ? 'app-toggle-on' : 'app-toggle-off'));\n return (\n <TouchableOpacity \n onLayout={(e) => {\n this.onLayoutChange(e);\n }}\n {...getAccessibilityProps(AccessibilityWidgetType.TOGGLE, {...this.props, selected: this.state.isSwitchOn})}\n onPress={() => {\n if (this.props.disabled) {\n return;\n }\n // Added setTimeout to smooth animation\n setTimeout(() => {\n if (!props.readonly) {\n this.invokeEventCallback('onFocus', [null, this]);\n }\n this.invokeEventCallback('onTap', [null, this]);\n }, 500);\n this.onToggleSwitch(!this.state.isSwitchOn);\n }}{...this.getTestPropsForAction()}\n style={styles.root}>\n {this._background}\n <Animated.View\n style={[\n styles.handle,\n {\n transform: [\n {\n translateX: this.animationValue.interpolate({\n inputRange: [0, 1],\n outputRange: [0, this.state.viewWidth - (this.styles.handle.width as number+ 18)],\n }),\n },\n {scale : this.scaleValue}\n ],\n },\n ]}>\n <BackgroundComponent\n size={styles.handle.backgroundSize}\n position={styles.handle.backgroundPosition}\n image={styles.handle.backgroundImage}> \n </BackgroundComponent>\n </Animated.View>\n </TouchableOpacity>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","TouchableOpacity","Animated","Easing","BackgroundComponent","BaseComponent","BaseComponentState","unStringify","validateField","AccessibilityWidgetType","getAccessibilityProps","WmToggleProps","DEFAULT_CLASS","WmToggleState","constructor","arguments","_defineProperty","WmToggle","props","Value","onPropertyChange","name","$new","$old","value","state","checkedvalue","updateState","isSwitchOn","updateDatavalue","datavalue","validate","validationObj","isValid","errorType","onToggleSwitch","oldValue","dataValue","uncheckedvalue","sequence","timing","scaleValue","toValue","duration","useNativeDriver","animationValue","easing","linear","start","onFieldChange","invokeEventCallback","proxy","onLayoutChange","event","width","nativeEvent","layout","setState","viewWidth","renderWidget","styles","theme","mergeStyle","getStyle","createElement","_extends","onLayout","e","TOGGLE","selected","onPress","disabled","setTimeout","readonly","getTestPropsForAction","style","root","_background","View","handle","transform","translateX","interpolate","inputRange","outputRange","scale","size","backgroundSize","position","backgroundPosition","image","backgroundImage","repeat","backgroundRepeat"],"sources":["toggle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity, Animated, Easing, LayoutChangeEvent } from 'react-native';\n\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { unStringify, validateField} from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport WmToggleProps from './toggle.props';\nimport { DEFAULT_CLASS, WmToggleStyles } from './toggle.styles';\n\nexport class WmToggleState extends BaseComponentState<WmToggleProps> {\n isSwitchOn: boolean = false;\n isValid: boolean = true;\n errorType = '';\n viewWidth: number = 0;\n}\n\nexport default class WmToggle extends BaseComponent<WmToggleProps, WmToggleState, WmToggleStyles> {\n\n private animationValue = new Animated.Value(0);\n private scaleValue = new Animated.Value(1);\n\n constructor(props: WmToggleProps) {\n super(props, DEFAULT_CLASS, new WmToggleProps(), new WmToggleState());\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n let value =\n unStringify($new) ===\n unStringify(this.state.props.checkedvalue, true);\n this.updateState({ isSwitchOn: value } as WmToggleState);\n break;\n }\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmToggleState);\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as WmToggleState);\n }\n\n onToggleSwitch(value: any) {\n const oldValue = this.state.props.datavalue;\n this.validate(value);\n this.updateState({ isSwitchOn: value } as WmToggleState);\n const dataValue = value === true ? this.state.props.checkedvalue : this.state.props.uncheckedvalue;\n Animated.sequence([\n Animated.timing(this.scaleValue, {\n toValue: 1.6,\n duration: 300,\n useNativeDriver: true,\n }),\n Animated.timing(this.animationValue, {\n toValue: value ? 1 : 0,\n duration: 300,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n ]).start(() => {\n Animated.timing(this.scaleValue, {\n toValue: value ? 1.5 : 1,\n duration: 0,\n useNativeDriver: true,\n }).start();\n });\n // @ts-ignore\n this.updateState({ props: { datavalue: dataValue } },\n ()=> {\n if (!this.props.onFieldChange) {\n this.invokeEventCallback('onChange', [null, this.proxy, dataValue, oldValue]);\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', dataValue, oldValue);\n }\n this.invokeEventCallback('onBlur', [ null, this.proxy ]);\n });\n }\n\n onLayoutChange(event: LayoutChangeEvent){\n let width = event.nativeEvent.layout.width;\n this.setState({\n viewWidth: width,\n } as WmToggleState);\n }\n\n renderWidget(props: WmToggleProps) {\n const styles = this.theme.mergeStyle(this.styles, \n this.theme.getStyle(this.state.isSwitchOn ? 'app-toggle-on' : 'app-toggle-off'));\n return (\n <TouchableOpacity \n onLayout={(e) => {\n this.onLayoutChange(e);\n }}\n {...getAccessibilityProps(AccessibilityWidgetType.TOGGLE, {...this.props, selected: this.state.isSwitchOn})}\n onPress={() => {\n if (this.props.disabled) {\n return;\n }\n // Added setTimeout to smooth animation\n setTimeout(() => {\n if (!props.readonly) {\n this.invokeEventCallback('onFocus', [null, this]);\n }\n this.invokeEventCallback('onTap', [null, this]);\n }, 500);\n this.onToggleSwitch(!this.state.isSwitchOn);\n }}{...this.getTestPropsForAction()}\n style={styles.root}>\n {this._background}\n <Animated.View\n style={[\n styles.handle,\n {\n transform: [\n {\n translateX: this.animationValue.interpolate({\n inputRange: [0, 1],\n outputRange: [0, this.state.viewWidth - (this.styles.handle.width as number+ 18)],\n }),\n },\n {scale : this.scaleValue}\n ],\n },\n ]}>\n <BackgroundComponent\n size={styles.handle.backgroundSize || 'contain'}\n position={styles.handle.backgroundPosition}\n image={styles.handle.backgroundImage}\n repeat={styles.handle.backgroundRepeat || 'no-repeat'}> \n </BackgroundComponent>\n </Animated.View>\n </TouchableOpacity>\n );\n }\n}\n"],"mappings":"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"}