From 67ddcd8c6818312a117d679a22cddec42d809264 Mon Sep 17 00:00:00 2001 From: Carlos Valente <34649812+cpvalente@users.noreply.github.com> Date: Sat, 9 Apr 2022 22:05:56 +0200 Subject: [PATCH] Feat/table (#105) * feat/table add react-table * feat/table add protected table route * feat/table upgrade dependencies * feat/table support parsing of new properties Co-authored-by: DeepSource Bot --- .deepsource.toml | 16 +- .idea/inspectionProfiles/Project_Default.xml | 13 + README.md | 4 +- client/.eslintrc | 77 +- client/package.json | 29 +- client/src/App.jsx | 51 +- client/src/App.scss | 5 +- client/src/app/api/apiConstants.js | 5 +- client/src/app/api/eventsApi.js | 13 +- client/src/app/api/ontimeApi.js | 31 +- client/src/app/appConstants.js | 26 +- client/src/app/context/AppContext.js | 29 +- client/src/app/context/CollapseContext.js | 71 + client/src/app/context/CursorContext.js | 6 +- .../app/context/LocalEventSettingsContext.js | 6 +- client/src/app/context/LoggingContext.js | 76 +- .../src/app/context/TableSettingsContext.js | 78 + client/src/app/context/collapseAtom.js | 60 - client/src/app/context/settingsAtom.js | 34 - client/src/app/context/socketContext.js | 11 +- client/src/app/hooks/useLocalStorage.js | 10 +- client/src/app/hooks/useMutateEvents.js | 32 + .../components/buttons/ApplyIconBtn.jsx | 5 +- .../common/components/buttons/CollapseBtn.jsx | 5 +- .../components/buttons/CursorDownBtn.jsx | 5 +- .../components/buttons/CursorLockedBtn.jsx | 7 +- .../common/components/buttons/CursorUpBtn.jsx | 5 +- .../components/buttons/DeleteIconBtn.jsx | 5 +- .../common/components/buttons/EnableBtn.jsx | 5 +- .../common/components/buttons/ExpandBtn.jsx | 5 +- .../common/components/buttons/NextIconBtn.jsx | 5 +- .../components/buttons/OnAirIconBtn.jsx | 5 +- .../components/buttons/PauseIconBtn.jsx | 5 +- .../common/components/buttons/PrevIconBtn.jsx | 5 +- .../components/buttons/PublicIconBtn.jsx | 9 +- .../components/buttons/ReloadIconBtn.jsx | 5 +- .../common/components/buttons/RollIconBtn.jsx | 5 +- .../components/buttons/StartIconBtn.jsx | 5 +- .../components/buttons/UnloadIconBtn.jsx | 5 +- .../components/buttons/VisibleIconBtn.jsx | 7 +- .../components/collapseBar/CollapseBar.jsx | 1 + .../common/components/countdown/Countdown.jsx | 4 +- .../errorBoundary/ErrorBoundary.jsx | 1 + .../components/eventTimes/EventTimes.jsx | 21 +- .../eventTimes/EventTimesVertical.jsx | 50 +- .../myProgressBar/MyProgressBar.jsx | 1 + client/src/common/components/nav/NavLogo.jsx | 2 +- .../components/protectRoute/ProtectRoute.jsx | 14 +- .../src/common/components/views/Paginator.jsx | 23 +- .../src/common/components/views/TitleCard.jsx | 1 + .../src/common/components/views/TitleSide.jsx | 1 + .../src/common/components/views/TodayItem.jsx | 29 +- client/src/common/input/AutoTextArea.jsx | 27 + client/src/common/input/DelayInput.jsx | 2 +- client/src/common/input/EditableText.jsx | 30 +- .../src/common/input/EditableText.module.scss | 34 +- client/src/common/input/EditableTimer.jsx | 35 +- .../input/__tests__/EditableTimer.test.jsx | 32 + client/src/common/state/Empty.jsx | 1 + .../common/utils/__tests__/dateConfig.test.js | 110 +- .../utils/__tests__/eventsManager.test.js | 301 +- client/src/common/utils/dateConfig.js | 25 +- client/src/common/utils/eventsManager.js | 11 +- client/src/common/utils/handleLink.js | 13 - client/src/common/utils/linkUtils.js | 30 + .../src/features/control/MessageControl.jsx | 8 +- .../src/features/control/PlaybackButtons.jsx | 8 +- .../src/features/control/PlaybackControl.jsx | 2 +- client/src/features/control/PlaybackTimer.jsx | 11 +- .../editors/BlockBlock/BlockBlock.jsx | 1 + .../editors/DelayBlock/DelayBlock.jsx | 1 + client/src/features/editors/Editor.jsx | 31 +- .../editors/EntryBlock/EntryBlock.jsx | 2 +- .../editors/EventBlock/EventBlock.jsx | 38 +- .../features/editors/list/ActionButtons.jsx | 5 +- .../src/features/editors/list/EventList.jsx | 2 +- .../features/editors/list/EventListItem.jsx | 29 +- .../editors/list/EventListWrapper.jsx | 22 +- client/src/features/info/Info.jsx | 14 +- client/src/features/info/InfoLogger.jsx | 4 +- client/src/features/info/InfoNif.jsx | 41 +- client/src/features/info/InfoTitle.jsx | 2 +- client/src/features/menu/EventListMenu.jsx | 2 +- .../src/features/menu/MenuActionButtons.jsx | 9 +- client/src/features/menu/MenuBar.jsx | 8 +- .../features/menu/buttons/DownloadIconBtn.jsx | 5 +- .../src/features/menu/buttons/HelpIconBtn.jsx | 5 +- .../src/features/menu/buttons/MaxIconBtn.jsx | 5 +- .../src/features/menu/buttons/MinIconBtn.jsx | 5 +- .../src/features/menu/buttons/QuitIconBtn.jsx | 6 +- .../features/menu/buttons/SettingsIconBtn.jsx | 5 +- .../features/menu/buttons/UploadIconBtn.jsx | 5 +- client/src/features/modals/AliasesModal.jsx | 66 +- .../src/features/modals/AppSettingsModal.jsx | 2 +- .../features/modals/EventSettingsModal.jsx | 2 +- .../modals/IntegrationSettingsModal.jsx | 28 +- client/src/features/modals/ModalManager.jsx | 10 +- .../src/features/modals/OscSettingsModal.jsx | 4 +- .../src/features/modals/SubmitContainer.jsx | 1 + .../src/features/modals/TableOptionsModal.jsx | 130 + client/src/features/table/OntimeTable.jsx | 246 + client/src/features/table/Table.module.scss | 345 + client/src/features/table/TableHeader.jsx | 136 + client/src/features/table/TableWrapper.jsx | 90 + client/src/features/table/columns.jsx | 102 + client/src/features/table/defaults.js | 39 + .../table/tableElements/EditableCell.js | 56 + .../table/tableElements/PlaybackIcon.jsx | 49 + .../table/tableElements/SortableCell.jsx | 42 + .../table/tableElements/TableSettings.jsx | 56 + .../src/features/table/tableRows/BlockRow.jsx | 16 + .../src/features/table/tableRows/DelayRow.jsx | 22 + .../src/features/table/tableRows/EventRow.jsx | 65 + client/src/features/viewers/ViewWrapper.jsx | 3 +- .../viewers/backstage/StageManager.jsx | 4 +- client/src/features/viewers/foh/Public.jsx | 2 +- .../src/features/viewers/production/Pip.jsx | 2 +- .../viewers/production/lower/LowerClean.jsx | 2 +- .../viewers/production/lower/LowerLines.jsx | 2 +- .../viewers/production/lower/LowerWrapper.jsx | 10 +- .../features/viewers/studio/StudioClock.jsx | 78 +- .../viewers/studio/StudioClock.module.scss | 3 +- .../features/viewers/timer/MinimalTimer.jsx | 2 +- client/src/features/viewers/timer/Timer.jsx | 2 +- client/src/styles/_main.scss | 7 +- client/yarn.lock | 7387 +++++++---------- server/.eslintrc | 3 +- server/cypress/integration/navigation.spec.js | 11 + server/data/db.json | 14 +- server/package.json | 9 +- server/src/app.js | 3 +- server/src/controllers/eventsController.js | 11 +- server/src/controllers/ontimeController.js | 52 +- server/src/models/dataModel.js | 12 + server/src/models/eventsDefinition.js | 13 + server/src/package.json | 14 +- .../src/routes/__tests__/ontimeRouter.test.js | 11 + server/src/routes/ontimeRouter.js | 8 + server/src/utils/__tests__/parser.tests.js | 341 +- server/src/utils/parser.js | 383 +- server/src/utils/parserUtils.js | 52 + server/src/utils/parserUtils_v1.js | 225 + server/src/yarn.lock | 243 +- server/utils/package.json | 2 +- server/utils/yarn.lock | 8 +- server/yarn.lock | 921 +- 146 files changed, 7423 insertions(+), 5780 deletions(-) create mode 100644 client/src/app/context/CollapseContext.js create mode 100644 client/src/app/context/TableSettingsContext.js delete mode 100644 client/src/app/context/collapseAtom.js delete mode 100644 client/src/app/context/settingsAtom.js create mode 100644 client/src/app/hooks/useMutateEvents.js create mode 100644 client/src/common/input/AutoTextArea.jsx create mode 100644 client/src/common/input/__tests__/EditableTimer.test.jsx delete mode 100644 client/src/common/utils/handleLink.js create mode 100644 client/src/common/utils/linkUtils.js create mode 100644 client/src/features/modals/TableOptionsModal.jsx create mode 100644 client/src/features/table/OntimeTable.jsx create mode 100644 client/src/features/table/Table.module.scss create mode 100644 client/src/features/table/TableHeader.jsx create mode 100644 client/src/features/table/TableWrapper.jsx create mode 100644 client/src/features/table/columns.jsx create mode 100644 client/src/features/table/defaults.js create mode 100644 client/src/features/table/tableElements/EditableCell.js create mode 100644 client/src/features/table/tableElements/PlaybackIcon.jsx create mode 100644 client/src/features/table/tableElements/SortableCell.jsx create mode 100644 client/src/features/table/tableElements/TableSettings.jsx create mode 100644 client/src/features/table/tableRows/BlockRow.jsx create mode 100644 client/src/features/table/tableRows/DelayRow.jsx create mode 100644 client/src/features/table/tableRows/EventRow.jsx create mode 100644 server/src/utils/parserUtils.js create mode 100644 server/src/utils/parserUtils_v1.js diff --git a/.deepsource.toml b/.deepsource.toml index 277e0ba02..6ba575648 100644 --- a/.deepsource.toml +++ b/.deepsource.toml @@ -1,8 +1,18 @@ version = 1 +test_patterns = [ + "__mocks__/**", + "__tests__/**", + "cypress/**", + "*.test.*", + "*.mock.*", + "*.spec.*" +] + [[analyzers]] -name = "javascript" -enabled = true + name = "javascript" + enabled = true [analyzers.meta] - plugins = ["react"] \ No newline at end of file + plugins = ["react"] + environment = ["nodejs","browser","jest"] \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 2e90d2c23..f249ff139 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -1,6 +1,19 @@