Giter Club home page Giter Club logo

case's People

Contributors

brunobuddy avatar ismaelguerrib avatar itzmidinesh avatar jshapeau avatar sebconejo avatar substantialcattle5 avatar tjs002 avatar

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  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

case's Issues

Add a set of 5 images on seeding images

When we create an image property and we see, the image appears as in the screenshot.

@SebConejo you can create a set of images and I will randomize the seed value to have different values. You will need to add 2 sizes for each image (list and detail) : packages/case/server/assets/seed/dummy-image-thumbnail.jpg and packages/case/server/assets/seed/dummy-image-large.jpg

You can create dummy-image1, dummy-image2, etc. and assign me the task

image

Bug: the app won't work well until I reinstall the node-modules

Describe the bug
After creating my applicatino, I have noticed 2 important errors:

  1. Each time I'm creating a resource, I have to waint 10 seconds before viewing this resource on the application. During those 10 seconds, I think something went wrong.
  2. Seeding the data generate an error (posted below).

Globally, the experience is really bad. To imrpove the experience I have to remove the node-modules and reinstall my app with npm install. Then, everything runs smoothlyCliquez pour utiliser cette solution

To Reproduce
Steps to reproduce the behavior:

  1. Create a new app : npx create-case-app my-super-case-app
  2. Add any entity : npm run case:entity truck
  3. Note the experience, rather disconcerting...
  4. run the seeder with npm run seed
  5. It should generate the following error

Capture d’écran 2023-08-11 à 10 24 19

Tests > Add unit tests

Currently we don't have any unit tests on CASE. It will be nice if we had some to better protect our project from regressions or any bugs.

Pagination : set resultsPerPage value globally by default with a property on appConstants

Each index function on the service is calling the paginationService.paginate witch have the property resultsPerPage optional (and set by CASE at 20).

To improve the implementation experience, I suggest to do the following :

set the value of resultPerPage in each index function with a constant and global value

Capture d’écran 2022-09-08 à 11 33 49

which requires to import appConstant in each resourceService

resourceService.js

import { appConstants } from '../../../../shared/constants/app.constants'

and of course to add a new property to appConstant

app.constants.ts

  ITEMS_PER_PAGE: 20,

Mandatory Select field: This component should get the `is-danger` class when the user try to save a form without filling this input.

  • This is a feature request
  • This is a bug report
  • This request isn't a duplicate of an existing issue

What is the current behavior?
At the moment, the user can't understand why the form is not complete.

What is the expected or desired behavior?

The mandatory select input should get red by getting the class "is-danger" if it's not filled when registering the form.


Please describe your local environment:

case-app/angular-library version: 0.6.3

case-app/nest-library version: 0.3.0

case-app/schematics version: 0.3.1

Where did the bug happen? Development or remote servers?

Both environments

Is there a related Discourse, thread or were any utilized (please link them)?
The issue casejs/case-starter#138 was closed on may and was talking about the same behavior.

Other relevant information:

No

add `is-clipped` class to <html> tag when any modal is open and when the menu is open on touch

Is your feature request related to a problem? Please describe.
To date, when the menu is open on touch versions or when a modal is open on any devis, the user still can scroll down. The app looks "broken".
Capture d’écran 2023-08-02 à 14 18 04

Describe the solution you'd like
When those elements are open, the html tag should get the class is-clipped.

  • Side menu on touch devices
  • Modal dialogs.

Additional context
Le CSS fonctionne déjà. Cela signifie que l'ajout de la classe devrait permettre à la fonctionnalité de fonctionner instantanément

Style types

  • Text
  • Number
  • Currency
  • Date
  • TextArea
  • Email
  • Boolean
  • Relation

On touch versions, close the menu when I click on a link

Describe the bug
On touch versions, when the side menu is open, if I click on a link, a open the related page but the side menu remains open. So I need to close it myself.

Expected behavior

  • Clicking on a link should close the menu while it brings me to the related page.
  • It should be possible to close the menu when clicking on a link (logo or menu item)

Capture d’écran 2023-07-25 à 11 26 27

Doc: Add property to an existing resource: the Option syntax to add a property mentioned in the doc is not the right one.

Actual behavior
Today, the documentation indicated how to add property to an existing resource with the following syntax:

cs generate property [name] --resource=[resourceName]

This syntax is wrong.

The good syntax is this one:

cs generate property [name] --resourceName=[resourceName]

Screenshot
Documentation
Capture d’écran 2023-04-21 à 12 24 25

the CLI feedback indicates the following options. We can see we should use --resourceName, not --resource
Capture d’écran 2023-04-21 à 12 29 32

Bug: Login: When I connect to the app, I stay on the login page. I need to update myself the url to go to the dashboard

Describe the bug
When I connect to the app, I stay on the login page. I need to update myself the url to go to the dashboard

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Login'
  2. connect with user1acase.app and case password
  3. You can note the page is reloaded
  4. Modify the url to go to cats page. You should land on the dashboard.

