@wavemaker/app-rn-runtime 11.11.0-rc.6106 → 11.11.0-rc.6112

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 (47) hide show
  1. package/actions/notification-action.js +3 -1
  2. package/actions/notification-action.js.map +1 -1
  3. package/components/basic/label/label.component.js +78 -33
  4. package/components/basic/label/label.component.js.map +1 -1
  5. package/components/basic/message/message.component.js +1 -1
  6. package/components/basic/message/message.component.js.map +1 -1
  7. package/components/basic/message/message.props.js +1 -0
  8. package/components/basic/message/message.props.js.map +1 -1
  9. package/components/basic/search/search.component.js +49 -28
  10. package/components/basic/search/search.component.js.map +1 -1
  11. package/components/basic/search/search.props.js +1 -0
  12. package/components/basic/search/search.props.js.map +1 -1
  13. package/components/chart/basechart.component.js +3 -0
  14. package/components/chart/basechart.component.js.map +1 -1
  15. package/components/chart/basechart.props.js +1 -1
  16. package/components/chart/basechart.props.js.map +1 -1
  17. package/components/data/list/list.component.js +16 -2
  18. package/components/data/list/list.component.js.map +1 -1
  19. package/components/navigation/appnavbar/appnavbar.component.js +29 -3
  20. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  21. package/components/navigation/appnavbar/appnavbar.props.js +1 -1
  22. package/components/navigation/appnavbar/appnavbar.props.js.map +1 -1
  23. package/components/page/left-panel/left-panel.component.js +3 -2
  24. package/components/page/left-panel/left-panel.component.js.map +1 -1
  25. package/components/page/page-content/page-content.component.js +12 -24
  26. package/components/page/page-content/page-content.component.js.map +1 -1
  27. package/components/page/page.component.js +7 -4
  28. package/components/page/page.component.js.map +1 -1
  29. package/components/page/tabbar/tabbar.component.js +1 -1
  30. package/components/page/tabbar/tabbar.component.js.map +1 -1
  31. package/core/AppConfig.js.map +1 -1
  32. package/core/base.component.js +24 -15
  33. package/core/base.component.js.map +1 -1
  34. package/core/sticky-container.component.js +34 -27
  35. package/core/sticky-container.component.js.map +1 -1
  36. package/core/toast.service.js.map +1 -1
  37. package/core/utils.js +51 -5
  38. package/core/utils.js.map +1 -1
  39. package/npm-shrinkwrap.json +44 -91
  40. package/package-lock.json +44 -91
  41. package/package.json +5 -5
  42. package/runtime/App.js +48 -8
  43. package/runtime/App.js.map +1 -1
  44. package/runtime/base-fragment.component.js +2 -1
  45. package/runtime/base-fragment.component.js.map +1 -1
  46. package/runtime/services/app-toast.service.js +4 -0
  47. package/runtime/services/app-toast.service.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","Keyboard","Platform","Text","TextInput","View","ScrollView","find","isNull","WmSearchProps","DEFAULT_CLASS","ModalConsumer","DataProvider","AccessibilityWidgetType","getAccessibilityProps","BaseDatasetComponent","BaseDatasetState","WmAnchor","WmPicture","Tappable","WmButton","get","isArray","isEmpty","isObject","AssetProvider","createSkeleton","WmSearchState","constructor","args","_defineProperty","top","left","WmSearch","props","Promise","resolve","position","view","measure","x","y","width","height","px","py","updateState","computePosition","then","isOpened","dataProvider","datavalue","query","clearSearch","invokeEventCallback","hide","dataItems","state","map","item","selected","type","updateFilteredData","queryText","_filteredData","filterOptions","entries","filteredData","minchars","length","_this$dataProvider","searchkey","updateRequired","undefined","init","invokeVariable","response","dataSet","setDataItems","filter","result","dataObject","data","isFocused","styles","modal","display","showPopover","focus","_this$widgetRef","widgetRef","onChange","value","isDefaultQuery","prevQuery","searchon","validate","setTimeout","invokeEvent","proxy","invokeChange","e","OS","cursor","target","selectionStart","onFocus","disabled","readonly","_this$state$props$que","onBlur","triggerValidation","prepareModalOptions","content","modalService","o","modalOptions","modalContentSTyles","searchInputWidth","modalContent","borderWidth","modalStyle","contentStyle","isModal","onClose","dismiss","setState","hideModal","searchIconPress","onItemSelect","displayexp","displayfield","datafield","updateDatavalue","prevDatavalue","queryModel","renderSkeleton","rootStyle","searchInputWrapper","root","text","theme","skeleton","renderSearchBar","_this$state$dataItems","opts","valueExpr","createElement","style","ref","onLayout","_extends","isValid","invalid","focusedText","selectionEnd","getTestPropsForInput","SEARCH","placeholderTextColor","placeholderText","color","placeholder","autoFocus","autofocus","editable","onChangeText","bind","nativeEvent","layout","showclear","onTap","id","getTestId","clearButton","iconclass","clearsearchiconclass","showSearchIcon","searchButton","searchiconclass","reset","renderSearchItem","index","imageStyles","imagewidth","getTestProps","disableTouchEffect","disabletoucheffect","searchItem","template","renderitempartial","Fragment","name","picturesource","imgSrc","getTestPropsForLabel","searchItemText","updateDefaultQueryModel","selectedItem","onDataItemsUpdate","componentDidMount","onPropertyChange","$new","$old","dataset","setTemplate","partialName","renderWidget","event","handleLayout","showModal","maxHeight","contentContainerStyle","dropDownContent","loadAsset","key","limit","caption","datacompletemsg","dataCompleteItem"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Keyboard, Platform, Text, TextInput, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS, WmSearchStyles } from './search.styles';\nimport { ModalConsumer, ModalOptions, ModalService} from \"@wavemaker/app-rn-runtime/core/modal.service\";\nimport { DataProvider } from '@wavemaker/app-rn-runtime/components/basic/search/local-data-provider';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { get, isArray, isEmpty, isObject } from \"lodash-es\";\nimport { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';\nimport { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmSearchState extends BaseDatasetState<WmSearchProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n template: string = \"\";\n position = {\n top: 0,\n left: 0\n } as DropdownPosition;\n data: any = [];\n}\n\nexport interface DropdownPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmSearch extends BaseDatasetComponent<WmSearchProps, WmSearchState, WmSearchStyles> {\n view: View = null as any;\n private prevDatavalue: any;\n private queryModel: any;\n private searchInputWidth: any;\n private isDefaultQuery: boolean = true;\n private dataProvider: DataProvider;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n private isFocused: boolean = false;\n private updateRequired: any;\n\n constructor(props: WmSearchProps) {\n super(props, DEFAULT_CLASS, new WmSearchProps(), new WmSearchState());\n this.dataProvider = new DataProvider();\n if (this.props.datavalue) {\n this.updateState({\n props: {\n query: this.props.datavalue\n }\n } as WmSearchState);\n }\n }\n\n computePosition = () => {\n return new Promise<void>((resolve) => {\n const position = {} as DropdownPosition;\n this.view.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n position.left = px;\n position.top = py + height;\n this.updateState({ position: position } as WmSearchState, resolve);\n });\n });\n }\n\n clearSearch() {\n this.invokeEventCallback('onClear', [null, this]);\n this.hide();\n this.updateState({\n props: {\n query: ''\n },\n dataItems: this.state.dataItems ? this.state.dataItems.map((item: any) => {\n item.selected = false;\n return item;\n }) : []\n } as WmSearchState, () => {\n if (this.state.props.type === 'autocomplete') {\n this.updateFilteredData('');\n }\n });\n }\n\n updateFilteredData(queryText: string = '') {\n const props = this.state.props;\n const filterOptions = {\n query: queryText,\n props: props,\n entries: this.state.dataItems\n };\n let filteredData: Array<any> = [];\n if (props.minchars && queryText.length < props.minchars) {\n filteredData = [];\n } else if (props.type === 'search' && !queryText) {\n filteredData = [];\n } else {\n if (this.props.searchkey && this.updateRequired === undefined) {\n this.updateRequired = this.dataProvider.init(this);\n }\n // for service variables invoke the variable with params.\n if (this.props.searchkey && this.updateRequired && this.state.props.query !== queryText) {\n this.dataProvider.invokeVariable(this, queryText).then((response: any) => {\n if (response) {\n response = response.dataSet;\n if (isEmpty(response)) {\n filteredData = [];\n } else {\n if (isObject(response) && !isArray(response)) {\n response = [response];\n }\n this.setDataItems(response);\n }\n }\n }, () => {});\n return;\n }\n filteredData = this.dataProvider?.filter(filterOptions);\n }\n this.updateState({\n props: { result: filteredData?.map( (item: any) => item.dataObject), query: queryText },\n data: filteredData,\n } as WmSearchState);\n if (!this.state.isOpened && this.isFocused && filteredData.length > 0 ) {\n if(this.styles.modal.display !== \"none\"){\n this.showPopover && this.showPopover();\n }\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n onChange(value: any) {\n this.isDefaultQuery = false;\n const prevQuery = this.state.props.query;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateState({\n props: {result: [], query: value},\n data: []\n } as WmSearchState);\n } else {\n this.updateFilteredData(value);\n }\n if (value === '') {\n this.validate(value);\n this.updateState({\n props: {\n datavalue: '',\n },\n } as WmSearchState);\n if (value === prevQuery) {\n return;\n }\n }\n setTimeout(() => {\n if (this.props.invokeEvent) {\n this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);\n }\n this.invokeEventCallback('onChange', [ undefined, this.proxy, value, prevQuery ]);\n }, 300);\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.updateState({ props: { query: e.target.value } } as WmSearchState);\n }\n }\n\n onFocus() {\n this.isFocused = true;\n if (\n !(this.state.props.disabled || this.state.props.readonly) &&\n this.state.props.type === 'autocomplete'\n ) {\n this.cursor = this.state.props.query?.length || 0;\n this.updateFilteredData(this.state.props.query || '');\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n\n onBlur() {\n this.isFocused = false;\n this.validate(this.state.props.datavalue);\n if (!this.state.props.datavalue) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n public showPopover = () => {\n this.computePosition().then(() => {\n this.updateState({ isOpened: true } as WmSearchState);\n });\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmSearchStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n const modalContentSTyles = {\n width: this.searchInputWidth - 2 * (styles.modalContent.borderWidth || 0),\n left: (this.state.position.left || 0) + 2 * (styles.modalContent.borderWidth || 0) };\n o.modalStyle = {...styles.modal};\n o.contentStyle = {...styles.modalContent, ...this.state.position, ...modalContentSTyles};\n o.content = content;\n o.isModal = true;\n o.onClose = () => {\n this.hide = () => {};\n Keyboard.dismiss();\n if (this.state.isOpened) {\n this.setState({isOpened: false, modalOptions: {} as ModalOptions} as WmSearchState);\n }\n };\n this.hide = () => {\n modalService.hideModal(this.state.modalOptions);\n if (this.state.isOpened) {\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSearchState);\n }\n }\n return o;\n }\n\n searchIconPress() {\n this.isFocused = false;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(this.state.props.query);\n } else {\n this.onItemSelect(this.state.data[0]);\n }\n }\n\n onItemSelect(item: any) {\n this.isFocused = false;\n this.updateState({ props: {\n query: item.displayexp || item.displayfield\n }\n } as WmSearchState);\n this.validate(item.datafield);\n this.updateDatavalue(item.datafield);\n this.prevDatavalue = item.datafield;\n this.queryModel = item;\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onSelect', [null, this, item.datafield]);\n // @ts-ignore\n this.props.invokeEvent('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSelect', [null, this, item.datafield]);\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.hide();\n }\n\n public renderSkeleton(props: WmSearchProps): React.ReactNode {\n \n const rootStyle = {\n ...this.styles.searchInputWrapper, \n ...this.styles.root, \n ...this.styles.text\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, rootStyle)\n }\n\n renderSearchBar() {\n const props = this.state.props;\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.props.query || '';\n return(\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View style={this.styles.root} ref={ref => {this.view = ref as View}} onLayout={() => {}}>\n <View style={this.styles.searchInputWrapper}>\n <TextInput style={[this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isOpened && this.state.dataItems?.length > 0? this.styles.focusedText : null]}\n ref={ref => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\n placeholderTextColor={this.styles.placeholderText.color as any}\n placeholder={props.placeholder || 'Search'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onLayout={e => {this.searchInputWidth = e.nativeEvent.layout.width}}\n onBlur={this.onBlur.bind(this)}\n {...opts}>\n </TextInput>\n {(props.showclear && !(this.state.props.disabled || this.state.props.readonly)) && this.state.props.query ? <WmButton onTap={this.clearSearch.bind(this)}\n id={this.getTestId('clear')}\n styles={this.styles.clearButton} iconclass={props.clearsearchiconclass || 'wi wi-clear'}></WmButton> : null}\n </View>\n {props.showSearchIcon && props.type === 'search' ? <WmButton styles={this.styles.searchButton}\n id={this.getTestId('search')}\n iconclass={props.searchiconclass || props.iconclass} onTap={this.searchIconPress.bind(this)}></WmButton> : null}\n </View>\n );\n }\n\n reset() {\n if (this.state.props.query) {\n this.updateState({\n props: {\n query: ''\n }\n } as WmSearchState);\n }\n }\n\n renderSearchItem(item: any, index: number) {\n const props = this.state.props;\n const imageStyles = { root: {height:props.imagewidth, width:props.imagewidth}}\n return (\n <Tappable onTap={this.onItemSelect.bind(this, item)} {...this.getTestProps(`action${index}`)} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={this.styles.searchItem}>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : (<>\n <WmPicture id={this.getTestId(`picture${index}`)} styles={imageStyles} name={props.name + '_image'} picturesource={item.imgSrc}></WmPicture>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.searchItemText}>{item.displayexp || item.displayfield}</Text>\n </>)}\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n this.updateState({ props: {\n query: selectedItem ? (selectedItem.displayexp || selectedItem.displayfield) : ''\n }\n } as WmSearchState);\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isFocused && this.state.dataItems.length && this.updateFilteredData(this.state.props.query);\n this.updateDefaultQueryModel();\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'dataset':\n if (!isEmpty($new) && isObject($new) && !isArray($new)) {\n $new = [$new];\n this.updateState({\n props: {\n dataset: $new\n }\n } as WmSearchState);\n }\n break;\n }\n super.onPropertyChange(name, $new, $old);\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmSearchState);\n }\n\n renderWidget(props: WmSearchProps) {\n const result = this.state.data;\n return (\n <View\n onLayout={(event) => this.handleLayout(event)}\n >\n {this.renderSearchBar()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={{width: '100%', maxHeight: 200}} contentContainerStyle={this.styles.dropDownContent}>\n <AssetProvider value={this.loadAsset}>\n {result && result.map((item: any, index: any) => (\n <View key={item.key}>\n {\n (!props.limit) || (props.limit && index+1 <= props.limit) ?\n this.renderSearchItem(item, index)\n : null\n }\n {\n index === result.length - 1 ?\n <WmAnchor caption={props.datacompletemsg} styles={this.styles.dataCompleteItem}></WmAnchor> : null\n }\n </View>\n ))}\n </AssetProvider>\n </ScrollView>\n ), this.styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>\n\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Keyboard","Platform","Text","TextInput","View","ScrollView","find","isNull","WmSearchProps","DEFAULT_CLASS","ModalConsumer","DataProvider","AccessibilityWidgetType","getAccessibilityProps","BaseDatasetComponent","BaseDatasetState","WmAnchor","WmPicture","Tappable","WmButton","get","isArray","isEmpty","isObject","AssetProvider","createSkeleton","WmSearchState","constructor","args","_defineProperty","top","left","WmSearch","props","Promise","resolve","position","view","measure","x","y","width","height","px","py","updateState","value","isDefaultQuery","prevQuery","state","query","searchon","result","data","updateFilteredData","validate","datavalue","setTimeout","invokeEvent","undefined","proxy","invokeEventCallback","computePosition","then","isOpened","dataProvider","clearSearch","hide","dataItems","map","item","selected","type","queryText","_filteredData","filterOptions","entries","filteredData","minchars","length","_this$dataProvider","searchkey","updateRequired","init","invokeVariable","response","dataSet","setDataItems","filter","dataObject","isFocused","styles","modal","display","showPopover","focus","_this$widgetRef","widgetRef","onChange","debouncetime","timer","clearTimeout","handleChange","invokeChange","e","OS","cursor","target","selectionStart","onFocus","disabled","readonly","_this$state$props$que","onBlur","triggerValidation","prepareModalOptions","content","modalService","o","modalOptions","modalContentSTyles","searchInputWidth","modalContent","borderWidth","modalStyle","contentStyle","isModal","onClose","dismiss","setState","hideModal","searchIconPress","onItemSelect","displayexp","displayfield","datafield","updateDatavalue","prevDatavalue","queryModel","renderSkeleton","rootStyle","searchInputWrapper","root","text","theme","skeleton","renderSearchBar","_this$state$dataItems","opts","valueExpr","createElement","style","ref","onLayout","_extends","isValid","invalid","focusedText","selectionEnd","getTestPropsForInput","SEARCH","placeholderTextColor","placeholderText","color","placeholder","autoFocus","autofocus","editable","onChangeText","bind","nativeEvent","layout","showclear","onTap","id","getTestId","clearButton","iconclass","clearsearchiconclass","showSearchIcon","searchButton","searchiconclass","reset","renderSearchItem","index","imageStyles","imagewidth","getTestProps","disableTouchEffect","disabletoucheffect","searchItem","template","renderitempartial","Fragment","name","picturesource","imgSrc","getTestPropsForLabel","searchItemText","updateDefaultQueryModel","selectedItem","onDataItemsUpdate","componentDidMount","onPropertyChange","$new","$old","dataset","setTemplate","partialName","renderWidget","event","handleLayout","showModal","maxHeight","contentContainerStyle","dropDownContent","loadAsset","key","limit","caption","datacompletemsg","dataCompleteItem"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Keyboard, Platform, Text, TextInput, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS, WmSearchStyles } from './search.styles';\nimport { ModalConsumer, ModalOptions, ModalService} from \"@wavemaker/app-rn-runtime/core/modal.service\";\nimport { DataProvider } from '@wavemaker/app-rn-runtime/components/basic/search/local-data-provider';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { get, isArray, isEmpty, isObject } from \"lodash-es\";\nimport { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';\nimport { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmSearchState extends BaseDatasetState<WmSearchProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n template: string = \"\";\n position = {\n top: 0,\n left: 0\n } as DropdownPosition;\n data: any = [];\n}\n\nexport interface DropdownPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmSearch extends BaseDatasetComponent<WmSearchProps, WmSearchState, WmSearchStyles> {\n view: View = null as any;\n private prevDatavalue: any;\n private queryModel: any;\n private searchInputWidth: any;\n private isDefaultQuery: boolean = true;\n private dataProvider: DataProvider;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n private isFocused: boolean = false;\n private updateRequired: any;\n private timer: ReturnType<typeof setTimeout> | null = null;\n\n constructor(props: WmSearchProps) {\n super(props, DEFAULT_CLASS, new WmSearchProps(), new WmSearchState());\n this.dataProvider = new DataProvider();\n if (this.props.datavalue) {\n this.updateState({\n props: {\n query: this.props.datavalue\n }\n } as WmSearchState);\n }\n }\n\n computePosition = () => {\n return new Promise<void>((resolve) => {\n const position = {} as DropdownPosition;\n this.view.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n position.left = px;\n position.top = py + height;\n this.updateState({ position: position } as WmSearchState, resolve);\n });\n });\n }\n\n clearSearch() {\n this.invokeEventCallback('onClear', [null, this]);\n this.hide();\n this.updateState({\n props: {\n query: ''\n },\n dataItems: this.state.dataItems ? this.state.dataItems.map((item: any) => {\n item.selected = false;\n return item;\n }) : []\n } as WmSearchState, () => {\n if (this.state.props.type === 'autocomplete') {\n this.updateFilteredData('');\n }\n });\n }\n\n updateFilteredData(queryText: string = '') {\n const props = this.state.props;\n const filterOptions = {\n query: queryText,\n props: props,\n entries: this.state.dataItems\n };\n let filteredData: Array<any> = [];\n if (props.minchars && queryText.length < props.minchars) {\n filteredData = [];\n } else if (props.type === 'search' && !queryText) {\n filteredData = [];\n } else {\n if (this.props.searchkey && this.updateRequired === undefined) {\n this.updateRequired = this.dataProvider.init(this);\n }\n // for service variables invoke the variable with params.\n if (this.props.searchkey && this.updateRequired && this.state.props.query !== queryText) {\n this.dataProvider.invokeVariable(this, queryText).then((response: any) => {\n if (response) {\n response = response.dataSet;\n if (isEmpty(response)) {\n filteredData = [];\n } else {\n if (isObject(response) && !isArray(response)) {\n response = [response];\n }\n this.setDataItems(response);\n }\n }\n }, () => {});\n return;\n }\n filteredData = this.dataProvider?.filter(filterOptions);\n }\n this.updateState({\n props: { result: filteredData?.map( (item: any) => item.dataObject), query: queryText },\n data: filteredData,\n } as WmSearchState);\n if (!this.state.isOpened && this.isFocused && filteredData.length > 0 ) {\n if(this.styles.modal.display !== \"none\"){\n this.showPopover && this.showPopover();\n }\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n handleChange = (value: any) => {\n this.isDefaultQuery = false;\n const prevQuery = this.state.props.query;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateState({\n props: {result: [], query: value},\n data: []\n } as WmSearchState);\n } else {\n this.updateFilteredData(value);\n }\n if (value === '') {\n this.validate(value);\n this.updateState({\n props: {\n datavalue: '',\n },\n } as WmSearchState);\n if (value === prevQuery) {\n return;\n }\n }\n setTimeout(() => {\n if (this.props.invokeEvent) {\n this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);\n }\n this.invokeEventCallback('onChange', [ undefined, this.proxy, value, prevQuery ]);\n }, 300);\n }\n\n onChange(value: any) {\n if(this.state.props.debouncetime && this.state.props.debouncetime > 0) {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.handleChange(value)\n }, this.state.props.debouncetime)\n } else {\n this.handleChange(value);\n }\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.updateState({ props: { query: e.target.value } } as WmSearchState);\n }\n }\n\n onFocus() {\n this.isFocused = true;\n if (\n !(this.state.props.disabled || this.state.props.readonly) &&\n this.state.props.type === 'autocomplete'\n ) {\n this.cursor = this.state.props.query?.length || 0;\n this.updateFilteredData(this.state.props.query || '');\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n\n onBlur() {\n this.isFocused = false;\n this.validate(this.state.props.datavalue);\n if (!this.state.props.datavalue) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n public showPopover = () => {\n this.computePosition().then(() => {\n this.updateState({ isOpened: true } as WmSearchState);\n });\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmSearchStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n const modalContentSTyles = {\n width: this.searchInputWidth - 2 * (styles.modalContent.borderWidth || 0),\n left: (this.state.position.left || 0) + 2 * (styles.modalContent.borderWidth || 0) };\n o.modalStyle = {...styles.modal};\n o.contentStyle = {...styles.modalContent, ...this.state.position, ...modalContentSTyles};\n o.content = content;\n o.isModal = true;\n o.onClose = () => {\n this.hide = () => {};\n Keyboard.dismiss();\n if (this.state.isOpened) {\n this.setState({isOpened: false, modalOptions: {} as ModalOptions} as WmSearchState);\n }\n };\n this.hide = () => {\n modalService.hideModal(this.state.modalOptions);\n if (this.state.isOpened) {\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSearchState);\n }\n }\n return o;\n }\n\n searchIconPress() {\n this.isFocused = false;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(this.state.props.query);\n } else {\n this.onItemSelect(this.state.data[0]);\n }\n\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n // @ts-ignore\n this.props.invokeEvent('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n }\n\n onItemSelect(item: any) {\n this.isFocused = false;\n this.updateState({ props: {\n query: item.displayexp || item.displayfield\n }\n } as WmSearchState);\n this.validate(item.datafield);\n this.updateDatavalue(item.datafield);\n this.prevDatavalue = item.datafield;\n this.queryModel = item;\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onSelect', [null, this, item.datafield]);\n // @ts-ignore\n this.props.invokeEvent('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSelect', [null, this, item.datafield]);\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.hide();\n }\n\n public renderSkeleton(props: WmSearchProps): React.ReactNode {\n \n const rootStyle = {\n ...this.styles.searchInputWrapper, \n ...this.styles.root, \n ...this.styles.text\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, rootStyle)\n }\n\n renderSearchBar() {\n const props = this.state.props;\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.props.query || '';\n return(\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View style={this.styles.root} ref={ref => {this.view = ref as View}} onLayout={() => {}}>\n <View style={this.styles.searchInputWrapper}>\n <TextInput style={[this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isOpened && this.state.dataItems?.length > 0? this.styles.focusedText : null]}\n ref={ref => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\n placeholderTextColor={this.styles.placeholderText.color as any}\n placeholder={props.placeholder || 'Search'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onLayout={e => {this.searchInputWidth = e.nativeEvent.layout.width}}\n onBlur={this.onBlur.bind(this)}\n {...opts}>\n </TextInput>\n {(props.showclear && !(this.state.props.disabled || this.state.props.readonly)) && this.state.props.query ? <WmButton onTap={this.clearSearch.bind(this)}\n id={this.getTestId('clear')}\n styles={this.styles.clearButton} iconclass={props.clearsearchiconclass || 'wi wi-clear'}></WmButton> : null}\n </View>\n {props.showSearchIcon && props.type === 'search' ? <WmButton styles={this.styles.searchButton}\n id={this.getTestId('search')}\n iconclass={props.searchiconclass || props.iconclass} onTap={this.searchIconPress.bind(this)}></WmButton> : null}\n </View>\n );\n }\n\n reset() {\n if (this.state.props.query) {\n this.updateState({\n props: {\n query: ''\n }\n } as WmSearchState);\n }\n }\n\n renderSearchItem(item: any, index: number) {\n const props = this.state.props;\n const imageStyles = { root: {height:props.imagewidth, width:props.imagewidth}}\n return (\n <Tappable onTap={this.onItemSelect.bind(this, item)} {...this.getTestProps(`action${index}`)} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={this.styles.searchItem}>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : (<>\n <WmPicture id={this.getTestId(`picture${index}`)} styles={imageStyles} name={props.name + '_image'} picturesource={item.imgSrc}></WmPicture>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.searchItemText}>{item.displayexp || item.displayfield}</Text>\n </>)}\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n this.updateState({ props: {\n query: selectedItem ? (selectedItem.displayexp || selectedItem.displayfield) : ''\n }\n } as WmSearchState);\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isFocused && this.state.dataItems.length && this.updateFilteredData(this.state.props.query);\n this.updateDefaultQueryModel();\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'dataset':\n if (!isEmpty($new) && isObject($new) && !isArray($new)) {\n $new = [$new];\n this.updateState({\n props: {\n dataset: $new\n }\n } as WmSearchState);\n }\n break;\n }\n super.onPropertyChange(name, $new, $old);\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmSearchState);\n }\n\n renderWidget(props: WmSearchProps) {\n const result = this.state.data;\n return (\n <View\n onLayout={(event) => this.handleLayout(event)}\n >\n {this.renderSearchBar()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={{width: '100%', maxHeight: 200}} contentContainerStyle={this.styles.dropDownContent}>\n <AssetProvider value={this.loadAsset}>\n {result && result.map((item: any, index: any) => (\n <View key={item.key}>\n {\n (!props.limit) || (props.limit && index+1 <= props.limit) ?\n this.renderSearchItem(item, index)\n : null\n }\n {\n index === result.length - 1 ?\n <WmAnchor caption={props.datacompletemsg} styles={this.styles.dataCompleteItem}></WmAnchor> : null\n }\n </View>\n ))}\n </AssetProvider>\n </ScrollView>\n ), this.styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>\n\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -33,6 +33,7 @@ export default class WmSearchProps extends BaseDatasetProps {
