Browse Source

Botao Ver Produtos da Categoria

master
andrebarros7201 5 years ago
parent
commit
ca2571b8f5
8 changed files with 346 additions and 255 deletions
  1. BIN
      dbs/dbmercearia.mv.db
  2. +108
    -0
      dbs/dbmercearia.trace.db
  3. +131
    -237
      public/scripts/main.js
  4. +1
    -1
      public/scripts/main.js.map
  5. +1
    -1
      server/services/categorias/get.js
  6. +8
    -0
      server/services/categorias/produtos/post.js
  7. +60
    -0
      ui/src/components/TabelaCategorias/JanelaProdutos/index.jsx
  8. +37
    -16
      ui/src/components/TabelaCategorias/index.jsx

BIN
dbs/dbmercearia.mv.db View File


+ 108
- 0
dbs/dbmercearia.trace.db View File

@ -5428,3 +5428,111 @@ inner join categoria on produto.categoria_id = categoria.id
inner join produto_loja on produto_loja.produto_id = produto.id
inner join loja on produto_loja.loja_id = loja.uid
and loja.uid = 'fe0118fe-967d-49b8-91c5-ae42c287f50b' [22018-198]
2021-03-26 15:53:54 jdbc[3]: exception
org.h2.jdbc.JdbcSQLDataException: Invalid value "1" for parameter "parameterIndex" [90008-198]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:587)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
at org.h2.message.DbException.get(DbException.java:205)
at org.h2.message.DbException.getInvalidValueException(DbException.java:280)
at org.h2.jdbc.JdbcPreparedStatement.setParameter(JdbcPreparedStatement.java:1573)
at org.h2.jdbc.JdbcPreparedStatement.setInt(JdbcPreparedStatement.java:407)
at org.netuno.psamata.DB.b(SourceFile:695)
at org.netuno.psamata.DB.executeQuery(SourceFile:458)
at org.netuno.psamata.DB.query(SourceFile:421)
at org.netuno.tritao.resource.DB.query(SourceFile:822)
at org.graalvm.truffle/com.oracle.truffle.polyglot.HostMethodDesc$SingleMethod$MHBase.invokeHandle(HostMethodDesc.java:292)
at org.graalvm.truffle/com.oracle.truffle.polyglot.HostToGuestCodeCache$1.executeImpl(HostToGuestCodeCache.java:86)
at org.graalvm.truffle/com.oracle.truffle.polyglot.GuestToHostRootNode.execute(GuestToHostRootNode.java:82)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callInlined(OptimizedCallTarget.java:485)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.GraalRuntimeSupport.callInlined(GraalRuntimeSupport.java:120)
at org.graalvm.truffle/com.oracle.truffle.polyglot.GuestToHostRootNode.guestToHostCall(GuestToHostRootNode.java:108)
at org.graalvm.truffle/com.oracle.truffle.polyglot.HostMethodDesc$SingleMethod$MHBase.invokeGuestToHost(HostMethodDesc.java:319)
at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode.doInvoke(HostExecuteNode.java:809)
at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode.doOverloadedCached(HostExecuteNode.java:241)
at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNodeGen.executeAndSpecialize(HostExecuteNodeGen.java:241)
at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNodeGen.execute(HostExecuteNodeGen.java:94)
at org.graalvm.truffle/com.oracle.truffle.polyglot.HostObject.invokeMember(HostObject.java:412)
at org.graalvm.truffle/com.oracle.truffle.polyglot.HostObjectGen$InteropLibraryExports$Cached.invokeMemberNode_AndSpecialize(HostObjectGen.java:1393)
at org.graalvm.truffle/com.oracle.truffle.polyglot.HostObjectGen$InteropLibraryExports$Cached.invokeMember(HostObjectGen.java:1365)
at org.graalvm.truffle/com.oracle.truffle.api.interop.InteropLibraryGen$CachedDispatch.invokeMember(InteropLibraryGen.java:6078)
at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignInvokeNode.executeCall(JSFunctionCallNode.java:1482)
at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:294)
at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:240)
at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.execute(JSFunctionCallNode.java:711)
at com.oracle.truffle.js.nodes.access.WritePropertyNode.executeAndSpecialize(WritePropertyNode.java:263)
at com.oracle.truffle.js.nodes.access.WritePropertyNode.executeVoid(WritePropertyNode.java:235)
at com.oracle.truffle.js.nodes.binary.DualNode.executeVoid(DualNode.java:148)
at com.oracle.truffle.js.nodes.control.AbstractBlockNode.executeVoid(AbstractBlockNode.java:80)
at com.oracle.truffle.js.nodes.control.AbstractBlockNode.executeVoid(AbstractBlockNode.java:55)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeGeneric(OptimizedBlockNode.java:79)
at com.oracle.truffle.js.nodes.control.AbstractBlockNode.execute(AbstractBlockNode.java:75)
at com.oracle.truffle.js.nodes.function.FunctionBodyNode.execute(FunctionBodyNode.java:73)
at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:147)
at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:93)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:496)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:459)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:71)
at com.oracle.truffle.js.lang.JavaScriptLanguage$1.execute(JavaScriptLanguage.java:214)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:591)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:562)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:512)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:496)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:446)
at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:434)
at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotContextImpl.eval(PolyglotContextImpl.java:941)
at org.graalvm.sdk/org.graalvm.polyglot.Context.eval(Context.java:347)
at org.graalvm.sdk/org.graalvm.polyglot.Context.eval(Context.java:373)
at org.netuno.psamata.script.GraalRunner.eval(SourceFile:169)
at org.netuno.tritao.config.Hili.runGraalScript(SourceFile:550)
at org.netuno.tritao.config.Hili.runScriptSandbox(SourceFile:393)
at org.netuno.tritao.config.Hili.runScriptSandbox(SourceFile:310)
at org.netuno.tritao.Service.execute(SourceFile:630)
at org.netuno.tritao.Service._main(SourceFile:571)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.netuno.proteu.Run.run(SourceFile:103)
at org.netuno.proteu.Run.<init>(SourceFile:33)
at org.netuno.proteu.DynamicURL.build(SourceFile:153)
at org.netuno.proteu.Enterprise.processRequest(SourceFile:452)
at org.netuno.proteu.Enterprise.service(SourceFile:525)
at javax.servlet.http.HttpServlet.service(SourceFile:791)
at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(SourceFile:1402)
at org.eclipse.jetty.servlet.ServletHolder.handle(SourceFile:763)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(SourceFile:551)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(SourceFile:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SourceFile:602)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(SourceFile:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(SourceFile:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SourceFile:1610)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(SourceFile:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(SourceFile:1369)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(SourceFile:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(SourceFile:489)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SourceFile:1580)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(SourceFile:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(SourceFile:1284)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(SourceFile:141)
at org.eclipse.jetty.server.handler.HandlerList.handle(SourceFile:59)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(SourceFile:127)
at org.eclipse.jetty.server.Server.handle(SourceFile:501)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(SourceFile:383)
at org.eclipse.jetty.server.HttpChannel.dispatch(SourceFile:556)
at org.eclipse.jetty.server.HttpChannel.handle(SourceFile:375)
at org.eclipse.jetty.server.HttpConnection.onFillable(SourceFile:272)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(SourceFile:311)
at org.eclipse.jetty.io.FillInterest.fillable(SourceFile:103)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(SourceFile:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(SourceFile:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(SourceFile:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(SourceFile:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(SourceFile:129)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(SourceFile:375)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(SourceFile:806)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(SourceFile:938)
at java.base/java.lang.Thread.run(Thread.java:834)

+ 131
- 237
public/scripts/main.js View File

@ -16435,228 +16435,6 @@ function renderColumnTitle(title, props) {
/***/ }),
/***/ "./node_modules/antd/lib/tag/CheckableTag.js":
/*!***************************************************!*\
!*** ./node_modules/antd/lib/tag/CheckableTag.js ***!
\***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ "./node_modules/@babel/runtime/helpers/interopRequireWildcard.js");
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/extends.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js"));
var React = _interopRequireWildcard(__webpack_require__(/*! react */ "./node_modules/react/index.js"));
var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js"));
var _configProvider = __webpack_require__(/*! ../config-provider */ "./node_modules/antd/lib/config-provider/index.js");
var __rest = void 0 && (void 0).__rest || function (s, e) {
var t = {};
for (var p in s) {
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
}
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
var CheckableTag = function CheckableTag(_a) {
var _classNames;
var customizePrefixCls = _a.prefixCls,
className = _a.className,
checked = _a.checked,
onChange = _a.onChange,
onClick = _a.onClick,
restProps = __rest(_a, ["prefixCls", "className", "checked", "onChange", "onClick"]);
var _React$useContext = React.useContext(_configProvider.ConfigContext),
getPrefixCls = _React$useContext.getPrefixCls;
var handleClick = function handleClick(e) {
onChange === null || onChange === void 0 ? void 0 : onChange(!checked);
onClick === null || onClick === void 0 ? void 0 : onClick(e);
};
var prefixCls = getPrefixCls('tag', customizePrefixCls);
var cls = (0, _classnames["default"])(prefixCls, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, "".concat(prefixCls, "-checkable"), true), (0, _defineProperty2["default"])(_classNames, "".concat(prefixCls, "-checkable-checked"), checked), _classNames), className);
return /*#__PURE__*/React.createElement("span", (0, _extends2["default"])({}, restProps, {
className: cls,
onClick: handleClick
}));
};
var _default = CheckableTag;
exports["default"] = _default;
/***/ }),
/***/ "./node_modules/antd/lib/tag/index.js":
/*!********************************************!*\
!*** ./node_modules/antd/lib/tag/index.js ***!
\********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ "./node_modules/@babel/runtime/helpers/interopRequireWildcard.js");
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js"));
var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/extends.js"));
var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/slicedToArray.js"));
var React = _interopRequireWildcard(__webpack_require__(/*! react */ "./node_modules/react/index.js"));
var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js"));
var _omit = _interopRequireDefault(__webpack_require__(/*! rc-util/lib/omit */ "./node_modules/rc-util/lib/omit.js"));
var _CloseOutlined = _interopRequireDefault(__webpack_require__(/*! @ant-design/icons/CloseOutlined */ "./node_modules/@ant-design/icons/CloseOutlined.js"));
var _CheckableTag = _interopRequireDefault(__webpack_require__(/*! ./CheckableTag */ "./node_modules/antd/lib/tag/CheckableTag.js"));
var _configProvider = __webpack_require__(/*! ../config-provider */ "./node_modules/antd/lib/config-provider/index.js");
var _colors = __webpack_require__(/*! ../_util/colors */ "./node_modules/antd/lib/_util/colors.js");
var _wave = _interopRequireDefault(__webpack_require__(/*! ../_util/wave */ "./node_modules/antd/lib/_util/wave.js"));
var __rest = void 0 && (void 0).__rest || function (s, e) {
var t = {};
for (var p in s) {
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
}
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
var PresetColorRegex = new RegExp("^(".concat(_colors.PresetColorTypes.join('|'), ")(-inverse)?$"));
var PresetStatusColorRegex = new RegExp("^(".concat(_colors.PresetStatusColorTypes.join('|'), ")$"));
var InternalTag = function InternalTag(_a, ref) {
var _classNames;
var customizePrefixCls = _a.prefixCls,
className = _a.className,
style = _a.style,
children = _a.children,
icon = _a.icon,
color = _a.color,
onClose = _a.onClose,
closeIcon = _a.closeIcon,
_a$closable = _a.closable,
closable = _a$closable === void 0 ? false : _a$closable,
props = __rest(_a, ["prefixCls", "className", "style", "children", "icon", "color", "onClose", "closeIcon", "closable"]);
var _React$useContext = React.useContext(_configProvider.ConfigContext),
getPrefixCls = _React$useContext.getPrefixCls,
direction = _React$useContext.direction;
var _React$useState = React.useState(true),
_React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
visible = _React$useState2[0],
setVisible = _React$useState2[1];
React.useEffect(function () {
if ('visible' in props) {
setVisible(props.visible);
}
}, [props.visible]);
var isPresetColor = function isPresetColor() {
if (!color) {
return false;
}
return PresetColorRegex.test(color) || PresetStatusColorRegex.test(color);
};
var tagStyle = (0, _extends2["default"])({
backgroundColor: color && !isPresetColor() ? color : undefined
}, style);
var presetColor = isPresetColor();
var prefixCls = getPrefixCls('tag', customizePrefixCls);
var tagClassName = (0, _classnames["default"])(prefixCls, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, "".concat(prefixCls, "-").concat(color), presetColor), (0, _defineProperty2["default"])(_classNames, "".concat(prefixCls, "-has-color"), color && !presetColor), (0, _defineProperty2["default"])(_classNames, "".concat(prefixCls, "-hidden"), !visible), (0, _defineProperty2["default"])(_classNames, "".concat(prefixCls, "-rtl"), direction === 'rtl'), _classNames), className);
var handleCloseClick = function handleCloseClick(e) {
e.stopPropagation();
onClose === null || onClose === void 0 ? void 0 : onClose(e);
if (e.defaultPrevented) {
return;
}
if (!('visible' in props)) {
setVisible(false);
}
};
var renderCloseIcon = function renderCloseIcon() {
if (closable) {
return closeIcon ? /*#__PURE__*/React.createElement("span", {
className: "".concat(prefixCls, "-close-icon"),
onClick: handleCloseClick
}, closeIcon) : /*#__PURE__*/React.createElement(_CloseOutlined["default"], {
className: "".concat(prefixCls, "-close-icon"),
onClick: handleCloseClick
});
}
return null;
};
var isNeedWave = 'onClick' in props || children && children.type === 'a';
var tagProps = (0, _omit["default"])(props, ['visible']);
var iconNode = icon || null;
var kids = iconNode ? /*#__PURE__*/React.createElement(React.Fragment, null, iconNode, /*#__PURE__*/React.createElement("span", null, children)) : children;
var tagNode = /*#__PURE__*/React.createElement("span", (0, _extends2["default"])({}, tagProps, {
ref: ref,
className: tagClassName,
style: tagStyle
}), kids, renderCloseIcon());
return isNeedWave ? /*#__PURE__*/React.createElement(_wave["default"], null, tagNode) : tagNode;
};
var Tag = /*#__PURE__*/React.forwardRef(InternalTag);
Tag.displayName = 'Tag';
Tag.CheckableTag = _CheckableTag["default"];
var _default = Tag;
exports["default"] = _default;
/***/ }),
/***/ "./node_modules/antd/lib/time-picker/locale/en_US.js":
/*!***********************************************************!*\
!*** ./node_modules/antd/lib/time-picker/locale/en_US.js ***!
@ -238663,6 +238441,100 @@ MyButton.propTypes = {
/***/ }),
/***/ "./src/components/TabelaCategorias/JanelaProdutos/index.jsx":
/*!******************************************************************!*\
!*** ./src/components/TabelaCategorias/JanelaProdutos/index.jsx ***!
\******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js");
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var antd_lib_modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/lib/modal */ "./node_modules/antd/lib/modal/index.js");
/* harmony import */ var antd_lib_modal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(antd_lib_modal__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var antd_lib_spin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/lib/spin */ "./node_modules/antd/lib/spin/index.js");
/* harmony import */ var antd_lib_spin__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_lib_spin__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var antd_lib_typography__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/lib/typography */ "./node_modules/antd/lib/typography/index.js");
/* harmony import */ var antd_lib_typography__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(antd_lib_typography__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var antd_lib_notification__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/lib/notification */ "./node_modules/antd/lib/notification/index.js");
/* harmony import */ var antd_lib_notification__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(antd_lib_notification__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var _utils_Service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../utils/Service */ "./src/utils/Service.js");
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var Title = antd_lib_typography__WEBPACK_IMPORTED_MODULE_4___default.a.Title;
var JanelaProdutos = function JanelaProdutos(_ref) {
var categoria = _ref.categoria,
onClose = _ref.onClose;
var _useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(false),
_useState2 = _slicedToArray(_useState, 2),
loading = _useState2[0],
setLoading = _useState2[1];
var _useState3 = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])([]),
_useState4 = _slicedToArray(_useState3, 2),
data = _useState4[0],
setData = _useState4[1];
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
_utils_Service__WEBPACK_IMPORTED_MODULE_6__["default"].call({
url: "categorias/produtos/",
method: "POST",
setData: setData,
setLoading: setLoading,
body: JSON.stringify({
id: categoria.id
}),
errorTitle: 'Tabela de Stock',
errorMessage: 'Houve uma falha ao carregar a tabela de Stock...'
});
}, []);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(antd_lib_modal__WEBPACK_IMPORTED_MODULE_2___default.a, {
title: "Produtos",
visible: true,
onOk: function onOk() {
onClose();
},
onCancel: function onCancel() {
onClose();
}
}, loading && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(antd_lib_spin__WEBPACK_IMPORTED_MODULE_3___default.a, null), data.length > 0 ? data.map(function (item) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Title, {
level: 4
}, item.nome), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", null, "Pre\xE7o: ", item.preco, " \u20AC"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", null, "Quantidade: ", item.quantidade));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", null, "Sem Stock."));
};
JanelaProdutos.propTypes = {
categoria: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,
onClose: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired
};
/* harmony default export */ __webpack_exports__["default"] = (JanelaProdutos);
/***/ }),
/***/ "./src/components/TabelaCategorias/index.jsx":
/*!***************************************************!*\
!*** ./src/components/TabelaCategorias/index.jsx ***!
@ -238676,11 +238548,12 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd_lib_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/lib/table */ "./node_modules/antd/lib/table/index.js");
/* harmony import */ var antd_lib_table__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd_lib_table__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var antd_lib_table_Column__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/lib/table/Column */ "./node_modules/antd/lib/table/Column.js");
/* harmony import */ var antd_lib_table_Column__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(antd_lib_table_Column__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var antd_lib_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/lib/tag */ "./node_modules/antd/lib/tag/index.js");
/* harmony import */ var antd_lib_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_lib_tag__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var antd_lib_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/lib/button */ "./node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_lib_button__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(antd_lib_button__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var antd_lib_notification__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/lib/notification */ "./node_modules/antd/lib/notification/index.js");
/* harmony import */ var antd_lib_notification__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_lib_notification__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _utils_Service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/Service */ "./src/utils/Service.js");
/* harmony import */ var _JanelaProdutos_index_jsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./JanelaProdutos/index.jsx */ "./src/components/TabelaCategorias/JanelaProdutos/index.jsx");
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@ -238698,10 +238571,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var columns = [{
title: "Nome",
dataIndex: "nome"
}];
var TabelaCategoria = function TabelaCategoria() {
var _useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])([]),
@ -238709,10 +238579,15 @@ var TabelaCategoria = function TabelaCategoria() {
data = _useState2[0],
setData = _useState2[1];
var _useState3 = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(false),
var _useState3 = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(null),
_useState4 = _slicedToArray(_useState3, 2),
loading = _useState4[0],
setLoading = _useState4[1];
produtosCategoria = _useState4[0],
setProdutosCategoria = _useState4[1];
var _useState5 = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(false),
_useState6 = _slicedToArray(_useState5, 2),
loading = _useState6[0],
setLoading = _useState6[1];
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
_utils_Service__WEBPACK_IMPORTED_MODULE_4__["default"].call({
@ -238720,13 +238595,32 @@ var TabelaCategoria = function TabelaCategoria() {
setData: setData,
setLoading: setLoading,
errorTitle: 'Tabela das Categorias',
errorMessage: 'Houve uma falha ao carregar a tabela das categorias...'
errorMessage: 'Houve uma falha ao carregar a tabela das Categorias...'
});
}, []);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(antd_lib_table__WEBPACK_IMPORTED_MODULE_1___default.a, {
var columns = [{
title: "Categorias",
dataIndex: "nome"
}, {
title: "Produtos da Categoria",
render: function render(text, record, index) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(antd_lib_button__WEBPACK_IMPORTED_MODULE_2___default.a, {
onClick: function onClick() {
return setProdutosCategoria(record);
}
}, "Ver Stock"));
}
}];
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, !!produtosCategoria && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_JanelaProdutos_index_jsx__WEBPACK_IMPORTED_MODULE_5__["default"], {
categoria: produtosCategoria,
onClose: function onClose() {
return setProdutosCategoria(null);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(antd_lib_table__WEBPACK_IMPORTED_MODULE_1___default.a, {
dataSource: data,
columns: columns,
dataSource: data
});
loading: loading
}));
};
/* harmony default export */ __webpack_exports__["default"] = (TabelaCategoria);


