diff --git a/src/components/ADempiere/PanelDefinition/StandardPanel.vue b/src/components/ADempiere/PanelDefinition/StandardPanel.vue new file mode 100644 index 00000000..96f5ea33 --- /dev/null +++ b/src/components/ADempiere/PanelDefinition/StandardPanel.vue @@ -0,0 +1,111 @@ + + + + + + + diff --git a/src/components/ADempiere/PanelDefinition/UnsupportedPanel.vue b/src/components/ADempiere/PanelDefinition/UnsupportedPanel.vue new file mode 100644 index 00000000..4ae82dcb --- /dev/null +++ b/src/components/ADempiere/PanelDefinition/UnsupportedPanel.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/components/ADempiere/PanelDefinition/index.vue b/src/components/ADempiere/PanelDefinition/index.vue new file mode 100644 index 00000000..baed55ee --- /dev/null +++ b/src/components/ADempiere/PanelDefinition/index.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/src/router/modules/ADempiere/menu.js b/src/router/modules/ADempiere/menu.js index 2f5ef623..bda8441c 100644 --- a/src/router/modules/ADempiere/menu.js +++ b/src/router/modules/ADempiere/menu.js @@ -1,7 +1,23 @@ +// ADempiere-Vue (Frontend) for ADempiere ERP & CRM Smart Business Solution +// Copyright (C) 2017-Present E.R.P. Consultores y Asociados, C.A. +// Contributor(s): Leonel Matos lMatos@eroya.com www.erpya.com +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + import { requestMenu } from '@/api/user.js' -import { convertAction } from '@/utils/ADempiere/dictionaryUtils' +import { convertAction } from '@/utils/ADempiere/dictionaryUtils.js' import staticRoutes from '@/router/modules/ADempiere/staticRoutes.js' -/* Layout */ +import testRoutes from '@/router/modules/ADempiere/testRoutes.js' import Layout from '@/layout' /** @@ -55,8 +71,16 @@ export function loadMainMenu({ } asyncRoutesMap.push(optionMenu) }) - const permiseStactiRoutes = hidenStactiRoutes({ staticRoutes, permiseRole: role }) - resolve(permiseStactiRoutes.concat(asyncRoutesMap)) + + const permiseStactiRoutes = hidenStactiRoutes({ + staticRoutes, + permiseRole: role + }) + const menuRoutes = permiseStactiRoutes + .concat(asyncRoutesMap) + .concat(testRoutes) + + resolve(menuRoutes) }).catch(error => { console.warn(`Error getting menu: ${error.message}. Code: ${error.code}.`) }) diff --git a/src/router/modules/ADempiere/staticRoutes.js b/src/router/modules/ADempiere/staticRoutes.js index 106fbff6..c22b9125 100644 --- a/src/router/modules/ADempiere/staticRoutes.js +++ b/src/router/modules/ADempiere/staticRoutes.js @@ -1,3 +1,18 @@ +// ADempiere-Vue (Frontend) for ADempiere ERP & CRM Smart Business Solution +// Copyright (C) 2017-Present E.R.P. Consultores y Asociados, C.A. +// Contributor(s): Leonel Matos lMatos@eroya.com www.erpya.com +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . /* Layout */ import Layout from '@/layout' @@ -8,6 +23,7 @@ const staticRoutes = [ redirect: '/404', hidden: true }, + { path: '/ProcessActivity', component: Layout, @@ -32,6 +48,7 @@ const staticRoutes = [ } ] }, + { path: '/report-viewer', component: Layout, @@ -49,22 +66,7 @@ const staticRoutes = [ } ] }, - { - path: '/test', - component: Layout, - hidden: true, - children: [ - { - path: '/test', - component: () => import('@/views/ADempiere/Test'), - name: 'Test View', - meta: { - title: 'Test View', - isIndex: true - } - } - ] - }, + { path: '/PriceChecking', component: Layout, @@ -82,6 +84,7 @@ const staticRoutes = [ } ] }, + { path: '/BarcodeReader', component: Layout, @@ -99,6 +102,7 @@ const staticRoutes = [ } ] }, + { path: '/ProductInfo', component: Layout, diff --git a/src/router/modules/ADempiere/testRoutes.js b/src/router/modules/ADempiere/testRoutes.js new file mode 100644 index 00000000..e6e1d544 --- /dev/null +++ b/src/router/modules/ADempiere/testRoutes.js @@ -0,0 +1,71 @@ +// ADempiere-Vue (Frontend) for ADempiere ERP & CRM Smart Business Solution +// Copyright (C) 2017-Present E.R.P. Consultores y Asociados, C.A. +// Contributor(s): Edwin Betancourt EdwinBetanc0urt@outlook.com www.erpya.com +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +/* Layout */ +import Layout from '@/layout' + +const testRoutes = [ + { + path: '/test', + component: Layout, + hidden: true, + children: [ + { + path: '/test', + component: () => import('@/views/ADempiere/Test'), + name: 'Test View', + meta: { + title: 'Test View', + isIndex: true + } + } + ] + }, + { + path: '/test/process/standard', + component: Layout, + hidden: true, + children: [ + { + path: '/test/process/standard', + component: () => import('@/views/ADempiere/Test/Process'), + name: 'Process Test View', + meta: { + title: 'Process Test View', + isIndex: true + } + } + ] + }, + { + path: '/test/smart-browser/standard', + component: Layout, + hidden: true, + children: [ + { + path: '/test/smart-browser/standard', + component: () => import('@/views/ADempiere/Test/SmartBrowser'), + name: 'Smart Browser Test View', + meta: { + title: 'SmartBrowser Test View', + isIndex: true + } + } + ] + } +] + +export default testRoutes diff --git a/src/utils/ADempiere/dictionaryUtils.js b/src/utils/ADempiere/dictionaryUtils.js index cf1d86ac..b5213191 100644 --- a/src/utils/ADempiere/dictionaryUtils.js +++ b/src/utils/ADempiere/dictionaryUtils.js @@ -20,6 +20,7 @@ import { getContext, getParentFields, getPreference, parseContext } from '@/util import REFERENCES, { BUTTON, DEFAULT_SIZE, FIELDS_HIDDEN } from '@/utils/ADempiere/references' import { FIELD_OPERATORS_LIST } from '@/utils/ADempiere/dataUtils' import language from '@/lang' +import { config } from '@/utils/ADempiere/config' /** * Generate field to app @@ -685,16 +686,25 @@ export function convertAction(action) { actionAttributes.name = 'process' actionAttributes.icon = 'component' actionAttributes.component = () => import('@/views/ADempiere/Process') + if (config.betaFunctionality.process) { + actionAttributes.component = () => import('@/views/ADempiere/ProcessView') + } break case 'R': actionAttributes.name = 'report' actionAttributes.icon = 'skill' actionAttributes.component = () => import('@/views/ADempiere/Process') + if (config.betaFunctionality.process) { + actionAttributes.component = () => import('@/views/ADempiere/ProcessView') + } break case 'S': actionAttributes.name = 'browser' actionAttributes.icon = 'search' actionAttributes.component = () => import('@/views/ADempiere/Browser') + if (config.betaFunctionality.process) { + actionAttributes.component = () => import('@/views/ADempiere/BrowserView') + } break case 'T': actionAttributes.name = 'task' @@ -704,6 +714,9 @@ export function convertAction(action) { actionAttributes.name = 'window' actionAttributes.icon = 'tab' actionAttributes.component = () => import('@/views/ADempiere/Window') + if (config.betaFunctionality.window) { + actionAttributes.component = () => import('@/views/ADempiere/WindowView') + } break case 'X': actionAttributes.name = 'form' diff --git a/src/views/ADempiere/BrowserView/index.vue b/src/views/ADempiere/BrowserView/index.vue new file mode 100644 index 00000000..7a776712 --- /dev/null +++ b/src/views/ADempiere/BrowserView/index.vue @@ -0,0 +1,248 @@ + + + + + + + + diff --git a/src/views/ADempiere/ProcessView/index.vue b/src/views/ADempiere/ProcessView/index.vue new file mode 100644 index 00000000..50692f02 --- /dev/null +++ b/src/views/ADempiere/ProcessView/index.vue @@ -0,0 +1,165 @@ + + + + + + + + diff --git a/src/views/ADempiere/Test/Process/index.vue b/src/views/ADempiere/Test/Process/index.vue new file mode 100644 index 00000000..d22f7e84 --- /dev/null +++ b/src/views/ADempiere/Test/Process/index.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/views/ADempiere/Test/SmartBrowser/index.vue b/src/views/ADempiere/Test/SmartBrowser/index.vue new file mode 100644 index 00000000..7bede191 --- /dev/null +++ b/src/views/ADempiere/Test/SmartBrowser/index.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/views/ADempiere/WindowView/DocumentWindow.vue b/src/views/ADempiere/WindowView/DocumentWindow.vue new file mode 100644 index 00000000..e69de29b diff --git a/src/views/ADempiere/WindowView/StandardWindow.vue b/src/views/ADempiere/WindowView/StandardWindow.vue new file mode 100644 index 00000000..5803e0a2 --- /dev/null +++ b/src/views/ADempiere/WindowView/StandardWindow.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/views/ADempiere/WindowView/index.vue b/src/views/ADempiere/WindowView/index.vue new file mode 100644 index 00000000..4baace78 --- /dev/null +++ b/src/views/ADempiere/WindowView/index.vue @@ -0,0 +1,122 @@ + + + + +