33
33
  _defineProperty(this, "iconclass", 'wm-sl-l sl-search');
34
34
  _defineProperty(this, "clearsearchiconclass", 'wi wi-clear');
35
35
  _defineProperty(this, "searchiconclass", undefined);
36
+ _defineProperty(this, "debouncetime", 0);
36
37
  }
37
38
  }
38
39
  //# sourceMappingURL=search.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseDatasetProps","WmSearchProps","constructor","args","_defineProperty","undefined"],"sources":["search.props.ts"],"sourcesContent":["import BaseDatasetProps from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.props';\nimport {BaseComponent} from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmSearchProps extends BaseDatasetProps {\n autofocus: boolean = false;\n query?: string = '';\n searchkey?: any;\n type: 'search' | 'autocomplete' = 'search';\n datacompletemsg?: string = 'No more data to load';\n placeholder?: string = 'Search';\n limit?: number = null as any;\n minchars?: number = null as any;\n imagewidth?: any = 32;\n imageheight?: any = 32;\n searchon?: string = 'typing';\n onSubmit?: any;\n onChange?: Function = null as any;\n result?: any;\n showclear: boolean = false;\n showSearchIcon: boolean = true; // internal property\n invokeEvent?: Function;\n formFieldInstance?: BaseComponent<any, any, any>;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'search';\n renderitempartial?: (item: any, index: number, partialName: string)=> React.ReactNode;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n iconclass?: string = 'wm-sl-l sl-search';\n clearsearchiconclass?: string = 'wi wi-clear';\n searchiconclass?: string = undefined;\n}\n"],"mappings":";;;AAAA,OAAOA,gBAAgB,MAAM,0EAA0E;AAIvG,eAAe,MAAMC,aAAa,SAASD,gBAAgB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBACrC,KAAK;IAAAA,eAAA,gBACT,EAAE;IAAAA,eAAA;IAAAA,eAAA,eAEe,QAAQ;IAAAA,eAAA,0BACf,sBAAsB;IAAAA,eAAA,sBAC1B,QAAQ;IAAAA,eAAA,gBACd,IAAI;IAAAA,eAAA,mBACD,IAAI;IAAAA,eAAA,qBACL,EAAE;IAAAA,eAAA,sBACD,EAAE;IAAAA,eAAA,mBACF,QAAQ;IAAAA,eAAA;IAAAA,eAAA,mBAEN,IAAI;IAAAA,eAAA;IAAAA,eAAA,oBAEL,KAAK;IAAAA,eAAA,yBACA,IAAI;IAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,6BAGFC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,QAAQ;IAAAA,eAAA;IAAAA,eAAA,yBAEtB,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,oBACR,mBAAmB;IAAAA,eAAA,+BACR,aAAa;IAAAA,eAAA,0BAClBC,SAAS;EAAA;AACtC","ignoreList":[]}