+ 1
- 1
public/scripts/main.js.map
File diff suppressed because it is too large
View File


+ 1
- 1
server/services/categorias/get.js View File

@ -7,6 +7,6 @@ _out.json(
*** consulta executada na base de dados.
*/
_db.query(
"SELECT categoria.nome FROM categoria"
"SELECT categoria.nome, categoria.id FROM categoria"
)
);

+ 8
- 0
server/services/categorias/produtos/post.js View File

@ -0,0 +1,8 @@
const dbProdutosCategoria = _db.query(`
select produto.nome, produto.quantidade, produto.preco from produto
inner join categoria on produto.categoria_id = categoria.id
where categoria.id = ?
`, _req.getInt("id"))
//java.lang.Thread.sleep(4000)
_out.json(dbProdutosCategoria)

+ 60
- 0
ui/src/components/TabelaCategorias/JanelaProdutos/index.jsx View File

@ -0,0 +1,60 @@
import React, { useState, useEffect } from "react";
import PropTypes from "prop-types";
import Modal from 'antd/lib/modal';
import Spin from 'antd/lib/spin';
import Typography from 'antd/lib/typography';
import notification from 'antd/lib/notification';
import Service from "../../../utils/Service";
const { Title } = Typography;
const JanelaProdutos = ({ categoria, onClose }) => {
const [ loading, setLoading ] = useState(false);
const [ data, setData ] = useState([]);
useEffect(() => {
Service.call({
url: `categorias/produtos/`,
method: "POST",
setData,
setLoading,
body: JSON.stringify({
id: categoria.id
}),
errorTitle: 'Tabela de Stock',
errorMessage: 'Houve uma falha ao carregar a tabela de Stock...'
});
}, [ ]);
return <Modal
title="Produtos"
visible={true}
onOk={()=> { onClose() } }
onCancel={()=> { onClose() } }>
{ loading && <Spin /> }
{ data.length > 0 ?
data.map(
(item)=> (
<div>
<Title level={4}>{item.nome}</Title>
<p>Preço: {item.preco} </p>
<p>Quantidade: {item.quantidade}</p>
</div>
)
)
: <p>Sem Stock.</p> }
</Modal>;
};
JanelaProdutos.propTypes = {
categoria: PropTypes.object.isRequired,
onClose: PropTypes.func.isRequired
};
export default JanelaProdutos;

