Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature 473. Functional rule list #478

Merged
merged 132 commits into from
Sep 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
7c8b3a8
Remove a view model file with unused imports
MytsV Aug 16, 2024
43edbf8
Create a feature for retrieving RSE usage
MytsV Aug 21, 2024
535fbba
Add an option to specify account for the list rules endpoint
MytsV Aug 21, 2024
296b9f3
Cover the list rules endpoint with a new test and fix the bug with ac…
MytsV Aug 21, 2024
bfeac77
Cover RSE usage endpoint and controller with tests
MytsV Aug 21, 2024
3aba5a7
Document a change in MockEndpoint's interface
MytsV Aug 21, 2024
f88bb1e
Add new rules to the prettier config
MytsV Aug 21, 2024
5fed53d
Add new rules to the prettier config
MytsV Aug 21, 2024
2fb7549
Add scripts for code formatting check and a workflow for warning abou…
MytsV Aug 21, 2024
b006cec
Reformat the source code with prettier
MytsV Aug 21, 2024
d55f18a
Add format checking for the test directory
MytsV Aug 21, 2024
2fd31ca
Reformat the tests with prettier
MytsV Aug 21, 2024
8e259c6
Pass a human-readable exception message from the rucio server
MytsV Aug 28, 2024
93ffe66
Rewrite status code for an error while listing RSEs that indicates an…
MytsV Aug 28, 2024
ee64f6a
Add all possible filters (account and scope) to the list rules endpoint
MytsV Aug 31, 2024
0427f1b
Connect list rules gateway to an API page
MytsV Aug 31, 2024
6269b24
Connect list account RSE usage to an API page
MytsV Aug 31, 2024
f8b620e
Set up testing for react hooks
MytsV Aug 17, 2024
061e6e9
Create a new hook for direct streaming and write tests for its basic …
MytsV Aug 17, 2024
f67e279
Refactor the useChunkedStream hook
MytsV Aug 17, 2024
d307cdc
Change MockViewModel to not inherit BaseViewModel
MytsV Aug 17, 2024
b58bbb9
Use enum values in hook tests instead of strings
MytsV Aug 17, 2024
abe9717
Implement error handling and use cover it with tests
MytsV Aug 17, 2024
b2df1f9
Implement stopping and cover it with tests
MytsV Aug 17, 2024
cb8b59f
Add a test for stopping after some data was sent
MytsV Aug 17, 2024
f999342
Remove unused import from the useChunkedStream hook
MytsV Aug 17, 2024
fefbe8b
Add a useChunkedStream test to ensure failing at the non streamed end…
MytsV Aug 17, 2024
691af4b
Implement pausing for the streaming hook and cover it with tests
MytsV Aug 17, 2024
71dba89
Update error handling in the streaming hook and change tests accordingly
MytsV Aug 17, 2024
044a2f4
Improve the error handling of streaming and write more tests
MytsV Aug 17, 2024
b8cb7d3
Implement a hook for throttling array updates
MytsV Aug 18, 2024
6920938
Cover array throttling hook with unit tests
MytsV Aug 18, 2024
b7362d8
Change the interface of useChunkedStream
MytsV Aug 19, 2024
783d757
Add AG Grid and Shadcn/ui dependencies
MytsV Aug 20, 2024
ae3caf8
Implement AG Grid in RSE list
MytsV Aug 20, 2024
a4cc619
Add a fixture for the new streaming hook and fix the stories
MytsV Aug 20, 2024
6b30dca
Fix table responsiveness
MytsV Aug 20, 2024
1aeb185
Style the AG Grid
MytsV Aug 20, 2024
f2c8b42
Add error/no data handling component to the AG Grid
MytsV Aug 20, 2024
6ea2155
Fix styling and add stop/pause components
MytsV Aug 20, 2024
b168f87
Fix UI of searching/stopping by making it more intuitive
MytsV Aug 20, 2024
d936c80
Make clicking enter while searching not cause data removal
MytsV Aug 20, 2024
3c9c65d
Make the RSE name lead to the RSE page
MytsV Aug 20, 2024
fd0e80a
Add hook tests to a workflow
MytsV Aug 21, 2024
9fac1b4
Implement custom filters for boolean and discrete values
MytsV Aug 24, 2024
0f497f1
Improve a custom clickable cell
MytsV Aug 24, 2024
bfcc643
Implement colorful badges for discrete values
MytsV Aug 24, 2024
62a5003
Implement a colorful fake checkbox to represent boolean values in the…
MytsV Aug 24, 2024
29dc41e
Improve badge cell border and wrapper style definition
MytsV Aug 24, 2024
44a0fee
Improve responsibility and add a custom pagination
MytsV Aug 24, 2024
19215dd
Remove unused imports
MytsV Aug 24, 2024
e99f14d
Fix style definitions for a cell wrapper
MytsV Aug 24, 2024
04faa91
Fix storybook background color
MytsV Aug 24, 2024
8fb1549
Configure shadcn/ui
MytsV Aug 24, 2024
435e093
Improve overlays and add shimmering to the table loading
MytsV Aug 24, 2024
39fd817
Add a spinner to overlays and improve error handling
MytsV Aug 24, 2024
e0d5a3e
Decompose and document the table components
MytsV Aug 24, 2024
fff88da
Rename the AG Grid theme stylesheet and move its import
MytsV Aug 24, 2024
bf689a6
Suppress column moving
MytsV Aug 24, 2024
332fe2b
Made the table configurable for selection
MytsV Aug 25, 2024
70bdd49
Replace ComDOM in the DID list with the direct streaming and the new …
MytsV Aug 25, 2024
45e25b2
Remove ListDID test
MytsV Aug 25, 2024
8d0a3eb
Fix ListDIDs storybook and a bug with stretching and pagination
MytsV Aug 25, 2024
138ee48
Remove ListDIDTable stories
MytsV Aug 25, 2024
5e0fd95
Make the streaming hook set 404 error when the response is empty and …
MytsV Aug 25, 2024
b391270
Add a stop button
MytsV Aug 25, 2024
da7c2fd
Made the selection table color brighter
MytsV Aug 25, 2024
ddf6e1b
Make the RSE list load by default with * expression
MytsV Aug 25, 2024
628a8bc
Fix loading the mock data in list rule
MytsV Aug 25, 2024
49e35e9
Fix file replica view model naming convention
MytsV Aug 26, 2024
e454985
Change the name of metaQuery parameter
MytsV Aug 26, 2024
b2dcc0f
Remove an unused flex property from list DID table
MytsV Aug 26, 2024
5940338
Add data invalidation handling to the streaming hook
MytsV Aug 26, 2024
37b33dd
Fix imports for a renamed view model
MytsV Aug 27, 2024
0d7f662
Reimplement the streaming with a web worker
MytsV Aug 29, 2024
0b87c8d
Fix storybooks for the new streaming implementation
MytsV Aug 29, 2024
0b80588
Set up the app and storybook for light/dark mode switching
MytsV Aug 31, 2024
eecf9ff
Make the basic table styling responsive to light/dark mode switching
MytsV Aug 31, 2024
702a9d1
Improve theme responsiveness of all table components
MytsV Aug 31, 2024
5cf5866
Improve the look of the table pagination panel
MytsV Aug 31, 2024
18a4c8b
Add advanced navigation buttons to the pagination panel
MytsV Aug 31, 2024
d74511c
Make web worker errors match the StreamingErrorType
MytsV Sep 1, 2024
5c86fa4
Fix text color mode of the table
MytsV Sep 1, 2024
af597e1
Add shadcn/ui toasts and style them to fit
MytsV Aug 31, 2024
5c4ec31
Include toasts in the app
MytsV Aug 31, 2024
426d51a
Merge with the reformatting
MytsV Sep 1, 2024
bfc7297
Refactor the main table components
MytsV Sep 1, 2024
88046b4
Make the list rse page component server side
MytsV Sep 1, 2024
293c045
Set up storybooks for testing
MytsV Sep 1, 2024
999f0dd
Set up msw endpoint mocking and create a few stories
MytsV Sep 1, 2024
3fa236e
Add error handlers for the msw mocking and a new story
MytsV Sep 1, 2024
2154d5b
Implement the new design for the list RSE page
MytsV Sep 1, 2024
591e7b8
Change the hint link to be external and open in new tab
MytsV Sep 1, 2024
6b73527
Improve overlay handling
MytsV Sep 1, 2024
026191b
Show an info toast for not found error
MytsV Sep 1, 2024
6a85c4f
Slightly refactor the component and the stories
MytsV Sep 1, 2024
d85a764
Set light background color to white
MytsV Sep 1, 2024
6db5a60
Implement view model validation and display of such errors
MytsV Sep 3, 2024
34a3e8d
Refactor the streaming worker and cover it with more test cases
MytsV Sep 3, 2024
0aeef31
Fix dark mode hook initial state
MytsV Sep 3, 2024
dd96cb0
Fix color mode responsiveness of skeleton and hint
MytsV Sep 3, 2024
56e3963
Add min height to the table
MytsV Sep 3, 2024
63b6896
Add a file that lists commits which will be ignored when assigning blame
MytsV Sep 9, 2024
e615d0d
Make storybooks load test static files
MytsV Sep 9, 2024
bc354cd
Refactor the AG Grid themes and add comments regarding relation to ta…
MytsV Sep 9, 2024
1eec667
Add alias for the test folder
MytsV Sep 9, 2024
52e956e
Move hooks to infrastructure
MytsV Sep 9, 2024
d871b7a
Explicitly reset the element validator on search
MytsV Sep 9, 2024
09cad31
Ensure all the data before the failing parsing one loads
MytsV Sep 9, 2024
4c7fd69
Fix badge cell not centering text in firefox
MytsV Sep 9, 2024
5c90cb4
Finish new input and table for the DID list
MytsV Sep 10, 2024
715d08e
Restructure the component directory
MytsV Sep 10, 2024
bb7b1e1
Move filter params into one file
MytsV Sep 10, 2024
9194267
Move base view model validator to a separate file
MytsV Sep 10, 2024
e2e7faf
Implement a new DID list and related components
MytsV Sep 12, 2024
7261836
Add loading indicator for the meta and stories to check it
MytsV Sep 13, 2024
104b61e
Add additional storybook test cases for the metadata and make sure it…
MytsV Sep 13, 2024
cba84a9
Forbid repeated array generation in stories
MytsV Sep 13, 2024
a000e4c
Refactor ListDID and add comments
MytsV Sep 13, 2024
63d793c
Fix single view did by migrating to an old page
MytsV Sep 13, 2024
f61a8aa
Fix failing build
MytsV Sep 13, 2024
50b2712
Merge dashboard endpoints
MytsV Sep 14, 2024
1f7e3bb
Start reimplementing the rules list
MytsV Sep 14, 2024
a4eb4ec
Add filtering by date
MytsV Sep 14, 2024
c297110
Add a badge for rule state and a corresponding column
MytsV Sep 14, 2024
b65a2df
Add formatter for the number of seconds
MytsV Sep 14, 2024
f1c9a3f
Finish all the list rule table columns
MytsV Sep 14, 2024
dcc1910
Fix column widths
MytsV Sep 15, 2024
7a6e864
Add a story to test streaming in list rules
MytsV Sep 15, 2024
22c5538
Fix the display of 0 seconds remaining lifetime
MytsV Sep 15, 2024
1f1208b
Format the code and fix failing build
MytsV Sep 15, 2024
b4853db
Fix logout button
MytsV Sep 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# This file lists commits that will be ignored when assigning blame.

