Review UI for JSON files

Review Request #10716 — Created Sept. 13, 2019 and updated

Information

Review Board
master

Reviewers

Create a prettified JSON rendered version and a custom Review UI for JSON files.

 
Summary ID Author
json ui functionality created: squashed commits
4902e455577db34ce9f1b2301adba949ca2b492f nicolelisa
add testing to jsonui.py
60548d031592e5e94da2081a59d83605d3d6abe0 nicolelisa
Description From Last Updated

Can you upload screenshots of your review UI in the normal rendered JSON view, as well as in the diff …

amalik2amalik2

F401 'logging' imported but unused

reviewbotreviewbot

F401 'reviewboard.diffviewer.chunk_generator.RawDiffChunkGenerator' imported but unused

reviewbotreviewbot

E501 line too long (92 > 79 characters)

reviewbotreviewbot

This should go in your Review UI.

brenniebrennie

F821 undefined name 'force_bytes'

reviewbotreviewbot

F821 undefined name 'force_bytes'

reviewbotreviewbot

F821 undefined name 'force_bytes'

reviewbotreviewbot

F821 undefined name 'force_bytes'

reviewbotreviewbot

W292 no newline at end of file

reviewbotreviewbot

This commented import should either be removed or uncommented

amalik2amalik2

You should handle invalid JSON being parsed. If the user uploads a JSON file that json.dumps is unable to process, …

amalik2amalik2

E501 line too long (80 > 79 characters)

reviewbotreviewbot

Make sure to delete this file once you're finished testing.

amalik2amalik2

Make sure to revert all changes in this file once Christian's PR with the same changes is merged

amalik2amalik2

Can you upload an image of where this CSS rule is used, and how the UI differs when it isn't …

amalik2amalik2

E303 too many blank lines (3)

reviewbotreviewbot

E127 continuation line over-indented for visual indent

reviewbotreviewbot

E116 unexpected indentation (comment)

reviewbotreviewbot

E501 line too long (147 > 79 characters)

reviewbotreviewbot

E501 line too long (138 > 79 characters)

reviewbotreviewbot

E501 line too long (80 > 79 characters)

reviewbotreviewbot

E126 continuation line over-indented for hanging indent

reviewbotreviewbot
Checks run (1 failed, 1 succeeded)
flake8 failed.
JSHint passed.

flake8

brennie
  1. 
      
  2. reviewboard/reviews/ui/text.py (Diff revision 1)
     
     
    Show all issues

    This should go in your Review UI.

  3. 
      
nicolelisa
Review request changed
Commits:
Summary ID Author
add test json data
a911b063b2091b7cd98fa3b852142915a006e562 nicolelisa
modified json file
b779a443c89b40b4680656133a66bc476fcd3c88 nicolelisa
jsonui file created
681c0fd63ccec568d6643182fdd58fcf40265510 nicolelisa
create json specific page
8a34f74b78d77bacde8b590586ade2ef5028059c nicolelisa
Add JsonLexer
ed6af20d1999577a29a24e5a16bb7f4479266127 nicolelisa
Add prettified version of JSON files to rendered
d93362bac30bc18fdc385c72644eb4cc2f92d206 nicolelisa
add test json data
a911b063b2091b7cd98fa3b852142915a006e562 nicolelisa
modified json file
b779a443c89b40b4680656133a66bc476fcd3c88 nicolelisa
jsonui file created
681c0fd63ccec568d6643182fdd58fcf40265510 nicolelisa
create json specific page
8a34f74b78d77bacde8b590586ade2ef5028059c nicolelisa
Add JsonLexer
ed6af20d1999577a29a24e5a16bb7f4479266127 nicolelisa
Add prettified version of JSON files to rendered
d93362bac30bc18fdc385c72644eb4cc2f92d206 nicolelisa
fix reviewbot changes and move supported mimetype
2b2ee52e5b953affb8babc80cc4ab36f683c9516 nicolelisa

Checks run (1 failed, 1 succeeded)

flake8 failed.
JSHint passed.

flake8