+ 37
- 16
ui/src/components/TabelaCategorias/index.jsx View File

@ -1,24 +1,18 @@
import React, { useState, useEffect } from "react";
import Table from 'antd/lib/table';
import Column from "antd/lib/table/Column";
import Tag from "antd/lib/tag";
import Button from 'antd/lib/button';
import notification from 'antd/lib/notification';
import Service from "../../utils/Service";
import JanelaProdutos from "./JanelaProdutos/index.jsx";
const columns = [
{
title: "Nome",
dataIndex: "nome"
}
];
const TabelaCategoria = () => {
const [data, setData] = useState([]);
const [ loading, setLoading ] = useState(false);
const [produtosCategoria, setProdutosCategoria] = useState(null);
const [loading, setLoading] = useState(false);
useEffect(() => {
Service.call({
@ -26,11 +20,38 @@ const TabelaCategoria = () => {
setData,
setLoading,
errorTitle: 'Tabela das Categorias',
errorMessage: 'Houve uma falha ao carregar a tabela das categorias...'
errorMessage: 'Houve uma falha ao carregar a tabela das Categorias...'
});
}, [ ]);
}, []);
const columns = [
{
title: "Categorias",
dataIndex: "nome"
},
{
title: "Produtos da Categoria",
render: (text, record, index) => (
<div>
{ <Button onClick={() => setProdutosCategoria(record)} >Ver Stock</Button>}
</div>
)
}
];
return <>
{ !!produtosCategoria && <JanelaProdutos
categoria={produtosCategoria}
onClose={() => setProdutosCategoria(null)}
/>}
<Table dataSource={data} {...{ columns, loading }} />
return <Table columns={columns} dataSource={data} />
</>;
};
export default TabelaCategoria;
export default TabelaCategoria;

Loading…
Cancel
Save