# Reformatting src/
b006cec23dc9b059239789f7d6ab51e242fef404
# Reformatting test/
2fd31caeab8d8d664de69360ad88311d7e115d5c
6 changes: 4 additions & 2 deletions .github/workflows/api-and-component.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: API and Component Tests
name: API, Component and Hook Tests
on:
push:
branches:
Expand All @@ -8,7 +8,7 @@ on:
- master
jobs:
test:
name: Test API and Components
name: Test API, Components and Hooks
strategy:
matrix:
node-version: [18.16.1, 20.4.0]
Expand All @@ -25,4 +25,6 @@ jobs:
run: npm run test:component
- name: Run API Tests
run: npm run test:api
- name: Run Hook Tests
run: npm run test:hook

29 changes: 29 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Prettier Code Check

on:
push:
branches:
- master
pull_request:
branches:
- master

jobs:
prettier-check:
name: Prettier Code Check
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'

- name: Install dependencies
run: npm ci

- name: Run Prettier
run: npm run prettier:check || echo "::warning::Prettier found formatting issues. Please run 'npm run prettier:write' to fix them."
15 changes: 9 additions & 6 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
{
"printWidth": 80,
"trailingComma": "all",
"tabWidth": 4,
"semi": false,
"singleQuote": true,
"arrowParens": "avoid"
"bracketSpacing": true,
"jsxBracketSameLine": false,
"printWidth": 150,
"trailingComma": "all",
"tabWidth": 4,
"useTabs": false,
"semi": true,
"singleQuote": true,
"arrowParens": "avoid"
}
3 changes: 3 additions & 0 deletions .storybook/main.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
module.exports = {
staticDirs: ['../public', '../test/static'],

stories: [
"../src/**/*.mdx",
"../src/**/*.stories.@(js|jsx|ts|tsx)"
Expand All @@ -8,6 +10,7 @@ module.exports = {
"@storybook/addon-links",
"@storybook/addon-essentials",
"@storybook/addon-interactions",
"storybook-dark-mode"
],

framework: {
Expand Down
3 changes: 3 additions & 0 deletions .storybook/preview.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,8 @@ export const parameters = {
date: /Date$/,
},
},
darkMode: {
stylePreview: true
}
}
import '../src/component-library/outputtailwind.css'
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,14 @@ The `pages/api` directory is mapped to `/api/*`. Files in this directory are tre

This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.

### Configuration

To ensure that `git blame` accurately reflects contribution, please run

```bash
git config blame.ignoreRevsFile .git-blame-ignore-revs
```

## Architecture

![Clean Architecture Workflow](https://snipboard.io/2s0eDc.jpg)
17 changes: 17 additions & 0 deletions components.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "default",
"rsc": true,
"tsx": true,
"tailwind": {
"config": "tailwind.config.js",
"css": "src/component-library/tailwind.css",
"baseColor": "slate",
"cssVariables": false,
"prefix": ""
},
"aliases": {
"components": "@/component-library",
"utils": "@/component-library/utils"
}
}
3 changes: 2 additions & 1 deletion jest.config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
module.exports = {
projects: [
projects: [
'<rootDir>/test/api/jest.api.config.js',
'<rootDir>/test/component/jest.component.config.js',
'<rootDir>/test/hook/jest.hook.config.js',
'<rootDir>/test/gateway/jest.gateway.config.js',
'<rootDir>/test/sdk/jest.sdk.config.js',
],
Expand Down
Loading
Loading