react-crud-mobile 1.0.47 → 1.0.49
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/react-crud-mobile.cjs.development.js +20 -5
- 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 +20 -5
- package/dist/react-crud-mobile.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/elements/UIElement.tsx +23 -5
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),n=e(t),i=require("react-crud-utils"),s=require("react/jsx-runtime"),r=e(require("@expo/vector-icons/Ionicons")),a=require("react-native"),l=require("@expo/vector-icons");function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(null,arguments)}function o(e){var r=t.useState(i.Utils.nvl(e.scope,i.ScopeUtils.create(e)))[0],a=i.Utils.nvl(e.crud,r.crud),l=i.Utils.nvl(e.validateScope,"global"),u=i.Utils.nvl(e.part,"child");if(r.isInput())return s.jsx(s.Fragment,{});var d=function(e){var t=e.child;if(!t)return s.jsx(s.Fragment,{});if("string"==typeof t)return s.jsx(s.Fragment,{children:t});var n=t.type,u=c({},t.props);return delete u.children,"string"==typeof n?i.Utils.isEmpty(t.props.children)?s.jsx(n,c({},u)):s.jsx(n,c({},u,{children:s.jsx(o,c({transient:!0,validateScope:l},t.props,{scope:r,crud:a}))})):"function"==typeof n?s.jsx(n,c({validateScope:l},t.props,{parent:r,crud:a})):i.Utils.isEmpty(t.props.children)?s.jsx(s.Fragment,{}):s.jsx(o,c({validateScope:l},t.props,{scope:r,crud:a,transient:!0}))},p=function(){return s.jsx(s.Fragment,e.elements?{children:Object.entries(e.elements).map((function(e,t){return s.jsx(W,c({crud:a},e[1]))}))}:{children:n.Children.map(e.children,(function(e){return s.jsx(d,{child:e})}))})};return e.transient?s.jsx(p,{}):i.Utils.isEmpty(e.children)&&i.Utils.isEmpty(e.elements)?s.jsx(s.Fragment,{}):s.jsx(s.Fragment,{children:s.jsx("div",c({className:r.getStyleClass(u),style:r.getStyle(u)},e.childProps,{children:s.jsx(p,{})}))})}function u(e){var n,r=e.scope,a=i.Utils.nvl(null==(n=e.column)?void 0:n.props,{}),l=t.useState(new i.Scope(a,r,r.crud))[0];return s.jsx("td",{className:"ui-grid-col "+i.Utils.nvl(e.styleClass,"")+" "+l.getStyleClass("column"),style:l.getStyle("column"),colSpan:e.colspan,children:s.jsx(o,{scope:r,children:e.children})})}function d(e){var n,a=e.scope,l=e.value,c=e.rowIndex,o=a.original,u=t.useState(0),d=u[0],p=u[1],x=a.key("check",c,"s",d);return s.jsx(M.Button,{icon:(n=a.crudSearch,n&&(n.selecteds||(n.selecteds={}),i.Utils.nvl(o.itemValue,"id")),s.jsx(r,{})),click:{action:function(){var e=a.crudSearch;if(e){e.selecteds||(e.selecteds={});var t=i.Utils.nvl(o.itemValue,"id"),n=l[t];void 0!==n&&(void 0===e.selecteds[n]?e.selecteds[n]=l:delete e.selecteds[n])}p(++d)}}},x)}function p(e){var n=e.expansion,a=e.value,l=e.scope,p=e.index,x=l.original,j=i.CrudUtils.create("row",{index:p,row:!0,itemVar:l.original.itemVar,parent:l.crudSearch,data:a}),f=t.useState(!1),h=f[0],m=f[1],g=t.useState(new i.Scope(l.original,l,j))[0],y=function(){var e="ui-grid-row";return(e+=" ui-grid-row-")+(p%2==0?"even":"odd")},v=i.ComponentUtils.getChild(e,"Column"),b=v.length,S=function(){return s.jsxs(s.Fragment,{children:[!h&&s.jsx(r,{}),h&&s.jsx(r,{})]})},k=!i.Utils.isEmpty(n),C=x.multiple;return k&&b++,C&&b++,s.jsxs(s.Fragment,{children:[s.jsxs("tr",{className:y(),style:g.getStyle("row"),children:[k&&s.jsx(u,{scope:g,styleClass:"ui-click ui-icon-only ui-expansion",children:s.jsx(M.Button,{icon:s.jsx(S,{}),click:function(){m(!h)}})},"r"+p+"e"),C&&s.jsx(u,{scope:g,styleClass:"ui-click ui-icon-only ui-multiple",children:s.jsx(d,{scope:l,value:a,rowIndex:p},"check-"+p)},"r"+p+"c"),v.map((function(e,t){return s.jsx(u,{column:e,scope:g,children:e},"r"+p+"c"+t)}))]}),h&&s.jsx("tr",{className:y(),style:g.getStyle("row"),children:s.jsx(u,{scope:g,colspan:b,children:s.jsx(o,c({},e,{crud:j,children:n}))},"r"+p+"-expanded")})]})}function x(e){var n=e.scope,a=e.next,l=e.previous,o=e.first,u=e.size,d=e.last,p=e.position,x=t.useState([10,20,30,50,100,200,500])[0],j={crud:n.crudSearch,owner:n,variant:n.attr("variant","text")};return i.Utils.nvl(n.original.paginatorPosition,"bottom")!==p?s.jsx(s.Fragment,{}):s.jsxs(s.Fragment,{children:[s.jsx(M.Button,c({field:"first",space:0,rendered:!1!==o},j,{click:"first",icon:s.jsx(r,{})})),s.jsx(M.Button,c({field:"previous",space:0,rendered:!1!==l,click:"previous"},j,{icon:s.jsx(r,{})})),s.jsx(M.Select,c({field:"size",space:0,rendered:!1!==u,default:10},j,{data:x,change:"search"})),s.jsx(M.Button,c({field:"next",space:0,rendered:!1!==a},j,{click:"next",icon:s.jsx(r,{})})),s.jsx(M.Button,c({field:"last",space:0,rendered:!1!==d},j,{click:"last",icon:s.jsx(r,{})}))]})}function j(e){var t=e.scope;return s.jsx(s.Fragment,{children:s.jsxs(M.Output,{styleClass:"ui-grid-top",children:[s.jsxs(M.Output,{field:"search",position:"left",space:4,children:[s.jsx(M.Include,c({},e,{transient:!0,name:"top",position:"left"})),s.jsx(M.Text,{field:"query",space:0,label:"Pesquisar",placeholder:t.attr("placeholder","Pesquisar"),children:s.jsx(M.Define,{name:"right",children:s.jsx(M.Button,{field:"search",icon:s.jsx(r,{}),space:0,variant:"text",owner:t,click:"search"})})})]}),s.jsxs(M.Output,{position:"right",space:8,children:[s.jsx(M.Include,c({},e,{transient:!0,name:"top",position:"right"})),s.jsx(x,{scope:t,last:!1,first:!1,position:"top"})]})]})})}function f(e){return s.jsx(s.Fragment,{})}function h(e){var t=e.scope,n=e.children;return s.jsx("div",{className:"ui-grid-bottom",children:s.jsxs("div",{className:"ui-grid-bottom-inner",children:[s.jsx(M.Include,c({},e,{transient:!0,name:"bottomLeft"})),s.jsx(x,{scope:t,position:"bottom",children:n}),s.jsx(M.Include,c({},e,{transient:!0,name:"bottomRight"}))]})})}function m(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:g.link,children:"Clique aqui para acessar o React Native"})})}var g={link:{}};function y(e){var t=e.scope,n=t.original,r=i.Utils.nvl(n.labelPos,"outside"),a=i.Utils.nvl(e.position,"outside");if(r!=a)return s.jsx(s.Fragment,{});var l=function(){return t.is("type","list","grid")?s.jsx("div","string"==typeof n.icon?{className:"ui-label-icon",children:s.jsx(m,{className:t.getIcon()})}:{className:"ui-label-icon",children:n.icon}):s.jsx(s.Fragment,{})},o=t.getLabel();return s.jsxs("div",{className:"ui-label ui-label-"+a,children:[s.jsxs("div",{className:"ui-label-left",children:[s.jsx(M.Include,c({},e,{transient:!0,name:"label",position:"left"})),s.jsx(l,{}),o&&s.jsx("div",{className:"ui-label-value",children:o})]}),s.jsx("div",{className:"ui-label-right",children:s.jsx(M.Include,c({},e,{transient:!0,name:"label",position:"right"}))})]})}function v(e){var n=e.scope,r=n.getItems(),a=i.ComponentUtils.getDefine(e,"expansion");return s.jsxs("div",{className:n.getStyleClass("inner"),style:n.getStyle("inner"),children:[s.jsx(y,c({},e,{scope:n,position:"outside"})),s.jsxs("div",{className:n.getStyleClass("child"),style:n.getStyle("child"),children:[s.jsx(y,c({},e,{scope:n,position:"inside"})),s.jsxs("div",{className:"ui-data",children:[s.jsx(j,c({},e,{scope:n})),s.jsx(f,{scope:n}),s.jsx("div",{className:"ui-grid-data",children:s.jsx("table",{className:"ui-grid ui-table",children:s.jsx("tbody",{children:r.map((function(i,s){return t.createElement(p,c({},e,{expansion:a,key:"r"+s,scope:n,value:i,index:s}))}))})})})]}),s.jsx(h,c({},e,{scope:n}))]})]})}function b(e){if(!1===e.rendered)return s.jsx(s.Fragment,{});var t=i.ComponentUtils.getDefine(e,e.name,e.position);return i.Utils.isEmpty(t)&&(t=e.default),i.Utils.isEmpty(t)?s.jsx(s.Fragment,{children:t}):s.jsx((function(t){var n=e.tag;return i.Utils.isEmpty(n)?s.jsx(s.Fragment,{children:t.children}):s.jsx(n,c({},t,{children:t.children}))}),c({},e.tagProps,{children:s.jsx(o,c({transient:!0},e,{scope:e.scope,crud:e.crud,part:e.name,children:t}))}))}function S(e){var t=e.scope;return s.jsxs("div",{className:t.getStyleClass("inner"),style:t.getStyle("inner"),children:[s.jsx(y,c({},e,{scope:t})),s.jsx(o,c({},e,{scope:t})),s.jsx("div",{className:t.getStyleClass("bottom"),style:t.getStyle("bottom"),children:s.jsx(b,c({},e,{scope:t,name:"bottom"}))})]})}function k(e){var a=e.scope,l=t.useState(0),u=l[0],d=l[1],p=a.original,x=a.getItems(),j=0,f=[],h=t.useState(null),m=h[0],g=h[1],y=function(e,t){void 0===t&&(t=!0),e&&a.execute({event:{validate:t,validateScope:p.validateScope,action:function(){a.changeValue(e.data),m=e,d(u=e.index),g(e)}}})},v=function(e){var t,n="ui-tabs-item ui-click";return(null==(t=m)?void 0:t.index)===e.index&&(n+=" ui-tab-selected"),n},b=function(e,t){var n=c({},e.props);t||(t=a.crud.data);var s=i.CrudUtils.create("tabs",{data:t,changed:t,parent:a.crud}),r=i.Utils.resolve(n,s);!1!==r.rendered&&f.push(c({},r,{child:e,element:r,original:n,index:j++,data:t}))};n.Children.map(e.children,(function(e,t){if(i.Utils.isEmpty(x))b(e,{});else for(var n in x)b(e,x[n])})),m||y(f[u],!1);var S=function(e){y(f[u+e])},k="stepper"===p.layout;return s.jsx("div",{className:a.getStyleClass("inner"),style:a.getStyle("inner"),children:s.jsxs("div",{className:"ui-tabs-content",children:[s.jsx("div",{className:"ui-tabs-items",children:f.map((function(e,t){return s.jsxs("div",{className:v(e),onClick:function(){y(e)},children:[k&&s.jsx("div",{className:"ui-tab-item-divisor"}),s.jsxs("div",{className:"ui-tab-item-inner",children:[k&&s.jsx("div",{className:"ui-step-line"}),s.jsx("div",{className:"ui-tab-item-label",children:k?e.index+1:e.label})]})]},i.Utils.key(p.id,"tab",t))}))}),m&&s.jsxs(s.Fragment,{children:[k&&s.jsx("div",{className:"ui-tabs-label",children:m.label}),s.jsx("div",{className:"ui-tabs-area",children:s.jsx(o,c({},e,{scope:a,children:m.child}))}),"stepper"===p.layout&&s.jsxs("div",{className:"ui-tabs-actions",children:[s.jsx(M.Output,{space:6,layout:"left",children:s.jsx(M.Include,c({},e,{transient:!0,name:"left",default:s.jsx(M.Button,{rendered:u>0,icon:s.jsx(r,{}),click:function(){S(-1)}})}))}),s.jsx(M.Output,{space:6,layout:"right",children:s.jsx(M.Include,c({},e,{transient:!0,name:"right",default:s.jsx(M.Button,{rendered:u<f.length-1,icon:s.jsx(r,{}),click:function(){S(1)}})}))})]})]})]})})}function C(e){var t=e.scope;return t.getItems(),i.Utils.asList(t.original.columns),s.jsx("div",{className:"ui-chart-data"})}function U(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:N.link,children:"Clique aqui para acessar o React Native"})})}var N={link:{}};function I(e){return s.jsx(s.Fragment,{children:s.jsx(U,c({},e.defaultsInput,e.defaultsUI))})}function w(e){var n,r=e.scope,a=e.index,l=i.CrudUtils.create("row",{index:a,row:!0,itemVar:r.original.itemVar,parent:r.crudSearch,data:e.value}),u=t.useState(new i.Scope(r.original,r,l))[0];return s.jsx("div",{className:(n=u.getStyleClass("row"),n+=" ui-repeat-row-",n+=a%2==0?"even":"odd"),style:u.getStyle("row"),children:s.jsx(o,c({transient:!0},e,{crud:l,children:e.children}))})}function F(e){var n=e.scope,i=n.getItems();return s.jsx("div",{className:n.getStyleClass("inner"),style:n.getStyle("inner"),children:i.map((function(i,s){return t.createElement(w,c({},e,{key:"r"+s,scope:n,value:i,index:s}))}))})}function T(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:L.link,children:"Clique aqui para acessar o React Native"})})}var L={link:{}};function q(e){var t=e.scope.original,n=t.color,i=t.label,r=t.icon;n||(n="#55a46f");var o={text:c({color:"#ffffff",lineHeight:30,fontWeight:"500",textAlign:"center"},t.textStyle),inner:c({flex:1,flexDirection:"row",flexWrap:"wrap",textAlign:"center",alignItems:"center",margin:"auto"},t.textStyle),icon:{color:"#fff",fontSize:18,paddingRight:10},button:c({padding:5,alignItems:"center",paddingLeft:10,paddingRight:10,minWidth:200,margin:5,textAlign:"center",verticalAling:"middle",lineHeight:30,borderRadius:20,backgroundColor:n,color:"#ffffff"},t.buttonStyle)};return s.jsx(a.TouchableHighlight,{underlayColor:"transparent",onPress:function(e){"function"==typeof t.click&&t.click(e)},style:o.button,children:s.jsxs(a.View,{style:o.inner,children:[r&&s.jsx(s.Fragment,{children:s.jsx(l.Ionicons,{size:30,style:o.icon,name:r})}),s.jsx(a.Text,{style:o.text,children:i})]})})}function R(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:V.link,children:"Clique aqui para acessar o React Native"})})}var V={link:{}};function O(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:P.link,children:"Clique aqui para acessar o React Native"})})}var P={link:{}};function E(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:D.link,children:"Clique aqui para acessar o React Native"})})}var D={link:{}};function B(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:z.link,children:"Clique aqui para acessar o React Native"})})}var z={link:{}};function A(e){var t=e.scope.getValue();return s.jsx(a.TextInput,{style:H.input,onChangeText:function(e){console.log(e)},value:t})}var H={input:{height:40,margin:12,borderWidth:1,padding:10}};function W(e){var n=t.useState(i.ScopeUtils.create(e))[0],r=t.useState(0),l=r[0],u=r[1],d=t.useState(null),p=d[0],x=d[1],j=n.getOptions(),f=i.Utils.nvl(e.crud,n.crud),h=n.original,g=h.type,b=t.useRef(null);n.update=function(){u(++l)};var U={list:v,grid:v,label:y,card:S,repeat:F,tabs:k,chart:C},N=function(){return U[g]?s.jsx(U[g],c({crud:f},e,{scope:n})):s.jsx(s.Fragment,{})},w=function(){var e=h.custom;return e?s.jsx(W,"string"==typeof e?{element:{value:e,type:"dummy"},crud:f}:c({type:e.type,tag:e.type},e.props,{crud:f})):s.jsx(s.Fragment,{})};if(n.is("type","dummy"))return s.jsx(s.Fragment,{children:n.getDisplayValue()});var L=function(e){var t=e.target.value;n.isType("integer","int","number")?t=parseInt(t):n.isType("decimal")&&(t=parseFloat(t)),n.isType("select","complete")&&(t=n.getSelectedItem(t)),n.changeValue(t),n.update()},V=function(e){n.call("click")},P={label:n.getLabel(),value:n.getValue(),onChange:L};n.isType("password")&&(P.type="password");var D=n.getStyle("element"),z={required:n.isRequired(),size:"small",scope:n,crud:f,style:D,placeholder:n.attr("placeholder","Digite aqui")};if(!n.isRendered()||n.is("type","define"))return s.jsx(s.Fragment,{});n.error=function(e){p=e,x(e)},t.useEffect((function(){n.ready||(n.ready=!0,n.call("load"),n.isType("list","repeat")?n.search():h.list&&n.call("list"),n.start())}));var H=function(){return"string"==typeof h.icon?s.jsx(m,{children:n.getIcon()}):s.jsx(s.Fragment,{children:h.icon})},G=function(e){var t="ui-text ui-"+e+"-text";return n.getIcon()&&(t=t+" ui-icon ui-"+e+"-icon"),t};if(n.open=function(e){a.Linking.openURL(e.url)},n.isType("dialog")){var M=h.name;if(!f.dialogs[M]){var _={config:c({},h),component:function(t){return s.jsx(o,c({},e,{scope:n,crud:f}))}};f.dialogs[M]=_}return s.jsx(s.Fragment,{})}return t.useLayoutEffect((function(){if(null!=b&&b.current&&n.is("type","card","list","tabs","stepper")){var e=null==b?void 0:b.current;if(e){var t=i.HtmlUtils.getBGColor(e);e.classList.add("rgb(255, 255, 255)"===t?"ui-dark":"ui-light")}}})),s.jsx(s.Fragment,{children:s.jsxs(a.View,{ref:b,style:n.getStyle(),children:[void 0!==h.label&&(console.log(h.label),!0)&&s.jsx(a.Text,{style:n.getStyle("label"),children:n.getLabel()}),!(!(n.isInput()||i.Utils.isEmpty(e.children)&&i.Utils.isEmpty(e.elements))||U[g])&&s.jsxs(s.Fragment,{children:[s.jsxs(a.View,{style:n.getStyle("inner"),children:[n.is("type","button")&&s.jsxs(q,c({},z,{onClick:V,variant:n.attr("variant","outlined"),children:[h.icon&&s.jsx(H,{}),h.label&&s.jsx("span",{className:G("button"),children:n.getLabel()})]})),n.is("type","icon")&&s.jsx(m,c({},z,{onClick:V,variant:n.attr("variant","outlined"),children:n.getDisplayValue()})),n.is("type","link")&&s.jsxs(T,c({},z,{onClick:V,variant:n.attr("variant","outlined"),children:[h.icon&&s.jsx(H,{}),h.label&&s.jsx("span",{className:G("link"),children:n.getLabel()})]})),n.is("type","text","number","phone","postalCode","money","password","email")&&s.jsx(A,c({},P,z,{InputProps:c({},h.inputProps)})),n.is("type","complete","autocomplete")&&s.jsx(I,{scope:n,defaultsInput:P,defaultsUI:z}),n.is("type","checkbox","boolean","switch")&&s.jsx(O,c({checked:!0===n.getValue()},P,{onChange:function(){var e=n.getValue();L({target:{value:!(!0===e)}})}})),n.is("type","select")&&s.jsxs(R,c({},P,z,{value:n.getSelectedValue(),children:[s.jsx(E,{value:"",children:"Selecione"}),j.map((function(e,t){return s.jsx(E,{value:e.value,children:e.label},"i"+t)}))]})),n.is("type","radio")&&s.jsx(B,c({},P,z,{row:!0,children:j.map((function(e,t){return s.jsx(E,{control:s.jsx(B,c({},z)),label:e.label,value:e.value},"i"+t)}))})),n.is("type","custom")&&s.jsx(w,{}),n.is("type","column")&&s.jsxs(s.Fragment,{children:[n.is("format","img")&&s.jsx(a.Image,{source:n.getDisplayValue()}),n.is("format","icon")&&s.jsx(m,{className:n.getDisplayValue()}),!n.is("format","icon","img")&&s.jsx(a.Text,{children:n.getDisplayValue()})]}),n.is("type","output")&&s.jsx(a.Text,{children:n.getDisplayValue()})]}),p&&s.jsx(a.View,{style:n.getStyle("error"),children:p})]}),s.jsx(N,{}),!n.is("type","card","tabs","grid","list","define","repeat")&&s.jsx(o,c({},e,{scope:n,crud:f}))]})})}var G=["type"],M={Grid:function(e){return s.jsx(W,c({},e,{type:"list"}))},Repeat:function(e){return s.jsx(W,c({},e,{type:"repeat"}))},Define:function(e){return s.jsx(W,c({},e,{type:"define"}))},Include:function(e){return s.jsx(b,c({},e))},Column:function(e){var t=function(e,t){if(null==e)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;n[i]=e[i]}return n}(e,G);return s.jsx(W,c({},t,{type:"column"}))},Input:function(e){return s.jsx(W,c({},e))},Text:function(e){return s.jsx(W,c({},e,{type:"text"}))},Email:function(e){return s.jsx(W,c({},e,{type:"email"}))},Button:function(e){return s.jsx(W,c({},e,{type:"button"}))},Link:function(e){return s.jsx(W,c({},e,{type:"link"}))},Icon:function(e){return s.jsx(W,c({},e,{type:"icon"}))},Output:function(e){return s.jsx(W,c({},e,{type:"output"}))},Form:function(e){return s.jsx(W,c({},e,{type:"form"}))},Crud:function(e){return s.jsx(W,c({},e,{type:"crud"}))},View:function(e){return s.jsx(W,c({},e,{type:"view",transient:!0}))},Bottom:function(e){return s.jsx(W,c({},e,{type:"bottom"}))},Dialog:function(e){return s.jsx(W,c({},e,{type:"dialog"}))},Content:function(e){return s.jsx(W,c({},e,{type:"content"}))},Top:function(e){return s.jsx(W,c({},e,{type:"top"}))},Card:function(e){return s.jsx(W,c({},e,{type:"card"}))},Tab:function(e){return s.jsx(W,c({},e,{type:"tab"}))},Tabs:function(e){return s.jsx(W,c({},e,{type:"tabs"}))},Step:function(e){return s.jsx(W,c({},e,{type:"tab",layout:"step"}))},Stepper:function(e){return s.jsx(W,c({},e,{type:"tabs",layout:"stepper"}))},Money:function(e){return s.jsx(W,c({},e,{type:"money"}))},Chart:function(e){return s.jsx(W,c({},e,{type:"chart"}))},Password:function(e){return s.jsx(W,c({},e,{type:"password"}))},Complete:function(e){return s.jsx(W,c({},e,{type:"complete"}))},Checkbox:function(e){return s.jsx(W,c({},e,{type:"checkbox"}))},Radio:function(e){return s.jsx(W,c({},e,{type:"radio"}))},Select:function(e){return s.jsx(W,c({},e,{type:"select"}))},Entity:function(e){return s.jsx(W,c({},e,{type:"entity"}))},Element:function(e){return s.jsx(W,c({},e,{type:"element"}))}};exports.UI=M;
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),n=e(t),i=require("react-crud-utils"),s=require("react/jsx-runtime"),r=e(require("@expo/vector-icons/Ionicons")),a=require("react-native"),l=require("@expo/vector-icons");function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(null,arguments)}function o(e){var r=t.useState(i.Utils.nvl(e.scope,i.ScopeUtils.create(e)))[0],a=i.Utils.nvl(e.crud,r.crud),l=i.Utils.nvl(e.validateScope,"global"),u=i.Utils.nvl(e.part,"child");if(r.isInput())return s.jsx(s.Fragment,{});var d=function(e){var t=e.child;if(!t)return s.jsx(s.Fragment,{});if("string"==typeof t)return s.jsx(s.Fragment,{children:t});var n=t.type,u=c({},t.props);return delete u.children,"string"==typeof n?i.Utils.isEmpty(t.props.children)?s.jsx(n,c({},u)):s.jsx(n,c({},u,{children:s.jsx(o,c({transient:!0,validateScope:l},t.props,{scope:r,crud:a}))})):"function"==typeof n?s.jsx(n,c({validateScope:l},t.props,{parent:r,crud:a})):i.Utils.isEmpty(t.props.children)?s.jsx(s.Fragment,{}):s.jsx(o,c({validateScope:l},t.props,{scope:r,crud:a,transient:!0}))},p=function(){return s.jsx(s.Fragment,e.elements?{children:Object.entries(e.elements).map((function(e,t){return s.jsx(H,c({crud:a},e[1]))}))}:{children:n.Children.map(e.children,(function(e){return s.jsx(d,{child:e})}))})};return e.transient?s.jsx(p,{}):i.Utils.isEmpty(e.children)&&i.Utils.isEmpty(e.elements)?s.jsx(s.Fragment,{}):s.jsx(s.Fragment,{children:s.jsx("div",c({className:r.getStyleClass(u),style:r.getStyle(u)},e.childProps,{children:s.jsx(p,{})}))})}function u(e){var n,r=e.scope,a=i.Utils.nvl(null==(n=e.column)?void 0:n.props,{}),l=t.useState(new i.Scope(a,r,r.crud))[0];return s.jsx("td",{className:"ui-grid-col "+i.Utils.nvl(e.styleClass,"")+" "+l.getStyleClass("column"),style:l.getStyle("column"),colSpan:e.colspan,children:s.jsx(o,{scope:r,children:e.children})})}function d(e){var n,a=e.scope,l=e.value,c=e.rowIndex,o=a.original,u=t.useState(0),d=u[0],p=u[1],x=a.key("check",c,"s",d);return s.jsx(_.Button,{icon:(n=a.crudSearch,n&&(n.selecteds||(n.selecteds={}),i.Utils.nvl(o.itemValue,"id")),s.jsx(r,{})),click:{action:function(){var e=a.crudSearch;if(e){e.selecteds||(e.selecteds={});var t=i.Utils.nvl(o.itemValue,"id"),n=l[t];void 0!==n&&(void 0===e.selecteds[n]?e.selecteds[n]=l:delete e.selecteds[n])}p(++d)}}},x)}function p(e){var n=e.expansion,a=e.value,l=e.scope,p=e.index,x=l.original,j=i.CrudUtils.create("row",{index:p,row:!0,itemVar:l.original.itemVar,parent:l.crudSearch,data:a}),f=t.useState(!1),h=f[0],m=f[1],g=t.useState(new i.Scope(l.original,l,j))[0],v=function(){var e="ui-grid-row";return(e+=" ui-grid-row-")+(p%2==0?"even":"odd")},y=i.ComponentUtils.getChild(e,"Column"),b=y.length,S=function(){return s.jsxs(s.Fragment,{children:[!h&&s.jsx(r,{}),h&&s.jsx(r,{})]})},k=!i.Utils.isEmpty(n),C=x.multiple;return k&&b++,C&&b++,s.jsxs(s.Fragment,{children:[s.jsxs("tr",{className:v(),style:g.getStyle("row"),children:[k&&s.jsx(u,{scope:g,styleClass:"ui-click ui-icon-only ui-expansion",children:s.jsx(_.Button,{icon:s.jsx(S,{}),click:function(){m(!h)}})},"r"+p+"e"),C&&s.jsx(u,{scope:g,styleClass:"ui-click ui-icon-only ui-multiple",children:s.jsx(d,{scope:l,value:a,rowIndex:p},"check-"+p)},"r"+p+"c"),y.map((function(e,t){return s.jsx(u,{column:e,scope:g,children:e},"r"+p+"c"+t)}))]}),h&&s.jsx("tr",{className:v(),style:g.getStyle("row"),children:s.jsx(u,{scope:g,colspan:b,children:s.jsx(o,c({},e,{crud:j,children:n}))},"r"+p+"-expanded")})]})}function x(e){var n=e.scope,a=e.next,l=e.previous,o=e.first,u=e.size,d=e.last,p=e.position,x=t.useState([10,20,30,50,100,200,500])[0],j={crud:n.crudSearch,owner:n,variant:n.attr("variant","text")};return i.Utils.nvl(n.original.paginatorPosition,"bottom")!==p?s.jsx(s.Fragment,{}):s.jsxs(s.Fragment,{children:[s.jsx(_.Button,c({field:"first",space:0,rendered:!1!==o},j,{click:"first",icon:s.jsx(r,{})})),s.jsx(_.Button,c({field:"previous",space:0,rendered:!1!==l,click:"previous"},j,{icon:s.jsx(r,{})})),s.jsx(_.Select,c({field:"size",space:0,rendered:!1!==u,default:10},j,{data:x,change:"search"})),s.jsx(_.Button,c({field:"next",space:0,rendered:!1!==a},j,{click:"next",icon:s.jsx(r,{})})),s.jsx(_.Button,c({field:"last",space:0,rendered:!1!==d},j,{click:"last",icon:s.jsx(r,{})}))]})}function j(e){var t=e.scope;return s.jsx(s.Fragment,{children:s.jsxs(_.Output,{styleClass:"ui-grid-top",children:[s.jsxs(_.Output,{field:"search",position:"left",space:4,children:[s.jsx(_.Include,c({},e,{transient:!0,name:"top",position:"left"})),s.jsx(_.Text,{field:"query",space:0,label:"Pesquisar",placeholder:t.attr("placeholder","Pesquisar"),children:s.jsx(_.Define,{name:"right",children:s.jsx(_.Button,{field:"search",icon:s.jsx(r,{}),space:0,variant:"text",owner:t,click:"search"})})})]}),s.jsxs(_.Output,{position:"right",space:8,children:[s.jsx(_.Include,c({},e,{transient:!0,name:"top",position:"right"})),s.jsx(x,{scope:t,last:!1,first:!1,position:"top"})]})]})})}function f(e){return s.jsx(s.Fragment,{})}function h(e){var t=e.scope,n=e.children;return s.jsx("div",{className:"ui-grid-bottom",children:s.jsxs("div",{className:"ui-grid-bottom-inner",children:[s.jsx(_.Include,c({},e,{transient:!0,name:"bottomLeft"})),s.jsx(x,{scope:t,position:"bottom",children:n}),s.jsx(_.Include,c({},e,{transient:!0,name:"bottomRight"}))]})})}function m(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:g.link,children:"Clique aqui para acessar o React Native"})})}var g={link:{}};function v(e){var t=e.scope,n=t.original,r=i.Utils.nvl(n.labelPos,"outside"),a=i.Utils.nvl(e.position,"outside");if(r!=a)return s.jsx(s.Fragment,{});var l=function(){return t.is("type","list","grid")?s.jsx("div","string"==typeof n.icon?{className:"ui-label-icon",children:s.jsx(m,{className:t.getIcon()})}:{className:"ui-label-icon",children:n.icon}):s.jsx(s.Fragment,{})},o=t.getLabel();return s.jsxs("div",{className:"ui-label ui-label-"+a,children:[s.jsxs("div",{className:"ui-label-left",children:[s.jsx(_.Include,c({},e,{transient:!0,name:"label",position:"left"})),s.jsx(l,{}),o&&s.jsx("div",{className:"ui-label-value",children:o})]}),s.jsx("div",{className:"ui-label-right",children:s.jsx(_.Include,c({},e,{transient:!0,name:"label",position:"right"}))})]})}function y(e){var n=e.scope,r=n.getItems(),a=i.ComponentUtils.getDefine(e,"expansion");return s.jsxs("div",{className:n.getStyleClass("inner"),style:n.getStyle("inner"),children:[s.jsx(v,c({},e,{scope:n,position:"outside"})),s.jsxs("div",{className:n.getStyleClass("child"),style:n.getStyle("child"),children:[s.jsx(v,c({},e,{scope:n,position:"inside"})),s.jsxs("div",{className:"ui-data",children:[s.jsx(j,c({},e,{scope:n})),s.jsx(f,{scope:n}),s.jsx("div",{className:"ui-grid-data",children:s.jsx("table",{className:"ui-grid ui-table",children:s.jsx("tbody",{children:r.map((function(i,s){return t.createElement(p,c({},e,{expansion:a,key:"r"+s,scope:n,value:i,index:s}))}))})})})]}),s.jsx(h,c({},e,{scope:n}))]})]})}function b(e){if(!1===e.rendered)return s.jsx(s.Fragment,{});var t=i.ComponentUtils.getDefine(e,e.name,e.position);return i.Utils.isEmpty(t)&&(t=e.default),i.Utils.isEmpty(t)?s.jsx(s.Fragment,{children:t}):s.jsx((function(t){var n=e.tag;return i.Utils.isEmpty(n)?s.jsx(s.Fragment,{children:t.children}):s.jsx(n,c({},t,{children:t.children}))}),c({},e.tagProps,{children:s.jsx(o,c({transient:!0},e,{scope:e.scope,crud:e.crud,part:e.name,children:t}))}))}function S(e){var t=e.scope;return s.jsxs("div",{className:t.getStyleClass("inner"),style:t.getStyle("inner"),children:[s.jsx(v,c({},e,{scope:t})),s.jsx(o,c({},e,{scope:t})),s.jsx("div",{className:t.getStyleClass("bottom"),style:t.getStyle("bottom"),children:s.jsx(b,c({},e,{scope:t,name:"bottom"}))})]})}function k(e){var a=e.scope,l=t.useState(0),u=l[0],d=l[1],p=a.original,x=a.getItems(),j=0,f=[],h=t.useState(null),m=h[0],g=h[1],v=function(e,t){void 0===t&&(t=!0),e&&a.execute({event:{validate:t,validateScope:p.validateScope,action:function(){a.changeValue(e.data),m=e,d(u=e.index),g(e)}}})},y=function(e){var t,n="ui-tabs-item ui-click";return(null==(t=m)?void 0:t.index)===e.index&&(n+=" ui-tab-selected"),n},b=function(e,t){var n=c({},e.props);t||(t=a.crud.data);var s=i.CrudUtils.create("tabs",{data:t,changed:t,parent:a.crud}),r=i.Utils.resolve(n,s);!1!==r.rendered&&f.push(c({},r,{child:e,element:r,original:n,index:j++,data:t}))};n.Children.map(e.children,(function(e,t){if(i.Utils.isEmpty(x))b(e,{});else for(var n in x)b(e,x[n])})),m||v(f[u],!1);var S=function(e){v(f[u+e])},k="stepper"===p.layout;return s.jsx("div",{className:a.getStyleClass("inner"),style:a.getStyle("inner"),children:s.jsxs("div",{className:"ui-tabs-content",children:[s.jsx("div",{className:"ui-tabs-items",children:f.map((function(e,t){return s.jsxs("div",{className:y(e),onClick:function(){v(e)},children:[k&&s.jsx("div",{className:"ui-tab-item-divisor"}),s.jsxs("div",{className:"ui-tab-item-inner",children:[k&&s.jsx("div",{className:"ui-step-line"}),s.jsx("div",{className:"ui-tab-item-label",children:k?e.index+1:e.label})]})]},i.Utils.key(p.id,"tab",t))}))}),m&&s.jsxs(s.Fragment,{children:[k&&s.jsx("div",{className:"ui-tabs-label",children:m.label}),s.jsx("div",{className:"ui-tabs-area",children:s.jsx(o,c({},e,{scope:a,children:m.child}))}),"stepper"===p.layout&&s.jsxs("div",{className:"ui-tabs-actions",children:[s.jsx(_.Output,{space:6,layout:"left",children:s.jsx(_.Include,c({},e,{transient:!0,name:"left",default:s.jsx(_.Button,{rendered:u>0,icon:s.jsx(r,{}),click:function(){S(-1)}})}))}),s.jsx(_.Output,{space:6,layout:"right",children:s.jsx(_.Include,c({},e,{transient:!0,name:"right",default:s.jsx(_.Button,{rendered:u<f.length-1,icon:s.jsx(r,{}),click:function(){S(1)}})}))})]})]})]})})}function C(e){var t=e.scope;return t.getItems(),i.Utils.asList(t.original.columns),s.jsx("div",{className:"ui-chart-data"})}function U(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:N.link,children:"Clique aqui para acessar o React Native"})})}var N={link:{}};function I(e){return s.jsx(s.Fragment,{children:s.jsx(U,c({},e.defaultsInput,e.defaultsUI))})}function w(e){var n,r=e.scope,a=e.index,l=i.CrudUtils.create("row",{index:a,row:!0,itemVar:r.original.itemVar,parent:r.crudSearch,data:e.value}),u=t.useState(new i.Scope(r.original,r,l))[0];return s.jsx("div",{className:(n=u.getStyleClass("row"),n+=" ui-repeat-row-",n+=a%2==0?"even":"odd"),style:u.getStyle("row"),children:s.jsx(o,c({transient:!0},e,{crud:l,children:e.children}))})}function F(e){var n=e.scope,i=n.getItems();return s.jsx("div",{className:n.getStyleClass("inner"),style:n.getStyle("inner"),children:i.map((function(i,s){return t.createElement(w,c({},e,{key:"r"+s,scope:n,value:i,index:s}))}))})}function T(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:L.link,children:"Clique aqui para acessar o React Native"})})}var L={link:{}};function q(e){var t=e.scope.original,n=t.color,i=t.label,r=t.icon;n||(n="#55a46f");var o={text:c({color:"#ffffff",lineHeight:30,fontWeight:"500",textAlign:"center"},t.textStyle),inner:c({flex:1,flexDirection:"row",flexWrap:"wrap",textAlign:"center",alignItems:"center",margin:"auto"},t.textStyle),icon:{color:"#fff",fontSize:18,paddingRight:10},button:c({padding:5,alignItems:"center",paddingLeft:10,paddingRight:10,minWidth:200,margin:5,textAlign:"center",verticalAling:"middle",lineHeight:30,borderRadius:20,backgroundColor:n,color:"#ffffff"},t.buttonStyle)};return s.jsx(a.TouchableHighlight,{underlayColor:"transparent",onPress:function(e){"function"==typeof t.click&&t.click(e)},style:o.button,children:s.jsxs(a.View,{style:o.inner,children:[r&&s.jsx(s.Fragment,{children:s.jsx(l.Ionicons,{size:30,style:o.icon,name:r})}),s.jsx(a.Text,{style:o.text,children:i})]})})}function R(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:V.link,children:"Clique aqui para acessar o React Native"})})}var V={link:{}};function O(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:P.link,children:"Clique aqui para acessar o React Native"})})}var P={link:{}};function E(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:D.link,children:"Clique aqui para acessar o React Native"})})}var D={link:{}};function B(e){return s.jsx(a.TouchableOpacity,{onPress:function(){a.Linking.openURL("https://reactnative.dev/")},children:s.jsx(a.Text,{style:z.link,children:"Clique aqui para acessar o React Native"})})}var z={link:{}};function W(e){var t=e.scope.getValue();return s.jsx(a.TextInput,{style:A.input,onChangeText:function(e){console.log(e)},value:t})}var A={input:{height:40,margin:12,borderWidth:1,padding:10}};function H(e){var n=t.useState(i.ScopeUtils.create(e))[0],r=t.useState(0),l=r[0],u=r[1],d=t.useState(null),p=d[0],x=d[1],j=n.getOptions(),f=i.Utils.nvl(e.crud,n.crud),h=n.original,g=h.type,b=t.useRef(null);n.update=function(){u(++l)};var U={list:y,grid:y,label:v,card:S,repeat:F,tabs:k,chart:C},N=function(){return U[g]?s.jsx(U[g],c({crud:f},e,{scope:n})):s.jsx(s.Fragment,{})},w=function(){var e=h.custom;return e?s.jsx(H,"string"==typeof e?{element:{value:e,type:"dummy"},crud:f}:c({type:e.type,tag:e.type},e.props,{crud:f})):s.jsx(s.Fragment,{})};if(n.is("type","dummy"))return s.jsx(s.Fragment,{children:n.getDisplayValue()});var L=function(e){var t=e.target.value;n.isType("integer","int","number")?t=parseInt(t):n.isType("decimal")&&(t=parseFloat(t)),n.isType("select","complete")&&(t=n.getSelectedItem(t)),n.changeValue(t),n.update()},V=function(e){n.call("click")},P={label:n.getLabel(),value:n.getValue(),onChange:L};n.isType("password")&&(P.type="password");var D=function(e){var t=i.Utils.nvl(e,"root");return c({},G[t],n.getStyle(e))},z=D("element"),A={required:n.isRequired(),size:"small",scope:n,crud:f,style:z,placeholder:n.attr("placeholder","Digite aqui")};if(!n.isRendered()||n.is("type","define"))return s.jsx(s.Fragment,{});n.error=function(e){p=e,x(e)},t.useEffect((function(){n.ready||(n.ready=!0,n.call("load"),n.isType("list","repeat")?n.search():h.list&&n.call("list"),n.start())}));var M=function(){return"string"==typeof h.icon?s.jsx(m,{children:n.getIcon()}):s.jsx(s.Fragment,{children:h.icon})},_=function(e){var t="ui-text ui-"+e+"-text";return n.getIcon()&&(t=t+" ui-icon ui-"+e+"-icon"),t};if(n.open=function(e){a.Linking.openURL(e.url)},n.isType("dialog")){var J=h.name;if(!f.dialogs[J]){var K={config:c({},h),component:function(t){return s.jsx(o,c({},e,{scope:n,crud:f}))}};f.dialogs[J]=K}return s.jsx(s.Fragment,{})}return t.useLayoutEffect((function(){if(null!=b&&b.current&&n.is("type","card","list","tabs","stepper")){var e=null==b?void 0:b.current;if(e){var t=i.HtmlUtils.getBGColor(e);e.classList.add("rgb(255, 255, 255)"===t?"ui-dark":"ui-light")}}})),s.jsx(s.Fragment,{children:s.jsxs(a.View,{ref:b,style:D(),children:[void 0!==h.label&&(console.log(h.label),!0)&&s.jsx(a.Text,{style:D("label"),children:n.getLabel()}),!(!(n.isInput()||i.Utils.isEmpty(e.children)&&i.Utils.isEmpty(e.elements))||U[g])&&s.jsxs(s.Fragment,{children:[s.jsxs(a.View,{style:D("inner"),children:[n.is("type","button")&&s.jsxs(q,c({},A,{onClick:V,variant:n.attr("variant","outlined"),children:[h.icon&&s.jsx(M,{}),h.label&&s.jsx("span",{className:_("button"),children:n.getLabel()})]})),n.is("type","icon")&&s.jsx(m,c({},A,{onClick:V,variant:n.attr("variant","outlined"),children:n.getDisplayValue()})),n.is("type","link")&&s.jsxs(T,c({},A,{onClick:V,variant:n.attr("variant","outlined"),children:[h.icon&&s.jsx(M,{}),h.label&&s.jsx("span",{className:_("link"),children:n.getLabel()})]})),n.is("type","text","number","phone","postalCode","money","password","email")&&s.jsx(W,c({},P,A,{InputProps:c({},h.inputProps)})),n.is("type","complete","autocomplete")&&s.jsx(I,{scope:n,defaultsInput:P,defaultsUI:A}),n.is("type","checkbox","boolean","switch")&&s.jsx(O,c({checked:!0===n.getValue()},P,{onChange:function(){var e=n.getValue();L({target:{value:!(!0===e)}})}})),n.is("type","select")&&s.jsxs(R,c({},P,A,{value:n.getSelectedValue(),children:[s.jsx(E,{value:"",children:"Selecione"}),j.map((function(e,t){return s.jsx(E,{value:e.value,children:e.label},"i"+t)}))]})),n.is("type","radio")&&s.jsx(B,c({},P,A,{row:!0,children:j.map((function(e,t){return s.jsx(E,{control:s.jsx(B,c({},A)),label:e.label,value:e.value},"i"+t)}))})),n.is("type","custom")&&s.jsx(w,{}),n.is("type","column")&&s.jsxs(s.Fragment,{children:[n.is("format","img")&&s.jsx(a.Image,{source:n.getDisplayValue()}),n.is("format","icon")&&s.jsx(m,{className:n.getDisplayValue()}),!n.is("format","icon","img")&&s.jsx(a.Text,{children:n.getDisplayValue()})]}),n.is("type","output")&&s.jsx(a.Text,{children:n.getDisplayValue()})]}),p&&s.jsx(a.View,{style:D("error"),children:p})]}),s.jsx(N,{}),!n.is("type","card","tabs","grid","list","define","repeat")&&s.jsx(o,c({},e,{scope:n,crud:f}))]})})}var G={root:{flex:1,gap:10,flexDirection:"column",flexWrap:"wrap",alignItems:"flex-start"},label:{}},M=["type"],_={Grid:function(e){return s.jsx(H,c({},e,{type:"list"}))},Repeat:function(e){return s.jsx(H,c({},e,{type:"repeat"}))},Define:function(e){return s.jsx(H,c({},e,{type:"define"}))},Include:function(e){return s.jsx(b,c({},e))},Column:function(e){var t=function(e,t){if(null==e)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;n[i]=e[i]}return n}(e,M);return s.jsx(H,c({},t,{type:"column"}))},Input:function(e){return s.jsx(H,c({},e))},Text:function(e){return s.jsx(H,c({},e,{type:"text"}))},Email:function(e){return s.jsx(H,c({},e,{type:"email"}))},Button:function(e){return s.jsx(H,c({},e,{type:"button"}))},Link:function(e){return s.jsx(H,c({},e,{type:"link"}))},Icon:function(e){return s.jsx(H,c({},e,{type:"icon"}))},Output:function(e){return s.jsx(H,c({},e,{type:"output"}))},Form:function(e){return s.jsx(H,c({},e,{type:"form"}))},Crud:function(e){return s.jsx(H,c({},e,{type:"crud"}))},View:function(e){return s.jsx(H,c({},e,{type:"view",transient:!0}))},Bottom:function(e){return s.jsx(H,c({},e,{type:"bottom"}))},Dialog:function(e){return s.jsx(H,c({},e,{type:"dialog"}))},Content:function(e){return s.jsx(H,c({},e,{type:"content"}))},Top:function(e){return s.jsx(H,c({},e,{type:"top"}))},Card:function(e){return s.jsx(H,c({},e,{type:"card"}))},Tab:function(e){return s.jsx(H,c({},e,{type:"tab"}))},Tabs:function(e){return s.jsx(H,c({},e,{type:"tabs"}))},Step:function(e){return s.jsx(H,c({},e,{type:"tab",layout:"step"}))},Stepper:function(e){return s.jsx(H,c({},e,{type:"tabs",layout:"stepper"}))},Money:function(e){return s.jsx(H,c({},e,{type:"money"}))},Chart:function(e){return s.jsx(H,c({},e,{type:"chart"}))},Password:function(e){return s.jsx(H,c({},e,{type:"password"}))},Complete:function(e){return s.jsx(H,c({},e,{type:"complete"}))},Checkbox:function(e){return s.jsx(H,c({},e,{type:"checkbox"}))},Radio:function(e){return s.jsx(H,c({},e,{type:"radio"}))},Select:function(e){return s.jsx(H,c({},e,{type:"select"}))},Entity:function(e){return s.jsx(H,c({},e,{type:"entity"}))},Element:function(e){return s.jsx(H,c({},e,{type:"element"}))}};exports.UI=_;
|
|
2
2
|
//# sourceMappingURL=react-crud-mobile.cjs.production.min.js.map
|
|
@@ -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\";\r\nimport UIElement from \"./UIElement\";\r\nimport { Crud, Scope, ScopeUtils, Utils } from \"react-crud-utils\";\r\n\r\ninterface UIChildrenType {\r\n scope: Scope;\r\n crud?: Crud;\r\n validateScope?: String;\r\n children?: any;\r\n elements?: any;\r\n transient?: boolean;\r\n part?: string;\r\n childProps?: any;\r\n}\r\n\r\nexport default function UIChildren(props: UIChildrenType) {\r\n let [scope] = useState(Utils.nvl(props.scope, ScopeUtils.create(props)));\r\n let crud = Utils.nvl(props.crud, scope.crud);\r\n let validateScope = Utils.nvl(props.validateScope, \"global\");\r\n let name = Utils.nvl(props.part, \"child\");\r\n\r\n if (scope.isInput()) {\r\n return <></>;\r\n }\r\n\r\n let Paint = ({ child }: any) => {\r\n if (!child) {\r\n return <></>;\r\n }\r\n if (typeof child === \"string\") {\r\n return <>{child}</>;\r\n }\r\n\r\n let Custom = child.type;\r\n let pps = { ...child.props };\r\n\r\n delete pps.children;\r\n\r\n if (typeof Custom === \"string\") {\r\n if (Utils.isEmpty(child.props.children)) {\r\n return <Custom {...pps} />;\r\n }\r\n return (\r\n <Custom {...pps}>\r\n <UIChildren\r\n transient\r\n validateScope={validateScope}\r\n {...child.props}\r\n scope={scope}\r\n crud={crud}\r\n ></UIChildren>\r\n </Custom>\r\n );\r\n } else if (typeof Custom === \"function\") {\r\n return (\r\n <Custom\r\n validateScope={validateScope}\r\n {...child.props}\r\n parent={scope}\r\n crud={crud}\r\n ></Custom>\r\n );\r\n }\r\n\r\n if (!Utils.isEmpty(child.props.children)) {\r\n return (\r\n <UIChildren\r\n validateScope={validateScope}\r\n {...child.props}\r\n scope={scope}\r\n crud={crud}\r\n transient\r\n ></UIChildren>\r\n );\r\n }\r\n return <></>;\r\n };\r\n\r\n const Draw = () => {\r\n if (props.elements) {\r\n return (\r\n <>\r\n {Object.entries(props.elements).map((t: any, k) => {\r\n return <UIElement crud={crud} {...t[1]} />;\r\n })}\r\n </>\r\n );\r\n }\r\n return (\r\n <>\r\n {React.Children.map(props.children, (child) => {\r\n return <Paint child={child}></Paint>;\r\n })}\r\n </>\r\n );\r\n };\r\n\r\n if (props.transient) {\r\n return <Draw />;\r\n }\r\n\r\n if (Utils.isEmpty(props.children) && Utils.isEmpty(props.elements)) {\r\n return <></>;\r\n }\r\n\r\n return (\r\n <>\r\n <div\r\n className={scope.getStyleClass(name)}\r\n style={scope.getStyle(name)}\r\n {...props.childProps}\r\n >\r\n <Draw />\r\n </div>\r\n </>\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport UIChildren from \"../UIChildren\";\r\nimport { Scope, Utils } from \"react-crud-utils\";\r\n\r\ninterface ElGridColumnType {\r\n scope: Scope;\r\n styleClass?: string;\r\n children?: any;\r\n colspan?: number;\r\n column?: any;\r\n}\r\n\r\nexport default function ElGridColumn(props: ElGridColumnType) {\r\n let scope = props.scope;\r\n let col = Utils.nvl(props.column?.props, {});\r\n let [colScope] = useState(new Scope(col, scope, scope.crud));\r\n\r\n let getStyleClass = () => {\r\n let def = Utils.nvl(props.styleClass, \"\");\r\n\r\n return \"ui-grid-col \" + def + \" \" + colScope.getStyleClass(\"column\");\r\n };\r\n return (\r\n <td\r\n className={getStyleClass()}\r\n style={colScope.getStyle(\"column\")}\r\n colSpan={props.colspan}\r\n >\r\n <UIChildren scope={scope}>{props.children}</UIChildren>\r\n </td>\r\n );\r\n}\r\n","import UI from '../UI';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport { useState } from 'react';\r\nimport { GridRowType, Utils } from 'react-crud-utils';\r\n\r\nexport default function ElGridCheck({ scope, value, rowIndex }: GridRowType) {\r\n let original = scope.original;\r\n let [index, setIndex] = useState(0);\r\n let key = scope.key('check', rowIndex, 's', index);\r\n\r\n let check = () => {\r\n let cs = scope.crudSearch;\r\n\r\n if (cs) {\r\n if (!cs.selecteds) {\r\n cs.selecteds = {};\r\n }\r\n\r\n let itemValue = Utils.nvl(original.itemValue, 'id');\r\n let key = value[itemValue];\r\n\r\n if (typeof key !== 'undefined') {\r\n if (typeof cs.selecteds[key] === 'undefined') {\r\n cs.selecteds[key] = value;\r\n } else {\r\n delete cs.selecteds[key];\r\n }\r\n }\r\n }\r\n setIndex(++index);\r\n };\r\n\r\n let getCheckIcon = () => {\r\n if (isChecked()) {\r\n return <Ionicons />;\r\n }\r\n return <Ionicons />;\r\n };\r\n\r\n let isChecked = () => {\r\n let cs = scope.crudSearch;\r\n\r\n if (cs) {\r\n if (!cs.selecteds) {\r\n cs.selecteds = {};\r\n }\r\n\r\n let itemValue = Utils.nvl(original.itemValue, 'id');\r\n let key = value[itemValue];\r\n\r\n if (typeof key !== 'undefined') {\r\n if (typeof cs.selecteds[key] !== 'undefined') {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n return (\r\n <UI.Button\r\n key={key}\r\n icon={getCheckIcon()}\r\n click={{ action: check }}\r\n ></UI.Button>\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport ElGridColumn from './ElGridColumn';\r\nimport ElGridCheck from './ElGridCheck';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport UI from '../UI';\r\nimport UIChildren from '../UIChildren';\r\nimport {\r\n ComponentUtils,\r\n CrudUtils,\r\n ListType,\r\n RowType,\r\n Scope,\r\n Utils,\r\n} from 'react-crud-utils';\r\n\r\nexport default function ElGridRow(props: RowType) {\r\n let expansion = props.expansion;\r\n let value = props.value;\r\n let scope = props.scope;\r\n let index = props.index;\r\n let original: ListType = scope.original;\r\n\r\n let row = CrudUtils.create('row', {\r\n index,\r\n row: true,\r\n itemVar: scope.original.itemVar,\r\n parent: scope.crudSearch,\r\n data: value,\r\n });\r\n\r\n let [expanded, setExpanded] = useState(false);\r\n let [rowScope] = useState(new Scope(scope.original, scope, row));\r\n\r\n let getRowStyleClass = () => {\r\n let s = 'ui-grid-row';\r\n\r\n s = s + ' ui-grid-row-';\r\n\r\n if (index % 2 == 0) {\r\n s = s + 'even';\r\n } else {\r\n s = s + 'odd';\r\n }\r\n return s;\r\n };\r\n\r\n let cols = ComponentUtils.getChild(props, 'Column');\r\n let colspan = cols.length;\r\n\r\n let ExpansionStatus = () => {\r\n return (\r\n <>\r\n {!expanded && <Ionicons />}\r\n {expanded && <Ionicons />}\r\n </>\r\n );\r\n };\r\n\r\n let onExpansion = () => {\r\n setExpanded(!expanded);\r\n };\r\n\r\n let hasExpansion = !Utils.isEmpty(expansion);\r\n let multiple = original.multiple;\r\n\r\n if (hasExpansion) colspan++;\r\n if (multiple) colspan++;\r\n\r\n return (\r\n <>\r\n <tr className={getRowStyleClass()} style={rowScope.getStyle('row')}>\r\n {hasExpansion && (\r\n <ElGridColumn\r\n key={'r' + index + 'e'}\r\n scope={rowScope}\r\n styleClass=\"ui-click ui-icon-only ui-expansion\"\r\n >\r\n <UI.Button\r\n icon={<ExpansionStatus />}\r\n click={onExpansion}\r\n ></UI.Button>\r\n </ElGridColumn>\r\n )}\r\n {multiple && (\r\n <ElGridColumn\r\n key={'r' + index + 'c'}\r\n scope={rowScope}\r\n styleClass=\"ui-click ui-icon-only ui-multiple\"\r\n >\r\n <ElGridCheck\r\n key={'check-' + index}\r\n scope={scope}\r\n value={value}\r\n rowIndex={index}\r\n />\r\n </ElGridColumn>\r\n )}\r\n {cols.map((col: any, i: number) => (\r\n <ElGridColumn\r\n column={col}\r\n key={'r' + index + 'c' + i}\r\n scope={rowScope}\r\n >\r\n {col}\r\n </ElGridColumn>\r\n ))}\r\n </tr>\r\n {expanded && (\r\n <tr className={getRowStyleClass()} style={rowScope.getStyle('row')}>\r\n <ElGridColumn\r\n key={'r' + index + '-expanded'}\r\n scope={rowScope}\r\n colspan={colspan}\r\n >\r\n <UIChildren {...props} crud={row}>\r\n {expansion}\r\n </UIChildren>\r\n </ElGridColumn>\r\n </tr>\r\n )}\r\n </>\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport UI from '../UI';\r\nimport { ChildType, Utils } from 'react-crud-utils';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\n\r\ninterface ElGridPaginatorType extends ChildType {\r\n next?: boolean;\r\n previous?: boolean;\r\n first?: boolean;\r\n size?: boolean;\r\n last?: boolean;\r\n position: string;\r\n}\r\n\r\nexport default function ElGridPaginator({\r\n scope,\r\n next,\r\n previous,\r\n first,\r\n size,\r\n last,\r\n position,\r\n}: ElGridPaginatorType) {\r\n let [sizes] = useState([10, 20, 30, 50, 100, 200, 500]);\r\n let defaults = {\r\n crud: scope.crudSearch,\r\n owner: scope,\r\n variant: scope.attr('variant', 'text'),\r\n };\r\n\r\n let paginatorPosition = Utils.nvl(scope.original.paginatorPosition, 'bottom');\r\n\r\n if (paginatorPosition !== position) {\r\n return <></>;\r\n }\r\n\r\n return (\r\n <>\r\n <UI.Button\r\n field=\"first\"\r\n space={0}\r\n rendered={first !== false}\r\n {...defaults}\r\n click=\"first\"\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n <UI.Button\r\n field=\"previous\"\r\n space={0}\r\n rendered={previous !== false}\r\n click=\"previous\"\r\n {...defaults}\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n <UI.Select\r\n field=\"size\"\r\n space={0}\r\n rendered={size !== false}\r\n default={10}\r\n {...defaults}\r\n data={sizes}\r\n change=\"search\"\r\n ></UI.Select>\r\n <UI.Button\r\n field=\"next\"\r\n space={0}\r\n rendered={next !== false}\r\n {...defaults}\r\n click=\"next\"\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n <UI.Button\r\n field=\"last\"\r\n space={0}\r\n rendered={last !== false}\r\n {...defaults}\r\n click=\"last\"\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n </>\r\n );\r\n}\r\n","import UI from '../UI';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport ElGridPaginator from './ElGridPaginator';\r\nimport { ChildType } from 'react-crud-utils';\r\n\r\nexport default function ElGridTop(props: ChildType) {\r\n let scope = props.scope;\r\n\r\n return (\r\n <>\r\n <UI.Output styleClass=\"ui-grid-top\">\r\n <UI.Output field=\"search\" position=\"left\" space={4}>\r\n <UI.Include {...props} transient name=\"top\" position=\"left\" />\r\n <UI.Text\r\n field=\"query\"\r\n space={0}\r\n label=\"Pesquisar\"\r\n placeholder={scope.attr('placeholder', 'Pesquisar')}\r\n >\r\n <UI.Define name=\"right\">\r\n <UI.Button\r\n field=\"search\"\r\n icon={<Ionicons />}\r\n space={0}\r\n variant=\"text\"\r\n owner={scope}\r\n click={'search'}\r\n ></UI.Button>\r\n </UI.Define>\r\n </UI.Text>\r\n </UI.Output>\r\n <UI.Output position=\"right\" space={8}>\r\n <UI.Include {...props} transient name=\"top\" position=\"right\" />\r\n <ElGridPaginator\r\n scope={scope}\r\n last={false}\r\n first={false}\r\n position=\"top\"\r\n ></ElGridPaginator>\r\n </UI.Output>\r\n </UI.Output>\r\n </>\r\n );\r\n}\r\n","import { ChildType } from \"react-crud-utils\";\r\n\r\nexport default function ElGridFilter(props: ChildType) {\r\n return <></>;\r\n}\r\n","import React, { useState } from \"react\";\r\nimport ElGridPaginator from \"./ElGridPaginator\";\r\nimport UI from \"../UI\";\r\nimport { ChildType } from \"react-crud-utils\";\r\n\r\nexport default function ElGridBotom(props: ChildType) {\r\n let scope = props.scope;\r\n let children = props.children;\r\n\r\n return (\r\n <div className=\"ui-grid-bottom\">\r\n <div className=\"ui-grid-bottom-inner\">\r\n <UI.Include {...props} transient name=\"bottomLeft\" />\r\n <ElGridPaginator scope={scope} position=\"bottom\">\r\n {children}\r\n </ElGridPaginator>\r\n <UI.Include {...props} transient name=\"bottomRight\" />\r\n </div>\r\n </div>\r\n );\r\n}\r\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';\r\nimport UI from '../UI';\r\nimport { ChildType, Utils } from 'react-crud-utils';\r\nimport Icon from '../core/Icon';\r\n\r\ninterface ElLabelType extends ChildType {\r\n position?: string;\r\n}\r\nexport default function ElLabel(props: ElLabelType) {\r\n let scope = props.scope;\r\n let original = scope.original;\r\n let defaultPos = 'outside';\r\n\r\n let elPos = Utils.nvl(original.labelPos, defaultPos);\r\n let lbPos = Utils.nvl(props.position, defaultPos);\r\n\r\n if (elPos != lbPos) {\r\n return <></>;\r\n }\r\n\r\n const CustomIcon = () => {\r\n if (!scope.is('type', 'list', 'grid')) {\r\n return <></>;\r\n }\r\n\r\n if (typeof original.icon === 'string') {\r\n return (\r\n <div className=\"ui-label-icon\">\r\n <Icon className={scope.getIcon()}></Icon>\r\n </div>\r\n );\r\n }\r\n return <div className=\"ui-label-icon\">{original.icon}</div>;\r\n };\r\n\r\n let label = scope.getLabel();\r\n\r\n return (\r\n <div className={'ui-label ui-label-' + lbPos}>\r\n <div className=\"ui-label-left\">\r\n <UI.Include {...props} transient name=\"label\" position=\"left\" />\r\n <CustomIcon />\r\n {label && <div className=\"ui-label-value\">{label}</div>}\r\n </div>\r\n <div className=\"ui-label-right\">\r\n <UI.Include {...props} transient name=\"label\" position=\"right\" />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import ElGridRow from './ElGridRow';\r\nimport ElGridTop from './ElGridTop';\r\nimport ElGridFilter from './ElGridFilter';\r\nimport ElGridBotom from './ElGridBotom';\r\nimport ElLabel from './ElLabel';\r\nimport { ChildType, ComponentUtils, Scope } from 'react-crud-utils';\r\n\r\nexport default function ElGrid(props: ChildType) {\r\n let scope: Scope = props.scope;\r\n let items: any = scope.getItems();\r\n let expansion = ComponentUtils.getDefine(props, 'expansion');\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n <ElLabel {...props} scope={scope} position=\"outside\"></ElLabel>\r\n <div\r\n className={scope.getStyleClass('child')}\r\n style={scope.getStyle('child')}\r\n >\r\n <ElLabel {...props} scope={scope} position=\"inside\"></ElLabel>\r\n <div className=\"ui-data\">\r\n <ElGridTop {...props} scope={scope}></ElGridTop>\r\n <ElGridFilter scope={scope}></ElGridFilter>\r\n <div className=\"ui-grid-data\">\r\n <table className=\"ui-grid ui-table\">\r\n <tbody>\r\n {items.map((row: any, i: number) => (\r\n <ElGridRow\r\n {...props}\r\n expansion={expansion}\r\n key={'r' + i}\r\n scope={scope}\r\n value={row}\r\n index={i}\r\n />\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <ElGridBotom {...props} scope={scope} />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import UIChildren from \"../UIChildren\";\r\nimport { ComponentUtils, DefineType, Utils } from \"react-crud-utils\";\r\n\r\nexport default function ElInclude(props: DefineType) {\r\n if (props.rendered === false) {\r\n return <></>;\r\n }\r\n\r\n let includes = ComponentUtils.getDefine(props, props.name, props.position);\r\n\r\n if (Utils.isEmpty(includes)) {\r\n includes = props.default;\r\n }\r\n\r\n if (!Utils.isEmpty(includes)) {\r\n let Aux = (tagProp: any) => {\r\n let Tag: any = props.tag;\r\n\r\n if (!Utils.isEmpty(Tag)) {\r\n return <Tag {...tagProp}>{tagProp.children}</Tag>;\r\n }\r\n return <>{tagProp.children}</>;\r\n };\r\n\r\n return (\r\n <Aux {...props.tagProps}>\r\n <UIChildren\r\n transient\r\n {...props}\r\n scope={props.scope}\r\n crud={props.crud}\r\n part={props.name}\r\n >\r\n {includes}\r\n </UIChildren>\r\n </Aux>\r\n );\r\n }\r\n return <>{includes}</>;\r\n}\r\n","import UIChildren from '../UIChildren';\r\nimport ElLabel from '../grid/ElLabel';\r\nimport ElInclude from '../grid/ElInclude';\r\nimport { ChildType } from 'react-crud-utils';\r\n\r\nexport default function ElCard(props: ChildType) {\r\n let scope = props.scope;\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n <ElLabel {...props} scope={scope}></ElLabel>\r\n <UIChildren {...props} scope={scope} />\r\n\r\n <div\r\n className={scope.getStyleClass('bottom')}\r\n style={scope.getStyle('bottom')}\r\n >\r\n <ElInclude {...props} scope={scope} name=\"bottom\" />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport UIChildren from '../UIChildren';\r\nimport UI from '../UI';\r\n\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport { ChildType, CrudUtils, Utils } from 'react-crud-utils';\r\n\r\nexport default function ElTabs(props: ChildType) {\r\n let scope = props.scope;\r\n let [selectedIndex, setSelectedIndex]: any = useState(0);\r\n let element = scope.original;\r\n let items = scope.getItems();\r\n let counter = 0;\r\n\r\n let tabs: any = [];\r\n let [selected, setSelected]: any = useState(null);\r\n\r\n const onChangeTab = (tab: any, validate = true) => {\r\n if (tab) {\r\n scope.execute({\r\n event: {\r\n validate,\r\n validateScope: element.validateScope,\r\n action: () => {\r\n scope.changeValue(tab.data);\r\n\r\n selected = tab;\r\n selectedIndex = tab.index;\r\n\r\n setSelectedIndex(selectedIndex);\r\n setSelected(tab);\r\n },\r\n },\r\n });\r\n }\r\n };\r\n\r\n const getStyleClass = (t: any) => {\r\n let s = 'ui-tabs-item ui-click';\r\n\r\n if (selected?.index === t.index) {\r\n s = s + ' ui-tab-selected';\r\n }\r\n return s;\r\n };\r\n\r\n const addTab = (child: any, item: any) => {\r\n let original = { ...child.props };\r\n\r\n if (!item) {\r\n item = scope.crud.data;\r\n }\r\n\r\n let crudTab = CrudUtils.create('tabs', {\r\n data: item,\r\n changed: item,\r\n parent: scope.crud,\r\n });\r\n\r\n let element = Utils.resolve(original, crudTab);\r\n\r\n if (element.rendered === false) {\r\n return;\r\n }\r\n\r\n tabs.push({\r\n ...element,\r\n child,\r\n element,\r\n original,\r\n index: counter++,\r\n data: item,\r\n });\r\n };\r\n\r\n React.Children.map(props.children, (child, index) => {\r\n if (Utils.isEmpty(items)) {\r\n addTab(child, {});\r\n } else {\r\n for (const i in items) {\r\n let o = items[i];\r\n\r\n addTab(child, o);\r\n }\r\n }\r\n });\r\n\r\n if (!selected) {\r\n onChangeTab(tabs[selectedIndex], false);\r\n }\r\n\r\n const nav = (i: any) => {\r\n let t = tabs[selectedIndex + i];\r\n\r\n onChangeTab(t);\r\n };\r\n\r\n const previous = () => {\r\n nav(-1);\r\n };\r\n\r\n const next = () => {\r\n nav(1);\r\n };\r\n\r\n let isStepper = element.layout === 'stepper';\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n <div className=\"ui-tabs-content\">\r\n <div className=\"ui-tabs-items\">\r\n {tabs.map((t: any, i: number) => (\r\n <div\r\n key={Utils.key(element.id, 'tab', i)}\r\n className={getStyleClass(t)}\r\n onClick={() => {\r\n onChangeTab(t);\r\n }}\r\n >\r\n {isStepper && <div className=\"ui-tab-item-divisor\" />}\r\n <div className=\"ui-tab-item-inner\">\r\n {isStepper && <div className=\"ui-step-line\" />}\r\n <div className=\"ui-tab-item-label\">\r\n {isStepper ? t.index + 1 : t.label}\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n {selected && (\r\n <>\r\n {isStepper && <div className=\"ui-tabs-label\">{selected.label}</div>}\r\n <div className=\"ui-tabs-area\">\r\n <UIChildren {...props} scope={scope}>\r\n {selected.child}\r\n </UIChildren>\r\n </div>\r\n {element.layout === 'stepper' && (\r\n <div className=\"ui-tabs-actions\">\r\n <UI.Output space={6} layout=\"left\">\r\n <UI.Include\r\n {...props}\r\n transient\r\n name=\"left\"\r\n default={\r\n <UI.Button\r\n rendered={selectedIndex > 0}\r\n icon={<Ionicons />}\r\n click={previous}\r\n />\r\n }\r\n />\r\n </UI.Output>\r\n <UI.Output space={6} layout=\"right\">\r\n <UI.Include\r\n {...props}\r\n transient\r\n name=\"right\"\r\n default={\r\n <UI.Button\r\n rendered={selectedIndex < tabs.length - 1}\r\n icon={<Ionicons />}\r\n click={next}\r\n />\r\n }\r\n />\r\n </UI.Output>\r\n </div>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ChildType, Scope, Utils } from \"react-crud-utils\";\r\n\r\nexport default function ElChart(props: ChildType) {\r\n let scope: Scope = props.scope;\r\n let items: any = scope.getItems();\r\n let columns = Utils.asList(scope.original.columns);\r\n\r\n return <div className=\"ui-chart-data\"></div>;\r\n}\r\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';\r\nimport AutoComplete from './core/AutoComplete';\r\n\r\nexport default function UIComplete({\r\n defaultsInput,\r\n defaultsUI,\r\n scope,\r\n}: ChildType) {\r\n return (\r\n <>\r\n <AutoComplete {...defaultsInput} {...defaultsUI} />\r\n </>\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport UIChildren from \"../UIChildren\";\r\nimport { CrudUtils, RowType, Scope } from \"react-crud-utils\";\r\n\r\nexport default function ElRepeatRow(props: RowType) {\r\n let value = props.value;\r\n let scope = props.scope;\r\n let index = props.index;\r\n\r\n let row = CrudUtils.create(\"row\", {\r\n index,\r\n row: true,\r\n itemVar: scope.original.itemVar,\r\n parent: scope.crudSearch,\r\n data: value,\r\n });\r\n\r\n let [rowScope] = useState(new Scope(scope.original, scope, row));\r\n\r\n let getRowStyleClass = () => {\r\n let s = rowScope.getStyleClass(\"row\");\r\n\r\n s = s + \" ui-repeat-row-\";\r\n\r\n if (index % 2 == 0) {\r\n s = s + \"even\";\r\n } else {\r\n s = s + \"odd\";\r\n }\r\n return s;\r\n };\r\n\r\n return (\r\n <div className={getRowStyleClass()} style={rowScope.getStyle(\"row\")}>\r\n <UIChildren transient {...props} crud={row}>\r\n {props.children}\r\n </UIChildren>\r\n </div>\r\n );\r\n}\r\n","import ElRepeatRow from './ElRepeatRow';\r\nimport { ChildType, Scope } from 'react-crud-utils';\r\n\r\nexport default function ElRepeat(props: ChildType) {\r\n let scope: Scope = props.scope;\r\n let items: any = scope.getItems();\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n {items.map((row: any, i: number) => (\r\n <ElRepeatRow\r\n {...props}\r\n key={'r' + i}\r\n scope={scope}\r\n value={row}\r\n index={i}\r\n />\r\n ))}\r\n </div>\r\n );\r\n}\r\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 { ChildType } from 'react-crud-utils';\r\nimport { Text, TouchableHighlight, View } from 'react-native';\r\n\r\nexport default function Button(props: ChildType) {\r\n let scope = props.scope;\r\n let element = scope.original;\r\n\r\n let color = element.color;\r\n let label = element.label;\r\n let icon = element.icon;\r\n\r\n if (!color) color = '#55a46f';\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 ...element.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 ...element.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 ...element.buttonStyle,\r\n },\r\n };\r\n\r\n const onClick = (e: any) => {\r\n if (typeof element.click === 'function') {\r\n element.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';\r\nimport ElGrid from './grid/ElGrid';\r\nimport ElCard from './card/ElCard';\r\nimport UIChildren from './UIChildren';\r\nimport ElTabs from './tabs/ElTabs';\r\nimport ElLabel from './grid/ElLabel';\r\nimport ElChart from './charts/ElChart';\r\nimport UIComplete from './UIComplete';\r\nimport ElRepeat from './grid/ElRepeat';\r\nimport {\r\n Crud,\r\n HtmlUtils,\r\n ScopeUtils,\r\n Utils,\r\n ElementType,\r\n} from 'react-crud-utils';\r\nimport Link from './core/Link';\r\nimport Icon from './core/Icon';\r\nimport Button from './core/Button';\r\nimport Select from './core/Select';\r\nimport Switch from './core/Switch';\r\nimport Option from './core/Option';\r\nimport Radio from './core/Radio';\r\nimport Input from './core/Input';\r\nimport { Image, Linking, Text, View } from 'react-native';\r\n\r\nexport default function UIElement(props: ElementType) {\r\n let [scope] = useState(ScopeUtils.create(props));\r\n let [index, setIndex] = useState(0);\r\n let [error, setError]: string | any = useState(null);\r\n let options: any = scope.getOptions();\r\n let crud: Crud = Utils.nvl(props.crud, scope.crud);\r\n let original = scope.original;\r\n let type = original.type;\r\n let ref = useRef(null);\r\n\r\n scope.update = () => {\r\n setIndex(++index);\r\n };\r\n\r\n let router: any = {\r\n list: ElGrid,\r\n grid: ElGrid,\r\n label: ElLabel,\r\n card: ElCard,\r\n repeat: ElRepeat,\r\n tabs: ElTabs,\r\n chart: ElChart,\r\n };\r\n\r\n let CurrentRouter = () => {\r\n if (router[type]) {\r\n let Aux = router[type];\r\n\r\n return <Aux crud={crud} {...props} scope={scope} />;\r\n }\r\n return <></>;\r\n };\r\n\r\n const Custom = () => {\r\n let c: any = original.custom;\r\n\r\n if (c) {\r\n if (typeof c === 'string') {\r\n return (\r\n <UIElement\r\n element={{ value: c, type: 'dummy' }}\r\n crud={crud}\r\n ></UIElement>\r\n );\r\n }\r\n\r\n return (\r\n <UIElement\r\n type={c.type}\r\n tag={c.type}\r\n {...c.props}\r\n crud={crud}\r\n ></UIElement>\r\n );\r\n }\r\n\r\n return <></>;\r\n };\r\n\r\n if (scope.is('type', 'dummy')) {\r\n return <>{scope.getDisplayValue()}</>;\r\n }\r\n\r\n let onCheck = () => {\r\n let v = scope.getValue();\r\n let check = !(v === true);\r\n\r\n onChange({ target: { value: check } });\r\n };\r\n\r\n let onChange = (e: any) => {\r\n let val = e.target.value;\r\n\r\n if (scope.isType('integer', 'int', 'number')) {\r\n val = parseInt(val);\r\n } else if (scope.isType('decimal')) {\r\n val = parseFloat(val);\r\n }\r\n\r\n if (scope.isType('select', 'complete')) {\r\n val = scope.getSelectedItem(val);\r\n }\r\n\r\n scope.changeValue(val);\r\n scope.update();\r\n };\r\n\r\n let onClick = (e: any) => {\r\n scope.call('click');\r\n };\r\n\r\n let defaultsInput: any = {\r\n label: scope.getLabel(),\r\n value: scope.getValue(),\r\n onChange: onChange,\r\n };\r\n\r\n if (scope.isType('password')) {\r\n defaultsInput.type = 'password';\r\n }\r\n\r\n let elStyle = scope.getStyle('element');\r\n\r\n let defaultsUI: any = {\r\n required: scope.isRequired(),\r\n size: 'small',\r\n scope,\r\n crud,\r\n style: elStyle,\r\n placeholder: scope.attr('placeholder', 'Digite aqui'),\r\n };\r\n\r\n let isChecked = () => {\r\n let v = scope.getValue();\r\n\r\n return v === true;\r\n };\r\n\r\n let hasChildren = () => {\r\n if (scope.isInput()) {\r\n return false;\r\n }\r\n\r\n return !Utils.isEmpty(props.children) || !Utils.isEmpty(props.elements);\r\n };\r\n\r\n if (!scope.isRendered() || scope.is('type', 'define')) {\r\n return <></>;\r\n }\r\n\r\n scope.error = (msg: string) => {\r\n error = msg;\r\n setError(msg);\r\n };\r\n\r\n useEffect(() => {\r\n if (!scope.ready) {\r\n scope.ready = true;\r\n\r\n scope.call('load');\r\n\r\n if (scope.isType('list', 'repeat')) {\r\n scope.search();\r\n } else if (original.list) {\r\n scope.call('list');\r\n }\r\n scope.start();\r\n }\r\n });\r\n\r\n const CustomIcon = () => {\r\n if (typeof original.icon === 'string') {\r\n return <Icon>{scope.getIcon()}</Icon>;\r\n }\r\n return <>{original.icon}</>;\r\n };\r\n\r\n const getLabelClass = (type: string) => {\r\n let clss = `ui-text ui-${type}-text`;\r\n let icon = scope.getIcon();\r\n\r\n if (icon) {\r\n clss = clss + ` ui-icon ui-${type}-icon`;\r\n }\r\n return clss;\r\n };\r\n\r\n let hasCustomRoute = () => {\r\n if (router[type]) return true;\r\n return false;\r\n };\r\n\r\n scope.open = (args: any) => {\r\n Linking.openURL(args.url);\r\n };\r\n\r\n if (scope.isType('dialog')) {\r\n let name = original.name;\r\n\r\n if (!crud.dialogs[name]) {\r\n let dlg: any = { config: { ...original } };\r\n\r\n dlg.component = (args: any) => {\r\n return <UIChildren {...props} scope={scope} crud={crud} />;\r\n };\r\n\r\n crud.dialogs[name] = dlg;\r\n }\r\n return <></>;\r\n }\r\n\r\n useLayoutEffect(() => {\r\n if (ref?.current && scope.is('type', 'card', 'list', 'tabs', 'stepper')) {\r\n let el: any = ref?.current;\r\n\r\n if (el) {\r\n let bg = HtmlUtils.getBGColor(el);\r\n\r\n if (bg === 'rgb(255, 255, 255)') {\r\n el.classList.add('ui-dark');\r\n } else {\r\n el.classList.add('ui-light');\r\n }\r\n }\r\n }\r\n });\r\n\r\n const isShowLabel = () => {\r\n if (typeof original.label !== 'undefined') {\r\n console.log(original.label);\r\n return true;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n const isShowInner = () => {\r\n if (hasChildren() || hasCustomRoute()) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n return (\r\n <>\r\n <View ref={ref} style={scope.getStyle()}>\r\n {isShowLabel() && (\r\n <Text style={scope.getStyle('label')}>{scope.getLabel()}</Text>\r\n )}\r\n {isShowInner() && (\r\n <>\r\n <View style={scope.getStyle('inner')}>\r\n {scope.is('type', 'button') && (\r\n <Button\r\n {...defaultsUI}\r\n onClick={onClick}\r\n variant={scope.attr('variant', 'outlined')}\r\n >\r\n {original.icon && <CustomIcon />}\r\n {original.label && (\r\n <span className={getLabelClass('button')}>\r\n {scope.getLabel()}\r\n </span>\r\n )}\r\n </Button>\r\n )}\r\n {scope.is('type', 'icon') && (\r\n <Icon\r\n {...defaultsUI}\r\n onClick={onClick}\r\n variant={scope.attr('variant', 'outlined')}\r\n >\r\n {scope.getDisplayValue()}\r\n </Icon>\r\n )}\r\n {scope.is('type', 'link') && (\r\n <Link\r\n {...defaultsUI}\r\n onClick={onClick}\r\n variant={scope.attr('variant', 'outlined')}\r\n >\r\n {original.icon && <CustomIcon />}\r\n {original.label && (\r\n <span className={getLabelClass('link')}>\r\n {scope.getLabel()}\r\n </span>\r\n )}\r\n </Link>\r\n )}\r\n {scope.is(\r\n 'type',\r\n 'text',\r\n 'number',\r\n 'phone',\r\n 'postalCode',\r\n 'money',\r\n 'password',\r\n 'email'\r\n ) && (\r\n <Input\r\n {...defaultsInput}\r\n {...defaultsUI}\r\n InputProps={{ ...original.inputProps }}\r\n />\r\n )}\r\n {scope.is('type', 'complete', 'autocomplete') && (\r\n <UIComplete\r\n scope={scope}\r\n defaultsInput={defaultsInput}\r\n defaultsUI={defaultsUI}\r\n />\r\n )}\r\n {scope.is('type', 'checkbox', 'boolean', 'switch') && (\r\n <Switch\r\n checked={isChecked()}\r\n {...defaultsInput}\r\n onChange={onCheck}\r\n />\r\n )}\r\n {scope.is('type', 'select') && (\r\n <Select\r\n {...defaultsInput}\r\n {...defaultsUI}\r\n value={scope.getSelectedValue()}\r\n >\r\n <Option value={''}>Selecione</Option>\r\n {options.map((row: any, i: number) => (\r\n <Option key={'i' + i} value={row.value}>\r\n {row.label}\r\n </Option>\r\n ))}\r\n </Select>\r\n )}\r\n {scope.is('type', 'radio') && (\r\n <Radio {...defaultsInput} {...defaultsUI} row>\r\n {options.map((row: any, i: number) => (\r\n <Option\r\n key={'i' + i}\r\n control={<Radio {...defaultsUI} />}\r\n label={row.label}\r\n value={row.value}\r\n />\r\n ))}\r\n </Radio>\r\n )}\r\n {scope.is('type', 'custom') && <Custom />}\r\n {scope.is('type', 'column') && (\r\n <>\r\n {scope.is('format', 'img') && (\r\n <Image source={scope.getDisplayValue()} />\r\n )}\r\n {scope.is('format', 'icon') && (\r\n <Icon className={scope.getDisplayValue()} />\r\n )}\r\n {!scope.is('format', 'icon', 'img') && (\r\n <Text>{scope.getDisplayValue()}</Text>\r\n )}\r\n </>\r\n )}\r\n {scope.is('type', 'output') && (\r\n <Text>{scope.getDisplayValue()}</Text>\r\n )}\r\n </View>\r\n {error && <View style={scope.getStyle('error')}>{error}</View>}\r\n </>\r\n )}\r\n <CurrentRouter />\r\n {!scope.is(\r\n 'type',\r\n 'card',\r\n 'tabs',\r\n 'grid',\r\n 'list',\r\n 'define',\r\n 'repeat'\r\n ) && <UIChildren {...props} scope={scope} crud={crud} />}\r\n </View>\r\n </>\r\n );\r\n}\r\n","import { ListType } from \"react-crud-utils\";\r\nimport { UserType } from \"react-crud-utils\";\r\nimport { InputType } from \"react-crud-utils\";\r\nimport { ChartType } from \"react-crud-utils\";\r\nimport { ContainerType } from \"react-crud-utils\";\r\nimport { ListInputType } from \"react-crud-utils\";\r\nimport UIElement from \"./UIElement\";\r\nimport { TabsType } from \"react-crud-utils\";\r\nimport { DefineType } from \"react-crud-utils\";\r\nimport ElInclude from \"./grid/ElInclude\";\r\nimport { ButtonType } from \"react-crud-utils\";\r\nimport { LinkType } from \"react-crud-utils\";\r\n\r\nconst UI = {\r\n Grid: (props: ListType) => <UIElement {...props} type=\"list\" />,\r\n Repeat: (props: ListType) => <UIElement {...props} type=\"repeat\" />,\r\n Define: (props: DefineType) => <UIElement {...props} type=\"define\" />,\r\n Include: (props: DefineType) => <ElInclude {...props} />,\r\n Column: ({ type = \"column\", ...props }: UserType) => (\r\n <UIElement {...props} type=\"column\" />\r\n ),\r\n Input: (props: InputType) => <UIElement {...props} />,\r\n Text: (props: InputType) => <UIElement {...props} type=\"text\" />,\r\n Email: (props: InputType) => <UIElement {...props} type=\"email\" />,\r\n Button: (props: ButtonType) => <UIElement {...props} type=\"button\" />,\r\n Link: (props: LinkType) => <UIElement {...props} type=\"link\" />,\r\n Icon: (props: ButtonType) => <UIElement {...props} type=\"icon\" />,\r\n Output: (props: ContainerType) => <UIElement {...props} type=\"output\" />,\r\n Form: (props: ContainerType) => <UIElement {...props} type=\"form\" />,\r\n Crud: (props: ContainerType) => <UIElement {...props} type=\"crud\" />,\r\n View: (props: ContainerType) => (\r\n <UIElement {...props} type=\"view\" transient />\r\n ),\r\n Bottom: (props: ContainerType) => <UIElement {...props} type=\"bottom\" />,\r\n Dialog: (props: ContainerType) => <UIElement {...props} type=\"dialog\" />,\r\n Content: (props: ContainerType) => <UIElement {...props} type=\"content\" />,\r\n Top: (props: ContainerType) => <UIElement {...props} type=\"top\" />,\r\n Card: (props: ContainerType) => <UIElement {...props} type=\"card\" />,\r\n Tab: (props: ContainerType) => <UIElement {...props} type=\"tab\" />,\r\n Tabs: (props: TabsType) => <UIElement {...props} type=\"tabs\" />,\r\n Step: (props: ContainerType) => (\r\n <UIElement {...props} type=\"tab\" layout=\"step\" />\r\n ),\r\n Stepper: (props: TabsType) => (\r\n <UIElement {...props} type=\"tabs\" layout=\"stepper\" />\r\n ),\r\n Money: (props: InputType) => <UIElement {...props} type=\"money\" />,\r\n Chart: (props: ChartType) => <UIElement {...props} type=\"chart\" />,\r\n Password: (props: InputType) => <UIElement {...props} type=\"password\" />,\r\n Complete: (props: InputType) => <UIElement {...props} type=\"complete\" />,\r\n Checkbox: (props: InputType) => <UIElement {...props} type=\"checkbox\" />,\r\n Radio: (props: ListInputType) => <UIElement {...props} type=\"radio\" />,\r\n Select: (props: ListInputType) => <UIElement {...props} type=\"select\" />,\r\n Entity: (props: ListInputType) => <UIElement {...props} type=\"entity\" />,\r\n Element: (props: ListInputType) => <UIElement {...props} type=\"element\" />,\r\n};\r\nexport default UI;\r\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","Image","source","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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"}
|
|
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\";\r\nimport UIElement from \"./UIElement\";\r\nimport { Crud, Scope, ScopeUtils, Utils } from \"react-crud-utils\";\r\n\r\ninterface UIChildrenType {\r\n scope: Scope;\r\n crud?: Crud;\r\n validateScope?: String;\r\n children?: any;\r\n elements?: any;\r\n transient?: boolean;\r\n part?: string;\r\n childProps?: any;\r\n}\r\n\r\nexport default function UIChildren(props: UIChildrenType) {\r\n let [scope] = useState(Utils.nvl(props.scope, ScopeUtils.create(props)));\r\n let crud = Utils.nvl(props.crud, scope.crud);\r\n let validateScope = Utils.nvl(props.validateScope, \"global\");\r\n let name = Utils.nvl(props.part, \"child\");\r\n\r\n if (scope.isInput()) {\r\n return <></>;\r\n }\r\n\r\n let Paint = ({ child }: any) => {\r\n if (!child) {\r\n return <></>;\r\n }\r\n if (typeof child === \"string\") {\r\n return <>{child}</>;\r\n }\r\n\r\n let Custom = child.type;\r\n let pps = { ...child.props };\r\n\r\n delete pps.children;\r\n\r\n if (typeof Custom === \"string\") {\r\n if (Utils.isEmpty(child.props.children)) {\r\n return <Custom {...pps} />;\r\n }\r\n return (\r\n <Custom {...pps}>\r\n <UIChildren\r\n transient\r\n validateScope={validateScope}\r\n {...child.props}\r\n scope={scope}\r\n crud={crud}\r\n ></UIChildren>\r\n </Custom>\r\n );\r\n } else if (typeof Custom === \"function\") {\r\n return (\r\n <Custom\r\n validateScope={validateScope}\r\n {...child.props}\r\n parent={scope}\r\n crud={crud}\r\n ></Custom>\r\n );\r\n }\r\n\r\n if (!Utils.isEmpty(child.props.children)) {\r\n return (\r\n <UIChildren\r\n validateScope={validateScope}\r\n {...child.props}\r\n scope={scope}\r\n crud={crud}\r\n transient\r\n ></UIChildren>\r\n );\r\n }\r\n return <></>;\r\n };\r\n\r\n const Draw = () => {\r\n if (props.elements) {\r\n return (\r\n <>\r\n {Object.entries(props.elements).map((t: any, k) => {\r\n return <UIElement crud={crud} {...t[1]} />;\r\n })}\r\n </>\r\n );\r\n }\r\n return (\r\n <>\r\n {React.Children.map(props.children, (child) => {\r\n return <Paint child={child}></Paint>;\r\n })}\r\n </>\r\n );\r\n };\r\n\r\n if (props.transient) {\r\n return <Draw />;\r\n }\r\n\r\n if (Utils.isEmpty(props.children) && Utils.isEmpty(props.elements)) {\r\n return <></>;\r\n }\r\n\r\n return (\r\n <>\r\n <div\r\n className={scope.getStyleClass(name)}\r\n style={scope.getStyle(name)}\r\n {...props.childProps}\r\n >\r\n <Draw />\r\n </div>\r\n </>\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport UIChildren from \"../UIChildren\";\r\nimport { Scope, Utils } from \"react-crud-utils\";\r\n\r\ninterface ElGridColumnType {\r\n scope: Scope;\r\n styleClass?: string;\r\n children?: any;\r\n colspan?: number;\r\n column?: any;\r\n}\r\n\r\nexport default function ElGridColumn(props: ElGridColumnType) {\r\n let scope = props.scope;\r\n let col = Utils.nvl(props.column?.props, {});\r\n let [colScope] = useState(new Scope(col, scope, scope.crud));\r\n\r\n let getStyleClass = () => {\r\n let def = Utils.nvl(props.styleClass, \"\");\r\n\r\n return \"ui-grid-col \" + def + \" \" + colScope.getStyleClass(\"column\");\r\n };\r\n return (\r\n <td\r\n className={getStyleClass()}\r\n style={colScope.getStyle(\"column\")}\r\n colSpan={props.colspan}\r\n >\r\n <UIChildren scope={scope}>{props.children}</UIChildren>\r\n </td>\r\n );\r\n}\r\n","import UI from '../UI';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport { useState } from 'react';\r\nimport { GridRowType, Utils } from 'react-crud-utils';\r\n\r\nexport default function ElGridCheck({ scope, value, rowIndex }: GridRowType) {\r\n let original = scope.original;\r\n let [index, setIndex] = useState(0);\r\n let key = scope.key('check', rowIndex, 's', index);\r\n\r\n let check = () => {\r\n let cs = scope.crudSearch;\r\n\r\n if (cs) {\r\n if (!cs.selecteds) {\r\n cs.selecteds = {};\r\n }\r\n\r\n let itemValue = Utils.nvl(original.itemValue, 'id');\r\n let key = value[itemValue];\r\n\r\n if (typeof key !== 'undefined') {\r\n if (typeof cs.selecteds[key] === 'undefined') {\r\n cs.selecteds[key] = value;\r\n } else {\r\n delete cs.selecteds[key];\r\n }\r\n }\r\n }\r\n setIndex(++index);\r\n };\r\n\r\n let getCheckIcon = () => {\r\n if (isChecked()) {\r\n return <Ionicons />;\r\n }\r\n return <Ionicons />;\r\n };\r\n\r\n let isChecked = () => {\r\n let cs = scope.crudSearch;\r\n\r\n if (cs) {\r\n if (!cs.selecteds) {\r\n cs.selecteds = {};\r\n }\r\n\r\n let itemValue = Utils.nvl(original.itemValue, 'id');\r\n let key = value[itemValue];\r\n\r\n if (typeof key !== 'undefined') {\r\n if (typeof cs.selecteds[key] !== 'undefined') {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n return (\r\n <UI.Button\r\n key={key}\r\n icon={getCheckIcon()}\r\n click={{ action: check }}\r\n ></UI.Button>\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport ElGridColumn from './ElGridColumn';\r\nimport ElGridCheck from './ElGridCheck';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport UI from '../UI';\r\nimport UIChildren from '../UIChildren';\r\nimport {\r\n ComponentUtils,\r\n CrudUtils,\r\n ListType,\r\n RowType,\r\n Scope,\r\n Utils,\r\n} from 'react-crud-utils';\r\n\r\nexport default function ElGridRow(props: RowType) {\r\n let expansion = props.expansion;\r\n let value = props.value;\r\n let scope = props.scope;\r\n let index = props.index;\r\n let original: ListType = scope.original;\r\n\r\n let row = CrudUtils.create('row', {\r\n index,\r\n row: true,\r\n itemVar: scope.original.itemVar,\r\n parent: scope.crudSearch,\r\n data: value,\r\n });\r\n\r\n let [expanded, setExpanded] = useState(false);\r\n let [rowScope] = useState(new Scope(scope.original, scope, row));\r\n\r\n let getRowStyleClass = () => {\r\n let s = 'ui-grid-row';\r\n\r\n s = s + ' ui-grid-row-';\r\n\r\n if (index % 2 == 0) {\r\n s = s + 'even';\r\n } else {\r\n s = s + 'odd';\r\n }\r\n return s;\r\n };\r\n\r\n let cols = ComponentUtils.getChild(props, 'Column');\r\n let colspan = cols.length;\r\n\r\n let ExpansionStatus = () => {\r\n return (\r\n <>\r\n {!expanded && <Ionicons />}\r\n {expanded && <Ionicons />}\r\n </>\r\n );\r\n };\r\n\r\n let onExpansion = () => {\r\n setExpanded(!expanded);\r\n };\r\n\r\n let hasExpansion = !Utils.isEmpty(expansion);\r\n let multiple = original.multiple;\r\n\r\n if (hasExpansion) colspan++;\r\n if (multiple) colspan++;\r\n\r\n return (\r\n <>\r\n <tr className={getRowStyleClass()} style={rowScope.getStyle('row')}>\r\n {hasExpansion && (\r\n <ElGridColumn\r\n key={'r' + index + 'e'}\r\n scope={rowScope}\r\n styleClass=\"ui-click ui-icon-only ui-expansion\"\r\n >\r\n <UI.Button\r\n icon={<ExpansionStatus />}\r\n click={onExpansion}\r\n ></UI.Button>\r\n </ElGridColumn>\r\n )}\r\n {multiple && (\r\n <ElGridColumn\r\n key={'r' + index + 'c'}\r\n scope={rowScope}\r\n styleClass=\"ui-click ui-icon-only ui-multiple\"\r\n >\r\n <ElGridCheck\r\n key={'check-' + index}\r\n scope={scope}\r\n value={value}\r\n rowIndex={index}\r\n />\r\n </ElGridColumn>\r\n )}\r\n {cols.map((col: any, i: number) => (\r\n <ElGridColumn\r\n column={col}\r\n key={'r' + index + 'c' + i}\r\n scope={rowScope}\r\n >\r\n {col}\r\n </ElGridColumn>\r\n ))}\r\n </tr>\r\n {expanded && (\r\n <tr className={getRowStyleClass()} style={rowScope.getStyle('row')}>\r\n <ElGridColumn\r\n key={'r' + index + '-expanded'}\r\n scope={rowScope}\r\n colspan={colspan}\r\n >\r\n <UIChildren {...props} crud={row}>\r\n {expansion}\r\n </UIChildren>\r\n </ElGridColumn>\r\n </tr>\r\n )}\r\n </>\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport UI from '../UI';\r\nimport { ChildType, Utils } from 'react-crud-utils';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\n\r\ninterface ElGridPaginatorType extends ChildType {\r\n next?: boolean;\r\n previous?: boolean;\r\n first?: boolean;\r\n size?: boolean;\r\n last?: boolean;\r\n position: string;\r\n}\r\n\r\nexport default function ElGridPaginator({\r\n scope,\r\n next,\r\n previous,\r\n first,\r\n size,\r\n last,\r\n position,\r\n}: ElGridPaginatorType) {\r\n let [sizes] = useState([10, 20, 30, 50, 100, 200, 500]);\r\n let defaults = {\r\n crud: scope.crudSearch,\r\n owner: scope,\r\n variant: scope.attr('variant', 'text'),\r\n };\r\n\r\n let paginatorPosition = Utils.nvl(scope.original.paginatorPosition, 'bottom');\r\n\r\n if (paginatorPosition !== position) {\r\n return <></>;\r\n }\r\n\r\n return (\r\n <>\r\n <UI.Button\r\n field=\"first\"\r\n space={0}\r\n rendered={first !== false}\r\n {...defaults}\r\n click=\"first\"\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n <UI.Button\r\n field=\"previous\"\r\n space={0}\r\n rendered={previous !== false}\r\n click=\"previous\"\r\n {...defaults}\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n <UI.Select\r\n field=\"size\"\r\n space={0}\r\n rendered={size !== false}\r\n default={10}\r\n {...defaults}\r\n data={sizes}\r\n change=\"search\"\r\n ></UI.Select>\r\n <UI.Button\r\n field=\"next\"\r\n space={0}\r\n rendered={next !== false}\r\n {...defaults}\r\n click=\"next\"\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n <UI.Button\r\n field=\"last\"\r\n space={0}\r\n rendered={last !== false}\r\n {...defaults}\r\n click=\"last\"\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n </>\r\n );\r\n}\r\n","import UI from '../UI';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport ElGridPaginator from './ElGridPaginator';\r\nimport { ChildType } from 'react-crud-utils';\r\n\r\nexport default function ElGridTop(props: ChildType) {\r\n let scope = props.scope;\r\n\r\n return (\r\n <>\r\n <UI.Output styleClass=\"ui-grid-top\">\r\n <UI.Output field=\"search\" position=\"left\" space={4}>\r\n <UI.Include {...props} transient name=\"top\" position=\"left\" />\r\n <UI.Text\r\n field=\"query\"\r\n space={0}\r\n label=\"Pesquisar\"\r\n placeholder={scope.attr('placeholder', 'Pesquisar')}\r\n >\r\n <UI.Define name=\"right\">\r\n <UI.Button\r\n field=\"search\"\r\n icon={<Ionicons />}\r\n space={0}\r\n variant=\"text\"\r\n owner={scope}\r\n click={'search'}\r\n ></UI.Button>\r\n </UI.Define>\r\n </UI.Text>\r\n </UI.Output>\r\n <UI.Output position=\"right\" space={8}>\r\n <UI.Include {...props} transient name=\"top\" position=\"right\" />\r\n <ElGridPaginator\r\n scope={scope}\r\n last={false}\r\n first={false}\r\n position=\"top\"\r\n ></ElGridPaginator>\r\n </UI.Output>\r\n </UI.Output>\r\n </>\r\n );\r\n}\r\n","import { ChildType } from \"react-crud-utils\";\r\n\r\nexport default function ElGridFilter(props: ChildType) {\r\n return <></>;\r\n}\r\n","import React, { useState } from \"react\";\r\nimport ElGridPaginator from \"./ElGridPaginator\";\r\nimport UI from \"../UI\";\r\nimport { ChildType } from \"react-crud-utils\";\r\n\r\nexport default function ElGridBotom(props: ChildType) {\r\n let scope = props.scope;\r\n let children = props.children;\r\n\r\n return (\r\n <div className=\"ui-grid-bottom\">\r\n <div className=\"ui-grid-bottom-inner\">\r\n <UI.Include {...props} transient name=\"bottomLeft\" />\r\n <ElGridPaginator scope={scope} position=\"bottom\">\r\n {children}\r\n </ElGridPaginator>\r\n <UI.Include {...props} transient name=\"bottomRight\" />\r\n </div>\r\n </div>\r\n );\r\n}\r\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';\r\nimport UI from '../UI';\r\nimport { ChildType, Utils } from 'react-crud-utils';\r\nimport Icon from '../core/Icon';\r\n\r\ninterface ElLabelType extends ChildType {\r\n position?: string;\r\n}\r\nexport default function ElLabel(props: ElLabelType) {\r\n let scope = props.scope;\r\n let original = scope.original;\r\n let defaultPos = 'outside';\r\n\r\n let elPos = Utils.nvl(original.labelPos, defaultPos);\r\n let lbPos = Utils.nvl(props.position, defaultPos);\r\n\r\n if (elPos != lbPos) {\r\n return <></>;\r\n }\r\n\r\n const CustomIcon = () => {\r\n if (!scope.is('type', 'list', 'grid')) {\r\n return <></>;\r\n }\r\n\r\n if (typeof original.icon === 'string') {\r\n return (\r\n <div className=\"ui-label-icon\">\r\n <Icon className={scope.getIcon()}></Icon>\r\n </div>\r\n );\r\n }\r\n return <div className=\"ui-label-icon\">{original.icon}</div>;\r\n };\r\n\r\n let label = scope.getLabel();\r\n\r\n return (\r\n <div className={'ui-label ui-label-' + lbPos}>\r\n <div className=\"ui-label-left\">\r\n <UI.Include {...props} transient name=\"label\" position=\"left\" />\r\n <CustomIcon />\r\n {label && <div className=\"ui-label-value\">{label}</div>}\r\n </div>\r\n <div className=\"ui-label-right\">\r\n <UI.Include {...props} transient name=\"label\" position=\"right\" />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import ElGridRow from './ElGridRow';\r\nimport ElGridTop from './ElGridTop';\r\nimport ElGridFilter from './ElGridFilter';\r\nimport ElGridBotom from './ElGridBotom';\r\nimport ElLabel from './ElLabel';\r\nimport { ChildType, ComponentUtils, Scope } from 'react-crud-utils';\r\n\r\nexport default function ElGrid(props: ChildType) {\r\n let scope: Scope = props.scope;\r\n let items: any = scope.getItems();\r\n let expansion = ComponentUtils.getDefine(props, 'expansion');\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n <ElLabel {...props} scope={scope} position=\"outside\"></ElLabel>\r\n <div\r\n className={scope.getStyleClass('child')}\r\n style={scope.getStyle('child')}\r\n >\r\n <ElLabel {...props} scope={scope} position=\"inside\"></ElLabel>\r\n <div className=\"ui-data\">\r\n <ElGridTop {...props} scope={scope}></ElGridTop>\r\n <ElGridFilter scope={scope}></ElGridFilter>\r\n <div className=\"ui-grid-data\">\r\n <table className=\"ui-grid ui-table\">\r\n <tbody>\r\n {items.map((row: any, i: number) => (\r\n <ElGridRow\r\n {...props}\r\n expansion={expansion}\r\n key={'r' + i}\r\n scope={scope}\r\n value={row}\r\n index={i}\r\n />\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <ElGridBotom {...props} scope={scope} />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import UIChildren from \"../UIChildren\";\r\nimport { ComponentUtils, DefineType, Utils } from \"react-crud-utils\";\r\n\r\nexport default function ElInclude(props: DefineType) {\r\n if (props.rendered === false) {\r\n return <></>;\r\n }\r\n\r\n let includes = ComponentUtils.getDefine(props, props.name, props.position);\r\n\r\n if (Utils.isEmpty(includes)) {\r\n includes = props.default;\r\n }\r\n\r\n if (!Utils.isEmpty(includes)) {\r\n let Aux = (tagProp: any) => {\r\n let Tag: any = props.tag;\r\n\r\n if (!Utils.isEmpty(Tag)) {\r\n return <Tag {...tagProp}>{tagProp.children}</Tag>;\r\n }\r\n return <>{tagProp.children}</>;\r\n };\r\n\r\n return (\r\n <Aux {...props.tagProps}>\r\n <UIChildren\r\n transient\r\n {...props}\r\n scope={props.scope}\r\n crud={props.crud}\r\n part={props.name}\r\n >\r\n {includes}\r\n </UIChildren>\r\n </Aux>\r\n );\r\n }\r\n return <>{includes}</>;\r\n}\r\n","import UIChildren from '../UIChildren';\r\nimport ElLabel from '../grid/ElLabel';\r\nimport ElInclude from '../grid/ElInclude';\r\nimport { ChildType } from 'react-crud-utils';\r\n\r\nexport default function ElCard(props: ChildType) {\r\n let scope = props.scope;\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n <ElLabel {...props} scope={scope}></ElLabel>\r\n <UIChildren {...props} scope={scope} />\r\n\r\n <div\r\n className={scope.getStyleClass('bottom')}\r\n style={scope.getStyle('bottom')}\r\n >\r\n <ElInclude {...props} scope={scope} name=\"bottom\" />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport UIChildren from '../UIChildren';\r\nimport UI from '../UI';\r\n\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport { ChildType, CrudUtils, Utils } from 'react-crud-utils';\r\n\r\nexport default function ElTabs(props: ChildType) {\r\n let scope = props.scope;\r\n let [selectedIndex, setSelectedIndex]: any = useState(0);\r\n let element = scope.original;\r\n let items = scope.getItems();\r\n let counter = 0;\r\n\r\n let tabs: any = [];\r\n let [selected, setSelected]: any = useState(null);\r\n\r\n const onChangeTab = (tab: any, validate = true) => {\r\n if (tab) {\r\n scope.execute({\r\n event: {\r\n validate,\r\n validateScope: element.validateScope,\r\n action: () => {\r\n scope.changeValue(tab.data);\r\n\r\n selected = tab;\r\n selectedIndex = tab.index;\r\n\r\n setSelectedIndex(selectedIndex);\r\n setSelected(tab);\r\n },\r\n },\r\n });\r\n }\r\n };\r\n\r\n const getStyleClass = (t: any) => {\r\n let s = 'ui-tabs-item ui-click';\r\n\r\n if (selected?.index === t.index) {\r\n s = s + ' ui-tab-selected';\r\n }\r\n return s;\r\n };\r\n\r\n const addTab = (child: any, item: any) => {\r\n let original = { ...child.props };\r\n\r\n if (!item) {\r\n item = scope.crud.data;\r\n }\r\n\r\n let crudTab = CrudUtils.create('tabs', {\r\n data: item,\r\n changed: item,\r\n parent: scope.crud,\r\n });\r\n\r\n let element = Utils.resolve(original, crudTab);\r\n\r\n if (element.rendered === false) {\r\n return;\r\n }\r\n\r\n tabs.push({\r\n ...element,\r\n child,\r\n element,\r\n original,\r\n index: counter++,\r\n data: item,\r\n });\r\n };\r\n\r\n React.Children.map(props.children, (child, index) => {\r\n if (Utils.isEmpty(items)) {\r\n addTab(child, {});\r\n } else {\r\n for (const i in items) {\r\n let o = items[i];\r\n\r\n addTab(child, o);\r\n }\r\n }\r\n });\r\n\r\n if (!selected) {\r\n onChangeTab(tabs[selectedIndex], false);\r\n }\r\n\r\n const nav = (i: any) => {\r\n let t = tabs[selectedIndex + i];\r\n\r\n onChangeTab(t);\r\n };\r\n\r\n const previous = () => {\r\n nav(-1);\r\n };\r\n\r\n const next = () => {\r\n nav(1);\r\n };\r\n\r\n let isStepper = element.layout === 'stepper';\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n <div className=\"ui-tabs-content\">\r\n <div className=\"ui-tabs-items\">\r\n {tabs.map((t: any, i: number) => (\r\n <div\r\n key={Utils.key(element.id, 'tab', i)}\r\n className={getStyleClass(t)}\r\n onClick={() => {\r\n onChangeTab(t);\r\n }}\r\n >\r\n {isStepper && <div className=\"ui-tab-item-divisor\" />}\r\n <div className=\"ui-tab-item-inner\">\r\n {isStepper && <div className=\"ui-step-line\" />}\r\n <div className=\"ui-tab-item-label\">\r\n {isStepper ? t.index + 1 : t.label}\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n {selected && (\r\n <>\r\n {isStepper && <div className=\"ui-tabs-label\">{selected.label}</div>}\r\n <div className=\"ui-tabs-area\">\r\n <UIChildren {...props} scope={scope}>\r\n {selected.child}\r\n </UIChildren>\r\n </div>\r\n {element.layout === 'stepper' && (\r\n <div className=\"ui-tabs-actions\">\r\n <UI.Output space={6} layout=\"left\">\r\n <UI.Include\r\n {...props}\r\n transient\r\n name=\"left\"\r\n default={\r\n <UI.Button\r\n rendered={selectedIndex > 0}\r\n icon={<Ionicons />}\r\n click={previous}\r\n />\r\n }\r\n />\r\n </UI.Output>\r\n <UI.Output space={6} layout=\"right\">\r\n <UI.Include\r\n {...props}\r\n transient\r\n name=\"right\"\r\n default={\r\n <UI.Button\r\n rendered={selectedIndex < tabs.length - 1}\r\n icon={<Ionicons />}\r\n click={next}\r\n />\r\n }\r\n />\r\n </UI.Output>\r\n </div>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ChildType, Scope, Utils } from \"react-crud-utils\";\r\n\r\nexport default function ElChart(props: ChildType) {\r\n let scope: Scope = props.scope;\r\n let items: any = scope.getItems();\r\n let columns = Utils.asList(scope.original.columns);\r\n\r\n return <div className=\"ui-chart-data\"></div>;\r\n}\r\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';\r\nimport AutoComplete from './core/AutoComplete';\r\n\r\nexport default function UIComplete({\r\n defaultsInput,\r\n defaultsUI,\r\n scope,\r\n}: ChildType) {\r\n return (\r\n <>\r\n <AutoComplete {...defaultsInput} {...defaultsUI} />\r\n </>\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport UIChildren from \"../UIChildren\";\r\nimport { CrudUtils, RowType, Scope } from \"react-crud-utils\";\r\n\r\nexport default function ElRepeatRow(props: RowType) {\r\n let value = props.value;\r\n let scope = props.scope;\r\n let index = props.index;\r\n\r\n let row = CrudUtils.create(\"row\", {\r\n index,\r\n row: true,\r\n itemVar: scope.original.itemVar,\r\n parent: scope.crudSearch,\r\n data: value,\r\n });\r\n\r\n let [rowScope] = useState(new Scope(scope.original, scope, row));\r\n\r\n let getRowStyleClass = () => {\r\n let s = rowScope.getStyleClass(\"row\");\r\n\r\n s = s + \" ui-repeat-row-\";\r\n\r\n if (index % 2 == 0) {\r\n s = s + \"even\";\r\n } else {\r\n s = s + \"odd\";\r\n }\r\n return s;\r\n };\r\n\r\n return (\r\n <div className={getRowStyleClass()} style={rowScope.getStyle(\"row\")}>\r\n <UIChildren transient {...props} crud={row}>\r\n {props.children}\r\n </UIChildren>\r\n </div>\r\n );\r\n}\r\n","import ElRepeatRow from './ElRepeatRow';\r\nimport { ChildType, Scope } from 'react-crud-utils';\r\n\r\nexport default function ElRepeat(props: ChildType) {\r\n let scope: Scope = props.scope;\r\n let items: any = scope.getItems();\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n {items.map((row: any, i: number) => (\r\n <ElRepeatRow\r\n {...props}\r\n key={'r' + i}\r\n scope={scope}\r\n value={row}\r\n index={i}\r\n />\r\n ))}\r\n </div>\r\n );\r\n}\r\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 { ChildType } from 'react-crud-utils';\r\nimport { Text, TouchableHighlight, View } from 'react-native';\r\n\r\nexport default function Button(props: ChildType) {\r\n let scope = props.scope;\r\n let element = scope.original;\r\n\r\n let color = element.color;\r\n let label = element.label;\r\n let icon = element.icon;\r\n\r\n if (!color) color = '#55a46f';\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 ...element.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 ...element.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 ...element.buttonStyle,\r\n },\r\n };\r\n\r\n const onClick = (e: any) => {\r\n if (typeof element.click === 'function') {\r\n element.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';\r\nimport ElGrid from './grid/ElGrid';\r\nimport ElCard from './card/ElCard';\r\nimport UIChildren from './UIChildren';\r\nimport ElTabs from './tabs/ElTabs';\r\nimport ElLabel from './grid/ElLabel';\r\nimport ElChart from './charts/ElChart';\r\nimport UIComplete from './UIComplete';\r\nimport ElRepeat from './grid/ElRepeat';\r\nimport {\r\n Crud,\r\n HtmlUtils,\r\n ScopeUtils,\r\n Utils,\r\n ElementType,\r\n} from 'react-crud-utils';\r\nimport Link from './core/Link';\r\nimport Icon from './core/Icon';\r\nimport Button from './core/Button';\r\nimport Select from './core/Select';\r\nimport Switch from './core/Switch';\r\nimport Option from './core/Option';\r\nimport Radio from './core/Radio';\r\nimport Input from './core/Input';\r\nimport { Image, Linking, Text, View } from 'react-native';\r\n\r\nexport default function UIElement(props: ElementType) {\r\n let [scope] = useState(ScopeUtils.create(props));\r\n let [index, setIndex] = useState(0);\r\n let [error, setError]: string | any = useState(null);\r\n let options: any = scope.getOptions();\r\n let crud: Crud = Utils.nvl(props.crud, scope.crud);\r\n let original = scope.original;\r\n let type = original.type;\r\n let ref = useRef(null);\r\n\r\n scope.update = () => {\r\n setIndex(++index);\r\n };\r\n\r\n let router: any = {\r\n list: ElGrid,\r\n grid: ElGrid,\r\n label: ElLabel,\r\n card: ElCard,\r\n repeat: ElRepeat,\r\n tabs: ElTabs,\r\n chart: ElChart,\r\n };\r\n\r\n let CurrentRouter = () => {\r\n if (router[type]) {\r\n let Aux = router[type];\r\n\r\n return <Aux crud={crud} {...props} scope={scope} />;\r\n }\r\n return <></>;\r\n };\r\n\r\n const Custom = () => {\r\n let c: any = original.custom;\r\n\r\n if (c) {\r\n if (typeof c === 'string') {\r\n return (\r\n <UIElement\r\n element={{ value: c, type: 'dummy' }}\r\n crud={crud}\r\n ></UIElement>\r\n );\r\n }\r\n\r\n return (\r\n <UIElement\r\n type={c.type}\r\n tag={c.type}\r\n {...c.props}\r\n crud={crud}\r\n ></UIElement>\r\n );\r\n }\r\n\r\n return <></>;\r\n };\r\n\r\n if (scope.is('type', 'dummy')) {\r\n return <>{scope.getDisplayValue()}</>;\r\n }\r\n\r\n let onCheck = () => {\r\n let v = scope.getValue();\r\n let check = !(v === true);\r\n\r\n onChange({ target: { value: check } });\r\n };\r\n\r\n let onChange = (e: any) => {\r\n let val = e.target.value;\r\n\r\n if (scope.isType('integer', 'int', 'number')) {\r\n val = parseInt(val);\r\n } else if (scope.isType('decimal')) {\r\n val = parseFloat(val);\r\n }\r\n\r\n if (scope.isType('select', 'complete')) {\r\n val = scope.getSelectedItem(val);\r\n }\r\n\r\n scope.changeValue(val);\r\n scope.update();\r\n };\r\n\r\n let onClick = (e: any) => {\r\n scope.call('click');\r\n };\r\n\r\n let defaultsInput: any = {\r\n label: scope.getLabel(),\r\n value: scope.getValue(),\r\n onChange: onChange,\r\n };\r\n\r\n if (scope.isType('password')) {\r\n defaultsInput.type = 'password';\r\n }\r\n\r\n const getStyle = (part?: string) => {\r\n let key = Utils.nvl(part, 'root');\r\n let def = styles[key];\r\n\r\n return { ...def, ...scope.getStyle(part) };\r\n };\r\n\r\n let elStyle = getStyle('element');\r\n\r\n let defaultsUI: any = {\r\n required: scope.isRequired(),\r\n size: 'small',\r\n scope,\r\n crud,\r\n style: elStyle,\r\n placeholder: scope.attr('placeholder', 'Digite aqui'),\r\n };\r\n\r\n let isChecked = () => {\r\n let v = scope.getValue();\r\n\r\n return v === true;\r\n };\r\n\r\n let hasChildren = () => {\r\n if (scope.isInput()) {\r\n return false;\r\n }\r\n\r\n return !Utils.isEmpty(props.children) || !Utils.isEmpty(props.elements);\r\n };\r\n\r\n if (!scope.isRendered() || scope.is('type', 'define')) {\r\n return <></>;\r\n }\r\n\r\n scope.error = (msg: string) => {\r\n error = msg;\r\n setError(msg);\r\n };\r\n\r\n useEffect(() => {\r\n if (!scope.ready) {\r\n scope.ready = true;\r\n\r\n scope.call('load');\r\n\r\n if (scope.isType('list', 'repeat')) {\r\n scope.search();\r\n } else if (original.list) {\r\n scope.call('list');\r\n }\r\n scope.start();\r\n }\r\n });\r\n\r\n const CustomIcon = () => {\r\n if (typeof original.icon === 'string') {\r\n return <Icon>{scope.getIcon()}</Icon>;\r\n }\r\n return <>{original.icon}</>;\r\n };\r\n\r\n const getLabelClass = (type: string) => {\r\n let clss = `ui-text ui-${type}-text`;\r\n let icon = scope.getIcon();\r\n\r\n if (icon) {\r\n clss = clss + ` ui-icon ui-${type}-icon`;\r\n }\r\n return clss;\r\n };\r\n\r\n let hasCustomRoute = () => {\r\n if (router[type]) return true;\r\n return false;\r\n };\r\n\r\n scope.open = (args: any) => {\r\n Linking.openURL(args.url);\r\n };\r\n\r\n if (scope.isType('dialog')) {\r\n let name = original.name;\r\n\r\n if (!crud.dialogs[name]) {\r\n let dlg: any = { config: { ...original } };\r\n\r\n dlg.component = (args: any) => {\r\n return <UIChildren {...props} scope={scope} crud={crud} />;\r\n };\r\n\r\n crud.dialogs[name] = dlg;\r\n }\r\n return <></>;\r\n }\r\n\r\n useLayoutEffect(() => {\r\n if (ref?.current && scope.is('type', 'card', 'list', 'tabs', 'stepper')) {\r\n let el: any = ref?.current;\r\n\r\n if (el) {\r\n let bg = HtmlUtils.getBGColor(el);\r\n\r\n if (bg === 'rgb(255, 255, 255)') {\r\n el.classList.add('ui-dark');\r\n } else {\r\n el.classList.add('ui-light');\r\n }\r\n }\r\n }\r\n });\r\n\r\n const isShowLabel = () => {\r\n if (typeof original.label !== 'undefined') {\r\n console.log(original.label);\r\n return true;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n const isShowInner = () => {\r\n if (hasChildren() || hasCustomRoute()) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n return (\r\n <>\r\n <View ref={ref} style={getStyle()}>\r\n {isShowLabel() && (\r\n <Text style={getStyle('label')}>{scope.getLabel()}</Text>\r\n )}\r\n {isShowInner() && (\r\n <>\r\n <View style={getStyle('inner')}>\r\n {scope.is('type', 'button') && (\r\n <Button\r\n {...defaultsUI}\r\n onClick={onClick}\r\n variant={scope.attr('variant', 'outlined')}\r\n >\r\n {original.icon && <CustomIcon />}\r\n {original.label && (\r\n <span className={getLabelClass('button')}>\r\n {scope.getLabel()}\r\n </span>\r\n )}\r\n </Button>\r\n )}\r\n {scope.is('type', 'icon') && (\r\n <Icon\r\n {...defaultsUI}\r\n onClick={onClick}\r\n variant={scope.attr('variant', 'outlined')}\r\n >\r\n {scope.getDisplayValue()}\r\n </Icon>\r\n )}\r\n {scope.is('type', 'link') && (\r\n <Link\r\n {...defaultsUI}\r\n onClick={onClick}\r\n variant={scope.attr('variant', 'outlined')}\r\n >\r\n {original.icon && <CustomIcon />}\r\n {original.label && (\r\n <span className={getLabelClass('link')}>\r\n {scope.getLabel()}\r\n </span>\r\n )}\r\n </Link>\r\n )}\r\n {scope.is(\r\n 'type',\r\n 'text',\r\n 'number',\r\n 'phone',\r\n 'postalCode',\r\n 'money',\r\n 'password',\r\n 'email'\r\n ) && (\r\n <Input\r\n {...defaultsInput}\r\n {...defaultsUI}\r\n InputProps={{ ...original.inputProps }}\r\n />\r\n )}\r\n {scope.is('type', 'complete', 'autocomplete') && (\r\n <UIComplete\r\n scope={scope}\r\n defaultsInput={defaultsInput}\r\n defaultsUI={defaultsUI}\r\n />\r\n )}\r\n {scope.is('type', 'checkbox', 'boolean', 'switch') && (\r\n <Switch\r\n checked={isChecked()}\r\n {...defaultsInput}\r\n onChange={onCheck}\r\n />\r\n )}\r\n {scope.is('type', 'select') && (\r\n <Select\r\n {...defaultsInput}\r\n {...defaultsUI}\r\n value={scope.getSelectedValue()}\r\n >\r\n <Option value={''}>Selecione</Option>\r\n {options.map((row: any, i: number) => (\r\n <Option key={'i' + i} value={row.value}>\r\n {row.label}\r\n </Option>\r\n ))}\r\n </Select>\r\n )}\r\n {scope.is('type', 'radio') && (\r\n <Radio {...defaultsInput} {...defaultsUI} row>\r\n {options.map((row: any, i: number) => (\r\n <Option\r\n key={'i' + i}\r\n control={<Radio {...defaultsUI} />}\r\n label={row.label}\r\n value={row.value}\r\n />\r\n ))}\r\n </Radio>\r\n )}\r\n {scope.is('type', 'custom') && <Custom />}\r\n {scope.is('type', 'column') && (\r\n <>\r\n {scope.is('format', 'img') && (\r\n <Image source={scope.getDisplayValue()} />\r\n )}\r\n {scope.is('format', 'icon') && (\r\n <Icon className={scope.getDisplayValue()} />\r\n )}\r\n {!scope.is('format', 'icon', 'img') && (\r\n <Text>{scope.getDisplayValue()}</Text>\r\n )}\r\n </>\r\n )}\r\n {scope.is('type', 'output') && (\r\n <Text>{scope.getDisplayValue()}</Text>\r\n )}\r\n </View>\r\n {error && <View style={getStyle('error')}>{error}</View>}\r\n </>\r\n )}\r\n <CurrentRouter />\r\n {!scope.is(\r\n 'type',\r\n 'card',\r\n 'tabs',\r\n 'grid',\r\n 'list',\r\n 'define',\r\n 'repeat'\r\n ) && <UIChildren {...props} scope={scope} crud={crud} />}\r\n </View>\r\n </>\r\n );\r\n}\r\n\r\nconst styles = {\r\n root: {\r\n flex: 1,\r\n gap: 10,\r\n flexDirection: 'column',\r\n flexWrap: 'wrap',\r\n alignItems: 'flex-start',\r\n },\r\n label: {},\r\n};\r\n","import { ListType } from \"react-crud-utils\";\r\nimport { UserType } from \"react-crud-utils\";\r\nimport { InputType } from \"react-crud-utils\";\r\nimport { ChartType } from \"react-crud-utils\";\r\nimport { ContainerType } from \"react-crud-utils\";\r\nimport { ListInputType } from \"react-crud-utils\";\r\nimport UIElement from \"./UIElement\";\r\nimport { TabsType } from \"react-crud-utils\";\r\nimport { DefineType } from \"react-crud-utils\";\r\nimport ElInclude from \"./grid/ElInclude\";\r\nimport { ButtonType } from \"react-crud-utils\";\r\nimport { LinkType } from \"react-crud-utils\";\r\n\r\nconst UI = {\r\n Grid: (props: ListType) => <UIElement {...props} type=\"list\" />,\r\n Repeat: (props: ListType) => <UIElement {...props} type=\"repeat\" />,\r\n Define: (props: DefineType) => <UIElement {...props} type=\"define\" />,\r\n Include: (props: DefineType) => <ElInclude {...props} />,\r\n Column: ({ type = \"column\", ...props }: UserType) => (\r\n <UIElement {...props} type=\"column\" />\r\n ),\r\n Input: (props: InputType) => <UIElement {...props} />,\r\n Text: (props: InputType) => <UIElement {...props} type=\"text\" />,\r\n Email: (props: InputType) => <UIElement {...props} type=\"email\" />,\r\n Button: (props: ButtonType) => <UIElement {...props} type=\"button\" />,\r\n Link: (props: LinkType) => <UIElement {...props} type=\"link\" />,\r\n Icon: (props: ButtonType) => <UIElement {...props} type=\"icon\" />,\r\n Output: (props: ContainerType) => <UIElement {...props} type=\"output\" />,\r\n Form: (props: ContainerType) => <UIElement {...props} type=\"form\" />,\r\n Crud: (props: ContainerType) => <UIElement {...props} type=\"crud\" />,\r\n View: (props: ContainerType) => (\r\n <UIElement {...props} type=\"view\" transient />\r\n ),\r\n Bottom: (props: ContainerType) => <UIElement {...props} type=\"bottom\" />,\r\n Dialog: (props: ContainerType) => <UIElement {...props} type=\"dialog\" />,\r\n Content: (props: ContainerType) => <UIElement {...props} type=\"content\" />,\r\n Top: (props: ContainerType) => <UIElement {...props} type=\"top\" />,\r\n Card: (props: ContainerType) => <UIElement {...props} type=\"card\" />,\r\n Tab: (props: ContainerType) => <UIElement {...props} type=\"tab\" />,\r\n Tabs: (props: TabsType) => <UIElement {...props} type=\"tabs\" />,\r\n Step: (props: ContainerType) => (\r\n <UIElement {...props} type=\"tab\" layout=\"step\" />\r\n ),\r\n Stepper: (props: TabsType) => (\r\n <UIElement {...props} type=\"tabs\" layout=\"stepper\" />\r\n ),\r\n Money: (props: InputType) => <UIElement {...props} type=\"money\" />,\r\n Chart: (props: ChartType) => <UIElement {...props} type=\"chart\" />,\r\n Password: (props: InputType) => <UIElement {...props} type=\"password\" />,\r\n Complete: (props: InputType) => <UIElement {...props} type=\"complete\" />,\r\n Checkbox: (props: InputType) => <UIElement {...props} type=\"checkbox\" />,\r\n Radio: (props: ListInputType) => <UIElement {...props} type=\"radio\" />,\r\n Select: (props: ListInputType) => <UIElement {...props} type=\"select\" />,\r\n Entity: (props: ListInputType) => <UIElement {...props} type=\"entity\" />,\r\n Element: (props: ListInputType) => <UIElement {...props} type=\"element\" />,\r\n};\r\nexport default UI;\r\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","Image","source","root","gap","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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"}
|
|
@@ -1079,7 +1079,12 @@ function UIElement(props) {
|
|
|
1079
1079
|
if (scope.isType('password')) {
|
|
1080
1080
|
defaultsInput.type = 'password';
|
|
1081
1081
|
}
|
|
1082
|
-
var
|
|
1082
|
+
var getStyle = function getStyle(part) {
|
|
1083
|
+
var key = Utils.nvl(part, 'root');
|
|
1084
|
+
var def = styles$8[key];
|
|
1085
|
+
return _extends({}, def, scope.getStyle(part));
|
|
1086
|
+
};
|
|
1087
|
+
var elStyle = getStyle('element');
|
|
1083
1088
|
var defaultsUI = {
|
|
1084
1089
|
required: scope.isRequired(),
|
|
1085
1090
|
size: 'small',
|
|
@@ -1187,13 +1192,13 @@ function UIElement(props) {
|
|
|
1187
1192
|
return /*#__PURE__*/jsx(Fragment, {
|
|
1188
1193
|
children: /*#__PURE__*/jsxs(View, {
|
|
1189
1194
|
ref: ref,
|
|
1190
|
-
style:
|
|
1195
|
+
style: getStyle(),
|
|
1191
1196
|
children: [isShowLabel() && /*#__PURE__*/jsx(Text, {
|
|
1192
|
-
style:
|
|
1197
|
+
style: getStyle('label'),
|
|
1193
1198
|
children: scope.getLabel()
|
|
1194
1199
|
}), isShowInner() && /*#__PURE__*/jsxs(Fragment, {
|
|
1195
1200
|
children: [/*#__PURE__*/jsxs(View, {
|
|
1196
|
-
style:
|
|
1201
|
+
style: getStyle('inner'),
|
|
1197
1202
|
children: [scope.is('type', 'button') && /*#__PURE__*/jsxs(Button, _extends({}, defaultsUI, {
|
|
1198
1203
|
onClick: onClick,
|
|
1199
1204
|
variant: scope.attr('variant', 'outlined'),
|
|
@@ -1254,7 +1259,7 @@ function UIElement(props) {
|
|
|
1254
1259
|
children: scope.getDisplayValue()
|
|
1255
1260
|
})]
|
|
1256
1261
|
}), error && /*#__PURE__*/jsx(View, {
|
|
1257
|
-
style:
|
|
1262
|
+
style: getStyle('error'),
|
|
1258
1263
|
children: error
|
|
1259
1264
|
})]
|
|
1260
1265
|
}), /*#__PURE__*/jsx(CurrentRouter, {}), !scope.is('type', 'card', 'tabs', 'grid', 'list', 'define', 'repeat') && /*#__PURE__*/jsx(UIChildren, _extends({}, props, {
|
|
@@ -1264,6 +1269,16 @@ function UIElement(props) {
|
|
|
1264
1269
|
})
|
|
1265
1270
|
});
|
|
1266
1271
|
}
|
|
1272
|
+
var styles$8 = {
|
|
1273
|
+
root: {
|
|
1274
|
+
flex: 1,
|
|
1275
|
+
gap: 10,
|
|
1276
|
+
flexDirection: 'column',
|
|
1277
|
+
flexWrap: 'wrap',
|
|
1278
|
+
alignItems: 'flex-start'
|
|
1279
|
+
},
|
|
1280
|
+
label: {}
|
|
1281
|
+
};
|
|
1267
1282
|
|
|
1268
1283
|
var _excluded = ["type"];
|
|
1269
1284
|
var UI = {
|