1
+ {"version":3,"names":["BaseDatasetProps","WmSearchProps","constructor","args","_defineProperty","undefined"],"sources":["search.props.ts"],"sourcesContent":["import BaseDatasetProps from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.props';\nimport {BaseComponent} from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmSearchProps extends BaseDatasetProps {\n autofocus: boolean = false;\n query?: string = '';\n searchkey?: any;\n type: 'search' | 'autocomplete' = 'search';\n datacompletemsg?: string = 'No more data to load';\n placeholder?: string = 'Search';\n limit?: number = null as any;\n minchars?: number = null as any;\n imagewidth?: any = 32;\n imageheight?: any = 32;\n searchon?: string = 'typing';\n onSubmit?: any;\n onChange?: Function = null as any;\n result?: any;\n showclear: boolean = false;\n showSearchIcon: boolean = true; // internal property\n invokeEvent?: Function;\n formFieldInstance?: BaseComponent<any, any, any>;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'search';\n renderitempartial?: (item: any, index: number, partialName: string)=> React.ReactNode;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n iconclass?: string = 'wm-sl-l sl-search';\n clearsearchiconclass?: string = 'wi wi-clear';\n searchiconclass?: string = undefined;\n debouncetime?: number = 0;\n}\n"],"mappings":";;;AAAA,OAAOA,gBAAgB,MAAM,0EAA0E;AAIvG,eAAe,MAAMC,aAAa,SAASD,gBAAgB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBACrC,KAAK;IAAAA,eAAA,gBACT,EAAE;IAAAA,eAAA;IAAAA,eAAA,eAEe,QAAQ;IAAAA,eAAA,0BACf,sBAAsB;IAAAA,eAAA,sBAC1B,QAAQ;IAAAA,eAAA,gBACd,IAAI;IAAAA,eAAA,mBACD,IAAI;IAAAA,eAAA,qBACL,EAAE;IAAAA,eAAA,sBACD,EAAE;IAAAA,eAAA,mBACF,QAAQ;IAAAA,eAAA;IAAAA,eAAA,mBAEN,IAAI;IAAAA,eAAA;IAAAA,eAAA,oBAEL,KAAK;IAAAA,eAAA,yBACA,IAAI;IAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,6BAGFC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,QAAQ;IAAAA,eAAA;IAAAA,eAAA,yBAEtB,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,oBACR,mBAAmB;IAAAA,eAAA,+BACR,aAAa;IAAAA,eAAA,0BAClBC,SAAS;IAAAD,eAAA,uBACZ,CAAC;EAAA;AAC3B","ignoreList":[]}
@@ -280,6 +280,9 @@ export class BaseChartComponent extends BaseComponent {
280
280
  });
281
281
  }
