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

Contexts #848

Merged
merged 56 commits into from
Mar 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
b5c9f63
feat(db): database structure for contexts
blizzz Feb 14, 2024
74323ec
fix(DB): type of context_id must be int
blizzz Feb 21, 2024
0b6082c
enh: hold multiple tables/views in global store
enjeck Feb 14, 2024
532c518
enh: clean up
enjeck Feb 19, 2024
a303f5d
fix(DB): ID columns should auto-increment
blizzz Feb 23, 2024
871bfe3
feat: Add material design icons for applications
juliushaertl Mar 5, 2024
224c982
fix(icons): icons are expected to be white by default for theming
blizzz Mar 5, 2024
a2462d5
feat(Contexts): API endpoint for getting Contexts
blizzz Feb 21, 2024
e776b78
feat(Contexts): API to get full context info
blizzz Feb 21, 2024
3ea42fe
feat(Contexts): API to create a new Context
blizzz Feb 26, 2024
245e963
feat(Contexts): API to add and remove a node to a Context
blizzz Feb 27, 2024
d6e03b5
feat(Contexts): API endpoint to update basic information of a Context
blizzz Feb 29, 2024
8ec9d44
feat(Contexts): API to modify content order on a page
blizzz Feb 29, 2024
0345d8b
feat(Contexts): API endpoint for Contexts ownership transfer
blizzz Mar 4, 2024
72e921f
enh(Contexts): return full Contexts also for index endpoint
blizzz Mar 5, 2024
53d7416
fix(Contexts): fix return code when context not found
blizzz Mar 6, 2024
e70b306
feat(Contexts): accept nodes in context update endpoint
blizzz Mar 7, 2024
7220bde
feat(OpenAPI): add information on Contexts endpoints
blizzz Mar 11, 2024
52683f1
fix(CI): cater to code style and static analysis
blizzz Mar 12, 2024
5f5b500
fix(Middleware): NC26 compat
blizzz Mar 12, 2024
1a9f86a
test(phpunit): adjust PermissionService instantiation
blizzz Mar 12, 2024
9bf1b21
build(openapi): regenerate openapi files
blizzz Mar 12, 2024
94ecd73
feat(Contexts): API endpoint for getting Contexts
blizzz Feb 21, 2024
0e69306
feat(Contexts): API to add and remove a node to a Context
blizzz Feb 27, 2024
5321864
feat(Contexts): API endpoint for getting Contexts
blizzz Feb 21, 2024
44c2bed
feat(Contexts): API to get full context info
blizzz Feb 21, 2024
fce7f47
feat(Contexts): API to create a new Context
blizzz Feb 26, 2024
c1c68b1
show that multiple tables can be on same page
enjeck Feb 14, 2024
2066a61
update
enjeck Feb 19, 2024
3c804a9
feat: show contexts
enjeck Feb 22, 2024
957915f
check if nodes exist
enjeck Feb 22, 2024
e8d2dac
fix: lint fixes and cleanup
juliushaertl Feb 28, 2024
76b7082
feat: contexts in nav and modal
enjeck Mar 3, 2024
955c60f
feat: add resource in frontend
enjeck Mar 5, 2024
c48dba7
Improve context modals
enjeck Mar 6, 2024
08e555e
fix: table/view events, lint, add todos
enjeck Mar 7, 2024
07a86a6
fix: indicate when contexts are loading
enjeck Mar 7, 2024
6947ff8
enh: update resources in context
enjeck Mar 8, 2024
7e97356
enh: context in nav search, improve resource search
enjeck Mar 9, 2024
e09142c
enh: remove /context/ route
enjeck Mar 9, 2024
b7364fd
enh: modify styling, lint
enjeck Mar 11, 2024
880652f
enh: rename user-facing text
enjeck Mar 11, 2024
292c222
enh: check user is owner to manage context
enjeck Mar 11, 2024
65c2e62
enh: edit context modal, redirect non-existent context
enjeck Mar 11, 2024
52d9ca8
enh: improvements
enjeck Mar 11, 2024
761a3b5
enh: modify styling and text for Context
enjeck Mar 12, 2024
94028fb
enh: use formatted options in resource NcSelect
enjeck Mar 12, 2024
78aa22d
fix: lint
enjeck Mar 12, 2024
b794cac
fix: lint
enjeck Mar 13, 2024
fd87d65
fix(Cypress): wait for button to render
enjeck Mar 14, 2024
ef54640
feat(Contexts): API endpoint to delete a context
blizzz Mar 13, 2024
e2a396e
docs(openapi): update specs
blizzz Mar 13, 2024
8e462ad
feat: added material design icon picker for contexts
elzody Mar 11, 2024
33eeb08
feat(Contexts): add Contexts to navigation when applicable
blizzz Mar 5, 2024
738581c
fix(DB): nodeType of Contexts is an int
blizzz Mar 21, 2024
c8be7e9
fix: lint
enjeck Mar 27, 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
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions appinfo/info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ Have a good time and manage whatever you want.
<command>OCA\Tables\Command\RemoveTable</command>
<command>OCA\Tables\Command\RenameTable</command>
<command>OCA\Tables\Command\ChangeOwnershipTable</command>
<command>OCA\Tables\Command\ListContexts</command>
<command>OCA\Tables\Command\ShowContext</command>
<command>OCA\Tables\Command\Clean</command>
<command>OCA\Tables\Command\CleanLegacy</command>
<command>OCA\Tables\Command\TransferLegacyRows</command>
Expand Down
9 changes: 9 additions & 0 deletions appinfo/routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -128,5 +128,14 @@