amalik2
  1. 
      
  2. Show all issues

    Can you upload screenshots of your review UI in the normal rendered JSON view, as well as in the diff viewer?

    1. Sure. I'm not sure the best way to upload them but here are some dropbox links:

      https://www.dropbox.com/s/q0ecf3jqtipn0nm/Screen%20Shot%202019-09-14%20at%206.22.35%20PM.png?dl=0
      https://www.dropbox.com/s/qn4yz42rkpntfpj/Screen%20Shot%202019-09-14%20at%206.22.56%20PM.png?dl=0
      https://www.dropbox.com/s/pcwxrzvqfppwn08/Screen%20Shot%202019-09-14%20at%206.23.27%20PM.png?dl=0

      Note that one of them has an issue with whitespace, which should be a fairly easy fix next week.

  3. reviewboard/reviews/ui/jsonui.py (Diff revision 2)
     
     
    Show all issues

    This commented import should either be removed or uncommented

    1. Uncommenting it gives an error with the Review bot, but I kept it there as a TODO since the markdown version has it.

  4. reviewboard/reviews/ui/jsonui.py (Diff revision 2)
     
     
    Show all issues

    You should handle invalid JSON being parsed. If the user uploads a JSON file that json.dumps is unable to process, it would be best to display an error message to the user indicating that their JSON is invalid. In the markdown UI file, the try/catch in the generate_render() function handled this purpose. You should follow that same pattern, and wrap your code with a try/catch block. In the catch clause, you can yield the error message, and that error message will be visible in the render view when a parsing error occurs.

    1. Sounds good! Will put this on my list for next week.

  5. reviewboard/reviews/ui/test.json (Diff revision 2)
     
     
    Show all issues

    Make sure to delete this file once you're finished testing.

  6. reviewboard/reviews/ui/text.py (Diff revision 2)
     
     
    Show all issues

    Make sure to revert all changes in this file once Christian's PR with the same changes is merged

  7. Show all issues

    Can you upload an image of where this CSS rule is used, and how the UI differs when it isn't set?

    1. This is in the above screenshots. The screenshot has it removed, but when it is added, the diff files stop working,
      so I'm figuring out a way to differentiate them in CSS to prevent this.

  8. 
      
nicolelisa
nicolelisa
nicolelisa
nicolelisa
nicolelisa
Review request changed
Summary:
Review UI for JSON files - WIP
WIP: Review UI for JSON files
Commits:
Summary ID Author
add test json data
525f146eeaf2c87768cb832f4bcd7fa90d6d622a nicolelisa
modified json file
55b3e8a7e15653f2b679ff41eb0795fcb6e654f8 nicolelisa
jsonui file created
cbd4262bc517a427c4846d72804d1847c8d2559c nicolelisa
create json specific page
cc57a6f030109ca9f5beb988d93d59e1a36cea96 nicolelisa
Add JsonLexer
f813e9ca16f3463a156c8ceab92088051ec158a2 nicolelisa
Add prettified version of JSON files to rendered
3844b6180b6ca9bb24d3f85c36733e447771e93a nicolelisa
fix reviewbot changes and move supported mimetype
02de0e02bb76744ef1cfb737d34c320b2ab902c0 nicolelisa
Add error handling and make review suggestions
b75b7170e7b937f0934a9081fd01a6f2e5f478d9 nicolelisa
mirrored checkbox structure
5cc736b51aac899ba629e485453a1a81dcae69e1 nicolelisa
add test json data
525f146eeaf2c87768cb832f4bcd7fa90d6d622a nicolelisa
modified json file
55b3e8a7e15653f2b679ff41eb0795fcb6e654f8 nicolelisa
jsonui file created
cbd4262bc517a427c4846d72804d1847c8d2559c nicolelisa
create json specific page
cc57a6f030109ca9f5beb988d93d59e1a36cea96 nicolelisa
Add JsonLexer
f813e9ca16f3463a156c8ceab92088051ec158a2 nicolelisa
Add prettified version of JSON files to rendered
3844b6180b6ca9bb24d3f85c36733e447771e93a nicolelisa
fix reviewbot changes and move supported mimetype
02de0e02bb76744ef1cfb737d34c320b2ab902c0 nicolelisa
Add error handling and make review suggestions
b75b7170e7b937f0934a9081fd01a6f2e5f478d9 nicolelisa
mirrored checkbox structure
5cc736b51aac899ba629e485453a1a81dcae69e1 nicolelisa
json testing
37fc47024f5810f58d509d1b764c57f7e18f1c72 nicolelisa

Checks run (1 failed, 1 succeeded)

flake8 failed.
JSHint passed.

flake8