282
282
  getTooltip() {
283
+ if (!this.state.props.tooltips) {
284
+ return;
285
+ }
283
286
  const ynumberformat = this.state.props.ynumberformat;
284
287
  let yAxisData = ynumberformat ? this.setYAxisFormat(this.state.tooltipYaxis, ynumberformat) : this.state.tooltipYaxis;
285
288
  return this.state.isTooltipOpen ? !isEmpty(this.state.template) && this.props.renderitempartial ? /*#__PURE__*/React.createElement(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Dimensions","View","Text","moment","forEach","get","isArray","isEmpty","isObject","maxBy","minBy","set","trim","orderBy","VictoryAxis","VictoryLegend","VictoryLabel","BaseComponent","BaseComponentState","WmIcon","ThemeFactory","DEFAULT_CLASS","constructSampleData","getChartType","WmLottie","BaseChartComponentState","constructor","args","_defineProperty","undefined","screenWidth","width","shapes","SI_SYMBOL","BaseChartComponent","props","defaultClass","defaultProps","defaultState","e","viewWidth","nativeEvent","layout","viewHeight","height","handleLayout","state","chartWidth","updateState","Number","totalHeight","viewRef","createRef","theme","applyTheme","subscribe","event","isTooltipOpen","componentDidMount","abbreviateNumber","number","tier","Math","log10","abs","suffix","scale","pow","scaled","toFixed","getLegendView","colorScale","showlegend","top","parseInt","styles","root","orientation","createElement","name","gutter","data","legendData","style","border","stroke","borderPadding","left","y","getYScaleMinValue","value","_min","floor","setYAxisFormat","yVal","ynumberformat","matchFixed","match","matchExponential","toExponential","toLocaleString","getXaxis","minIndex","maxIndex","xaxisDatakeyArr","length","getTickValueLabel","xtickexpr","yaxislabeldistance","crossAxis","label","xaxislabel","xaxisdatakey","xunits","axisLabel","mergeStyle","yAxisLabel","grid","hidegridxaxis","xGrid","axis","showxaxis","xAxis","ticks","xTicks","tickLabels","showxaxislabels","fill","xTickLabels","fixLabelOverlap","autoadjustlabels","axisLabelComponent","tickLabelComponent","offsetyaxis","angle","labelangle","tickCount","invertAxis","isRTL","tickFormat","d","i","getYAxis","showyaxis","ytickexpr","xaxislabeldistance","yaxislabel","yaxisdatakey","yunits","hidegridyaxis","yGrid","yAxis","yTicks","showyaxislabels","yTickLabels","x","offsetxaxis","dependentAxis","setTooltipTemplate","partialName","template","setTooltipPartialLayout","tooltipLayout","tooltipoffsetx","tooltipoffsety","renderPointer","transform","rotate","bottom","tooltipPointer","borderBottomWidth","getTooltip","yAxisData","tooltipYaxis","renderitempartial","onLayout","bind","position","tooltipYPosition","tooltipXPosition","zIndex","selectedItem","index","tooltipContainer","fontSize","fontWeight","tooltipXText","tooltipXaxis","isAxisDomainSupported","type","isAxisDomainValid","areMinMaxValuesValid","values","isFinite","min","max","setDomainValues","xDomainValues","yDomainValues","getXMinMaxValues","getYMinMaxValues","chartMinX","chartMaxX","yMin","chartMinY","chartMaxY","datum","xValues","dataObject","yValues","minValues","maxValues","push","setHeightWidthOnChart","cb","chartHeight","themeName","colorsToUse","customcolors","split","map","themeToUse","getColorsObj","getTheme","colors","prepareLegendData","ldata","prepareEvents","_","idx","childName","target","eventKey","String","eventHandlers","onClick","mutation","onMouseOver","onMouseOut","getxAxisVal","dataObj","xKey","isValid","isNaN","replace","prepareDataItems","dataset","xaxis","yaxis","datasets","_yaxis","shape","yPts","o","xindex","xVal","parseFloat","bubblesize","invokeEventCallback","proxy","setTimeout","endAngle","updateData","renderLoadingIcon","id","getTestId","loadingIcon","iconclass","loadingicon","caption","loadingdatamsg","labeltype","setTotal","ydomain","xdomain","loading","total","onPropertyChange","$new","$old","units","xLabel","yLabel","renderSkeleton","skeletonanimationresource","_this$styles","_this$styles2","_this$styles3","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","getDataType","widgetContext","Error"],"sources":["basechart.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dimensions, View, Text, LayoutChangeEvent} from 'react-native';\nimport moment from \"moment\";\nimport {forEach, get, isArray, isEmpty, isObject, maxBy, minBy, set, trim, orderBy} from \"lodash-es\";\nimport { ScatterSymbolType } from \"victory-core\";\nimport {VictoryAxis, VictoryLegend, VictoryLabel, VictoryVoronoiContainer, VictoryTooltip} from \"victory-native\";\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\nimport ThemeFactory from \"@wavemaker/app-rn-runtime/components/chart/theme/chart.theme\";\n\nimport BaseChartComponentProps from \"./basechart.props\";\nimport { DEFAULT_CLASS, BaseChartComponentStyles} from \"./basechart.styles\";\nimport _ from \"lodash\";\nimport { constructSampleData, getChartType } from \"./staticdata\";\nimport { isWebPreviewMode } from \"@wavemaker/app-rn-runtime/core/utils\";\nimport WmLottie from \"../basic/lottie/lottie.component\";\n\nexport class BaseChartComponentState <T extends BaseChartComponentProps> extends BaseComponentState<T> {\n data: any = [];\n content: any = null;\n yAxis: Array<string> = [];\n xaxisDatakeyArr: Array<any> = [];\n legendData: any = [];\n theme: any;\n colors: any;\n xLabel: string = '';\n yLabel: string = '';\n total: number = 0;\n endAngle: number = 0;\n loading: boolean = true;\n chartHeight: number = 0;\n chartWidth: number = 0;\n totalHeight: number = 0;\n chartMinY: number | undefined = undefined;\n chartMinX: number | undefined = undefined;\n chartMaxY: number | undefined = undefined;\n chartMaxX: number | undefined = undefined;\n tooltipXPosition = 0;\n tooltipYPosition = 0;\n tooltipXaxis = 0;\n tooltipYaxis = 0;\n tooltipoffsetx: number = 50;\n tooltipoffsety: number = 80;\n isTooltipOpen: boolean = false;\n selectedItem: any = {}\n template: string = \"\";\n}\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\nconst shapes: {[key: string]: any} = {\n 'circle': 'circle',\n 'cross': 'cross',\n 'diamond': 'diamond',\n 'plus': 'plus',\n 'minus': 'minus',\n 'square': 'square',\n 'star': 'star',\n 'triangle-down': 'triangleDown',\n 'triangle-up': 'triangleUp',\n};\n\nconst SI_SYMBOL = [\"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\"];\n\nexport abstract class BaseChartComponent<T extends BaseChartComponentProps, S extends BaseChartComponentState<T>, L extends BaseChartComponentStyles> extends BaseComponent<T, S, L> {\n protected screenWidth: number = screenWidth;\n protected viewRef: React.RefObject<View>;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.viewRef = React.createRef();\n if (!props.theme) {\n this.applyTheme(props);\n }\n this.subscribe('globaltouch', (event: any) => {\n this.updateState({\n isTooltipOpen: false\n } as any)\n });\n }\n\n componentDidMount() {\n super.componentDidMount();\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n let viewHeight = e.nativeEvent.layout.height;\n \n this.handleLayout(e)\n \n if (this?.state && viewWidth !== this.state.chartWidth) {\n this.updateState({\n chartWidth: Number(viewWidth),\n totalHeight: Number(viewHeight)\n } as any)\n }\n }\n\n\n abbreviateNumber(number: any) {\n if (typeof number !== 'number') {\n return number;\n }\n const tier = Math.log10(Math.abs(number)) / 3 | 0;\n\n if (tier == 0) {\n return number;\n }\n\n // get suffix and determine scale\n const suffix = SI_SYMBOL[tier];\n const scale = Math.pow(10, tier * 3);\n\n // scale the number\n var scaled = number / scale;\n\n // format number and add suffix\n return scaled.toFixed(1) + suffix;\n }\n\n getLegendView(colorScale?: any) {\n if (this.state.props.showlegend === 'hide') {\n return null;\n }\n const props = this.state.props;\n let top = props.showlegend === 'bottom' ? parseInt(this.styles.root.height as string) : 0;\n if (top) {\n top = top - (50); // remove legendHeight\n }\n const orientation = (props.showlegend === 'right' || props.showlegend === 'left') ? 'vertical' : 'horizontal';\n return <VictoryLegend\n colorScale={colorScale}\n name={'legendData'}\n orientation={orientation}\n gutter={20}\n data={this.state.legendData}\n style={{ border: { stroke: 'none' } }}\n borderPadding={{top: 30, left: 50}}\n y={top}\n />\n }\n\n getYScaleMinValue(value: number) {\n const _min = Math.floor(value);\n return Math.abs(value) - _min > 0 ? value - .1 : _min - 1;\n };\n\n setYAxisFormat(yVal: any, ynumberformat: string){\n const matchFixed = ynumberformat.match(/\\.([0-9])f/);\n const matchExponential = ynumberformat.match(/\\.([0-9])g/);\n if (matchFixed) {\n return yVal.toFixed(parseInt(matchFixed[1], 10));\n } else if (matchExponential) {\n return yVal.toExponential(parseInt(matchExponential[1], 10));\n }\n switch (ynumberformat) {\n case '%':\n return (yVal * 100).toFixed(0) + '%';\n case 'Billion':\n return (yVal / 1e9).toFixed(1) + 'B';\n case 'Million':\n return (yVal / 1e6).toFixed(1) + 'M';\n case 'Thousand':\n return (yVal / 1e3).toFixed(1) + 'K';\n case ',r':\n return yVal.toLocaleString();\n }\n }\n\n // x axis with vertical lines having grid stroke colors\n getXaxis() {\n const minIndex = 0;\n const maxIndex = this.state.xaxisDatakeyArr.length - 1;\n const props = this.state.props;\n const getTickValueLabel = props.xtickexpr as any;\n let height = this.styles.root.height || 250;\n let yaxislabeldistance = props.yaxislabeldistance ? props.yaxislabeldistance : height as number - 20;\n if (height && typeof height === 'string') {\n height = parseInt(height);\n }\n return <VictoryAxis crossAxis={false} label={(props.xaxislabel || props.xaxisdatakey || \"name\") + (props.xunits ? `(${props.xunits})` : '')}\n style={{\n axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel),\n grid: props.hidegridxaxis ?\n { stroke: null } : this.theme.mergeStyle(this.styles.grid, this.styles.xGrid),\n axis: props.showxaxis === false ?\n { stroke: 'none' } : this.theme.mergeStyle(this.styles.axis, this.styles.xAxis),\n ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.xTicks),\n tickLabels: props.showxaxislabels === false ? {fill: 'none'} : this.theme.mergeStyle(this.styles.tickLabels, this.styles.xTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel y={yaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel y={props.offsetyaxis ? props.offsetyaxis : height as number - 30} angle={props.labelangle || 0}/>} theme={this.state.theme}\n tickCount={this.state.xaxisDatakeyArr.length} \n invertAxis={this.isRTL}\n tickFormat= {(d: number, i: number, ticks: any) => {\n if (getTickValueLabel) {\n return getTickValueLabel(this.state.xaxisDatakeyArr[d], i, (ticks || []).length);\n } else if (this.state.xaxisDatakeyArr) {\n return this.state.xaxisDatakeyArr[d];\n }\n return '';\n }}\n />; \n} \n\n\n /* y axis with horizontal lines having grid stroke colors*/\n getYAxis() {\n const props = this.state.props;\n if (props.showyaxis === false) {\n return null;\n }\n const getTickValueLabel = props.ytickexpr as any;\n const ynumberformat = props.ynumberformat;\n let xaxislabeldistance = props.xaxislabeldistance ? props.xaxislabeldistance : 20\n return <VictoryAxis crossAxis={false} label={(props.yaxislabel || props.yaxisdatakey) + (props.yunits ? `(${props.yunits})` : '')}\n style={{\n axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel),\n grid: props.hidegridyaxis ? { stroke: null } : this.theme.mergeStyle(this.styles.grid, this.styles.yGrid),\n axis: props.showxaxis === false ?\n { stroke: 'none' } : this.theme.mergeStyle(this.styles.axis, this.styles.yAxis),\n ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.yTicks),\n tickLabels: props.showyaxislabels === false ? {fill: 'none'} : this.theme.mergeStyle(this.styles.tickLabels, this.styles.yTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel x={xaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel x={props.offsetxaxis ? props.offsetxaxis : 50}/>} \n theme={this.state.theme}\n tickFormat= {(d: number, i: number, ticks: any) => {\n if (getTickValueLabel) {\n return getTickValueLabel(d, i, (ticks || []).length);\n }\n if (ynumberformat) {\n return this.setYAxisFormat(d, ynumberformat);\n }\n return this.abbreviateNumber(d);\n }}\n orientation={this.isRTL?\"right\":\"left\"}\n dependentAxis />;\n }\n \n setTooltipTemplate(partialName: any) {\n this.updateState({ template: partialName} as any);\n }\n\n setTooltipPartialLayout(event: LayoutChangeEvent){\n let tooltipLayout = event.nativeEvent.layout;\n this.updateState({\n tooltipoffsetx: tooltipLayout.width/2,\n tooltipoffsety: tooltipLayout.height\n } as any)\n }\n \n renderPointer(){\n return (\n <View \n style={[\n {\n transform: [\n { rotate: '180deg' }\n ],\n bottom: -10,\n left: this.state.tooltipoffsetx - this.styles.tooltipPointer.borderBottomWidth/2\n },\n this.styles.tooltipPointer\n ]}\n />\n )\n }\n\n getTooltip() {\n const ynumberformat = this.state.props.ynumberformat;\n let yAxisData = ynumberformat ? this.setYAxisFormat(this.state.tooltipYaxis, ynumberformat) : this.state.tooltipYaxis;\n return this.state.isTooltipOpen ? (\n !isEmpty(this.state.template) && this.props.renderitempartial ?\n <View onLayout={this.setTooltipPartialLayout.bind(this)} style={{ position: \"absolute\", top: this.state.tooltipYPosition as number, left: this.state.tooltipXPosition as number , zIndex: 99}}>\n {this.props.renderitempartial(this.state.selectedItem, this.state.selectedItem.index, this.state.template)}\n {this.renderPointer()}\n </View> : (\n <View style={[\n { position: \"absolute\", top: this.state.tooltipYPosition as number, left: this.state.tooltipXPosition as number},\n this.styles.tooltipContainer\n ]}>\n <Text style={[{ fontSize: 16, fontWeight: 'bold' },this.styles.tooltipXText]}>{this.state.tooltipXaxis}</Text>\n <Text style={this.styles.tooltipXText}>{yAxisData}</Text>\n {this.renderPointer()}\n </View>)\n ) : null;\n } \n\n // X/Y Domain properties are supported only for Column and Area charts\n isAxisDomainSupported(type: string) {\n return type === 'Column'|| type === 'Area';\n }\n\n // Check whether X/Y Domain was set to Min and is supported for the present chart\n isAxisDomainValid(axis: string) {\n const props = this.state.props;\n if (get(props, axis + 'domain') === 'Min' && (this.isAxisDomainSupported(props.type))) {\n return true;\n }\n return false;\n };\n\n// Check whether min and max values are finite or not\n areMinMaxValuesValid(values: any) {\n if (isFinite(values.min) && isFinite(values.max)) {\n return true;\n }\n return false;\n };\n\n setDomainValues() {\n let xDomainValues, yDomainValues;\n if (this.state.data.length > 0) {\n if (this.isAxisDomainValid('x') && typeof this.state.data[0].x === 'number') {\n xDomainValues = this.getXMinMaxValues(this.state.data[0]);\n }\n if (this.isAxisDomainValid('y')) {\n yDomainValues = this.getYMinMaxValues(this.state.data);\n }\n if (xDomainValues) {\n this.updateState({\n chartMinX: yDomainValues.min.x,\n chartMaxX: yDomainValues.max.x\n } as S)\n }\n let yMin;\n if (yDomainValues) {\n if (this.areMinMaxValuesValid({max: yDomainValues.max.y, min: yDomainValues.min.y})) {\n yMin = this.getYScaleMinValue(yDomainValues.min.y);\n }\n this.updateState({\n chartMinY: yMin ? yMin : yDomainValues.min.y,\n chartMaxY: yDomainValues.max.y\n } as S);\n }\n }\n }\n\n // Getting the min and max values among all the x values\n getXMinMaxValues(datum: Array<{x: number, y: any}>) {\n if (!datum) {\n return;\n }\n const xValues: any = {};\n /*\n compute the min x valuex\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n min x: 1\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n min x: 10\n */\n xValues.min = minBy(datum, (dataObject: {x: any, y: any}) => dataObject.x) || {x: undefined};\n /*\n compute the max x value\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n max x: 3\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n max x: 30\n */\n xValues.max = maxBy(datum, (dataObject: {x: any, y: any}) => dataObject.x)|| {x: undefined};\n return xValues;\n }\n\n // Getting the min and max values among all the y values\n getYMinMaxValues(datum: Array<Array<{x: any, y: number}>>) {\n const yValues: any = {},\n minValues: any = [],\n maxValues: any = [];\n if (!datum) {\n return;\n }\n\n /*\n Getting the min and max y values among all the series of data\n compute the min y value\n eg: When data has objects\n input: [[{x:1, y:2}, {x:2, y:3}, {x:3, y:4}], [{x:2, y:3}, {x:3, y:4}, {x:4, y:5}]]\n min y values : '2'(among first set) & '3'(among second set)\n max y values : '4'(among first set) & '5'(among second set)\n\n eg: When data has arrays\n input: [[[10, 20], [20, 30], [30, 40]], [[20, 30], [30, 40], [40, 50]]]\n min y values : '20'(among first set) & '30'(among second set)\n max y values : '40'(among first set) & '50'(among second set)\n */\n\n forEach(datum, data => {\n if (data && !isEmpty(data)) {\n minValues.push(minBy(data, (dataObject: {x: any, y: any}) => { return dataObject.y }));\n maxValues.push(maxBy(data, (dataObject: {x: any, y: any}) => { return dataObject.y }));\n }\n });\n // Gets the least and highest values among all the min and max values of respective series of data\n yValues.min = minBy(minValues, (dataObject: {x: any, y: any}) => dataObject.y) || {y: undefined};\n yValues.max = maxBy(maxValues, (dataObject: {x: any, y: any}) => dataObject.y) || {y: undefined};\n return yValues;\n }\n\n setHeightWidthOnChart(cb?: () => void) {\n let height = this.styles.root.height || 250;\n let width = this.styles.root.width || screenWidth;\n if (height && typeof height === 'string') {\n height = parseInt(height);\n }\n if (width && typeof width === 'string') {\n width = parseInt(width);\n }\n this.updateState({\n chartHeight: height,\n chartWidth: width\n } as S, cb);\n }\n\n applyTheme(props: BaseChartComponentProps) {\n let themeName = props.theme ? props.theme : (props.type === 'Pie' ? 'Azure' : 'Terrestrial');\n let colorsToUse = [];\n if (typeof props.customcolors === 'string' && !isEmpty(props.customcolors)) {\n colorsToUse = props.customcolors.split(',').map(trim);\n }\n let themeToUse;\n if (typeof themeName === 'string') {\n if (!colorsToUse.length) {\n colorsToUse = props.customcolors as string[];\n }\n if(props.customcolors===undefined) {\n colorsToUse = ThemeFactory.getColorsObj(themeName);\n }\n themeToUse = ThemeFactory.getTheme(themeName, props.styles, colorsToUse);\n } else if (typeof themeName === 'object') {\n // if theme is passed as an object then use that custom theme.\n themeToUse = props.theme;\n }\n this.updateState({\n colors: colorsToUse,\n theme: themeToUse\n } as S);\n }\n\n prepareLegendData() {\n const props = this.state.props;\n if (this.state.yAxis) {\n let ldata: any;\n if (props.type === 'Stack') {\n const data = orderBy(this.state.data[0], 'y', 'asc');\n ldata = data.map((d: any) => {\n return {\n name: this.state.xaxisDatakeyArr[d.x]\n }\n });\n } else {\n ldata = this.state.yAxis.map((d: string) => {\n return {\n name: d\n }\n });\n }\n\n this.updateState({\n legendData: ldata\n } as S);\n }\n }\n\n prepareEvents(name: string) {\n return this.state.legendData.map((_: any, idx: number) => {\n return {\n childName: ['legend'],\n target: 'data',\n eventKey: String(idx),\n eventHandlers: {\n onClick: () => {\n return [\n {\n childName: [name + '_' + idx],\n target: 'data',\n eventKey: 'all',\n mutation: (props: any) => {\n return null;\n }\n }\n ];\n },\n onMouseOver: () => {\n },\n onMouseOut: () => {\n }\n }\n };\n });\n }\n\n // If date string is bound to xaxis then we are pushing the x values as indexes.\n getxAxisVal(dataObj: {[key: string] : any}, xKey: string, index: number, xaxisDatakeyArr: Array<any>) {\n const value: any = get(dataObj, xKey);\n if (moment(value).isValid() || isNaN(value) || typeof value === 'string' || typeof value === 'number') {\n if (typeof value === \"string\"){\n xaxisDatakeyArr.push(value.replace(\"\\\\n\",\"\\n\"));\n }\n else{\n xaxisDatakeyArr.push(value);\n }\n return index;\n }\n return value;\n }\n\n prepareDataItems(dataset: any) {\n const props = this.state.props;\n let xaxis = props.xaxisdatakey;\n let yaxis = props.yaxisdatakey;\n let xaxisDatakeyArr: Array<any> = [];\n let datasets: any = [];\n if (dataset.length === 0) {\n dataset = constructSampleData(getChartType(this.props), yaxis?.split(','), this.props.shape);\n xaxis = \"x\";\n yaxis = \"y\";\n }\n if (xaxis && yaxis) {\n let yPts = yaxis.split(',');\n yPts.forEach((y: any) => {\n if (xaxis !== y) {\n datasets.push(dataset.map((o: {[key: string] : any}, xindex: number) => {\n const xVal = this.getxAxisVal(o, xaxis, xindex, xaxisDatakeyArr);\n let yVal: string | number = get(o, y);\n if (typeof yVal === 'string') {\n yVal = parseFloat(yVal) || yVal;\n }\n let dataObj = {\n x: xVal,\n y: yVal,\n };\n if (props.bubblesize) {\n set(dataObj, 'size', get(o, props.bubblesize, 5));\n }\n if (props.shape) {\n set(dataObj, 'symbol', shapes[props.shape]);\n }\n return dataObj;\n }));\n }\n });\n // chartTransform\n this.invokeEventCallback('onTransform', [undefined, this.proxy]);\n if (props.type == 'Pie' || props.type === 'Donut') {\n // for animation effect\n setTimeout(() => {\n this.updateState({\n endAngle: 360,\n } as S);\n }, 500);\n }\n this.updateData(datasets, yPts, xaxisDatakeyArr);\n }\n }\n\n\n protected renderLoadingIcon() {\n const props = this.state.props;\n return (<WmIcon id={this.getTestId('loadericon')} styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>);\n }\n\n updateData(datasets: any, yPts: any, xaxisDatakeyArr: Array<any>) {\n const props = this.state.props;\n this.updateState({\n data: datasets as any,\n yAxis: yPts,\n xaxisDatakeyArr: xaxisDatakeyArr\n } as S, () => {\n this.prepareLegendData();\n if (!props.labeltype || props.labeltype === 'percent') {\n this.setTotal(this.state.data[0]);\n }\n if (this.isAxisDomainSupported(props.type) && (props.ydomain || props.xdomain)) {\n this.setDomainValues();\n }\n this.updateState({\n loading: false\n } as S);\n });\n }\n\n setTotal(data: Array<{x: any, y: number}>) {\n let total = 0;\n data.forEach((d: {x: any, y: any}) => {\n total += d.y as number;\n });\n this.updateState({\n total: total\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n let units = '';\n switch(name) {\n case 'customcolors':\n if (isEmpty($new)) {\n return;\n }\n if (typeof $new === 'string') {\n $new = $new.split(',');\n }\n this.updateState({\n colors: $new\n } as S);\n break;\n case 'theme':\n this.applyTheme(props);\n break;\n case 'dataset':\n if (!isArray($new)) {\n if (isObject($new) && !isEmpty($new)) {\n $new = [$new];\n } else {\n $new = [];\n }\n }\n $new && this.prepareDataItems($new);\n break;\n case 'xaxislabel':\n if (props.xunits) {\n units = ' (' + props.xunits + ')';\n }\n this.updateState({\n xLabel: $new + units\n } as S);\n break;\n case 'yaxislabel':\n if (props.yunits) {\n units = ' (' + props.yunits + ')';\n }\n this.updateState({\n yLabel: $new + units\n } as S);\n break;\n }\n }\n\n public renderSkeleton(props: T): React.ReactNode {\n if(props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles?.root]}>\n <WmLottie styles={{ content: {...this.styles?.root, ...this.styles?.skeleton?.root} }} source={props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n }\n return null;\n }\n}\nfunction getDataType(widgetContext: { yaxisdatakey: string | null | undefined; shape: any; }): any {\n throw new Error(\"Function not implemented.\");\n}\n\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Dimensions","View","Text","moment","forEach","get","isArray","isEmpty","isObject","maxBy","minBy","set","trim","orderBy","VictoryAxis","VictoryLegend","VictoryLabel","BaseComponent","BaseComponentState","WmIcon","ThemeFactory","DEFAULT_CLASS","constructSampleData","getChartType","WmLottie","BaseChartComponentState","constructor","args","_defineProperty","undefined","screenWidth","width","shapes","SI_SYMBOL","BaseChartComponent","props","defaultClass","defaultProps","defaultState","e","viewWidth","nativeEvent","layout","viewHeight","height","handleLayout","state","chartWidth","updateState","Number","totalHeight","viewRef","createRef","theme","applyTheme","subscribe","event","isTooltipOpen","componentDidMount","abbreviateNumber","number","tier","Math","log10","abs","suffix","scale","pow","scaled","toFixed","getLegendView","colorScale","showlegend","top","parseInt","styles","root","orientation","createElement","name","gutter","data","legendData","style","border","stroke","borderPadding","left","y","getYScaleMinValue","value","_min","floor","setYAxisFormat","yVal","ynumberformat","matchFixed","match","matchExponential","toExponential","toLocaleString","getXaxis","minIndex","maxIndex","xaxisDatakeyArr","length","getTickValueLabel","xtickexpr","yaxislabeldistance","crossAxis","label","xaxislabel","xaxisdatakey","xunits","axisLabel","mergeStyle","yAxisLabel","grid","hidegridxaxis","xGrid","axis","showxaxis","xAxis","ticks","xTicks","tickLabels","showxaxislabels","fill","xTickLabels","fixLabelOverlap","autoadjustlabels","axisLabelComponent","tickLabelComponent","offsetyaxis","angle","labelangle","tickCount","invertAxis","isRTL","tickFormat","d","i","getYAxis","showyaxis","ytickexpr","xaxislabeldistance","yaxislabel","yaxisdatakey","yunits","hidegridyaxis","yGrid","yAxis","yTicks","showyaxislabels","yTickLabels","x","offsetxaxis","dependentAxis","setTooltipTemplate","partialName","template","setTooltipPartialLayout","tooltipLayout","tooltipoffsetx","tooltipoffsety","renderPointer","transform","rotate","bottom","tooltipPointer","borderBottomWidth","getTooltip","tooltips","yAxisData","tooltipYaxis","renderitempartial","onLayout","bind","position","tooltipYPosition","tooltipXPosition","zIndex","selectedItem","index","tooltipContainer","fontSize","fontWeight","tooltipXText","tooltipXaxis","isAxisDomainSupported","type","isAxisDomainValid","areMinMaxValuesValid","values","isFinite","min","max","setDomainValues","xDomainValues","yDomainValues","getXMinMaxValues","getYMinMaxValues","chartMinX","chartMaxX","yMin","chartMinY","chartMaxY","datum","xValues","dataObject","yValues","minValues","maxValues","push","setHeightWidthOnChart","cb","chartHeight","themeName","colorsToUse","customcolors","split","map","themeToUse","getColorsObj","getTheme","colors","prepareLegendData","ldata","prepareEvents","_","idx","childName","target","eventKey","String","eventHandlers","onClick","mutation","onMouseOver","onMouseOut","getxAxisVal","dataObj","xKey","isValid","isNaN","replace","prepareDataItems","dataset","xaxis","yaxis","datasets","_yaxis","shape","yPts","o","xindex","xVal","parseFloat","bubblesize","invokeEventCallback","proxy","setTimeout","endAngle","updateData","renderLoadingIcon","id","getTestId","loadingIcon","iconclass","loadingicon","caption","loadingdatamsg","labeltype","setTotal","ydomain","xdomain","loading","total","onPropertyChange","$new","$old","units","xLabel","yLabel","renderSkeleton","skeletonanimationresource","_this$styles","_this$styles2","_this$styles3","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","getDataType","widgetContext","Error"],"sources":["basechart.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dimensions, View, Text, LayoutChangeEvent} from 'react-native';\nimport moment from \"moment\";\nimport {forEach, get, isArray, isEmpty, isObject, maxBy, minBy, set, trim, orderBy} from \"lodash-es\";\nimport { ScatterSymbolType } from \"victory-core\";\nimport {VictoryAxis, VictoryLegend, VictoryLabel, VictoryVoronoiContainer, VictoryTooltip} from \"victory-native\";\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\nimport ThemeFactory from \"@wavemaker/app-rn-runtime/components/chart/theme/chart.theme\";\n\nimport BaseChartComponentProps from \"./basechart.props\";\nimport { DEFAULT_CLASS, BaseChartComponentStyles} from \"./basechart.styles\";\nimport _ from \"lodash\";\nimport { constructSampleData, getChartType } from \"./staticdata\";\nimport { isWebPreviewMode } from \"@wavemaker/app-rn-runtime/core/utils\";\nimport WmLottie from \"../basic/lottie/lottie.component\";\n\nexport class BaseChartComponentState <T extends BaseChartComponentProps> extends BaseComponentState<T> {\n data: any = [];\n content: any = null;\n yAxis: Array<string> = [];\n xaxisDatakeyArr: Array<any> = [];\n legendData: any = [];\n theme: any;\n colors: any;\n xLabel: string = '';\n yLabel: string = '';\n total: number = 0;\n endAngle: number = 0;\n loading: boolean = true;\n chartHeight: number = 0;\n chartWidth: number = 0;\n totalHeight: number = 0;\n chartMinY: number | undefined = undefined;\n chartMinX: number | undefined = undefined;\n chartMaxY: number | undefined = undefined;\n chartMaxX: number | undefined = undefined;\n tooltipXPosition = 0;\n tooltipYPosition = 0;\n tooltipXaxis = 0;\n tooltipYaxis = 0;\n tooltipoffsetx: number = 50;\n tooltipoffsety: number = 80;\n isTooltipOpen: boolean = false;\n selectedItem: any = {}\n template: string = \"\";\n}\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\nconst shapes: {[key: string]: any} = {\n 'circle': 'circle',\n 'cross': 'cross',\n 'diamond': 'diamond',\n 'plus': 'plus',\n 'minus': 'minus',\n 'square': 'square',\n 'star': 'star',\n 'triangle-down': 'triangleDown',\n 'triangle-up': 'triangleUp',\n};\n\nconst SI_SYMBOL = [\"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\"];\n\nexport abstract class BaseChartComponent<T extends BaseChartComponentProps, S extends BaseChartComponentState<T>, L extends BaseChartComponentStyles> extends BaseComponent<T, S, L> {\n protected screenWidth: number = screenWidth;\n protected viewRef: React.RefObject<View>;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.viewRef = React.createRef();\n if (!props.theme) {\n this.applyTheme(props);\n }\n this.subscribe('globaltouch', (event: any) => {\n this.updateState({\n isTooltipOpen: false\n } as any)\n });\n }\n\n componentDidMount() {\n super.componentDidMount();\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n let viewHeight = e.nativeEvent.layout.height;\n \n this.handleLayout(e)\n \n if (this?.state && viewWidth !== this.state.chartWidth) {\n this.updateState({\n chartWidth: Number(viewWidth),\n totalHeight: Number(viewHeight)\n } as any)\n }\n }\n\n\n abbreviateNumber(number: any) {\n if (typeof number !== 'number') {\n return number;\n }\n const tier = Math.log10(Math.abs(number)) / 3 | 0;\n\n if (tier == 0) {\n return number;\n }\n\n // get suffix and determine scale\n const suffix = SI_SYMBOL[tier];\n const scale = Math.pow(10, tier * 3);\n\n // scale the number\n var scaled = number / scale;\n\n // format number and add suffix\n return scaled.toFixed(1) + suffix;\n }\n\n getLegendView(colorScale?: any) {\n if (this.state.props.showlegend === 'hide') {\n return null;\n }\n const props = this.state.props;\n let top = props.showlegend === 'bottom' ? parseInt(this.styles.root.height as string) : 0;\n if (top) {\n top = top - (50); // remove legendHeight\n }\n const orientation = (props.showlegend === 'right' || props.showlegend === 'left') ? 'vertical' : 'horizontal';\n return <VictoryLegend\n colorScale={colorScale}\n name={'legendData'}\n orientation={orientation}\n gutter={20}\n data={this.state.legendData}\n style={{ border: { stroke: 'none' } }}\n borderPadding={{top: 30, left: 50}}\n y={top}\n />\n }\n\n getYScaleMinValue(value: number) {\n const _min = Math.floor(value);\n return Math.abs(value) - _min > 0 ? value - .1 : _min - 1;\n };\n\n setYAxisFormat(yVal: any, ynumberformat: string){\n const matchFixed = ynumberformat.match(/\\.([0-9])f/);\n const matchExponential = ynumberformat.match(/\\.([0-9])g/);\n if (matchFixed) {\n return yVal.toFixed(parseInt(matchFixed[1], 10));\n } else if (matchExponential) {\n return yVal.toExponential(parseInt(matchExponential[1], 10));\n }\n switch (ynumberformat) {\n case '%':\n return (yVal * 100).toFixed(0) + '%';\n case 'Billion':\n return (yVal / 1e9).toFixed(1) + 'B';\n case 'Million':\n return (yVal / 1e6).toFixed(1) + 'M';\n case 'Thousand':\n return (yVal / 1e3).toFixed(1) + 'K';\n case ',r':\n return yVal.toLocaleString();\n }\n }\n\n // x axis with vertical lines having grid stroke colors\n getXaxis() {\n const minIndex = 0;\n const maxIndex = this.state.xaxisDatakeyArr.length - 1;\n const props = this.state.props;\n const getTickValueLabel = props.xtickexpr as any;\n let height = this.styles.root.height || 250;\n let yaxislabeldistance = props.yaxislabeldistance ? props.yaxislabeldistance : height as number - 20;\n if (height && typeof height === 'string') {\n height = parseInt(height);\n }\n return <VictoryAxis crossAxis={false} label={(props.xaxislabel || props.xaxisdatakey || \"name\") + (props.xunits ? `(${props.xunits})` : '')}\n style={{\n axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel),\n grid: props.hidegridxaxis ?\n { stroke: null } : this.theme.mergeStyle(this.styles.grid, this.styles.xGrid),\n axis: props.showxaxis === false ?\n { stroke: 'none' } : this.theme.mergeStyle(this.styles.axis, this.styles.xAxis),\n ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.xTicks),\n tickLabels: props.showxaxislabels === false ? {fill: 'none'} : this.theme.mergeStyle(this.styles.tickLabels, this.styles.xTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel y={yaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel y={props.offsetyaxis ? props.offsetyaxis : height as number - 30} angle={props.labelangle || 0}/>} theme={this.state.theme}\n tickCount={this.state.xaxisDatakeyArr.length} \n invertAxis={this.isRTL}\n tickFormat= {(d: number, i: number, ticks: any) => {\n if (getTickValueLabel) {\n return getTickValueLabel(this.state.xaxisDatakeyArr[d], i, (ticks || []).length);\n } else if (this.state.xaxisDatakeyArr) {\n return this.state.xaxisDatakeyArr[d];\n }\n return '';\n }}\n />; \n} \n\n\n /* y axis with horizontal lines having grid stroke colors*/\n getYAxis() {\n const props = this.state.props;\n if (props.showyaxis === false) {\n return null;\n }\n const getTickValueLabel = props.ytickexpr as any;\n const ynumberformat = props.ynumberformat;\n let xaxislabeldistance = props.xaxislabeldistance ? props.xaxislabeldistance : 20\n return <VictoryAxis crossAxis={false} label={(props.yaxislabel || props.yaxisdatakey) + (props.yunits ? `(${props.yunits})` : '')}\n style={{\n axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel),\n grid: props.hidegridyaxis ? { stroke: null } : this.theme.mergeStyle(this.styles.grid, this.styles.yGrid),\n axis: props.showxaxis === false ?\n { stroke: 'none' } : this.theme.mergeStyle(this.styles.axis, this.styles.yAxis),\n ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.yTicks),\n tickLabels: props.showyaxislabels === false ? {fill: 'none'} : this.theme.mergeStyle(this.styles.tickLabels, this.styles.yTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel x={xaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel x={props.offsetxaxis ? props.offsetxaxis : 50}/>} \n theme={this.state.theme}\n tickFormat= {(d: number, i: number, ticks: any) => {\n if (getTickValueLabel) {\n return getTickValueLabel(d, i, (ticks || []).length);\n }\n if (ynumberformat) {\n return this.setYAxisFormat(d, ynumberformat);\n }\n return this.abbreviateNumber(d);\n }}\n orientation={this.isRTL?\"right\":\"left\"}\n dependentAxis />;\n }\n \n setTooltipTemplate(partialName: any) {\n this.updateState({ template: partialName} as any);\n }\n\n setTooltipPartialLayout(event: LayoutChangeEvent){\n let tooltipLayout = event.nativeEvent.layout;\n this.updateState({\n tooltipoffsetx: tooltipLayout.width/2,\n tooltipoffsety: tooltipLayout.height\n } as any)\n }\n \n renderPointer(){\n return (\n <View \n style={[\n {\n transform: [\n { rotate: '180deg' }\n ],\n bottom: -10,\n left: this.state.tooltipoffsetx - this.styles.tooltipPointer.borderBottomWidth/2\n },\n this.styles.tooltipPointer\n ]}\n />\n )\n }\n\n getTooltip() {\n if(!this.state.props.tooltips){\n return;\n }\n const ynumberformat = this.state.props.ynumberformat;\n let yAxisData = ynumberformat ? this.setYAxisFormat(this.state.tooltipYaxis, ynumberformat) : this.state.tooltipYaxis;\n return this.state.isTooltipOpen ? (\n !isEmpty(this.state.template) && this.props.renderitempartial ?\n <View onLayout={this.setTooltipPartialLayout.bind(this)} style={{ position: \"absolute\", top: this.state.tooltipYPosition as number, left: this.state.tooltipXPosition as number , zIndex: 99}}>\n {this.props.renderitempartial(this.state.selectedItem, this.state.selectedItem.index, this.state.template)}\n {this.renderPointer()}\n </View> : (\n <View style={[\n { position: \"absolute\", top: this.state.tooltipYPosition as number, left: this.state.tooltipXPosition as number},\n this.styles.tooltipContainer\n ]}>\n <Text style={[{ fontSize: 16, fontWeight: 'bold' },this.styles.tooltipXText]}>{this.state.tooltipXaxis}</Text>\n <Text style={this.styles.tooltipXText}>{yAxisData}</Text>\n {this.renderPointer()}\n </View>)\n ) : null;\n } \n\n // X/Y Domain properties are supported only for Column and Area charts\n isAxisDomainSupported(type: string) {\n return type === 'Column'|| type === 'Area';\n }\n\n // Check whether X/Y Domain was set to Min and is supported for the present chart\n isAxisDomainValid(axis: string) {\n const props = this.state.props;\n if (get(props, axis + 'domain') === 'Min' && (this.isAxisDomainSupported(props.type))) {\n return true;\n }\n return false;\n };\n\n// Check whether min and max values are finite or not\n areMinMaxValuesValid(values: any) {\n if (isFinite(values.min) && isFinite(values.max)) {\n return true;\n }\n return false;\n };\n\n setDomainValues() {\n let xDomainValues, yDomainValues;\n if (this.state.data.length > 0) {\n if (this.isAxisDomainValid('x') && typeof this.state.data[0].x === 'number') {\n xDomainValues = this.getXMinMaxValues(this.state.data[0]);\n }\n if (this.isAxisDomainValid('y')) {\n yDomainValues = this.getYMinMaxValues(this.state.data);\n }\n if (xDomainValues) {\n this.updateState({\n chartMinX: yDomainValues.min.x,\n chartMaxX: yDomainValues.max.x\n } as S)\n }\n let yMin;\n if (yDomainValues) {\n if (this.areMinMaxValuesValid({max: yDomainValues.max.y, min: yDomainValues.min.y})) {\n yMin = this.getYScaleMinValue(yDomainValues.min.y);\n }\n this.updateState({\n chartMinY: yMin ? yMin : yDomainValues.min.y,\n chartMaxY: yDomainValues.max.y\n } as S);\n }\n }\n }\n\n // Getting the min and max values among all the x values\n getXMinMaxValues(datum: Array<{x: number, y: any}>) {\n if (!datum) {\n return;\n }\n const xValues: any = {};\n /*\n compute the min x valuex\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n min x: 1\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n min x: 10\n */\n xValues.min = minBy(datum, (dataObject: {x: any, y: any}) => dataObject.x) || {x: undefined};\n /*\n compute the max x value\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n max x: 3\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n max x: 30\n */\n xValues.max = maxBy(datum, (dataObject: {x: any, y: any}) => dataObject.x)|| {x: undefined};\n return xValues;\n }\n\n // Getting the min and max values among all the y values\n getYMinMaxValues(datum: Array<Array<{x: any, y: number}>>) {\n const yValues: any = {},\n minValues: any = [],\n maxValues: any = [];\n if (!datum) {\n return;\n }\n\n /*\n Getting the min and max y values among all the series of data\n compute the min y value\n eg: When data has objects\n input: [[{x:1, y:2}, {x:2, y:3}, {x:3, y:4}], [{x:2, y:3}, {x:3, y:4}, {x:4, y:5}]]\n min y values : '2'(among first set) & '3'(among second set)\n max y values : '4'(among first set) & '5'(among second set)\n\n eg: When data has arrays\n input: [[[10, 20], [20, 30], [30, 40]], [[20, 30], [30, 40], [40, 50]]]\n min y values : '20'(among first set) & '30'(among second set)\n max y values : '40'(among first set) & '50'(among second set)\n */\n\n forEach(datum, data => {\n if (data && !isEmpty(data)) {\n minValues.push(minBy(data, (dataObject: {x: any, y: any}) => { return dataObject.y }));\n maxValues.push(maxBy(data, (dataObject: {x: any, y: any}) => { return dataObject.y }));\n }\n });\n // Gets the least and highest values among all the min and max values of respective series of data\n yValues.min = minBy(minValues, (dataObject: {x: any, y: any}) => dataObject.y) || {y: undefined};\n yValues.max = maxBy(maxValues, (dataObject: {x: any, y: any}) => dataObject.y) || {y: undefined};\n return yValues;\n }\n\n setHeightWidthOnChart(cb?: () => void) {\n let height = this.styles.root.height || 250;\n let width = this.styles.root.width || screenWidth;\n if (height && typeof height === 'string') {\n height = parseInt(height);\n }\n if (width && typeof width === 'string') {\n width = parseInt(width);\n }\n this.updateState({\n chartHeight: height,\n chartWidth: width\n } as S, cb);\n }\n\n applyTheme(props: BaseChartComponentProps) {\n let themeName = props.theme ? props.theme : (props.type === 'Pie' ? 'Azure' : 'Terrestrial');\n let colorsToUse = [];\n if (typeof props.customcolors === 'string' && !isEmpty(props.customcolors)) {\n colorsToUse = props.customcolors.split(',').map(trim);\n }\n let themeToUse;\n if (typeof themeName === 'string') {\n if (!colorsToUse.length) {\n colorsToUse = props.customcolors as string[];\n }\n if(props.customcolors===undefined) {\n colorsToUse = ThemeFactory.getColorsObj(themeName);\n }\n themeToUse = ThemeFactory.getTheme(themeName, props.styles, colorsToUse);\n } else if (typeof themeName === 'object') {\n // if theme is passed as an object then use that custom theme.\n themeToUse = props.theme;\n }\n this.updateState({\n colors: colorsToUse,\n theme: themeToUse\n } as S);\n }\n\n prepareLegendData() {\n const props = this.state.props;\n if (this.state.yAxis) {\n let ldata: any;\n if (props.type === 'Stack') {\n const data = orderBy(this.state.data[0], 'y', 'asc');\n ldata = data.map((d: any) => {\n return {\n name: this.state.xaxisDatakeyArr[d.x]\n }\n });\n } else {\n ldata = this.state.yAxis.map((d: string) => {\n return {\n name: d\n }\n });\n }\n\n this.updateState({\n legendData: ldata\n } as S);\n }\n }\n\n prepareEvents(name: string) {\n return this.state.legendData.map((_: any, idx: number) => {\n return {\n childName: ['legend'],\n target: 'data',\n eventKey: String(idx),\n eventHandlers: {\n onClick: () => {\n return [\n {\n childName: [name + '_' + idx],\n target: 'data',\n eventKey: 'all',\n mutation: (props: any) => {\n return null;\n }\n }\n ];\n },\n onMouseOver: () => {\n },\n onMouseOut: () => {\n }\n }\n };\n });\n }\n\n // If date string is bound to xaxis then we are pushing the x values as indexes.\n getxAxisVal(dataObj: {[key: string] : any}, xKey: string, index: number, xaxisDatakeyArr: Array<any>) {\n const value: any = get(dataObj, xKey);\n if (moment(value).isValid() || isNaN(value) || typeof value === 'string' || typeof value === 'number') {\n if (typeof value === \"string\"){\n xaxisDatakeyArr.push(value.replace(\"\\\\n\",\"\\n\"));\n }\n else{\n xaxisDatakeyArr.push(value);\n }\n return index;\n }\n return value;\n }\n\n prepareDataItems(dataset: any) {\n const props = this.state.props;\n let xaxis = props.xaxisdatakey;\n let yaxis = props.yaxisdatakey;\n let xaxisDatakeyArr: Array<any> = [];\n let datasets: any = [];\n if (dataset.length === 0) {\n dataset = constructSampleData(getChartType(this.props), yaxis?.split(','), this.props.shape);\n xaxis = \"x\";\n yaxis = \"y\";\n }\n if (xaxis && yaxis) {\n let yPts = yaxis.split(',');\n yPts.forEach((y: any) => {\n if (xaxis !== y) {\n datasets.push(dataset.map((o: {[key: string] : any}, xindex: number) => {\n const xVal = this.getxAxisVal(o, xaxis, xindex, xaxisDatakeyArr);\n let yVal: string | number = get(o, y);\n if (typeof yVal === 'string') {\n yVal = parseFloat(yVal) || yVal;\n }\n let dataObj = {\n x: xVal,\n y: yVal,\n };\n if (props.bubblesize) {\n set(dataObj, 'size', get(o, props.bubblesize, 5));\n }\n if (props.shape) {\n set(dataObj, 'symbol', shapes[props.shape]);\n }\n return dataObj;\n }));\n }\n });\n // chartTransform\n this.invokeEventCallback('onTransform', [undefined, this.proxy]);\n if (props.type == 'Pie' || props.type === 'Donut') {\n // for animation effect\n setTimeout(() => {\n this.updateState({\n endAngle: 360,\n } as S);\n }, 500);\n }\n this.updateData(datasets, yPts, xaxisDatakeyArr);\n }\n }\n\n\n protected renderLoadingIcon() {\n const props = this.state.props;\n return (<WmIcon id={this.getTestId('loadericon')} styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>);\n }\n\n updateData(datasets: any, yPts: any, xaxisDatakeyArr: Array<any>) {\n const props = this.state.props;\n this.updateState({\n data: datasets as any,\n yAxis: yPts,\n xaxisDatakeyArr: xaxisDatakeyArr\n } as S, () => {\n this.prepareLegendData();\n if (!props.labeltype || props.labeltype === 'percent') {\n this.setTotal(this.state.data[0]);\n }\n if (this.isAxisDomainSupported(props.type) && (props.ydomain || props.xdomain)) {\n this.setDomainValues();\n }\n this.updateState({\n loading: false\n } as S);\n });\n }\n\n setTotal(data: Array<{x: any, y: number}>) {\n let total = 0;\n data.forEach((d: {x: any, y: any}) => {\n total += d.y as number;\n });\n this.updateState({\n total: total\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n let units = '';\n switch(name) {\n case 'customcolors':\n if (isEmpty($new)) {\n return;\n }\n if (typeof $new === 'string') {\n $new = $new.split(',');\n }\n this.updateState({\n colors: $new\n } as S);\n break;\n case 'theme':\n this.applyTheme(props);\n break;\n case 'dataset':\n if (!isArray($new)) {\n if (isObject($new) && !isEmpty($new)) {\n $new = [$new];\n } else {\n $new = [];\n }\n }\n $new && this.prepareDataItems($new);\n break;\n case 'xaxislabel':\n if (props.xunits) {\n units = ' (' + props.xunits + ')';\n }\n this.updateState({\n xLabel: $new + units\n } as S);\n break;\n case 'yaxislabel':\n if (props.yunits) {\n units = ' (' + props.yunits + ')';\n }\n this.updateState({\n yLabel: $new + units\n } as S);\n break;\n }\n }\n\n public renderSkeleton(props: T): React.ReactNode {\n if(props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles?.root]}>\n <WmLottie styles={{ content: {...this.styles?.root, ...this.styles?.skeleton?.root} }} source={props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n }\n return null;\n }\n}\nfunction getDataType(widgetContext: { yaxisdatakey: string | null | undefined; shape: any; }): any {\n throw new Error(\"Function not implemented.\");\n}\n\n"],"mappings":"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","ignoreList":[]}
