GithubHelp home page GithubHelp logo

adempiere / adempiere-vue Goto Github PK

View Code? Open in Web Editor NEW

This project forked from panjiachen/vue-element-admin

53.0 17.0 48.0 50.1 MB

ADempiere-Vue is a new UI for ADempiere ERP, CRM & SCM. It is based on Vue and uses the UI Toolkit element-ui. It is a great UI for ADempiere ERP, CRM & SCM, based on the newest development stack of Vue, built-in i18n solution, typical templates for enterprise applications, lots of awesome features. This project was forked from Vue-Element-Admin originally write by PanJiaChen / 花裤衩 over MIT license and was changed to GNU/GPL v3 by Yamel Senih after forked granted by PanJiaChen / 花裤衩 on the issue "Extend as GNU/Gpl v3 License #1434".

Home Page: https://adempiere.github.io/adempiere-vue

License: GNU General Public License v3.0

JavaScript 71.43% HTML 0.07% Vue 26.22% CSS 0.06% Handlebars 0.46% SCSS 1.74% Shell 0.02%
adempiere javascript vue vuejs vuecli3 element-ui vue-element-admin java grpc grpc-client grpc-web

adempiere-vue's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adempiere-vue's Issues

Dynamic component

Greetings, it is proposed to implement a dynamic component that calls using lazy load to field components based on ADempiere references. This component will be the one that communicates the fields with the views, taking the main validations as read only, visualization and obligatory and showing the reference of the appropriate field.

By loading the fields and their metadata from the application dictionary. There with the attribute 'displayType' is assigned the attribute 'componentPath'.
https://github.com/adempiere/adempiere-vue/blob/develop/src/utils/ADempiere/index.js#L336
Screenshot_20191118_110841

The path of the component to be displayed is stored in the 'REFERENCES' constant, which returns the path of the component (in the type attribute) according to the type of display (in the attribute alias or id of the reference).
https://github.com/adempiere/adempiere-vue/blob/develop/src/components/ADempiere/Field/references.js#L3
Screenshot_20191118_104923

With the generic label 'component' and the path of the component to import in the attribute 'is', it performs the rendering to visualize the reference of the appropriate field.
https://github.com/adempiere/adempiere-vue/blob/develop/src/components/ADempiere/Field/index.vue#L29
Screenshot_20191118_104820
Screenshot_20191118_104726

For more information: https://vuejs.org/v2/guide/components-dynamic-async.html

As a result it will show the different types of fields associated with the references.
Screenshot_20191118_112046

Comparison: Menu List

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image
  • Bootstrap Vue
    image
    image
  • Element
    image
    image
    image
  • Framework7
    image
    image
  • iView
    image
    image
  • Vue Material
    image
  • Vuetify
    image

Context variable

handle context variables in the client based on session storage

Comparison: Input File

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue
    image

  • Element
    image
    image
    image

  • Framework7 (nothing)

  • iView
    image
    image
    image
    image

  • Vue Material
    image
    image

  • Vuetify (nothing)

Comparison: Input Radio

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image
  • Bootstrap Vue
    image
  • Element
    image
    image
    image
  • Framework7
    image
  • iView
    image
    image
  • Vue Material
    image
  • Vuetify
    image

Support to List component.

Hello, the migration of the ADempiere list type component will be performed, based on Vuejs and Element-UI for the new ADempiere UI.

ADempiere
zk-list

Element-UI
element-list

ADempiere Vue Desktop
adempiere-vue-list

ADempiere Vue Mobile
adempiere-vue-mobile-list

Comparison: Header Bar

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue
    image

  • Element
    image
    image

  • Framework7
    image

  • iView
    image

  • Vue Material
    image

  • Vuetify
    image
    image

Comparison: Check Box

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image
  • Bootstrap Vue
    image
    image
    image
  • Element
    image
    image
    image
  • Framework7
    image
    image
  • iView
    image
    image
  • Vue Material
    image
  • Vuetify
    image
    image

Comparison: Input Text

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue
    image
    image

  • Element
    image

  • Framework7
    image

  • iView
    image

  • Vue Material
    image

  • Vuetify
    image
    image
    image

Support to binary data component

hello, it is necessary to perform the migration of the binary component (file upload) for this a gRPC-based service is configured that can send the data from the file to the server.

ADempiere
zk-binary-data

Element-UI
element-binary-data

ADempiere-Vue Desktop
adempiere-vue-binary-data

ADempiere-Vue Mobile
adempiere-vue-mobile-binary-data

Support to Memo component

Hello, it is necessary to perform the migration of the memo component that allows a long text - String of up to 250 characters, this is based on the JavaScript framework called vue.js and element-ui templates

screenshot_20190107_085920