nicolelisa
nicolelisa
Review request changed
Commits:
Summary ID Author
add test json data
525f146eeaf2c87768cb832f4bcd7fa90d6d622a nicolelisa
modified json file
55b3e8a7e15653f2b679ff41eb0795fcb6e654f8 nicolelisa
jsonui file created
cbd4262bc517a427c4846d72804d1847c8d2559c nicolelisa
create json specific page
cc57a6f030109ca9f5beb988d93d59e1a36cea96 nicolelisa
Add JsonLexer
f813e9ca16f3463a156c8ceab92088051ec158a2 nicolelisa
Add prettified version of JSON files to rendered
3844b6180b6ca9bb24d3f85c36733e447771e93a nicolelisa
fix reviewbot changes and move supported mimetype
02de0e02bb76744ef1cfb737d34c320b2ab902c0 nicolelisa
Add error handling and make review suggestions
b75b7170e7b937f0934a9081fd01a6f2e5f478d9 nicolelisa
mirrored checkbox structure
5cc736b51aac899ba629e485453a1a81dcae69e1 nicolelisa
json testing
8b59fe2b4920c1776af77304d0a0e49c40fcf1ad nicolelisa
add test json data
525f146eeaf2c87768cb832f4bcd7fa90d6d622a nicolelisa
modified json file
55b3e8a7e15653f2b679ff41eb0795fcb6e654f8 nicolelisa
jsonui file created
cbd4262bc517a427c4846d72804d1847c8d2559c nicolelisa
create json specific page
cc57a6f030109ca9f5beb988d93d59e1a36cea96 nicolelisa
Add JsonLexer
f813e9ca16f3463a156c8ceab92088051ec158a2 nicolelisa
Add prettified version of JSON files to rendered
3844b6180b6ca9bb24d3f85c36733e447771e93a nicolelisa
fix reviewbot changes and move supported mimetype
02de0e02bb76744ef1cfb737d34c320b2ab902c0 nicolelisa
Add error handling and make review suggestions
b75b7170e7b937f0934a9081fd01a6f2e5f478d9 nicolelisa
mirrored checkbox structure
5cc736b51aac899ba629e485453a1a81dcae69e1 nicolelisa
json testing
38f1e834099efeb290f7cde48e437f994dd0c91b nicolelisa

Checks run (1 failed, 1 succeeded)

flake8 failed.
JSHint passed.

flake8

nicolelisa
Review request changed
Commits:
Summary ID Author
add test json data
525f146eeaf2c87768cb832f4bcd7fa90d6d622a nicolelisa
modified json file
55b3e8a7e15653f2b679ff41eb0795fcb6e654f8 nicolelisa
jsonui file created
cbd4262bc517a427c4846d72804d1847c8d2559c nicolelisa
create json specific page
cc57a6f030109ca9f5beb988d93d59e1a36cea96 nicolelisa
Add JsonLexer
f813e9ca16f3463a156c8ceab92088051ec158a2 nicolelisa
Add prettified version of JSON files to rendered
3844b6180b6ca9bb24d3f85c36733e447771e93a nicolelisa
fix reviewbot changes and move supported mimetype
02de0e02bb76744ef1cfb737d34c320b2ab902c0 nicolelisa
Add error handling and make review suggestions
b75b7170e7b937f0934a9081fd01a6f2e5f478d9 nicolelisa
mirrored checkbox structure
5cc736b51aac899ba629e485453a1a81dcae69e1 nicolelisa
json testing
38f1e834099efeb290f7cde48e437f994dd0c91b nicolelisa
add test json data
53b7ac8f5688c3fe3efaa270e7d924ee2ef26ff6 nicolelisa
modified json file
6a2394880a868f7cbf92e3ea65c4132d34f6ac11 nicolelisa
jsonui file created
1efa4ef808c3cbc66f73780657e16e9962f6a764 nicolelisa
create json specific page
a2d5c2dc8a52a2a3285724f3614c0adb3af9a31f nicolelisa
Add JsonLexer
2e14e0e95f43dbf775fb5d9af969c7b56a89652e nicolelisa
Add prettified version of JSON files to rendered
9fdf3e00a79c019df3dbce99b7f90284c4142320 nicolelisa
fix reviewbot changes and move supported mimetype
a1f582af7a35db5ae77795b8050bd2e2be987aca nicolelisa
Add error handling and make review suggestions
e01d17ed24a699577d3ec3619d5ed0bf40f6f6e6 nicolelisa
mirrored checkbox structure
61e191c3427b67cef2b30aaab11ed1c6d8c56c33 nicolelisa
json testing
b86b0e1713a13e2e3f5a44c9714cefcc06bf6f2f nicolelisa
add testing and fix issues with <pre> tag
c2af08ff6c81982919a7f59cf6fc17d16ff8fdac nicolelisa
fix issues found by reviewbot
6cdb46b8ef4c03b4f99f4c82fd7275d7c47d785c nicolelisa

Checks run (1 failed, 1 succeeded)

flake8 failed.
JSHint passed.

flake8

nicolelisa
nicolelisa
nicolelisa
Review request changed
Summary:
WIP: Review UI for JSON files
Review UI for JSON files
Description:
~  

modified json file

  ~

Create a prettified JSON rendered version and a custom Review UI for JSON files.

-   jsonui file created
-   create json specific page
-   Add JsonLexer
-   Add prettified version of JSON files to rendered

-  
-  

Currently an issue with diff for file attachments.