la-team / light-admin Goto Github PK
View Code? Open in Web Editor NEW[PoC] Pluggable CRUD UI library for Java web applications
Home Page: http://lightadmin.org
License: Apache License 2.0
[PoC] Pluggable CRUD UI library for Java web applications
Home Page: http://lightadmin.org
License: Apache License 2.0
It should be possible to filter by the following fields:
It should be possible to save changes made to an item in the FormView (edit window)
Please update according to the latest infrastructural changes.
When no LineItems are associated with an order, the following error message is displayed, and it is impossible to view 'Quick Look' for the order:
"DataTables warning (table id = 'orderTable'): Requested unknown parameter 'lineItems.0' from the data source for row 1"
Please cover DSL to Configuration transformation for beginning.
In a table with more than one page go to page # 2 > sort the table by a column
Expected result: page # 2 is still displayed, items are sorted by the appropriate column
Actual result: items are sorted by the appropriate column, but page # 1 is displayed
Steps to reproduce:
field
(not renderable
)see example in Customer <=> DiscountProgram [CustomerAdministration/DiscountProgramAdministration]
or test ManyToManyField.canBeShownOnListView()
Edit any entry in "Orders" domain > De-select "Billing Address":
Expected result: an entry is saved, no value is shown for "Billing Address" field
Actual result: an alert is shown with the following message: "Array index out of range: 1". No exceptions in console
Edit an entry with a numeric field holding a value > Clear the value > Save
Expected result: 0 is displayed for the field
Actual result: old value is displayed
It is impossible to search by the following characters in a text field: « ₤ € ¥ ª ½ ™ ® © ¦
Expected result: 'Ukraine, Kiev, Kiev' is not present in the 'Addresses' field
Actual result: it is possible to select value of 'Ukraine, Kiev, Kiev' (which is already selected for Customer # 2), and save Customer # 4
In this case Customer # 2 will have an empty 'Addresses' field
To increase the performance of UI tests, the following optimizations should be done:
Integer Field
I.e. when entering characters into a Integer field, no validation is displayed, and the following exception is thrown in console:
[INFO] [talledLocalContainer] org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Can not construct instance of java.math.BigDecimal from String value 'kkk': not a valid representation [INFO] [talledLocalContainer] at [Source: org.apache.catalina.connector.CoyoteInputStream@9e3b21; line: 1, column: 2]; nested exception is org.codehaus.jackson.map.JsonMappingException: Can not construct instance of java.math.BigDecimal from String value 'kkk': not a valid representation [INFO] [talledLocalContainer] at [Source: org.apache.catalina.connector.CoyoteInputStream@9e3b21; line: 1, column: 2] [INFO] [talledLocalContainer] at org.springframework.data.rest.webmvc.RepositoryAwareMappingHttpMessageConverter.readInternal(RepositoryAwareMappingHttpMessageConverter.java:165) ~[spring-data-rest-webmvc-1.0.0.RELEASE.jar:na] [INFO] [talledLocalContainer] at org.springframework.http.converter.AbstractHttpMessageConverter.read(AbstractHttpMessageConverter.java:153) ~[spring-web-3.1.3.RELEASE.jar:3.1.3.RELEASE] ...
BigDecimal Field
When entering a value that is out of the defined range (f.ex., enter 1234,123 into a field defined as DECIMAL(3,2)), an alert is displayed, and the following exception is thrown in console:
[INFO] [talledLocalContainer] Caused by: org.hsqldb.HsqlException: data exception: numeric value out of range [INFO] [talledLocalContainer] at org.hsqldb.error.Error.error(Unknown Source) ~[hsqldb-2.2.8.jar:2.2.8] [INFO] [talledLocalContainer] at org.hsqldb.error.Error.error(Unknown Source) ~[hsqldb-2.2.8.jar:2.2.8] [INFO] [talledLocalContainer] at org.hsqldb.types.NumberType.convertToType(Unknown Source) ~[hsqldb-2.2.8.jar:2.2.8] [INFO] [talledLocalContainer] at org.hsqldb.StatementDML.getUpdatedData(Unknown Source) ~[hsqldb-2.2.8.jar:2.2.8] [INFO] [talledLocalContainer] at org.hsqldb.StatementDML.executeUpdateStatement(Unknown Source) ~[hsqldb-2.2.8.jar:2.2.8] [INFO] [talledLocalContainer] at org.hsqldb.StatementDML.getResult(Unknown Source) ~[hsqldb-2.2.8.jar:2.2.8] [INFO] [talledLocalContainer] at org.hsqldb.StatementDMQL.execute(Unknown Source) ~[hsqldb-2.2.8.jar:2.2.8] [INFO] [talledLocalContainer] at org.hsqldb.Session.executeCompiledStatement(Unknown Source) ~[hsqldb-2.2.8.jar:2.2.8] [INFO] [talledLocalContainer] at org.hsqldb.Session.execute(Unknown Source) ~[hsqldb-2.2.8.jar:2.2.8]
We need to support rendering, binding & validation of commonly used part of JPA attribute types.
When editing a record of an entity where @onetomany field has orphanRemoval = true, an alert is displayed containing the following message
"A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance: org.lightadmin.demo.model.Customer.addresses; nested exception is org.hibernate.HibernateException: A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance: org.lightadmin.demo.model.Customer.addresses"
To reproduce, try to save any entry of "Customer" entity.
Question 1. What should be the expected result?
Question 2. adresses field is not specified in Form View of CustomerAdministration. Shouldn't errors for fields hidden from Form View be ignored?
Nothing happens when trying to search by a numeric field, and the following exception is shown in the console:
java.lang.IllegalArgumentException: Parameter value [%49.00%] did not match expected type [java.math.BigDecimal] at org.hibernate.ejb.AbstractQueryImpl.validateParameterBinding(AbstractQueryImpl.java:375) ~[hibernate-entitymanager-4.1.6.Final.jar:4.1.6.Final] at org.hibernate.ejb.AbstractQueryImpl.registerParameterBinding(AbstractQueryImpl.java:348) ~[hibernate-entitymanager-4.1.6.Final.jar:4.1.6.Final] at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:375) ~[hibernate-entitymanager-4.1.6.Final.jar:4.1.6.Final] at org.hibernate.ejb.criteria.CriteriaQueryCompiler$1$1.bind(CriteriaQueryCompiler.java:195) ~[hibernate-entitymanager-4.1.6.Final.jar:4.1.6.Final] at org.hibernate.ejb.criteria.CriteriaQueryCompiler.compile(CriteriaQueryCompiler.java:241) ~[hibernate-entitymanager-4.1.6.Final.jar:4.1.6.Final] at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:587) ~[hibernate-entitymanager-4.1.6.Final.jar:4.1.6.Final] at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_34] at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_34] at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:365)
Currently selected scope is not highlighted
After saving an entry, ListView should be shown
Example:
@Entity public class Customer { ... @Basic private String name = "John Doe"; ... }
If name is not sent for update in JSON representation of the object, it will always be updated to "John Doe".
Please make LightAdmin security optional.
Add context param: "light:administration:security"
When editing a record with an empty value in a numeric field
"JS error on editing an item with empty field: TypeError: attrVal is null
http://localhost:8080/lightadmin/scripts/lightadmin.js
Line 235"
When validation occurs on submit
JS error when validation occurs: "NetworkError: 400 Bad Request - http://localhost:8080/lightadmin/rest/testCustomer/1?returnBody=true"
A field on ListView should be displayed only when all of the following conditions are met:
Currently, a column is displayed on a List View when only # 1 and # 3 above are met.
Batch Delete & Update fields actions (Select/Deselect All).
When search is performed by a filter criteria while some scope is selected, the List View should display items both matching the selected criteria AND the selected scope
UI tests:
FilteringScopedResultTest.resettingFilterDoesNotResetScope()
FilteringScopedResultTest.scopeIsAppliedToFilteredCustomers()
Filter items so that f.ex., two items are displayed in the search result > Delete one of the items
Expected result: one item is displayed
Actual result: all existing items are displayed, although the filter criteria is not cleared
Clicking 'Reset' button resets not only Filter criteria, but also the selected scope.
The selected scope should only be reset when selecting 'All' scope option
Currently, the progress bar capacity is 100, and when the total number of entries > 100 (f.ex., 1000), it is not visible on the progress bar
It should be possible to filter by empty fields [boolean, numeric, associations, etc.]
More informative message needed when deleting an item referenced from other entity items.
Currently, an error message is displayed.
When entering f.ex., a string into an integer field, no validation is displayed, and the following exception is thrown in console:
ERROR o.s.d.r.w.RepositoryRestController - Parameter value [%s%] did not match expected type [java.math.BigDecimal] java.lang.IllegalArgumentException: Parameter value [%s%] did not match expected type [java.math.BigDecimal] at org.hibernate.ejb.AbstractQueryImpl.validateParameterBinding(AbstractQueryImpl.java:375) ~[hibernate-entitymanager-4.1.6.Final.jar:4.1.6.Final] at org.hibernate.ejb.AbstractQueryImpl.registerParameterBinding(AbstractQueryImpl.java:348) ~[hibernate-entitymanager-4.1.6.Final.jar:4.1.6.Final] at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:375) ~[hibernate-entitymanager-4.1.6.Final.jar:4.1.6.Final] at org.hibernate.ejb.criteria.CriteriaQueryCompiler$1$1.bind(CriteriaQueryCompiler.java:195) ~[hibernate-entitymanager-4.1.6.Final.jar:4.1.6.Final] at org.hibernate.ejb.criteria.CriteriaQueryCompiler.compile(CriteriaQueryCompiler.java:241) ~[hibernate-entitymanager-4.1.6.Final.jar:4.1.6.Final] at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:587) ~[hibernate-entitymanager-4.1.6.Final.jar:4.1.6.Final] at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_34] at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_34] at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:365) ~[spring-orm-3.1.2.RELEASE.jar:3.1.2.RELEASE] at $Proxy31.createQuery(Unknown Source)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.