Expected behavior
When login to the app, we should enter to the dashboard.

Improve welcome page

Is your feature request related to a problem? Please describe.
The welcome page doesn't suggest nothing. It looks unnecessary

Describe the solution you'd like
The welcome page should help the developer on dev mode and the user on production.

  • If I'm developing, I could find links to the documentation
  • If I'm using the app, I could have the list of my entities.

Non Functional Link

Describe the bug
Due to a spelling mistake the link given in the comments of entities was not working.

To Reproduce
Steps to reproduce the behavior:

  1. Create an entity
  2. Click on the link available in the comment
  3. See error

Expected behavior
The link should be functional

Screenshots
If applicable, add screenshots to help explain your problem.
The link redirects to this page ->
image

Environment (please give information about your environment):

  • OS:Pop OS
  • Browser firefox

Code snippets
If possible, show extracts from your code to help us better understand the issuse.

import { CaseEntity, Entity, Prop, PropType } from '@casejs/case'

@Entity({
  nameSingular: 'cat',
  namePlural: 'cats',
  propIdentifier: 'name',
  slug: 'cats',
})
export class Cat extends CaseEntity {
  @Prop({
    type: PropType.Text
  })
  name: string

  // Learn more about CASE Entities and how to add properties here: https://docs.case.app/properites
}

Image Size : set by default

When we want to display an image, we have to add the image size for the ressource.
It will be nice if at the creation of the ressource this object is set automatically.

Capture d’écran 2023-01-23 à 17 07 19

Bug about seeding

Whenever i follow all the instructions in the documentation and arrive to the stage where i must execute npm run seed, i have this error

test-app\server\node_modules\typeorm\src\driver\mysql\MysqlQueryRunner.ts:222
new QueryFailedError(query, parameters, err),
^
QueryFailedError: ER_NO_SUCH_TABLE: Table 'case.notifications' doesn't exist
at Query. (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\typeorm\src\driver\mysql\MysqlQueryRunner.ts:222:33)
at Query. (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\Connection.js:526:10)
at Query._callback (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\Connection.js:488:16)
at Query.Sequence.end (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\protocol\sequences\Sequence.js:83:24)
at Query.ErrorPacket (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\protocol\sequences\Query.js:92:8)
at Protocol._parsePacket (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\protocol\Protocol.js:291:23)
at Parser._parsePacket (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\protocol\Parser.js:433:10)
at Parser.write (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\protocol\Parser.js:43:10)
at Protocol.write (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\protocol\Protocol.js:38:16)
at Socket. (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\Connection.js:88:28) {
query: 'DELETE FROM notifications',
parameters: undefined,
driverError: Error: ER_NO_SUCH_TABLE: Table 'case.notifications' doesn't exist
at Query.Sequence._packetToError (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14)
at Query.ErrorPacket (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\protocol\sequences\Query.js:79:18)
at Protocol._parsePacket (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\protocol\Protocol.js:291:23)
at Parser._parsePacket (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\protocol\Parser.js:433:10)
at Parser.write (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\protocol\Parser.js:43:10)
at Protocol.write (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\protocol\Protocol.js:38:16)
at Socket. (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\Connection.js:88:28)
at Socket. (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\Connection.js:526:10)
at Socket.emit (node:events:513:28)
at Socket.emit (node:domain:489:12)
--------------------
at Protocol._enqueue (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\protocol\Protocol.js:144:48)
at PoolConnection.query (C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\mysql\lib\Connection.js:198:25)
at C:\Users\LENOVO\Documents\Angular\Multivers\Test\Case\test-app\server\node_modules\typeorm\src\driver\mysql\MysqlQueryRunner.ts:194:36
at processTicksAndRejections (node:internal/process/task_queues:95:5) {
code: 'ER_NO_SUCH_TABLE',
errno: 1146,
sqlMessage: "Table 'case.notifications' doesn't exist",
sqlState: '42S02',
index: 0,
sql: 'DELETE FROM notifications'
},
code: 'ER_NO_SUCH_TABLE',
errno: 1146,
sqlMessage: "Table 'case.notifications' doesn't exist",
sqlState: '42S02',
index: 0,
sql: 'DELETE FROM notifications'
}

Add a spinner in "submit" buttons on create-edit views

When submitting a new item or editing it, we should implement add the "is-loading" class on the button while the request is pending.

It is very useful when we hook API calls on insert/update, as the response may take some time.

Style enum yields: label and progress bar

There is 2 yields to style:

  • label
  • progress bar

Notes:

  • The label colors should not convey "positive" or "negative" feelings (as much as you can)
  • The progress bar yield is nullable, we have to consider the "unknown" value where all bullets are blank (first line in my screenshot).
  • You can add or remove enum elements in "cat.entity.ts" (Status enum) to check the progress bar with a different length

image

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.