@@ -37,7 +37,7 @@ export default class BaseChartComponentProps extends SkeletonAnimationProps {
37
37
  _defineProperty(this, "offsetright", 25);
38
38
  _defineProperty(this, "showlegend", 'top');
39
39
  _defineProperty(this, "showlabels", 'outside');
40
- _defineProperty(this, "tooltips", false);
40
+ _defineProperty(this, "tooltips", true);
41
41
  _defineProperty(this, "interpolation", 'linear');
42
42
  _defineProperty(this, "highlightpoints", false);
43
43
  _defineProperty(this, "showvalues", false);
@@ -1 +1 @@
1
- {"version":3,"names":["SkeletonAnimationProps","BaseChartComponentProps","constructor","args","_defineProperty","undefined"],"sources":["basechart.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker/app-rn-runtime/runtime/base-fragment.component';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class BaseChartComponentProps extends SkeletonAnimationProps {\n xaxisdatakey: string = '';\n yaxisdatakey: string = '';\n iconclass = '';\n dataset: any;\n type: string = '';\n title: string = '';\n subheading: string = '';\n theme: string = '';\n xaxislabel: string = '';\n xunits: string = '';\n staggerlabels: boolean = false;\n yaxislabel: string = '';\n yunits: string = '';\n yaxislabeldistance?: number = undefined;\n xaxislabeldistance?: number = undefined;\n offsetxaxis?: number = undefined;\n offsetyaxis?: number = undefined;\n customcolors: string | Array<string> = '';\n legendheight: number = 0;\n labellegendheight: number = 0;\n labeltype: 'percent' | 'value' | 'key-value' | 'key' = 'percent';\n bubblesize: string= '';\n shape: string = '';\n loadingicon='fa fa-circle-o-notch fa-pulse';\n loadingdatamsg = 'Loading...';\n nodatamessage = 'No data found';\n offsetbottom: number = 50;\n offsettop: number = 70;\n offsetleft: number = 65;\n offsetright: number = 25;\n showlegend: string = 'top';\n showlabels: 'inside' | 'outside' | 'hide' = 'outside';\n tooltips: boolean = false;\n interpolation: string = 'linear';\n highlightpoints: boolean = false;\n showvalues: boolean = false;\n showyaxis: boolean = true;\n showxaxis: boolean = true;\n ydomain: string = 'Min';\n xdomain: string = 'Min';\n labelangle: number = 0;\n xtickexpr?: (item: any, index: number, length: number) => any;\n ytickexpr?: (item: any, index: number, length: number) => any;\n hidegridxaxis: boolean = false;\n hidegridyaxis: boolean = false;\n autoadjustlabels: boolean = false;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole;\n renderitempartial?: (item: any, index: number, partialName: string)=> React.ReactNode;\n ynumberformat?: string = '';\n showxaxislabels: boolean = true;\n showyaxislabels: boolean = true;\n}\n"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,2DAA2D;AAGlG,eAAe,MAAMC,uBAAuB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBACnD,EAAE;IAAAA,eAAA,uBACF,EAAE;IAAAA,eAAA,oBACb,EAAE;IAAAA,eAAA;IAAAA,eAAA,eAEC,EAAE;IAAAA,eAAA,gBACD,EAAE;IAAAA,eAAA,qBACG,EAAE;IAAAA,eAAA,gBACP,EAAE;IAAAA,eAAA,qBACG,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,wBACM,KAAK;IAAAA,eAAA,qBACT,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,6BACWC,SAAS;IAAAD,eAAA,6BACTC,SAAS;IAAAD,eAAA,sBAChBC,SAAS;IAAAD,eAAA,sBACTC,SAAS;IAAAD,eAAA,uBACO,EAAE;IAAAA,eAAA,uBAClB,CAAC;IAAAA,eAAA,4BACI,CAAC;IAAAA,eAAA,oBAC0B,SAAS;IAAAA,eAAA,qBAC5C,EAAE;IAAAA,eAAA,gBACN,EAAE;IAAAA,eAAA,sBACN,+BAA+B;IAAAA,eAAA,yBAC1B,YAAY;IAAAA,eAAA,wBACb,eAAe;IAAAA,eAAA,uBACR,EAAE;IAAAA,eAAA,oBACL,EAAE;IAAAA,eAAA,qBACD,EAAE;IAAAA,eAAA,sBACD,EAAE;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA,qBACkB,SAAS;IAAAA,eAAA,mBACjC,KAAK;IAAAA,eAAA,wBACD,QAAQ;IAAAA,eAAA,0BACL,KAAK;IAAAA,eAAA,qBACV,KAAK;IAAAA,eAAA,oBACN,IAAI;IAAAA,eAAA,oBACJ,IAAI;IAAAA,eAAA,kBACP,KAAK;IAAAA,eAAA,kBACL,KAAK;IAAAA,eAAA,qBACF,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBAGG,KAAK;IAAAA,eAAA,wBACL,KAAK;IAAAA,eAAA,2BACF,KAAK;IAAAA,eAAA,6BACHC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBAGA,EAAE;IAAAA,eAAA,0BACA,IAAI;IAAAA,eAAA,0BACJ,IAAI;EAAA;AACjC","ignoreList":[]}
1
+ {"version":3,"names":["SkeletonAnimationProps","BaseChartComponentProps","constructor","args","_defineProperty","undefined"],"sources":["basechart.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker/app-rn-runtime/runtime/base-fragment.component';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class BaseChartComponentProps extends SkeletonAnimationProps {\n xaxisdatakey: string = '';\n yaxisdatakey: string = '';\n iconclass = '';\n dataset: any;\n type: string = '';\n title: string = '';\n subheading: string = '';\n theme: string = '';\n xaxislabel: string = '';\n xunits: string = '';\n staggerlabels: boolean = false;\n yaxislabel: string = '';\n yunits: string = '';\n yaxislabeldistance?: number = undefined;\n xaxislabeldistance?: number = undefined;\n offsetxaxis?: number = undefined;\n offsetyaxis?: number = undefined;\n customcolors: string | Array<string> = '';\n legendheight: number = 0;\n labellegendheight: number = 0;\n labeltype: 'percent' | 'value' | 'key-value' | 'key' = 'percent';\n bubblesize: string= '';\n shape: string = '';\n loadingicon='fa fa-circle-o-notch fa-pulse';\n loadingdatamsg = 'Loading...';\n nodatamessage = 'No data found';\n offsetbottom: number = 50;\n offsettop: number = 70;\n offsetleft: number = 65;\n offsetright: number = 25;\n showlegend: string = 'top';\n showlabels: 'inside' | 'outside' | 'hide' = 'outside';\n tooltips: boolean = true;\n interpolation: string = 'linear';\n highlightpoints: boolean = false;\n showvalues: boolean = false;\n showyaxis: boolean = true;\n showxaxis: boolean = true;\n ydomain: string = 'Min';\n xdomain: string = 'Min';\n labelangle: number = 0;\n xtickexpr?: (item: any, index: number, length: number) => any;\n ytickexpr?: (item: any, index: number, length: number) => any;\n hidegridxaxis: boolean = false;\n hidegridyaxis: boolean = false;\n autoadjustlabels: boolean = false;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole;\n renderitempartial?: (item: any, index: number, partialName: string)=> React.ReactNode;\n ynumberformat?: string = '';\n showxaxislabels: boolean = true;\n showyaxislabels: boolean = true;\n}\n"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,2DAA2D;AAGlG,eAAe,MAAMC,uBAAuB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBACnD,EAAE;IAAAA,eAAA,uBACF,EAAE;IAAAA,eAAA,oBACb,EAAE;IAAAA,eAAA;IAAAA,eAAA,eAEC,EAAE;IAAAA,eAAA,gBACD,EAAE;IAAAA,eAAA,qBACG,EAAE;IAAAA,eAAA,gBACP,EAAE;IAAAA,eAAA,qBACG,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,wBACM,KAAK;IAAAA,eAAA,qBACT,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,6BACWC,SAAS;IAAAD,eAAA,6BACTC,SAAS;IAAAD,eAAA,sBAChBC,SAAS;IAAAD,eAAA,sBACTC,SAAS;IAAAD,eAAA,uBACO,EAAE;IAAAA,eAAA,uBAClB,CAAC;IAAAA,eAAA,4BACI,CAAC;IAAAA,eAAA,oBAC0B,SAAS;IAAAA,eAAA,qBAC5C,EAAE;IAAAA,eAAA,gBACN,EAAE;IAAAA,eAAA,sBACN,+BAA+B;IAAAA,eAAA,yBAC1B,YAAY;IAAAA,eAAA,wBACb,eAAe;IAAAA,eAAA,uBACR,EAAE;IAAAA,eAAA,oBACL,EAAE;IAAAA,eAAA,qBACD,EAAE;IAAAA,eAAA,sBACD,EAAE;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA,qBACkB,SAAS;IAAAA,eAAA,mBACjC,IAAI;IAAAA,eAAA,wBACA,QAAQ;IAAAA,eAAA,0BACL,KAAK;IAAAA,eAAA,qBACV,KAAK;IAAAA,eAAA,oBACN,IAAI;IAAAA,eAAA,oBACJ,IAAI;IAAAA,eAAA,kBACP,KAAK;IAAAA,eAAA,kBACL,KAAK;IAAAA,eAAA,qBACF,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBAGG,KAAK;IAAAA,eAAA,wBACL,KAAK;IAAAA,eAAA,2BACF,KAAK;IAAAA,eAAA,6BACHC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBAGA,EAAE;IAAAA,eAAA,0BACA,IAAI;IAAAA,eAAA,0BACJ,IAAI;EAAA;AACjC","ignoreList":[]}
@@ -26,8 +26,8 @@ export class WmListState extends BaseComponentState {
26
26
  }
27
27
  }
28
28
  export default class WmList extends BaseComponent {
29
- constructor(props) {
30
- super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());
29
+ constructor(_props) {
30
+ super(_props, DEFAULT_CLASS, new WmListProps(), new WmListState());
31
31
  _defineProperty(this, "itemWidgets", []);
32
32
  _defineProperty(this, "selectedItemWidgets", {});
33
33
  _defineProperty(this, "keyExtractor", new DefaultKeyExtractor());
@@ -59,6 +59,20 @@ export default class WmList extends BaseComponent {
59
59
  }
60
60
  return this.selectedItems;
61
61
  });
62
+ _defineProperty(this, "selectAll", () => {
63
+ const props = this.state.props;
64
+ const dataset = props.dataset;
65
+ if (!props.multiselect || !isArray(dataset) || dataset.length === 0) {
66
+ return;
67
+ }
68
+ const selectedItems = [...dataset];
69
+ this.updateState({
70
+ props: {
71
+ selecteditem: selectedItems
72
+ },
73
+ selectedindex: -1
74
+ });
75
+ });
62
76
  _defineProperty(this, "scrollToItem", (groupKey, itemIndex) => {
63
77
  const refKey = groupKey || 'main';
64
78
  if (this.flatListRefs[refKey]) {