react-crud-mobile 1.0.38 → 1.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/core/Input.d.ts +2 -1
- package/dist/react-crud-mobile.cjs.development.js +82 -28
- package/dist/react-crud-mobile.cjs.development.js.map +1 -1
- package/dist/react-crud-mobile.cjs.production.min.js +1 -1
- package/dist/react-crud-mobile.cjs.production.min.js.map +1 -1
- package/dist/react-crud-mobile.esm.js +83 -29
- package/dist/react-crud-mobile.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/elements/core/Button.tsx +63 -10
- package/src/elements/core/Input.tsx +15 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-crud-mobile.cjs.production.min.js","sources":["../src/elements/UIChildren.tsx","../src/elements/grid/ElGridColumn.tsx","../src/elements/grid/ElGridCheck.tsx","../src/elements/grid/ElGridRow.tsx","../src/elements/grid/ElGridPaginator.tsx","../src/elements/grid/ElGridTop.tsx","../src/elements/grid/ElGridFilter.tsx","../src/elements/grid/ElGridBotom.tsx","../src/elements/core/Icon.tsx","../src/elements/grid/ElLabel.tsx","../src/elements/grid/ElGrid.tsx","../src/elements/grid/ElInclude.tsx","../src/elements/card/ElCard.tsx","../src/elements/tabs/ElTabs.tsx","../src/elements/charts/ElChart.tsx","../src/elements/core/AutoComplete.tsx","../src/elements/UIComplete.tsx","../src/elements/grid/ElRepeatRow.tsx","../src/elements/grid/ElRepeat.tsx","../src/elements/core/Link.tsx","../src/elements/core/Button.tsx","../src/elements/core/Select.tsx","../src/elements/core/Switch.tsx","../src/elements/core/Option.tsx","../src/elements/core/Radio.tsx","../src/elements/core/Input.tsx","../src/elements/UIElement.tsx","../src/elements/UI.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport UIElement from \"./UIElement\";\nimport { Crud, Scope, ScopeUtils, Utils } from \"react-crud-utils\";\n\ninterface UIChildrenType {\n scope: Scope;\n crud?: Crud;\n validateScope?: String;\n children?: any;\n elements?: any;\n transient?: boolean;\n part?: string;\n childProps?: any;\n}\n\nexport default function UIChildren(props: UIChildrenType) {\n let [scope] = useState(Utils.nvl(props.scope, ScopeUtils.create(props)));\n let crud = Utils.nvl(props.crud, scope.crud);\n let validateScope = Utils.nvl(props.validateScope, \"global\");\n let name = Utils.nvl(props.part, \"child\");\n\n if (scope.isInput()) {\n return <></>;\n }\n\n let Paint = ({ child }: any) => {\n if (!child) {\n return <></>;\n }\n if (typeof child === \"string\") {\n return <>{child}</>;\n }\n\n let Custom = child.type;\n let pps = { ...child.props };\n\n delete pps.children;\n\n if (typeof Custom === \"string\") {\n if (Utils.isEmpty(child.props.children)) {\n return <Custom {...pps} />;\n }\n return (\n <Custom {...pps}>\n <UIChildren\n transient\n validateScope={validateScope}\n {...child.props}\n scope={scope}\n crud={crud}\n ></UIChildren>\n </Custom>\n );\n } else if (typeof Custom === \"function\") {\n return (\n <Custom\n validateScope={validateScope}\n {...child.props}\n parent={scope}\n crud={crud}\n ></Custom>\n );\n }\n\n if (!Utils.isEmpty(child.props.children)) {\n return (\n <UIChildren\n validateScope={validateScope}\n {...child.props}\n scope={scope}\n crud={crud}\n transient\n ></UIChildren>\n );\n }\n return <></>;\n };\n\n const Draw = () => {\n if (props.elements) {\n return (\n <>\n {Object.entries(props.elements).map((t: any, k) => {\n return <UIElement crud={crud} {...t[1]} />;\n })}\n </>\n );\n }\n return (\n <>\n {React.Children.map(props.children, (child) => {\n return <Paint child={child}></Paint>;\n })}\n </>\n );\n };\n\n if (props.transient) {\n return <Draw />;\n }\n\n if (Utils.isEmpty(props.children) && Utils.isEmpty(props.elements)) {\n return <></>;\n }\n\n return (\n <>\n <div\n className={scope.getStyleClass(name)}\n style={scope.getStyle(name)}\n {...props.childProps}\n >\n <Draw />\n </div>\n </>\n );\n}\n","import React, { useState } from \"react\";\nimport UIChildren from \"../UIChildren\";\nimport { Scope, Utils } from \"react-crud-utils\";\n\ninterface ElGridColumnType {\n scope: Scope;\n styleClass?: string;\n children?: any;\n colspan?: number;\n column?: any;\n}\n\nexport default function ElGridColumn(props: ElGridColumnType) {\n let scope = props.scope;\n let col = Utils.nvl(props.column?.props, {});\n let [colScope] = useState(new Scope(col, scope, scope.crud));\n\n let getStyleClass = () => {\n let def = Utils.nvl(props.styleClass, \"\");\n\n return \"ui-grid-col \" + def + \" \" + colScope.getStyleClass(\"column\");\n };\n return (\n <td\n className={getStyleClass()}\n style={colScope.getStyle(\"column\")}\n colSpan={props.colspan}\n >\n <UIChildren scope={scope}>{props.children}</UIChildren>\n </td>\n );\n}\n","import UI from '../UI';\nimport Ionicons from '@expo/vector-icons/Ionicons';\nimport { useState } from 'react';\nimport { GridRowType, Utils } from 'react-crud-utils';\n\nexport default function ElGridCheck({ scope, value, rowIndex }: GridRowType) {\n let original = scope.original;\n let [index, setIndex] = useState(0);\n let key = scope.key('check', rowIndex, 's', index);\n\n let check = () => {\n let cs = scope.crudSearch;\n\n if (cs) {\n if (!cs.selecteds) {\n cs.selecteds = {};\n }\n\n let itemValue = Utils.nvl(original.itemValue, 'id');\n let key = value[itemValue];\n\n if (typeof key !== 'undefined') {\n if (typeof cs.selecteds[key] === 'undefined') {\n cs.selecteds[key] = value;\n } else {\n delete cs.selecteds[key];\n }\n }\n }\n setIndex(++index);\n };\n\n let getCheckIcon = () => {\n if (isChecked()) {\n return <Ionicons />;\n }\n return <Ionicons />;\n };\n\n let isChecked = () => {\n let cs = scope.crudSearch;\n\n if (cs) {\n if (!cs.selecteds) {\n cs.selecteds = {};\n }\n\n let itemValue = Utils.nvl(original.itemValue, 'id');\n let key = value[itemValue];\n\n if (typeof key !== 'undefined') {\n if (typeof cs.selecteds[key] !== 'undefined') {\n return true;\n }\n }\n }\n return false;\n };\n\n return (\n <UI.Button\n key={key}\n icon={getCheckIcon()}\n click={{ action: check }}\n ></UI.Button>\n );\n}\n","import React, { useState } from 'react';\nimport ElGridColumn from './ElGridColumn';\nimport ElGridCheck from './ElGridCheck';\nimport Ionicons from '@expo/vector-icons/Ionicons';\nimport UI from '../UI';\nimport UIChildren from '../UIChildren';\nimport {\n ComponentUtils,\n CrudUtils,\n ListType,\n RowType,\n Scope,\n Utils,\n} from 'react-crud-utils';\n\nexport default function ElGridRow(props: RowType) {\n let expansion = props.expansion;\n let value = props.value;\n let scope = props.scope;\n let index = props.index;\n let original: ListType = scope.original;\n\n let row = CrudUtils.create('row', {\n index,\n row: true,\n itemVar: scope.original.itemVar,\n parent: scope.crudSearch,\n data: value,\n });\n\n let [expanded, setExpanded] = useState(false);\n let [rowScope] = useState(new Scope(scope.original, scope, row));\n\n let getRowStyleClass = () => {\n let s = 'ui-grid-row';\n\n s = s + ' ui-grid-row-';\n\n if (index % 2 == 0) {\n s = s + 'even';\n } else {\n s = s + 'odd';\n }\n return s;\n };\n\n let cols = ComponentUtils.getChild(props, 'Column');\n let colspan = cols.length;\n\n let ExpansionStatus = () => {\n return (\n <>\n {!expanded && <Ionicons />}\n {expanded && <Ionicons />}\n </>\n );\n };\n\n let onExpansion = () => {\n setExpanded(!expanded);\n };\n\n let hasExpansion = !Utils.isEmpty(expansion);\n let multiple = original.multiple;\n\n if (hasExpansion) colspan++;\n if (multiple) colspan++;\n\n return (\n <>\n <tr className={getRowStyleClass()} style={rowScope.getStyle('row')}>\n {hasExpansion && (\n <ElGridColumn\n key={'r' + index + 'e'}\n scope={rowScope}\n styleClass=\"ui-click ui-icon-only ui-expansion\"\n >\n <UI.Button\n icon={<ExpansionStatus />}\n click={onExpansion}\n ></UI.Button>\n </ElGridColumn>\n )}\n {multiple && (\n <ElGridColumn\n key={'r' + index + 'c'}\n scope={rowScope}\n styleClass=\"ui-click ui-icon-only ui-multiple\"\n >\n <ElGridCheck\n key={'check-' + index}\n scope={scope}\n value={value}\n rowIndex={index}\n />\n </ElGridColumn>\n )}\n {cols.map((col: any, i: number) => (\n <ElGridColumn\n column={col}\n key={'r' + index + 'c' + i}\n scope={rowScope}\n >\n {col}\n </ElGridColumn>\n ))}\n </tr>\n {expanded && (\n <tr className={getRowStyleClass()} style={rowScope.getStyle('row')}>\n <ElGridColumn\n key={'r' + index + '-expanded'}\n scope={rowScope}\n colspan={colspan}\n >\n <UIChildren {...props} crud={row}>\n {expansion}\n </UIChildren>\n </ElGridColumn>\n </tr>\n )}\n </>\n );\n}\n","import React, { useState } from 'react';\nimport UI from '../UI';\nimport { ChildType, Utils } from 'react-crud-utils';\nimport Ionicons from '@expo/vector-icons/Ionicons';\n\ninterface ElGridPaginatorType extends ChildType {\n next?: boolean;\n previous?: boolean;\n first?: boolean;\n size?: boolean;\n last?: boolean;\n position: string;\n}\n\nexport default function ElGridPaginator({\n scope,\n next,\n previous,\n first,\n size,\n last,\n position,\n}: ElGridPaginatorType) {\n let [sizes] = useState([10, 20, 30, 50, 100, 200, 500]);\n let defaults = {\n crud: scope.crudSearch,\n owner: scope,\n variant: scope.attr('variant', 'text'),\n };\n\n let paginatorPosition = Utils.nvl(scope.original.paginatorPosition, 'bottom');\n\n if (paginatorPosition !== position) {\n return <></>;\n }\n\n return (\n <>\n <UI.Button\n field=\"first\"\n space={0}\n rendered={first !== false}\n {...defaults}\n click=\"first\"\n icon={<Ionicons />}\n ></UI.Button>\n <UI.Button\n field=\"previous\"\n space={0}\n rendered={previous !== false}\n click=\"previous\"\n {...defaults}\n icon={<Ionicons />}\n ></UI.Button>\n <UI.Select\n field=\"size\"\n space={0}\n rendered={size !== false}\n default={10}\n {...defaults}\n data={sizes}\n change=\"search\"\n ></UI.Select>\n <UI.Button\n field=\"next\"\n space={0}\n rendered={next !== false}\n {...defaults}\n click=\"next\"\n icon={<Ionicons />}\n ></UI.Button>\n <UI.Button\n field=\"last\"\n space={0}\n rendered={last !== false}\n {...defaults}\n click=\"last\"\n icon={<Ionicons />}\n ></UI.Button>\n </>\n );\n}\n","import UI from '../UI';\nimport Ionicons from '@expo/vector-icons/Ionicons';\nimport ElGridPaginator from './ElGridPaginator';\nimport { ChildType } from 'react-crud-utils';\n\nexport default function ElGridTop(props: ChildType) {\n let scope = props.scope;\n\n return (\n <>\n <UI.Output styleClass=\"ui-grid-top\">\n <UI.Output field=\"search\" position=\"left\" space={4}>\n <UI.Include {...props} transient name=\"top\" position=\"left\" />\n <UI.Text\n field=\"query\"\n space={0}\n label=\"Pesquisar\"\n placeholder={scope.attr('placeholder', 'Pesquisar')}\n >\n <UI.Define name=\"right\">\n <UI.Button\n field=\"search\"\n icon={<Ionicons />}\n space={0}\n variant=\"text\"\n owner={scope}\n click={'search'}\n ></UI.Button>\n </UI.Define>\n </UI.Text>\n </UI.Output>\n <UI.Output position=\"right\" space={8}>\n <UI.Include {...props} transient name=\"top\" position=\"right\" />\n <ElGridPaginator\n scope={scope}\n last={false}\n first={false}\n position=\"top\"\n ></ElGridPaginator>\n </UI.Output>\n </UI.Output>\n </>\n );\n}\n","import { ChildType } from \"react-crud-utils\";\n\nexport default function ElGridFilter(props: ChildType) {\n return <></>;\n}\n","import React, { useState } from \"react\";\nimport ElGridPaginator from \"./ElGridPaginator\";\nimport UI from \"../UI\";\nimport { ChildType } from \"react-crud-utils\";\n\nexport default function ElGridBotom(props: ChildType) {\n let scope = props.scope;\n let children = props.children;\n\n return (\n <div className=\"ui-grid-bottom\">\n <div className=\"ui-grid-bottom-inner\">\n <UI.Include {...props} transient name=\"bottomLeft\" />\n <ElGridPaginator scope={scope} position=\"bottom\">\n {children}\n </ElGridPaginator>\n <UI.Include {...props} transient name=\"bottomRight\" />\n </div>\n </div>\n );\n}\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Icon(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import React from 'react';\nimport UI from '../UI';\nimport { ChildType, Utils } from 'react-crud-utils';\nimport Icon from '../core/Icon';\n\ninterface ElLabelType extends ChildType {\n position?: string;\n}\nexport default function ElLabel(props: ElLabelType) {\n let scope = props.scope;\n let original = scope.original;\n let defaultPos = 'outside';\n\n let elPos = Utils.nvl(original.labelPos, defaultPos);\n let lbPos = Utils.nvl(props.position, defaultPos);\n\n if (elPos != lbPos) {\n return <></>;\n }\n\n const CustomIcon = () => {\n if (!scope.is('type', 'list', 'grid')) {\n return <></>;\n }\n\n if (typeof original.icon === 'string') {\n return (\n <div className=\"ui-label-icon\">\n <Icon className={scope.getIcon()}></Icon>\n </div>\n );\n }\n return <div className=\"ui-label-icon\">{original.icon}</div>;\n };\n\n let label = scope.getLabel();\n\n return (\n <div className={'ui-label ui-label-' + lbPos}>\n <div className=\"ui-label-left\">\n <UI.Include {...props} transient name=\"label\" position=\"left\" />\n <CustomIcon />\n {label && <div className=\"ui-label-value\">{label}</div>}\n </div>\n <div className=\"ui-label-right\">\n <UI.Include {...props} transient name=\"label\" position=\"right\" />\n </div>\n </div>\n );\n}\n","import ElGridRow from './ElGridRow';\nimport ElGridTop from './ElGridTop';\nimport ElGridFilter from './ElGridFilter';\nimport ElGridBotom from './ElGridBotom';\nimport ElLabel from './ElLabel';\nimport { ChildType, ComponentUtils, Scope } from 'react-crud-utils';\n\nexport default function ElGrid(props: ChildType) {\n let scope: Scope = props.scope;\n let items: any = scope.getItems();\n let expansion = ComponentUtils.getDefine(props, 'expansion');\n\n return (\n <div\n className={scope.getStyleClass('inner')}\n style={scope.getStyle('inner')}\n >\n <ElLabel {...props} scope={scope} position=\"outside\"></ElLabel>\n <div\n className={scope.getStyleClass('child')}\n style={scope.getStyle('child')}\n >\n <ElLabel {...props} scope={scope} position=\"inside\"></ElLabel>\n <div className=\"ui-data\">\n <ElGridTop {...props} scope={scope}></ElGridTop>\n <ElGridFilter scope={scope}></ElGridFilter>\n <div className=\"ui-grid-data\">\n <table className=\"ui-grid ui-table\">\n <tbody>\n {items.map((row: any, i: number) => (\n <ElGridRow\n {...props}\n expansion={expansion}\n key={'r' + i}\n scope={scope}\n value={row}\n index={i}\n />\n ))}\n </tbody>\n </table>\n </div>\n </div>\n <ElGridBotom {...props} scope={scope} />\n </div>\n </div>\n );\n}\n","import UIChildren from \"../UIChildren\";\nimport { ComponentUtils, DefineType, Utils } from \"react-crud-utils\";\n\nexport default function ElInclude(props: DefineType) {\n if (props.rendered === false) {\n return <></>;\n }\n\n let includes = ComponentUtils.getDefine(props, props.name, props.position);\n\n if (Utils.isEmpty(includes)) {\n includes = props.default;\n }\n\n if (!Utils.isEmpty(includes)) {\n let Aux = (tagProp: any) => {\n let Tag: any = props.tag;\n\n if (!Utils.isEmpty(Tag)) {\n return <Tag {...tagProp}>{tagProp.children}</Tag>;\n }\n return <>{tagProp.children}</>;\n };\n\n return (\n <Aux {...props.tagProps}>\n <UIChildren\n transient\n {...props}\n scope={props.scope}\n crud={props.crud}\n part={props.name}\n >\n {includes}\n </UIChildren>\n </Aux>\n );\n }\n return <>{includes}</>;\n}\n","import UIChildren from '../UIChildren';\nimport ElLabel from '../grid/ElLabel';\nimport ElInclude from '../grid/ElInclude';\nimport { ChildType } from 'react-crud-utils';\n\nexport default function ElCard(props: ChildType) {\n let scope = props.scope;\n\n return (\n <div\n className={scope.getStyleClass('inner')}\n style={scope.getStyle('inner')}\n >\n <ElLabel {...props} scope={scope}></ElLabel>\n <UIChildren {...props} scope={scope} />\n\n <div\n className={scope.getStyleClass('bottom')}\n style={scope.getStyle('bottom')}\n >\n <ElInclude {...props} scope={scope} name=\"bottom\" />\n </div>\n </div>\n );\n}\n","import React, { useState, useEffect } from 'react';\nimport UIChildren from '../UIChildren';\nimport UI from '../UI';\n\nimport Ionicons from '@expo/vector-icons/Ionicons';\nimport { ChildType, CrudUtils, Utils } from 'react-crud-utils';\n\nexport default function ElTabs(props: ChildType) {\n let scope = props.scope;\n let [selectedIndex, setSelectedIndex]: any = useState(0);\n let element = scope.original;\n let items = scope.getItems();\n let counter = 0;\n\n let tabs: any = [];\n let [selected, setSelected]: any = useState(null);\n\n const onChangeTab = (tab: any, validate = true) => {\n if (tab) {\n scope.execute({\n event: {\n validate,\n validateScope: element.validateScope,\n action: () => {\n scope.changeValue(tab.data);\n\n selected = tab;\n selectedIndex = tab.index;\n\n setSelectedIndex(selectedIndex);\n setSelected(tab);\n },\n },\n });\n }\n };\n\n const getStyleClass = (t: any) => {\n let s = 'ui-tabs-item ui-click';\n\n if (selected?.index === t.index) {\n s = s + ' ui-tab-selected';\n }\n return s;\n };\n\n const addTab = (child: any, item: any) => {\n let original = { ...child.props };\n\n if (!item) {\n item = scope.crud.data;\n }\n\n let crudTab = CrudUtils.create('tabs', {\n data: item,\n changed: item,\n parent: scope.crud,\n });\n\n let element = Utils.resolve(original, crudTab);\n\n if (element.rendered === false) {\n return;\n }\n\n tabs.push({\n ...element,\n child,\n element,\n original,\n index: counter++,\n data: item,\n });\n };\n\n React.Children.map(props.children, (child, index) => {\n if (Utils.isEmpty(items)) {\n addTab(child, {});\n } else {\n for (const i in items) {\n let o = items[i];\n\n addTab(child, o);\n }\n }\n });\n\n if (!selected) {\n onChangeTab(tabs[selectedIndex], false);\n }\n\n const nav = (i: any) => {\n let t = tabs[selectedIndex + i];\n\n onChangeTab(t);\n };\n\n const previous = () => {\n nav(-1);\n };\n\n const next = () => {\n nav(1);\n };\n\n let isStepper = element.layout === 'stepper';\n\n return (\n <div\n className={scope.getStyleClass('inner')}\n style={scope.getStyle('inner')}\n >\n <div className=\"ui-tabs-content\">\n <div className=\"ui-tabs-items\">\n {tabs.map((t: any, i: number) => (\n <div\n key={Utils.key(element.id, 'tab', i)}\n className={getStyleClass(t)}\n onClick={() => {\n onChangeTab(t);\n }}\n >\n {isStepper && <div className=\"ui-tab-item-divisor\" />}\n <div className=\"ui-tab-item-inner\">\n {isStepper && <div className=\"ui-step-line\" />}\n <div className=\"ui-tab-item-label\">\n {isStepper ? t.index + 1 : t.label}\n </div>\n </div>\n </div>\n ))}\n </div>\n {selected && (\n <>\n {isStepper && <div className=\"ui-tabs-label\">{selected.label}</div>}\n <div className=\"ui-tabs-area\">\n <UIChildren {...props} scope={scope}>\n {selected.child}\n </UIChildren>\n </div>\n {element.layout === 'stepper' && (\n <div className=\"ui-tabs-actions\">\n <UI.Output space={6} layout=\"left\">\n <UI.Include\n {...props}\n transient\n name=\"left\"\n default={\n <UI.Button\n rendered={selectedIndex > 0}\n icon={<Ionicons />}\n click={previous}\n />\n }\n />\n </UI.Output>\n <UI.Output space={6} layout=\"right\">\n <UI.Include\n {...props}\n transient\n name=\"right\"\n default={\n <UI.Button\n rendered={selectedIndex < tabs.length - 1}\n icon={<Ionicons />}\n click={next}\n />\n }\n />\n </UI.Output>\n </div>\n )}\n </>\n )}\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport { ChildType, Scope, Utils } from \"react-crud-utils\";\n\nexport default function ElChart(props: ChildType) {\n let scope: Scope = props.scope;\n let items: any = scope.getItems();\n let columns = Utils.asList(scope.original.columns);\n\n return <div className=\"ui-chart-data\"></div>;\n}\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function AutoComplete(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { ChildType } from 'react-crud-utils';\nimport AutoComplete from './core/AutoComplete';\n\nexport default function UIComplete({\n defaultsInput,\n defaultsUI,\n scope,\n}: ChildType) {\n return (\n <>\n <AutoComplete {...defaultsInput} {...defaultsUI} />\n </>\n );\n}\n","import React, { useState } from \"react\";\nimport UIChildren from \"../UIChildren\";\nimport { CrudUtils, RowType, Scope } from \"react-crud-utils\";\n\nexport default function ElRepeatRow(props: RowType) {\n let value = props.value;\n let scope = props.scope;\n let index = props.index;\n\n let row = CrudUtils.create(\"row\", {\n index,\n row: true,\n itemVar: scope.original.itemVar,\n parent: scope.crudSearch,\n data: value,\n });\n\n let [rowScope] = useState(new Scope(scope.original, scope, row));\n\n let getRowStyleClass = () => {\n let s = rowScope.getStyleClass(\"row\");\n\n s = s + \" ui-repeat-row-\";\n\n if (index % 2 == 0) {\n s = s + \"even\";\n } else {\n s = s + \"odd\";\n }\n return s;\n };\n\n return (\n <div className={getRowStyleClass()} style={rowScope.getStyle(\"row\")}>\n <UIChildren transient {...props} crud={row}>\n {props.children}\n </UIChildren>\n </div>\n );\n}\n","import ElRepeatRow from './ElRepeatRow';\nimport { ChildType, Scope } from 'react-crud-utils';\n\nexport default function ElRepeat(props: ChildType) {\n let scope: Scope = props.scope;\n let items: any = scope.getItems();\n\n return (\n <div\n className={scope.getStyleClass('inner')}\n style={scope.getStyle('inner')}\n >\n {items.map((row: any, i: number) => (\n <ElRepeatRow\n {...props}\n key={'r' + i}\n scope={scope}\n value={row}\n index={i}\n />\n ))}\n </div>\n );\n}\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Link(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Button(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Select(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Switch(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Option(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Radio(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Input(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport ElGrid from './grid/ElGrid';\nimport ElCard from './card/ElCard';\nimport UIChildren from './UIChildren';\nimport ElTabs from './tabs/ElTabs';\nimport ElLabel from './grid/ElLabel';\nimport ElChart from './charts/ElChart';\nimport UIComplete from './UIComplete';\nimport ElRepeat from './grid/ElRepeat';\nimport {\n Crud,\n HtmlUtils,\n ScopeUtils,\n Utils,\n ElementType,\n} from 'react-crud-utils';\nimport Link from './core/Link';\nimport Icon from './core/Icon';\nimport Button from './core/Button';\nimport Select from './core/Select';\nimport Switch from './core/Switch';\nimport Option from './core/Option';\nimport Radio from './core/Radio';\nimport Input from './core/Input';\nimport { Linking } from 'react-native';\n\nexport default function UIElement(props: ElementType) {\n let [scope] = useState(ScopeUtils.create(props));\n let [index, setIndex] = useState(0);\n let [error, setError]: string | any = useState(null);\n let options: any = scope.getOptions();\n let crud: Crud = Utils.nvl(props.crud, scope.crud);\n let original = scope.original;\n let type = original.type;\n let ref = useRef(null);\n\n scope.update = () => {\n setIndex(++index);\n };\n\n let router: any = {\n list: ElGrid,\n grid: ElGrid,\n label: ElLabel,\n card: ElCard,\n repeat: ElRepeat,\n tabs: ElTabs,\n chart: ElChart,\n };\n\n let CurrentRouter = () => {\n if (router[type]) {\n let Aux = router[type];\n\n return <Aux crud={crud} {...props} scope={scope} />;\n }\n return <></>;\n };\n\n const Custom = () => {\n let c: any = original.custom;\n\n if (c) {\n if (typeof c === 'string') {\n return (\n <UIElement\n element={{ value: c, type: 'dummy' }}\n crud={crud}\n ></UIElement>\n );\n }\n\n return (\n <UIElement\n type={c.type}\n tag={c.type}\n {...c.props}\n crud={crud}\n ></UIElement>\n );\n }\n\n return <></>;\n };\n\n if (scope.is('type', 'dummy')) {\n return <>{scope.getDisplayValue()}</>;\n }\n\n let onCheck = () => {\n let v = scope.getValue();\n let check = !(v === true);\n\n onChange({ target: { value: check } });\n };\n\n let onChange = (e: any) => {\n let val = e.target.value;\n\n if (scope.isType('integer', 'int', 'number')) {\n val = parseInt(val);\n } else if (scope.isType('decimal')) {\n val = parseFloat(val);\n }\n\n if (scope.isType('select', 'complete')) {\n val = scope.getSelectedItem(val);\n }\n\n scope.changeValue(val);\n scope.update();\n };\n\n let onClick = (e: any) => {\n scope.call('click');\n };\n\n let defaultsInput: any = {\n label: scope.getLabel(),\n value: scope.getValue(),\n onChange: onChange,\n };\n\n if (scope.isType('password')) {\n defaultsInput.type = 'password';\n }\n\n let elStyle = scope.getStyle('element');\n\n let defaultsUI: any = {\n required: scope.isRequired(),\n size: 'small',\n style: elStyle,\n placeholder: scope.attr('placeholder', 'Digite aqui'),\n };\n\n let isChecked = () => {\n let v = scope.getValue();\n\n return v === true;\n };\n\n let hasChildren = () => {\n if (scope.isInput()) {\n return false;\n }\n\n return !Utils.isEmpty(props.children) || !Utils.isEmpty(props.elements);\n };\n\n if (!scope.isRendered() || scope.is('type', 'define')) {\n return <></>;\n }\n\n scope.error = (msg: string) => {\n error = msg;\n setError(msg);\n };\n\n useEffect(() => {\n if (!scope.ready) {\n scope.ready = true;\n\n scope.call('load');\n\n if (scope.isType('list', 'repeat')) {\n scope.search();\n } else if (original.list) {\n scope.call('list');\n }\n scope.start();\n }\n });\n\n const CustomIcon = () => {\n if (typeof original.icon === 'string') {\n return <Icon>{scope.getIcon()}</Icon>;\n }\n return <>{original.icon}</>;\n };\n\n const getLabelClass = (type: string) => {\n let clss = `ui-text ui-${type}-text`;\n let icon = scope.getIcon();\n\n if (icon) {\n clss = clss + ` ui-icon ui-${type}-icon`;\n }\n return clss;\n };\n\n let hasCustomRoute = () => {\n if (router[type]) return true;\n return false;\n };\n\n scope.open = (args: any) => {\n Linking.openURL(args.url);\n };\n\n if (scope.isType('dialog')) {\n let name = original.name;\n\n if (!crud.dialogs[name]) {\n let dlg: any = { config: { ...original } };\n\n dlg.component = (args: any) => {\n return <UIChildren {...props} scope={scope} crud={crud} />;\n };\n\n crud.dialogs[name] = dlg;\n }\n return <></>;\n }\n\n useLayoutEffect(() => {\n if (ref?.current && scope.is('type', 'card', 'list', 'tabs', 'stepper')) {\n let el: any = ref?.current;\n\n if (el) {\n let bg = HtmlUtils.getBGColor(el);\n\n if (bg === 'rgb(255, 255, 255)') {\n el.classList.add('ui-dark');\n } else {\n el.classList.add('ui-light');\n }\n }\n }\n });\n\n const isShowInner = () => {\n if (hasChildren() || hasCustomRoute()) {\n return false;\n }\n return true;\n };\n\n return (\n <>\n <div\n className={'ui-el ' + scope.getStyleClass()}\n ref={ref}\n style={scope.getStyle()}\n >\n {isShowInner() && (\n <>\n <div\n className={scope.getStyleClass('inner')}\n style={scope.getStyle('inner')}\n >\n {scope.is('type', 'button') && (\n <Button\n {...defaultsUI}\n onClick={onClick}\n variant={scope.attr('variant', 'outlined')}\n >\n {original.icon && <CustomIcon />}\n {original.label && (\n <span className={getLabelClass('button')}>\n {scope.getLabel()}\n </span>\n )}\n </Button>\n )}\n {scope.is('type', 'icon') && (\n <Icon\n {...defaultsUI}\n onClick={onClick}\n variant={scope.attr('variant', 'outlined')}\n >\n {scope.getDisplayValue()}\n </Icon>\n )}\n {scope.is('type', 'link') && (\n <Link\n {...defaultsUI}\n onClick={onClick}\n variant={scope.attr('variant', 'outlined')}\n >\n {original.icon && <CustomIcon />}\n {original.label && (\n <span className={getLabelClass('link')}>\n {scope.getLabel()}\n </span>\n )}\n </Link>\n )}\n {scope.is(\n 'type',\n 'text',\n 'number',\n 'phone',\n 'postalCode',\n 'money',\n 'password',\n 'email'\n ) && (\n <Input\n {...defaultsInput}\n {...defaultsUI}\n InputProps={{ ...original.inputProps }}\n />\n )}\n {scope.is('type', 'complete', 'autocomplete') && (\n <UIComplete\n scope={scope}\n defaultsInput={defaultsInput}\n defaultsUI={defaultsUI}\n />\n )}\n {scope.is('type', 'checkbox', 'boolean', 'switch') && (\n <Switch\n checked={isChecked()}\n {...defaultsInput}\n onChange={onCheck}\n />\n )}\n {scope.is('type', 'select') && (\n <Select\n {...defaultsInput}\n {...defaultsUI}\n value={scope.getSelectedValue()}\n >\n <Option value={''}>Selecione</Option>\n {options.map((row: any, i: number) => (\n <Option key={'i' + i} value={row.value}>\n {row.label}\n </Option>\n ))}\n </Select>\n )}\n {scope.is('type', 'radio') && (\n <Radio {...defaultsInput} {...defaultsUI} row>\n {options.map((row: any, i: number) => (\n <Option\n key={'i' + i}\n control={<Radio {...defaultsUI} />}\n label={row.label}\n value={row.value}\n />\n ))}\n </Radio>\n )}\n {scope.is('type', 'custom') && <Custom />}\n {scope.is('type', 'column') && (\n <>\n {scope.is('format', 'img') && (\n <img src={scope.getDisplayValue()} />\n )}\n {scope.is('format', 'icon') && (\n <i className={scope.getDisplayValue()} />\n )}\n {!scope.is('format', 'icon', 'img') && (\n <span>{scope.getDisplayValue()}</span>\n )}\n </>\n )}\n {scope.is('type', 'output') && (\n <span>{scope.getDisplayValue()}</span>\n )}\n </div>\n {error && <div className=\"ui-error\">{error}</div>}\n </>\n )}\n <CurrentRouter />\n {!scope.is(\n 'type',\n 'card',\n 'tabs',\n 'grid',\n 'list',\n 'define',\n 'repeat'\n ) && <UIChildren {...props} scope={scope} crud={crud} />}\n </div>\n </>\n );\n}\n","import { ListType } from \"react-crud-utils\";\nimport { UserType } from \"react-crud-utils\";\nimport { InputType } from \"react-crud-utils\";\nimport { ChartType } from \"react-crud-utils\";\nimport { ContainerType } from \"react-crud-utils\";\nimport { ListInputType } from \"react-crud-utils\";\nimport UIElement from \"./UIElement\";\nimport { TabsType } from \"react-crud-utils\";\nimport { DefineType } from \"react-crud-utils\";\nimport ElInclude from \"./grid/ElInclude\";\nimport { ButtonType } from \"react-crud-utils\";\nimport { LinkType } from \"react-crud-utils\";\n\nconst UI = {\n Grid: (props: ListType) => <UIElement {...props} type=\"list\" />,\n Repeat: (props: ListType) => <UIElement {...props} type=\"repeat\" />,\n Define: (props: DefineType) => <UIElement {...props} type=\"define\" />,\n Include: (props: DefineType) => <ElInclude {...props} />,\n Column: ({ type = \"column\", ...props }: UserType) => (\n <UIElement {...props} type=\"column\" />\n ),\n Input: (props: InputType) => <UIElement {...props} />,\n Text: (props: InputType) => <UIElement {...props} type=\"text\" />,\n Email: (props: InputType) => <UIElement {...props} type=\"email\" />,\n Button: (props: ButtonType) => <UIElement {...props} type=\"button\" />,\n Link: (props: LinkType) => <UIElement {...props} type=\"link\" />,\n Icon: (props: ButtonType) => <UIElement {...props} type=\"icon\" />,\n Output: (props: ContainerType) => <UIElement {...props} type=\"output\" />,\n Form: (props: ContainerType) => <UIElement {...props} type=\"form\" />,\n Crud: (props: ContainerType) => <UIElement {...props} type=\"crud\" />,\n View: (props: ContainerType) => (\n <UIElement {...props} type=\"view\" transient />\n ),\n Bottom: (props: ContainerType) => <UIElement {...props} type=\"bottom\" />,\n Dialog: (props: ContainerType) => <UIElement {...props} type=\"dialog\" />,\n Content: (props: ContainerType) => <UIElement {...props} type=\"content\" />,\n Top: (props: ContainerType) => <UIElement {...props} type=\"top\" />,\n Card: (props: ContainerType) => <UIElement {...props} type=\"card\" />,\n Tab: (props: ContainerType) => <UIElement {...props} type=\"tab\" />,\n Tabs: (props: TabsType) => <UIElement {...props} type=\"tabs\" />,\n Step: (props: ContainerType) => (\n <UIElement {...props} type=\"tab\" layout=\"step\" />\n ),\n Stepper: (props: TabsType) => (\n <UIElement {...props} type=\"tabs\" layout=\"stepper\" />\n ),\n Money: (props: InputType) => <UIElement {...props} type=\"money\" />,\n Chart: (props: ChartType) => <UIElement {...props} type=\"chart\" />,\n Password: (props: InputType) => <UIElement {...props} type=\"password\" />,\n Complete: (props: InputType) => <UIElement {...props} type=\"complete\" />,\n Checkbox: (props: InputType) => <UIElement {...props} type=\"checkbox\" />,\n Radio: (props: ListInputType) => <UIElement {...props} type=\"radio\" />,\n Select: (props: ListInputType) => <UIElement {...props} type=\"select\" />,\n Entity: (props: ListInputType) => <UIElement {...props} type=\"entity\" />,\n Element: (props: ListInputType) => <UIElement {...props} type=\"element\" />,\n};\nexport default UI;\n"],"names":["UIChildren","props","scope","useState","Utils","nvl","ScopeUtils","create","crud","validateScope","name","part","isInput","_jsx","_Fragment","Paint","_ref","child","children","Custom","type","pps","_extends","isEmpty","transient","parent","Draw","elements","Object","entries","map","t","k","UIElement","React","Children","className","getStyleClass","style","getStyle","childProps","ElGridColumn","col","_props$column","column","colScope","Scope","styleClass","colSpan","colspan","ElGridCheck","cs","value","rowIndex","original","_useState","index","setIndex","key","UI","Button","icon","crudSearch","selecteds","itemValue","Ionicons","click","action","ElGridRow","expansion","row","CrudUtils","itemVar","data","expanded","setExpanded","rowScope","getRowStyleClass","s","cols","ComponentUtils","getChild","length","ExpansionStatus","_jsxs","hasExpansion","multiple","i","ElGridPaginator","next","previous","first","size","last","position","sizes","defaults","owner","variant","attr","paginatorPosition","field","space","rendered","Select","default","change","ElGridTop","Output","Include","Text","label","placeholder","Define","ElGridFilter","ElGridBotom","Icon","TouchableOpacity","onPress","Linking","openURL","styles","link","ElLabel","elPos","labelPos","lbPos","CustomIcon","is","getIcon","getLabel","ElGrid","items","getItems","getDefine","_createElement","ElInclude","includes","tagProp","Tag","tag","tagProps","ElCard","ElTabs","selectedIndex","setSelectedIndex","element","counter","tabs","_useState2","selected","setSelected","onChangeTab","tab","validate","execute","event","changeValue","_selected","addTab","item","crudTab","changed","resolve","push","nav","isStepper","layout","onClick","id","ElChart","asList","columns","AutoComplete","UIComplete","defaultsInput","defaultsUI","ElRepeatRow","ElRepeat","Link","Switch","Option","Radio","Input","_useState3","error","setError","options","getOptions","ref","useRef","update","router","list","grid","card","repeat","chart","CurrentRouter","c","custom","getDisplayValue","onChange","e","val","target","isType","parseInt","parseFloat","getSelectedItem","call","getValue","elStyle","required","isRequired","isRendered","msg","useEffect","ready","search","start","getLabelClass","clss","open","args","url","dialogs","dlg","config","useLayoutEffect","current","el","bg","HtmlUtils","getBGColor","classList","add","InputProps","inputProps","checked","v","getSelectedValue","control","src","Grid","Repeat","Column","_objectWithoutPropertiesLoose","_excluded","Email","Form","Crud","View","Bottom","Dialog","Content","Top","Card","Tab","Tabs","Step","Stepper","Money","Chart","Password","Complete","Checkbox","Entity","Element"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-crud-mobile.cjs.production.min.js","sources":["../src/elements/UIChildren.tsx","../src/elements/grid/ElGridColumn.tsx","../src/elements/grid/ElGridCheck.tsx","../src/elements/grid/ElGridRow.tsx","../src/elements/grid/ElGridPaginator.tsx","../src/elements/grid/ElGridTop.tsx","../src/elements/grid/ElGridFilter.tsx","../src/elements/grid/ElGridBotom.tsx","../src/elements/core/Icon.tsx","../src/elements/grid/ElLabel.tsx","../src/elements/grid/ElGrid.tsx","../src/elements/grid/ElInclude.tsx","../src/elements/card/ElCard.tsx","../src/elements/tabs/ElTabs.tsx","../src/elements/charts/ElChart.tsx","../src/elements/core/AutoComplete.tsx","../src/elements/UIComplete.tsx","../src/elements/grid/ElRepeatRow.tsx","../src/elements/grid/ElRepeat.tsx","../src/elements/core/Link.tsx","../src/elements/core/Button.tsx","../src/elements/core/Select.tsx","../src/elements/core/Switch.tsx","../src/elements/core/Option.tsx","../src/elements/core/Radio.tsx","../src/elements/core/Input.tsx","../src/elements/UIElement.tsx","../src/elements/UI.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport UIElement from \"./UIElement\";\nimport { Crud, Scope, ScopeUtils, Utils } from \"react-crud-utils\";\n\ninterface UIChildrenType {\n scope: Scope;\n crud?: Crud;\n validateScope?: String;\n children?: any;\n elements?: any;\n transient?: boolean;\n part?: string;\n childProps?: any;\n}\n\nexport default function UIChildren(props: UIChildrenType) {\n let [scope] = useState(Utils.nvl(props.scope, ScopeUtils.create(props)));\n let crud = Utils.nvl(props.crud, scope.crud);\n let validateScope = Utils.nvl(props.validateScope, \"global\");\n let name = Utils.nvl(props.part, \"child\");\n\n if (scope.isInput()) {\n return <></>;\n }\n\n let Paint = ({ child }: any) => {\n if (!child) {\n return <></>;\n }\n if (typeof child === \"string\") {\n return <>{child}</>;\n }\n\n let Custom = child.type;\n let pps = { ...child.props };\n\n delete pps.children;\n\n if (typeof Custom === \"string\") {\n if (Utils.isEmpty(child.props.children)) {\n return <Custom {...pps} />;\n }\n return (\n <Custom {...pps}>\n <UIChildren\n transient\n validateScope={validateScope}\n {...child.props}\n scope={scope}\n crud={crud}\n ></UIChildren>\n </Custom>\n );\n } else if (typeof Custom === \"function\") {\n return (\n <Custom\n validateScope={validateScope}\n {...child.props}\n parent={scope}\n crud={crud}\n ></Custom>\n );\n }\n\n if (!Utils.isEmpty(child.props.children)) {\n return (\n <UIChildren\n validateScope={validateScope}\n {...child.props}\n scope={scope}\n crud={crud}\n transient\n ></UIChildren>\n );\n }\n return <></>;\n };\n\n const Draw = () => {\n if (props.elements) {\n return (\n <>\n {Object.entries(props.elements).map((t: any, k) => {\n return <UIElement crud={crud} {...t[1]} />;\n })}\n </>\n );\n }\n return (\n <>\n {React.Children.map(props.children, (child) => {\n return <Paint child={child}></Paint>;\n })}\n </>\n );\n };\n\n if (props.transient) {\n return <Draw />;\n }\n\n if (Utils.isEmpty(props.children) && Utils.isEmpty(props.elements)) {\n return <></>;\n }\n\n return (\n <>\n <div\n className={scope.getStyleClass(name)}\n style={scope.getStyle(name)}\n {...props.childProps}\n >\n <Draw />\n </div>\n </>\n );\n}\n","import React, { useState } from \"react\";\nimport UIChildren from \"../UIChildren\";\nimport { Scope, Utils } from \"react-crud-utils\";\n\ninterface ElGridColumnType {\n scope: Scope;\n styleClass?: string;\n children?: any;\n colspan?: number;\n column?: any;\n}\n\nexport default function ElGridColumn(props: ElGridColumnType) {\n let scope = props.scope;\n let col = Utils.nvl(props.column?.props, {});\n let [colScope] = useState(new Scope(col, scope, scope.crud));\n\n let getStyleClass = () => {\n let def = Utils.nvl(props.styleClass, \"\");\n\n return \"ui-grid-col \" + def + \" \" + colScope.getStyleClass(\"column\");\n };\n return (\n <td\n className={getStyleClass()}\n style={colScope.getStyle(\"column\")}\n colSpan={props.colspan}\n >\n <UIChildren scope={scope}>{props.children}</UIChildren>\n </td>\n );\n}\n","import UI from '../UI';\nimport Ionicons from '@expo/vector-icons/Ionicons';\nimport { useState } from 'react';\nimport { GridRowType, Utils } from 'react-crud-utils';\n\nexport default function ElGridCheck({ scope, value, rowIndex }: GridRowType) {\n let original = scope.original;\n let [index, setIndex] = useState(0);\n let key = scope.key('check', rowIndex, 's', index);\n\n let check = () => {\n let cs = scope.crudSearch;\n\n if (cs) {\n if (!cs.selecteds) {\n cs.selecteds = {};\n }\n\n let itemValue = Utils.nvl(original.itemValue, 'id');\n let key = value[itemValue];\n\n if (typeof key !== 'undefined') {\n if (typeof cs.selecteds[key] === 'undefined') {\n cs.selecteds[key] = value;\n } else {\n delete cs.selecteds[key];\n }\n }\n }\n setIndex(++index);\n };\n\n let getCheckIcon = () => {\n if (isChecked()) {\n return <Ionicons />;\n }\n return <Ionicons />;\n };\n\n let isChecked = () => {\n let cs = scope.crudSearch;\n\n if (cs) {\n if (!cs.selecteds) {\n cs.selecteds = {};\n }\n\n let itemValue = Utils.nvl(original.itemValue, 'id');\n let key = value[itemValue];\n\n if (typeof key !== 'undefined') {\n if (typeof cs.selecteds[key] !== 'undefined') {\n return true;\n }\n }\n }\n return false;\n };\n\n return (\n <UI.Button\n key={key}\n icon={getCheckIcon()}\n click={{ action: check }}\n ></UI.Button>\n );\n}\n","import React, { useState } from 'react';\nimport ElGridColumn from './ElGridColumn';\nimport ElGridCheck from './ElGridCheck';\nimport Ionicons from '@expo/vector-icons/Ionicons';\nimport UI from '../UI';\nimport UIChildren from '../UIChildren';\nimport {\n ComponentUtils,\n CrudUtils,\n ListType,\n RowType,\n Scope,\n Utils,\n} from 'react-crud-utils';\n\nexport default function ElGridRow(props: RowType) {\n let expansion = props.expansion;\n let value = props.value;\n let scope = props.scope;\n let index = props.index;\n let original: ListType = scope.original;\n\n let row = CrudUtils.create('row', {\n index,\n row: true,\n itemVar: scope.original.itemVar,\n parent: scope.crudSearch,\n data: value,\n });\n\n let [expanded, setExpanded] = useState(false);\n let [rowScope] = useState(new Scope(scope.original, scope, row));\n\n let getRowStyleClass = () => {\n let s = 'ui-grid-row';\n\n s = s + ' ui-grid-row-';\n\n if (index % 2 == 0) {\n s = s + 'even';\n } else {\n s = s + 'odd';\n }\n return s;\n };\n\n let cols = ComponentUtils.getChild(props, 'Column');\n let colspan = cols.length;\n\n let ExpansionStatus = () => {\n return (\n <>\n {!expanded && <Ionicons />}\n {expanded && <Ionicons />}\n </>\n );\n };\n\n let onExpansion = () => {\n setExpanded(!expanded);\n };\n\n let hasExpansion = !Utils.isEmpty(expansion);\n let multiple = original.multiple;\n\n if (hasExpansion) colspan++;\n if (multiple) colspan++;\n\n return (\n <>\n <tr className={getRowStyleClass()} style={rowScope.getStyle('row')}>\n {hasExpansion && (\n <ElGridColumn\n key={'r' + index + 'e'}\n scope={rowScope}\n styleClass=\"ui-click ui-icon-only ui-expansion\"\n >\n <UI.Button\n icon={<ExpansionStatus />}\n click={onExpansion}\n ></UI.Button>\n </ElGridColumn>\n )}\n {multiple && (\n <ElGridColumn\n key={'r' + index + 'c'}\n scope={rowScope}\n styleClass=\"ui-click ui-icon-only ui-multiple\"\n >\n <ElGridCheck\n key={'check-' + index}\n scope={scope}\n value={value}\n rowIndex={index}\n />\n </ElGridColumn>\n )}\n {cols.map((col: any, i: number) => (\n <ElGridColumn\n column={col}\n key={'r' + index + 'c' + i}\n scope={rowScope}\n >\n {col}\n </ElGridColumn>\n ))}\n </tr>\n {expanded && (\n <tr className={getRowStyleClass()} style={rowScope.getStyle('row')}>\n <ElGridColumn\n key={'r' + index + '-expanded'}\n scope={rowScope}\n colspan={colspan}\n >\n <UIChildren {...props} crud={row}>\n {expansion}\n </UIChildren>\n </ElGridColumn>\n </tr>\n )}\n </>\n );\n}\n","import React, { useState } from 'react';\nimport UI from '../UI';\nimport { ChildType, Utils } from 'react-crud-utils';\nimport Ionicons from '@expo/vector-icons/Ionicons';\n\ninterface ElGridPaginatorType extends ChildType {\n next?: boolean;\n previous?: boolean;\n first?: boolean;\n size?: boolean;\n last?: boolean;\n position: string;\n}\n\nexport default function ElGridPaginator({\n scope,\n next,\n previous,\n first,\n size,\n last,\n position,\n}: ElGridPaginatorType) {\n let [sizes] = useState([10, 20, 30, 50, 100, 200, 500]);\n let defaults = {\n crud: scope.crudSearch,\n owner: scope,\n variant: scope.attr('variant', 'text'),\n };\n\n let paginatorPosition = Utils.nvl(scope.original.paginatorPosition, 'bottom');\n\n if (paginatorPosition !== position) {\n return <></>;\n }\n\n return (\n <>\n <UI.Button\n field=\"first\"\n space={0}\n rendered={first !== false}\n {...defaults}\n click=\"first\"\n icon={<Ionicons />}\n ></UI.Button>\n <UI.Button\n field=\"previous\"\n space={0}\n rendered={previous !== false}\n click=\"previous\"\n {...defaults}\n icon={<Ionicons />}\n ></UI.Button>\n <UI.Select\n field=\"size\"\n space={0}\n rendered={size !== false}\n default={10}\n {...defaults}\n data={sizes}\n change=\"search\"\n ></UI.Select>\n <UI.Button\n field=\"next\"\n space={0}\n rendered={next !== false}\n {...defaults}\n click=\"next\"\n icon={<Ionicons />}\n ></UI.Button>\n <UI.Button\n field=\"last\"\n space={0}\n rendered={last !== false}\n {...defaults}\n click=\"last\"\n icon={<Ionicons />}\n ></UI.Button>\n </>\n );\n}\n","import UI from '../UI';\nimport Ionicons from '@expo/vector-icons/Ionicons';\nimport ElGridPaginator from './ElGridPaginator';\nimport { ChildType } from 'react-crud-utils';\n\nexport default function ElGridTop(props: ChildType) {\n let scope = props.scope;\n\n return (\n <>\n <UI.Output styleClass=\"ui-grid-top\">\n <UI.Output field=\"search\" position=\"left\" space={4}>\n <UI.Include {...props} transient name=\"top\" position=\"left\" />\n <UI.Text\n field=\"query\"\n space={0}\n label=\"Pesquisar\"\n placeholder={scope.attr('placeholder', 'Pesquisar')}\n >\n <UI.Define name=\"right\">\n <UI.Button\n field=\"search\"\n icon={<Ionicons />}\n space={0}\n variant=\"text\"\n owner={scope}\n click={'search'}\n ></UI.Button>\n </UI.Define>\n </UI.Text>\n </UI.Output>\n <UI.Output position=\"right\" space={8}>\n <UI.Include {...props} transient name=\"top\" position=\"right\" />\n <ElGridPaginator\n scope={scope}\n last={false}\n first={false}\n position=\"top\"\n ></ElGridPaginator>\n </UI.Output>\n </UI.Output>\n </>\n );\n}\n","import { ChildType } from \"react-crud-utils\";\n\nexport default function ElGridFilter(props: ChildType) {\n return <></>;\n}\n","import React, { useState } from \"react\";\nimport ElGridPaginator from \"./ElGridPaginator\";\nimport UI from \"../UI\";\nimport { ChildType } from \"react-crud-utils\";\n\nexport default function ElGridBotom(props: ChildType) {\n let scope = props.scope;\n let children = props.children;\n\n return (\n <div className=\"ui-grid-bottom\">\n <div className=\"ui-grid-bottom-inner\">\n <UI.Include {...props} transient name=\"bottomLeft\" />\n <ElGridPaginator scope={scope} position=\"bottom\">\n {children}\n </ElGridPaginator>\n <UI.Include {...props} transient name=\"bottomRight\" />\n </div>\n </div>\n );\n}\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Icon(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import React from 'react';\nimport UI from '../UI';\nimport { ChildType, Utils } from 'react-crud-utils';\nimport Icon from '../core/Icon';\n\ninterface ElLabelType extends ChildType {\n position?: string;\n}\nexport default function ElLabel(props: ElLabelType) {\n let scope = props.scope;\n let original = scope.original;\n let defaultPos = 'outside';\n\n let elPos = Utils.nvl(original.labelPos, defaultPos);\n let lbPos = Utils.nvl(props.position, defaultPos);\n\n if (elPos != lbPos) {\n return <></>;\n }\n\n const CustomIcon = () => {\n if (!scope.is('type', 'list', 'grid')) {\n return <></>;\n }\n\n if (typeof original.icon === 'string') {\n return (\n <div className=\"ui-label-icon\">\n <Icon className={scope.getIcon()}></Icon>\n </div>\n );\n }\n return <div className=\"ui-label-icon\">{original.icon}</div>;\n };\n\n let label = scope.getLabel();\n\n return (\n <div className={'ui-label ui-label-' + lbPos}>\n <div className=\"ui-label-left\">\n <UI.Include {...props} transient name=\"label\" position=\"left\" />\n <CustomIcon />\n {label && <div className=\"ui-label-value\">{label}</div>}\n </div>\n <div className=\"ui-label-right\">\n <UI.Include {...props} transient name=\"label\" position=\"right\" />\n </div>\n </div>\n );\n}\n","import ElGridRow from './ElGridRow';\nimport ElGridTop from './ElGridTop';\nimport ElGridFilter from './ElGridFilter';\nimport ElGridBotom from './ElGridBotom';\nimport ElLabel from './ElLabel';\nimport { ChildType, ComponentUtils, Scope } from 'react-crud-utils';\n\nexport default function ElGrid(props: ChildType) {\n let scope: Scope = props.scope;\n let items: any = scope.getItems();\n let expansion = ComponentUtils.getDefine(props, 'expansion');\n\n return (\n <div\n className={scope.getStyleClass('inner')}\n style={scope.getStyle('inner')}\n >\n <ElLabel {...props} scope={scope} position=\"outside\"></ElLabel>\n <div\n className={scope.getStyleClass('child')}\n style={scope.getStyle('child')}\n >\n <ElLabel {...props} scope={scope} position=\"inside\"></ElLabel>\n <div className=\"ui-data\">\n <ElGridTop {...props} scope={scope}></ElGridTop>\n <ElGridFilter scope={scope}></ElGridFilter>\n <div className=\"ui-grid-data\">\n <table className=\"ui-grid ui-table\">\n <tbody>\n {items.map((row: any, i: number) => (\n <ElGridRow\n {...props}\n expansion={expansion}\n key={'r' + i}\n scope={scope}\n value={row}\n index={i}\n />\n ))}\n </tbody>\n </table>\n </div>\n </div>\n <ElGridBotom {...props} scope={scope} />\n </div>\n </div>\n );\n}\n","import UIChildren from \"../UIChildren\";\nimport { ComponentUtils, DefineType, Utils } from \"react-crud-utils\";\n\nexport default function ElInclude(props: DefineType) {\n if (props.rendered === false) {\n return <></>;\n }\n\n let includes = ComponentUtils.getDefine(props, props.name, props.position);\n\n if (Utils.isEmpty(includes)) {\n includes = props.default;\n }\n\n if (!Utils.isEmpty(includes)) {\n let Aux = (tagProp: any) => {\n let Tag: any = props.tag;\n\n if (!Utils.isEmpty(Tag)) {\n return <Tag {...tagProp}>{tagProp.children}</Tag>;\n }\n return <>{tagProp.children}</>;\n };\n\n return (\n <Aux {...props.tagProps}>\n <UIChildren\n transient\n {...props}\n scope={props.scope}\n crud={props.crud}\n part={props.name}\n >\n {includes}\n </UIChildren>\n </Aux>\n );\n }\n return <>{includes}</>;\n}\n","import UIChildren from '../UIChildren';\nimport ElLabel from '../grid/ElLabel';\nimport ElInclude from '../grid/ElInclude';\nimport { ChildType } from 'react-crud-utils';\n\nexport default function ElCard(props: ChildType) {\n let scope = props.scope;\n\n return (\n <div\n className={scope.getStyleClass('inner')}\n style={scope.getStyle('inner')}\n >\n <ElLabel {...props} scope={scope}></ElLabel>\n <UIChildren {...props} scope={scope} />\n\n <div\n className={scope.getStyleClass('bottom')}\n style={scope.getStyle('bottom')}\n >\n <ElInclude {...props} scope={scope} name=\"bottom\" />\n </div>\n </div>\n );\n}\n","import React, { useState, useEffect } from 'react';\nimport UIChildren from '../UIChildren';\nimport UI from '../UI';\n\nimport Ionicons from '@expo/vector-icons/Ionicons';\nimport { ChildType, CrudUtils, Utils } from 'react-crud-utils';\n\nexport default function ElTabs(props: ChildType) {\n let scope = props.scope;\n let [selectedIndex, setSelectedIndex]: any = useState(0);\n let element = scope.original;\n let items = scope.getItems();\n let counter = 0;\n\n let tabs: any = [];\n let [selected, setSelected]: any = useState(null);\n\n const onChangeTab = (tab: any, validate = true) => {\n if (tab) {\n scope.execute({\n event: {\n validate,\n validateScope: element.validateScope,\n action: () => {\n scope.changeValue(tab.data);\n\n selected = tab;\n selectedIndex = tab.index;\n\n setSelectedIndex(selectedIndex);\n setSelected(tab);\n },\n },\n });\n }\n };\n\n const getStyleClass = (t: any) => {\n let s = 'ui-tabs-item ui-click';\n\n if (selected?.index === t.index) {\n s = s + ' ui-tab-selected';\n }\n return s;\n };\n\n const addTab = (child: any, item: any) => {\n let original = { ...child.props };\n\n if (!item) {\n item = scope.crud.data;\n }\n\n let crudTab = CrudUtils.create('tabs', {\n data: item,\n changed: item,\n parent: scope.crud,\n });\n\n let element = Utils.resolve(original, crudTab);\n\n if (element.rendered === false) {\n return;\n }\n\n tabs.push({\n ...element,\n child,\n element,\n original,\n index: counter++,\n data: item,\n });\n };\n\n React.Children.map(props.children, (child, index) => {\n if (Utils.isEmpty(items)) {\n addTab(child, {});\n } else {\n for (const i in items) {\n let o = items[i];\n\n addTab(child, o);\n }\n }\n });\n\n if (!selected) {\n onChangeTab(tabs[selectedIndex], false);\n }\n\n const nav = (i: any) => {\n let t = tabs[selectedIndex + i];\n\n onChangeTab(t);\n };\n\n const previous = () => {\n nav(-1);\n };\n\n const next = () => {\n nav(1);\n };\n\n let isStepper = element.layout === 'stepper';\n\n return (\n <div\n className={scope.getStyleClass('inner')}\n style={scope.getStyle('inner')}\n >\n <div className=\"ui-tabs-content\">\n <div className=\"ui-tabs-items\">\n {tabs.map((t: any, i: number) => (\n <div\n key={Utils.key(element.id, 'tab', i)}\n className={getStyleClass(t)}\n onClick={() => {\n onChangeTab(t);\n }}\n >\n {isStepper && <div className=\"ui-tab-item-divisor\" />}\n <div className=\"ui-tab-item-inner\">\n {isStepper && <div className=\"ui-step-line\" />}\n <div className=\"ui-tab-item-label\">\n {isStepper ? t.index + 1 : t.label}\n </div>\n </div>\n </div>\n ))}\n </div>\n {selected && (\n <>\n {isStepper && <div className=\"ui-tabs-label\">{selected.label}</div>}\n <div className=\"ui-tabs-area\">\n <UIChildren {...props} scope={scope}>\n {selected.child}\n </UIChildren>\n </div>\n {element.layout === 'stepper' && (\n <div className=\"ui-tabs-actions\">\n <UI.Output space={6} layout=\"left\">\n <UI.Include\n {...props}\n transient\n name=\"left\"\n default={\n <UI.Button\n rendered={selectedIndex > 0}\n icon={<Ionicons />}\n click={previous}\n />\n }\n />\n </UI.Output>\n <UI.Output space={6} layout=\"right\">\n <UI.Include\n {...props}\n transient\n name=\"right\"\n default={\n <UI.Button\n rendered={selectedIndex < tabs.length - 1}\n icon={<Ionicons />}\n click={next}\n />\n }\n />\n </UI.Output>\n </div>\n )}\n </>\n )}\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport { ChildType, Scope, Utils } from \"react-crud-utils\";\n\nexport default function ElChart(props: ChildType) {\n let scope: Scope = props.scope;\n let items: any = scope.getItems();\n let columns = Utils.asList(scope.original.columns);\n\n return <div className=\"ui-chart-data\"></div>;\n}\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function AutoComplete(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { ChildType } from 'react-crud-utils';\nimport AutoComplete from './core/AutoComplete';\n\nexport default function UIComplete({\n defaultsInput,\n defaultsUI,\n scope,\n}: ChildType) {\n return (\n <>\n <AutoComplete {...defaultsInput} {...defaultsUI} />\n </>\n );\n}\n","import React, { useState } from \"react\";\nimport UIChildren from \"../UIChildren\";\nimport { CrudUtils, RowType, Scope } from \"react-crud-utils\";\n\nexport default function ElRepeatRow(props: RowType) {\n let value = props.value;\n let scope = props.scope;\n let index = props.index;\n\n let row = CrudUtils.create(\"row\", {\n index,\n row: true,\n itemVar: scope.original.itemVar,\n parent: scope.crudSearch,\n data: value,\n });\n\n let [rowScope] = useState(new Scope(scope.original, scope, row));\n\n let getRowStyleClass = () => {\n let s = rowScope.getStyleClass(\"row\");\n\n s = s + \" ui-repeat-row-\";\n\n if (index % 2 == 0) {\n s = s + \"even\";\n } else {\n s = s + \"odd\";\n }\n return s;\n };\n\n return (\n <div className={getRowStyleClass()} style={rowScope.getStyle(\"row\")}>\n <UIChildren transient {...props} crud={row}>\n {props.children}\n </UIChildren>\n </div>\n );\n}\n","import ElRepeatRow from './ElRepeatRow';\nimport { ChildType, Scope } from 'react-crud-utils';\n\nexport default function ElRepeat(props: ChildType) {\n let scope: Scope = props.scope;\n let items: any = scope.getItems();\n\n return (\n <div\n className={scope.getStyleClass('inner')}\n style={scope.getStyle('inner')}\n >\n {items.map((row: any, i: number) => (\n <ElRepeatRow\n {...props}\n key={'r' + i}\n scope={scope}\n value={row}\n index={i}\n />\n ))}\n </div>\n );\n}\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Link(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Ionicons } from '@expo/vector-icons';\r\nimport { Text, TouchableHighlight, View } from 'react-native';\r\n\r\nexport default function Button(props: any) {\r\n let color = props.color;\r\n let label = props.label;\r\n let icon = props.icon;\r\n\r\n const styles: any = {\r\n text: {\r\n color: '#ffffff',\r\n lineHeight: 30,\r\n fontWeight: '500',\r\n textAlign: 'center',\r\n ...props.textStyle,\r\n },\r\n inner: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n textAlign: 'center',\r\n alignItems: 'center',\r\n margin: 'auto',\r\n ...props.textStyle,\r\n },\r\n icon: {\r\n color: '#fff',\r\n fontSize: 18,\r\n paddingRight: 10,\r\n },\r\n button: {\r\n padding: 5,\r\n alignItems: 'center',\r\n paddingLeft: 10,\r\n paddingRight: 10,\r\n minWidth: 200,\r\n margin: 5,\r\n textAlign: 'center',\r\n verticalAling: 'middle',\r\n lineHeight: 30,\r\n borderRadius: 20,\r\n backgroundColor: color,\r\n color: '#ffffff',\r\n ...props.buttonStyle,\r\n },\r\n };\r\n\r\n const onClick = (e: any) => {\r\n if (typeof props.click === 'function') {\r\n props.click(e);\r\n }\r\n };\r\n\r\n return (\r\n <TouchableHighlight\r\n underlayColor={'transparent'}\r\n onPress={onClick}\r\n style={styles.button}\r\n >\r\n <View style={styles.inner}>\r\n {icon && (\r\n <>\r\n <Ionicons size={30} style={styles.icon} name={icon} />\r\n </>\r\n )}\r\n <Text style={styles.text}>{label}</Text>\r\n </View>\r\n </TouchableHighlight>\r\n );\r\n}\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Select(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Switch(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Option(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Radio(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { ChildType } from 'react-crud-utils';\r\nimport { TextInput } from 'react-native';\r\n\r\nexport default function Input(props: ChildType) {\r\n let scope = props.scope;\r\n let value = scope.getValue();\r\n\r\n let onChange = e => {\r\n console.log(e);\r\n };\r\n\r\n return (\r\n <TextInput style={styles.input} onChangeText={onChange} value={value} />\r\n );\r\n}\r\n\r\nconst styles = {\r\n input: {\r\n height: 40,\r\n margin: 12,\r\n borderWidth: 1,\r\n padding: 10,\r\n },\r\n};\r\n","import React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport ElGrid from './grid/ElGrid';\nimport ElCard from './card/ElCard';\nimport UIChildren from './UIChildren';\nimport ElTabs from './tabs/ElTabs';\nimport ElLabel from './grid/ElLabel';\nimport ElChart from './charts/ElChart';\nimport UIComplete from './UIComplete';\nimport ElRepeat from './grid/ElRepeat';\nimport {\n Crud,\n HtmlUtils,\n ScopeUtils,\n Utils,\n ElementType,\n} from 'react-crud-utils';\nimport Link from './core/Link';\nimport Icon from './core/Icon';\nimport Button from './core/Button';\nimport Select from './core/Select';\nimport Switch from './core/Switch';\nimport Option from './core/Option';\nimport Radio from './core/Radio';\nimport Input from './core/Input';\nimport { Linking } from 'react-native';\n\nexport default function UIElement(props: ElementType) {\n let [scope] = useState(ScopeUtils.create(props));\n let [index, setIndex] = useState(0);\n let [error, setError]: string | any = useState(null);\n let options: any = scope.getOptions();\n let crud: Crud = Utils.nvl(props.crud, scope.crud);\n let original = scope.original;\n let type = original.type;\n let ref = useRef(null);\n\n scope.update = () => {\n setIndex(++index);\n };\n\n let router: any = {\n list: ElGrid,\n grid: ElGrid,\n label: ElLabel,\n card: ElCard,\n repeat: ElRepeat,\n tabs: ElTabs,\n chart: ElChart,\n };\n\n let CurrentRouter = () => {\n if (router[type]) {\n let Aux = router[type];\n\n return <Aux crud={crud} {...props} scope={scope} />;\n }\n return <></>;\n };\n\n const Custom = () => {\n let c: any = original.custom;\n\n if (c) {\n if (typeof c === 'string') {\n return (\n <UIElement\n element={{ value: c, type: 'dummy' }}\n crud={crud}\n ></UIElement>\n );\n }\n\n return (\n <UIElement\n type={c.type}\n tag={c.type}\n {...c.props}\n crud={crud}\n ></UIElement>\n );\n }\n\n return <></>;\n };\n\n if (scope.is('type', 'dummy')) {\n return <>{scope.getDisplayValue()}</>;\n }\n\n let onCheck = () => {\n let v = scope.getValue();\n let check = !(v === true);\n\n onChange({ target: { value: check } });\n };\n\n let onChange = (e: any) => {\n let val = e.target.value;\n\n if (scope.isType('integer', 'int', 'number')) {\n val = parseInt(val);\n } else if (scope.isType('decimal')) {\n val = parseFloat(val);\n }\n\n if (scope.isType('select', 'complete')) {\n val = scope.getSelectedItem(val);\n }\n\n scope.changeValue(val);\n scope.update();\n };\n\n let onClick = (e: any) => {\n scope.call('click');\n };\n\n let defaultsInput: any = {\n label: scope.getLabel(),\n value: scope.getValue(),\n onChange: onChange,\n };\n\n if (scope.isType('password')) {\n defaultsInput.type = 'password';\n }\n\n let elStyle = scope.getStyle('element');\n\n let defaultsUI: any = {\n required: scope.isRequired(),\n size: 'small',\n style: elStyle,\n placeholder: scope.attr('placeholder', 'Digite aqui'),\n };\n\n let isChecked = () => {\n let v = scope.getValue();\n\n return v === true;\n };\n\n let hasChildren = () => {\n if (scope.isInput()) {\n return false;\n }\n\n return !Utils.isEmpty(props.children) || !Utils.isEmpty(props.elements);\n };\n\n if (!scope.isRendered() || scope.is('type', 'define')) {\n return <></>;\n }\n\n scope.error = (msg: string) => {\n error = msg;\n setError(msg);\n };\n\n useEffect(() => {\n if (!scope.ready) {\n scope.ready = true;\n\n scope.call('load');\n\n if (scope.isType('list', 'repeat')) {\n scope.search();\n } else if (original.list) {\n scope.call('list');\n }\n scope.start();\n }\n });\n\n const CustomIcon = () => {\n if (typeof original.icon === 'string') {\n return <Icon>{scope.getIcon()}</Icon>;\n }\n return <>{original.icon}</>;\n };\n\n const getLabelClass = (type: string) => {\n let clss = `ui-text ui-${type}-text`;\n let icon = scope.getIcon();\n\n if (icon) {\n clss = clss + ` ui-icon ui-${type}-icon`;\n }\n return clss;\n };\n\n let hasCustomRoute = () => {\n if (router[type]) return true;\n return false;\n };\n\n scope.open = (args: any) => {\n Linking.openURL(args.url);\n };\n\n if (scope.isType('dialog')) {\n let name = original.name;\n\n if (!crud.dialogs[name]) {\n let dlg: any = { config: { ...original } };\n\n dlg.component = (args: any) => {\n return <UIChildren {...props} scope={scope} crud={crud} />;\n };\n\n crud.dialogs[name] = dlg;\n }\n return <></>;\n }\n\n useLayoutEffect(() => {\n if (ref?.current && scope.is('type', 'card', 'list', 'tabs', 'stepper')) {\n let el: any = ref?.current;\n\n if (el) {\n let bg = HtmlUtils.getBGColor(el);\n\n if (bg === 'rgb(255, 255, 255)') {\n el.classList.add('ui-dark');\n } else {\n el.classList.add('ui-light');\n }\n }\n }\n });\n\n const isShowInner = () => {\n if (hasChildren() || hasCustomRoute()) {\n return false;\n }\n return true;\n };\n\n return (\n <>\n <div\n className={'ui-el ' + scope.getStyleClass()}\n ref={ref}\n style={scope.getStyle()}\n >\n {isShowInner() && (\n <>\n <div\n className={scope.getStyleClass('inner')}\n style={scope.getStyle('inner')}\n >\n {scope.is('type', 'button') && (\n <Button\n {...defaultsUI}\n onClick={onClick}\n variant={scope.attr('variant', 'outlined')}\n >\n {original.icon && <CustomIcon />}\n {original.label && (\n <span className={getLabelClass('button')}>\n {scope.getLabel()}\n </span>\n )}\n </Button>\n )}\n {scope.is('type', 'icon') && (\n <Icon\n {...defaultsUI}\n onClick={onClick}\n variant={scope.attr('variant', 'outlined')}\n >\n {scope.getDisplayValue()}\n </Icon>\n )}\n {scope.is('type', 'link') && (\n <Link\n {...defaultsUI}\n onClick={onClick}\n variant={scope.attr('variant', 'outlined')}\n >\n {original.icon && <CustomIcon />}\n {original.label && (\n <span className={getLabelClass('link')}>\n {scope.getLabel()}\n </span>\n )}\n </Link>\n )}\n {scope.is(\n 'type',\n 'text',\n 'number',\n 'phone',\n 'postalCode',\n 'money',\n 'password',\n 'email'\n ) && (\n <Input\n {...defaultsInput}\n {...defaultsUI}\n InputProps={{ ...original.inputProps }}\n />\n )}\n {scope.is('type', 'complete', 'autocomplete') && (\n <UIComplete\n scope={scope}\n defaultsInput={defaultsInput}\n defaultsUI={defaultsUI}\n />\n )}\n {scope.is('type', 'checkbox', 'boolean', 'switch') && (\n <Switch\n checked={isChecked()}\n {...defaultsInput}\n onChange={onCheck}\n />\n )}\n {scope.is('type', 'select') && (\n <Select\n {...defaultsInput}\n {...defaultsUI}\n value={scope.getSelectedValue()}\n >\n <Option value={''}>Selecione</Option>\n {options.map((row: any, i: number) => (\n <Option key={'i' + i} value={row.value}>\n {row.label}\n </Option>\n ))}\n </Select>\n )}\n {scope.is('type', 'radio') && (\n <Radio {...defaultsInput} {...defaultsUI} row>\n {options.map((row: any, i: number) => (\n <Option\n key={'i' + i}\n control={<Radio {...defaultsUI} />}\n label={row.label}\n value={row.value}\n />\n ))}\n </Radio>\n )}\n {scope.is('type', 'custom') && <Custom />}\n {scope.is('type', 'column') && (\n <>\n {scope.is('format', 'img') && (\n <img src={scope.getDisplayValue()} />\n )}\n {scope.is('format', 'icon') && (\n <i className={scope.getDisplayValue()} />\n )}\n {!scope.is('format', 'icon', 'img') && (\n <span>{scope.getDisplayValue()}</span>\n )}\n </>\n )}\n {scope.is('type', 'output') && (\n <span>{scope.getDisplayValue()}</span>\n )}\n </div>\n {error && <div className=\"ui-error\">{error}</div>}\n </>\n )}\n <CurrentRouter />\n {!scope.is(\n 'type',\n 'card',\n 'tabs',\n 'grid',\n 'list',\n 'define',\n 'repeat'\n ) && <UIChildren {...props} scope={scope} crud={crud} />}\n </div>\n </>\n );\n}\n","import { ListType } from \"react-crud-utils\";\nimport { UserType } from \"react-crud-utils\";\nimport { InputType } from \"react-crud-utils\";\nimport { ChartType } from \"react-crud-utils\";\nimport { ContainerType } from \"react-crud-utils\";\nimport { ListInputType } from \"react-crud-utils\";\nimport UIElement from \"./UIElement\";\nimport { TabsType } from \"react-crud-utils\";\nimport { DefineType } from \"react-crud-utils\";\nimport ElInclude from \"./grid/ElInclude\";\nimport { ButtonType } from \"react-crud-utils\";\nimport { LinkType } from \"react-crud-utils\";\n\nconst UI = {\n Grid: (props: ListType) => <UIElement {...props} type=\"list\" />,\n Repeat: (props: ListType) => <UIElement {...props} type=\"repeat\" />,\n Define: (props: DefineType) => <UIElement {...props} type=\"define\" />,\n Include: (props: DefineType) => <ElInclude {...props} />,\n Column: ({ type = \"column\", ...props }: UserType) => (\n <UIElement {...props} type=\"column\" />\n ),\n Input: (props: InputType) => <UIElement {...props} />,\n Text: (props: InputType) => <UIElement {...props} type=\"text\" />,\n Email: (props: InputType) => <UIElement {...props} type=\"email\" />,\n Button: (props: ButtonType) => <UIElement {...props} type=\"button\" />,\n Link: (props: LinkType) => <UIElement {...props} type=\"link\" />,\n Icon: (props: ButtonType) => <UIElement {...props} type=\"icon\" />,\n Output: (props: ContainerType) => <UIElement {...props} type=\"output\" />,\n Form: (props: ContainerType) => <UIElement {...props} type=\"form\" />,\n Crud: (props: ContainerType) => <UIElement {...props} type=\"crud\" />,\n View: (props: ContainerType) => (\n <UIElement {...props} type=\"view\" transient />\n ),\n Bottom: (props: ContainerType) => <UIElement {...props} type=\"bottom\" />,\n Dialog: (props: ContainerType) => <UIElement {...props} type=\"dialog\" />,\n Content: (props: ContainerType) => <UIElement {...props} type=\"content\" />,\n Top: (props: ContainerType) => <UIElement {...props} type=\"top\" />,\n Card: (props: ContainerType) => <UIElement {...props} type=\"card\" />,\n Tab: (props: ContainerType) => <UIElement {...props} type=\"tab\" />,\n Tabs: (props: TabsType) => <UIElement {...props} type=\"tabs\" />,\n Step: (props: ContainerType) => (\n <UIElement {...props} type=\"tab\" layout=\"step\" />\n ),\n Stepper: (props: TabsType) => (\n <UIElement {...props} type=\"tabs\" layout=\"stepper\" />\n ),\n Money: (props: InputType) => <UIElement {...props} type=\"money\" />,\n Chart: (props: ChartType) => <UIElement {...props} type=\"chart\" />,\n Password: (props: InputType) => <UIElement {...props} type=\"password\" />,\n Complete: (props: InputType) => <UIElement {...props} type=\"complete\" />,\n Checkbox: (props: InputType) => <UIElement {...props} type=\"checkbox\" />,\n Radio: (props: ListInputType) => <UIElement {...props} type=\"radio\" />,\n Select: (props: ListInputType) => <UIElement {...props} type=\"select\" />,\n Entity: (props: ListInputType) => <UIElement {...props} type=\"entity\" />,\n Element: (props: ListInputType) => <UIElement {...props} type=\"element\" />,\n};\nexport default UI;\n"],"names":["UIChildren","props","scope","useState","Utils","nvl","ScopeUtils","create","crud","validateScope","name","part","isInput","_jsx","_Fragment","Paint","_ref","child","children","Custom","type","pps","_extends","isEmpty","transient","parent","Draw","elements","Object","entries","map","t","k","UIElement","React","Children","className","getStyleClass","style","getStyle","childProps","ElGridColumn","col","_props$column","column","colScope","Scope","styleClass","colSpan","colspan","ElGridCheck","cs","value","rowIndex","original","_useState","index","setIndex","key","UI","Button","icon","crudSearch","selecteds","itemValue","Ionicons","click","action","ElGridRow","expansion","row","CrudUtils","itemVar","data","expanded","setExpanded","rowScope","getRowStyleClass","s","cols","ComponentUtils","getChild","length","ExpansionStatus","_jsxs","hasExpansion","multiple","i","ElGridPaginator","next","previous","first","size","last","position","sizes","defaults","owner","variant","attr","paginatorPosition","field","space","rendered","Select","default","change","ElGridTop","Output","Include","Text","label","placeholder","Define","ElGridFilter","ElGridBotom","Icon","TouchableOpacity","onPress","Linking","openURL","styles","link","ElLabel","elPos","labelPos","lbPos","CustomIcon","is","getIcon","getLabel","ElGrid","items","getItems","getDefine","_createElement","ElInclude","includes","tagProp","Tag","tag","tagProps","ElCard","ElTabs","selectedIndex","setSelectedIndex","element","counter","tabs","_useState2","selected","setSelected","onChangeTab","tab","validate","execute","event","changeValue","_selected","addTab","item","crudTab","changed","resolve","push","nav","isStepper","layout","onClick","id","ElChart","asList","columns","AutoComplete","UIComplete","defaultsInput","defaultsUI","ElRepeatRow","ElRepeat","Link","color","text","lineHeight","fontWeight","textAlign","textStyle","inner","flex","flexDirection","flexWrap","alignItems","margin","fontSize","paddingRight","button","padding","paddingLeft","minWidth","verticalAling","borderRadius","backgroundColor","buttonStyle","TouchableHighlight","underlayColor","e","View","Switch","Option","Radio","Input","getValue","TextInput","input","onChangeText","console","log","height","borderWidth","_useState3","error","setError","options","getOptions","ref","useRef","update","router","list","grid","card","repeat","chart","CurrentRouter","c","custom","getDisplayValue","onChange","val","target","isType","parseInt","parseFloat","getSelectedItem","call","elStyle","required","isRequired","isRendered","msg","useEffect","ready","search","start","getLabelClass","clss","open","args","url","dialogs","dlg","config","useLayoutEffect","current","el","bg","HtmlUtils","getBGColor","classList","add","InputProps","inputProps","checked","v","getSelectedValue","control","src","Grid","Repeat","Column","_objectWithoutPropertiesLoose","_excluded","Email","Form","Crud","Bottom","Dialog","Content","Top","Card","Tab","Tabs","Step","Stepper","Money","Chart","Password","Complete","Checkbox","Entity","Element"],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@ import React, { useState, createElement, useRef, useEffect, useLayoutEffect } fr
|
|
|
2
2
|
import { Utils, ScopeUtils, Scope, CrudUtils, ComponentUtils, HtmlUtils } from 'react-crud-utils';
|
|
3
3
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
4
4
|
import Ionicons from '@expo/vector-icons/Ionicons';
|
|
5
|
-
import { TouchableOpacity, Text, Linking } from 'react-native';
|
|
5
|
+
import { TouchableOpacity, Text, Linking, TouchableHighlight, View, TextInput } from 'react-native';
|
|
6
|
+
import { Ionicons as Ionicons$1 } from '@expo/vector-icons';
|
|
6
7
|
|
|
7
8
|
function _extends() {
|
|
8
9
|
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
@@ -831,20 +832,68 @@ var styles$2 = {
|
|
|
831
832
|
};
|
|
832
833
|
|
|
833
834
|
function Button(props) {
|
|
834
|
-
var
|
|
835
|
-
|
|
835
|
+
var color = props.color;
|
|
836
|
+
var label = props.label;
|
|
837
|
+
var icon = props.icon;
|
|
838
|
+
var styles = {
|
|
839
|
+
text: _extends({
|
|
840
|
+
color: '#ffffff',
|
|
841
|
+
lineHeight: 30,
|
|
842
|
+
fontWeight: '500',
|
|
843
|
+
textAlign: 'center'
|
|
844
|
+
}, props.textStyle),
|
|
845
|
+
inner: _extends({
|
|
846
|
+
flex: 1,
|
|
847
|
+
flexDirection: 'row',
|
|
848
|
+
flexWrap: 'wrap',
|
|
849
|
+
textAlign: 'center',
|
|
850
|
+
alignItems: 'center',
|
|
851
|
+
margin: 'auto'
|
|
852
|
+
}, props.textStyle),
|
|
853
|
+
icon: {
|
|
854
|
+
color: '#fff',
|
|
855
|
+
fontSize: 18,
|
|
856
|
+
paddingRight: 10
|
|
857
|
+
},
|
|
858
|
+
button: _extends({
|
|
859
|
+
padding: 5,
|
|
860
|
+
alignItems: 'center',
|
|
861
|
+
paddingLeft: 10,
|
|
862
|
+
paddingRight: 10,
|
|
863
|
+
minWidth: 200,
|
|
864
|
+
margin: 5,
|
|
865
|
+
textAlign: 'center',
|
|
866
|
+
verticalAling: 'middle',
|
|
867
|
+
lineHeight: 30,
|
|
868
|
+
borderRadius: 20,
|
|
869
|
+
backgroundColor: color,
|
|
870
|
+
color: '#ffffff'
|
|
871
|
+
}, props.buttonStyle)
|
|
836
872
|
};
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
873
|
+
var onClick = function onClick(e) {
|
|
874
|
+
if (typeof props.click === 'function') {
|
|
875
|
+
props.click(e);
|
|
876
|
+
}
|
|
877
|
+
};
|
|
878
|
+
return /*#__PURE__*/jsx(TouchableHighlight, {
|
|
879
|
+
underlayColor: 'transparent',
|
|
880
|
+
onPress: onClick,
|
|
881
|
+
style: styles.button,
|
|
882
|
+
children: /*#__PURE__*/jsxs(View, {
|
|
883
|
+
style: styles.inner,
|
|
884
|
+
children: [icon && /*#__PURE__*/jsx(Fragment, {
|
|
885
|
+
children: /*#__PURE__*/jsx(Ionicons$1, {
|
|
886
|
+
size: 30,
|
|
887
|
+
style: styles.icon,
|
|
888
|
+
name: icon
|
|
889
|
+
})
|
|
890
|
+
}), /*#__PURE__*/jsx(Text, {
|
|
891
|
+
style: styles.text,
|
|
892
|
+
children: label
|
|
893
|
+
})]
|
|
842
894
|
})
|
|
843
895
|
});
|
|
844
896
|
}
|
|
845
|
-
var styles$3 = {
|
|
846
|
-
link: {}
|
|
847
|
-
};
|
|
848
897
|
|
|
849
898
|
function Select(props) {
|
|
850
899
|
var handlePress = function handlePress() {
|
|
@@ -853,12 +902,12 @@ function Select(props) {
|
|
|
853
902
|
return /*#__PURE__*/jsx(TouchableOpacity, {
|
|
854
903
|
onPress: handlePress,
|
|
855
904
|
children: /*#__PURE__*/jsx(Text, {
|
|
856
|
-
style: styles$
|
|
905
|
+
style: styles$3.link,
|
|
857
906
|
children: "Clique aqui para acessar o React Native"
|
|
858
907
|
})
|
|
859
908
|
});
|
|
860
909
|
}
|
|
861
|
-
var styles$
|
|
910
|
+
var styles$3 = {
|
|
862
911
|
link: {}
|
|
863
912
|
};
|
|
864
913
|
|
|
@@ -869,12 +918,12 @@ function Switch(props) {
|
|
|
869
918
|
return /*#__PURE__*/jsx(TouchableOpacity, {
|
|
870
919
|
onPress: handlePress,
|
|
871
920
|
children: /*#__PURE__*/jsx(Text, {
|
|
872
|
-
style: styles$
|
|
921
|
+
style: styles$4.link,
|
|
873
922
|
children: "Clique aqui para acessar o React Native"
|
|
874
923
|
})
|
|
875
924
|
});
|
|
876
925
|
}
|
|
877
|
-
var styles$
|
|
926
|
+
var styles$4 = {
|
|
878
927
|
link: {}
|
|
879
928
|
};
|
|
880
929
|
|
|
@@ -885,12 +934,12 @@ function Option(props) {
|
|
|
885
934
|
return /*#__PURE__*/jsx(TouchableOpacity, {
|
|
886
935
|
onPress: handlePress,
|
|
887
936
|
children: /*#__PURE__*/jsx(Text, {
|
|
888
|
-
style: styles$
|
|
937
|
+
style: styles$5.link,
|
|
889
938
|
children: "Clique aqui para acessar o React Native"
|
|
890
939
|
})
|
|
891
940
|
});
|
|
892
941
|
}
|
|
893
|
-
var styles$
|
|
942
|
+
var styles$5 = {
|
|
894
943
|
link: {}
|
|
895
944
|
};
|
|
896
945
|
|
|
@@ -901,29 +950,34 @@ function Radio(props) {
|
|
|
901
950
|
return /*#__PURE__*/jsx(TouchableOpacity, {
|
|
902
951
|
onPress: handlePress,
|
|
903
952
|
children: /*#__PURE__*/jsx(Text, {
|
|
904
|
-
style: styles$
|
|
953
|
+
style: styles$6.link,
|
|
905
954
|
children: "Clique aqui para acessar o React Native"
|
|
906
955
|
})
|
|
907
956
|
});
|
|
908
957
|
}
|
|
909
|
-
var styles$
|
|
958
|
+
var styles$6 = {
|
|
910
959
|
link: {}
|
|
911
960
|
};
|
|
912
961
|
|
|
913
962
|
function Input(props) {
|
|
914
|
-
var
|
|
915
|
-
|
|
963
|
+
var scope = props.scope;
|
|
964
|
+
var value = scope.getValue();
|
|
965
|
+
var onChange = function onChange(e) {
|
|
966
|
+
console.log(e);
|
|
916
967
|
};
|
|
917
|
-
return /*#__PURE__*/jsx(
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
children: "Clique aqui para acessar o React Native"
|
|
922
|
-
})
|
|
968
|
+
return /*#__PURE__*/jsx(TextInput, {
|
|
969
|
+
style: styles$7.input,
|
|
970
|
+
onChangeText: onChange,
|
|
971
|
+
value: value
|
|
923
972
|
});
|
|
924
973
|
}
|
|
925
|
-
var styles$
|
|
926
|
-
|
|
974
|
+
var styles$7 = {
|
|
975
|
+
input: {
|
|
976
|
+
height: 40,
|
|
977
|
+
margin: 12,
|
|
978
|
+
borderWidth: 1,
|
|
979
|
+
padding: 10
|
|
980
|
+
}
|
|
927
981
|
};
|
|
928
982
|
|
|
929
983
|
function UIElement(props) {
|