Comparison: Tabs

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue
    image
    image
    image
    image
    image

  • Element
    image
    image

  • Framework7
    image
    image

  • iView
    image

  • Vue Material
    image

  • Vuetify
    image
    image

Comparison: Dropdown

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue
    image

  • Element
    image

  • Framework7 (nothing)

  • iView
    image
    image
    image

  • Vue Material
    image

  • Vuetify
    image

Comparison: Input Password

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    input_password
  • Bootstrap Vue
    bootstrap_vue_-_input_password
  • Element
    element_-_input_password
  • Framework7
    framework7_-_input_password
  • iView
    iview_-_input_password
  • Vue Material (nothing)
  • Vuetify (nothing)

Support to the amount component

Hello, it is necessary to migrate the quantity component, this will support the data imported from gRPC and conform to ADempiere standards.

ADempiere
ammount

Element-UI
Element Component
element-number-float

ADempiere-Vue Desktop
adempiere-vue-number-float

ADempiere-Vue Mobile
adempiere-vue-mobile-number-float

Comparison: Page of Pages

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue
    image

  • Element
    image

  • Framework7 (nothing)

  • iView (nothing)

  • Vue Material (nothing)

  • Vuetify
    image

Create develop branch

the host was modified to be visible through the network for tests between different cilents.

the commit associated with this issue is 4e87dd

Comparison: Alert

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    screenshot_20181015_215150
    screenshot_20181015_215316
  • Bootstrap Vue
    image
    image
  • Element
    image
  • Framework7
    image
  • iView
    image
    image
    image
  • Vue Material (nothing)
  • Vuetify
    image
    image

Support to the color component.

Hello, it is required to migrate the ADempiere component of colors, based on Vuejs and Element UI.

ADempiere
zk-color

Element
element-color

ADempiere Vue Desktop
adempiere-vue-color

ADempiere Vue Mobile
adempiere-vue-mobile-color

Support to integer component

Hello, it is necessary to migrate the entire component, this will support data imported from gRPC and must conform to ADempiere standards. It should not allow decimal values.

ADempiere
zk-integer

Element-UI
element-integer

ADempiere-Vue Desktop
adempiere-vue-integer

ADempiere-Vue Mobile
adempiere-vue-mobile-integer

Field Attributes to be supported

This is a definition wthi some Attributes that will be added to new UI:

Column Supported Attributes

  • Column Identifier = "AD_Column_ID"
  • Column Identifier = "UUID"
  • Column Name = "ColumnName"
  • Column SQL = "ColumnSQL" (Is no good added as UI)
  • Display Type = "DisplayType"
  • Mandatory Property = "IsMandatory"
  • Default Logic = "DefaultLogic"
  • IsUpdateable = "IsUpdateable"
  • IsAlwaysUpdateable = "IsAlwaysUpdateable"
  • Name = "Name"
  • Description = "Description"
  • Help = "Help"
  • Is Key = "IsKey"
  • Is Parent = "IsParent"
  • Is Translated = "IsTranslated"
  • Is Encrypted = "IsEncrypted"
  • Is Allow Logging = "IsAllowLogging"
  • Validation Code = "ValidationCode"
  • Field Length = "FieldLength"
  • Value Min = "ValueMin"
  • Value Max = "ValueMax"
  • Allow Copy = "IsAllowCopy"
  • Format Pattern = "FormatPattern"
  • Context Info Script = "ContextInfoScript"
  • Context Info Formatter = "ContextInfoFormatter"

Field Additional Supported Attributes

  • Field Only = "IsFieldOnly"
  • Display Logic = "DisplayLogic"
  • Display Length = "DisplayLength" (Old value)
  • Seq No = "SeqNo"
  • Sort No = "SortNo"
  • Info Factory Class = "InfoFactoryClass" (Old value)
  • Read Only = "IsReadOnly"

To Added: Slider

Components to migrate from ADempiere Vue.js:

  • ADempiere (nothing)
  • Bootstrap Vue
    image
  • Element
    image
  • Framework7
    image
  • iView (nothing)
  • Vue Material (nothing)
  • Vuetify
    image
    image

Comparison: Badges

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:
Used for show a number of notification opening

  • ADempiere
    screenshot_20181015_230101
  • Bootstrap Vue
    image
  • Element
    image
    image
  • Framework7
    image
    image
    image
  • iView
    image
    image
    image
  • Vue Material
    image
    image
  • Vuetify
    image
    image
    image

Comparison: Modal dialog

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image
  • Bootstrap Vue
    image
  • Element
    image
    image
    image
    image
    image
  • Framework7
    image
  • iView
    image
  • Vue Material
    image
  • Vuetify
    image

Support to Timepicker component

Hello, It is required to migrate the time picker component, using the Element design template, based on ADempiere standards and it can read data from the gRPC server.

ADempiere
image