['name' => 'ApiFavorite#create', 'url' => '/api/2/favorites/{nodeType}/{nodeId}', 'verb' => 'POST', 'requirements' => ['nodeType' => '(\d+)', 'nodeId' => '(\d+)']],
['name' => 'ApiFavorite#destroy', 'url' => '/api/2/favorites/{nodeType}/{nodeId}', 'verb' => 'DELETE', 'requirements' => ['nodeType' => '(\d+)', 'nodeId' => '(\d+)']],
['name' => 'Context#index', 'url' => '/api/2/contexts', 'verb' => 'GET'],
['name' => 'Context#show', 'url' => '/api/2/contexts/{contextId}', 'verb' => 'GET'],
['name' => 'Context#create', 'url' => '/api/2/contexts', 'verb' => 'POST'],
['name' => 'Context#update', 'url' => '/api/2/contexts/{contextId}', 'verb' => 'PUT'],
['name' => 'Context#destroy', 'url' => '/api/2/contexts/{contextId}', 'verb' => 'DELETE'],
['name' => 'Context#transfer', 'url' => '/api/2/contexts/{contextId}/transfer', 'verb' => 'PUT'],
['name' => 'Context#addNode', 'url' => '/api/2/contexts/{contextId}/nodes', 'verb' => 'POST'],
['name' => 'Context#removeNode', 'url' => '/api/2/contexts/{contextId}/nodes/{nodeRelId}', 'verb' => 'DELETE'],
['name' => 'Context#updateContentOrder', 'url' => '/api/2/contexts/{contextId}/pages/{pageId}', 'verb' => 'PUT'],
]
];
25 changes: 25 additions & 0 deletions build/fetch-material-icons.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/bash

set -x
set -e

REPO_URL="https://github.com/Templarian/MaterialDesign"
CLONE_PATH="/tmp/material-design-icons"
TARGET_PATH="$PWD/img/material"

if [ ! -d "${CLONE_PATH}" ]; then
git clone "${REPO_URL}" --depth 1 "${CLONE_PATH}"
fi

mkdir -p "$TARGET_PATH"

cp $CLONE_PATH/LICENSE $TARGET_PATH/LICENSE

cat $CLONE_PATH/meta.json |
jq '.[]|select(.author == "Google" and (.name | contains("-") | not))' > $TARGET_PATH/meta.json

cat $TARGET_PATH/meta.json |
jq " .name | \"$CLONE_PATH/svg/\" + . + \".svg\"" -r |
xargs -I{} cp {} $PWD/img/material/

find "${TARGET_PATH}" -name '*.svg' -exec sed -i 's_/></svg>_fill=\"#fff\" /></svg>_' {} + ;
1 change: 1 addition & 0 deletions cypress/e2e/tables-archive.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ describe('Archive tables/views', () => {
beforeEach(function() {
cy.login(localUser)
cy.visit('apps/tables')
cy.wait(1000)
})

it('can archive tables', () => {
Expand Down
1 change: 1 addition & 0 deletions cypress/e2e/tables-favorite.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ describe('Favorite tables/views', () => {
beforeEach(function() {
cy.login(localUser)
cy.visit('apps/tables')
cy.wait(1000)
})

it('can favorite tables', () => {
Expand Down
20 changes: 20 additions & 0 deletions img/material/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Pictogrammers Free License
--------------------------

This icon collection is released as free, open source, and GPL friendly by
the [Pictogrammers](http://pictogrammers.com/) icon group. You may use it
for commercial projects, open source projects, or anything really.

# Icons: Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0)
Some of the icons are redistributed under the Apache 2.0 license. All other
icons are either redistributed under their respective licenses or are
distributed under the Apache 2.0 license.

# Fonts: Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0)
All web and desktop fonts are distributed under the Apache 2.0 license. Web
and desktop fonts contain some icons that are redistributed under the Apache
2.0 license. All other icons are either redistributed under their respective
licenses or are distributed under the Apache 2.0 license.

# Code: MIT (https://opensource.org/licenses/MIT)
The MIT license applies to all non-font and non-icon files.
1 change: 1 addition & 0 deletions img/material/account.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/adjust.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/alarm.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/album.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/alert.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/anchor.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/android.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/animation.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/antenna.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/api.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/apps.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/assistant.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/at.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/atm.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/attachment.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/atv.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/autorenew.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/baby.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/backspace.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/balcony.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/ballot.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/bandage.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/bank.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/barrel.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/basket.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/material/basketball.svg
1 change: 1 addition & 0 deletions img/material/bathtub.svg
1 change: 1 addition & 0 deletions img/material/battery.svg
1 change: 1 addition & 0 deletions img/material/bed.svg
1 change: 1 addition & 0 deletions img/material/bee.svg
1 change: 1 addition & 0 deletions img/material/bell.svg
1 change: 1 addition & 0 deletions img/material/biathlon.svg
Loading
Loading