Element-UI
element-time-picker

ADempiere-Vue Desktop
adempiere-vue-mobile-time-picker

ADempiere-Vue Mobile
adempiere-vue-time-picker

Comparison: Table

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

The Tables can be used for show information as grid.
Anatomy
Thead: Header.
Tbody: Body for table.
Tr: Row.
Td: Column.

  • ADempiere
    image
  • Bootstrap Vue
    image
  • Element
    image
  • Framework7
    image
    image
  • iView
    image
    image
  • Vue Material
    image
  • Vuetify
    image

Comparison: Switch (Toggle)

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image
  • Bootstrap Vue
    image
    image
    image
  • Element (nothing)
  • Framework7 (nothing)
  • iView
    image
  • Vue Material
    image
  • Vuetify
    image

Comparison: Field Group

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    collapse
    collapse_2
  • Element
    element_-_collapse
  • Bootstrap Vue
    bootstrap_-_collapse2
  • Collapse - Framework7
    framework7_-_collapsed1
  • Collapse - iView
    iview_-_collapse_2
  • Collapse - Vuetify
    vuetify_-_collapsed1
    vuetify_-_collapsed2

Support to Quantity component

hello, it is necessary to migrate the quantity component, this will support the data imported from gRPC and adapt to the ADempiere standards.

  • ADempiere
    zk

  • Element-UI
    ele

  • ADempiere-Vue
    vue

  • ADempiere-Vue mode Mobile
    mobile

Some Frameworks for Choice

Based on https://github.com/vuejs/awesome-vue#frameworks this issue is created for document a choice of framework to be used, see it:

All frameworks are selected from Official Github page of Vue

You can see a little comparison of use and start rating from NPM download here
screenshot_20181021_212635

Comparison: Text Area

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

Text Area: Can be used for entry information with many characters.
Anatomy
Label: Identify Field.
Box: Used for entry key

  • ADempiere
    image

  • Bootstrap Vue
    image

  • Element
    image

  • Framework7
    image

  • iView
    image

  • Vue Material
    image

  • Vuetify
    image

Comparison: input Number

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue (nothing)

  • Element
    image
    image

  • Framework7
    image
    image

  • iView
    image
    image
    image

  • Vue Material
    image

  • Vuetify (nothing)

Comparison: Input Search (Autocomplete)

Autocomplete element can be used for a fast entry from search, see:
A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    screenshot_20181015_213731
  • Bootstrap Vue
    image
  • Element
    image
  • Framework7
    image
  • iView
    image
  • Vue Material
    image
  • Vuetify
    image
    image

To Added: Progress Bar

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere

  • Bootstrap Vue
    image
    image

  • Element
    image
    image

  • Framework7
    image
    image

  • iView
    image
    image
    image

  • Vue Material
    image
    image

  • Vuetify
    image

Support to Costs-Prices component

Hello, it is necessary to migrate the cost + prices component, this will support the data imported from gRPC and conform to ADempiere standards.

ADempiere
ammount

Element-UI
element-number-float

ADempiere-Vue Desktop
adempiere-vue-number-float

ADempiere-Vue Mobile
adempiere-vue-mobile-number-float

Comparison: Button

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image
    image
    image
    image
  • Element
    image
    image
  • Framework7
    image
    image
    image
  • iView
    image
    image
    image
  • Vue Material
    image
    image
    image
  • Vuetify
    image
    image
    image

Initial Change for ADempiere Vue UI

Hi everybody, this is the fisrt issue for start this wonderful project for improve ADempiere UI with a reactive framework Vue.js

You are welcome to contribute and improve this project.

Best Regard.

Comparison: Combo Box

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:.

Combo Box is very used for select a item from list, it can be used for:

  • Set and modify a values from array or list.
  • Search a value inside list.
    Anatomy
    Label: Text for identity field.
    List: Saved values to show to user.
    Entry field: Allows typee keys for search result.
  • ADempiere
    image
  • Bootstrap Vue (nothing)
  • Element
    image
    image
  • Framework7 (nothing)
  • iView
    image
    image
  • Vue Material
    image
    image
  • Vuetify
    image

Migrate Tabs

It is proposed to migrate the tabs, changing the vertical design to the left for a horizontal design at the top. It is currently displayed as follows in the ZK client:

Viewing from a desktop screen:
Screenshot_20191118_093720

Viewing from a mobile phone:
Screenshot_20191118_095548

The standard component of element-ui to use is named tab, type edge letter (https://element.eleme.io/#/en-US/component/tabs#border-card):
screenshot-2018-12-28 componentes element

This display of the new interface, are grouped the tabs with the same table name at the top and the other tabs at the bottom.

Viewing from a desktop screen:
Screenshot_20191118_094341

Viewing from a mobile device:
Screenshot_20191118_094531

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.