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

Add rich text editor (tiptap) #443

Merged
merged 50 commits into from
Nov 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
74d8a70
Add editor icons
floydnant May 18, 2023
a77a2a5
Extract common components, directives, etc. into modules, add `keycom…
floydnant May 19, 2023
8733fa8
Add rich text editor + controls, add toolbar
floydnant May 19, 2023
ab6737d
Fix tooltip directive import
floydnant May 19, 2023
beec9f7
Integrate rt-editor into entity-description and task
floydnant May 19, 2023
241b7a1
Bump initial budget to 1.5mb
floydnant May 19, 2023
a423087
Fix task component tests
floydnant May 19, 2023
385bb88
Fix description issues
floydnant May 19, 2023
80942a3
Fix workspace e2e tests
floydnant May 20, 2023
f14b2dc
feat: add vscode tailwind css customData
floydnant Sep 24, 2023
454ed8c
feat: update task hover styles
floydnant Sep 24, 2023
6096334
feat: refactor rich text editor
floydnant Sep 25, 2023
ee10408
feat: style update
floydnant Sep 25, 2023
0eb5451
feat: add progress ring for subtasks
floydnant Sep 25, 2023
eecbc7d
feat: reactivity enhancements
floydnant Sep 25, 2023
7a2a208
refactor: type rename
floydnant Sep 25, 2023
fe665c8
docs: add known-issues.md
floydnant Sep 25, 2023
f356197
refactor: small improvements
floydnant Sep 25, 2023
bed7fd9
feat: update entity-pagen (no idea what this is)
floydnant Sep 25, 2023
fa4c0c5
fix: toolbar default hidden
floydnant Sep 25, 2023
3a99de2
feat: update BACKLOG icon
floydnant Sep 25, 2023
9790e1d
build: bump componentStyle budget
floydnant Sep 25, 2023
ade1e9d
fix: fix unit tests
floydnant Sep 26, 2023
afc10a4
fix: fix component tests
floydnant Sep 26, 2023
ee6cb69
fix: fix search extension shared storage issue
floydnant Oct 27, 2023
eb91ee5
refactor: rename isTaskItem util function
floydnant Oct 27, 2023
89828b1
refactor: extract base bind logic ito AppEditor
floydnant Nov 12, 2023
837e067
refactor: rename icons from kebab to camel case
floydnant Nov 15, 2023
8cfb221
refactor: rename files to `editor.*` and remove old `types.ts`
floydnant Nov 15, 2023
7f359a7
fix: fix task description expansion states
floydnant Nov 15, 2023
83c1e9e
fix: fix updating content in entity view editor with empty description
floydnant Nov 16, 2023
2dacce4
ci: upload cy e2e videos
floydnant Nov 16, 2023
0a36cf2
test: remove `.only()` from tests
floydnant Nov 16, 2023
cfbd459
ci: always upload cy videos
floydnant Nov 16, 2023
c24491d
ci: upload all cy artifacts
floydnant Nov 17, 2023
2b2fe3e
test: force click in options menu test
floydnant Nov 17, 2023
360126d
test: wait for loading to finish in enity description
floydnant Nov 17, 2023
302be7b
refactor: use template binding for entity-description editor and fix …
floydnant Nov 18, 2023
8fbb779
style: add todo comments
floydnant Nov 18, 2023
03189b9
fix: dont emit `undefined` as binding config
floydnant Nov 25, 2023
16baaa9
refactor: clean up tt editor
floydnant Nov 25, 2023
2ab9bbf
test: extend workspace e2e test suite
floydnant Nov 25, 2023
8303bac
feat: update close button label, add todo comments
floydnant Nov 25, 2023
f7ba363
fix: fix mofile toolbar issue & remove debugLog
floydnant Nov 25, 2023
5175eed
test: skip flaky tests
floydnant Nov 26, 2023
9796503
style: apply suggestions from code review
floydnant Nov 26, 2023
7bf2ce5
test: wait for db to be cleared
floydnant Nov 26, 2023
121f84c
build: integrate cypress cloud
floydnant Nov 26, 2023
159fed6
build: update to cypress 13
floydnant Nov 26, 2023
f97018d
build: add cypress record key to ci runs
floydnant Nov 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ jobs:
cache: 'npm'
cache-dependency-path: client-v2/package-lock.json

- run: cd client-v2
- run: npm ci
working-directory: ./client-v2

Expand All @@ -34,6 +33,16 @@ jobs:

- run: npm run comp:ci
working-directory: ./client-v2
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}

- name: Upload component test artifacts
uses: actions/upload-artifact@v3
if: failure()
with:
name: component test artifacts
path: client-v2/.cypress/component
retention-days: 7

# - name: Upload coverage artifacts
# uses: actions/upload-artifact@v3
Expand All @@ -60,11 +69,10 @@ jobs:
cache: 'npm'
cache-dependency-path: server/package-lock.json

- run: cd server
- run: npm ci
working-directory: ./server

- run: npm run build --if-present
- run: npm run build
working-directory: ./server

- run: npm run lint
Expand All @@ -73,7 +81,7 @@ jobs:
- run: npm run typecheck-snapshot-scripts
working-directory: ./server

- name: Setup Postgres
- name: Setup Postgres
uses: Daniel-Marynicz/postgresql-action@master
with:
postgres_image_tag: 12-alpine
Expand Down Expand Up @@ -130,3 +138,13 @@ jobs:

- run: npm run e2e:ci
working-directory: ./client-v2
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}

- name: Upload e2e test artifacts
uses: actions/upload-artifact@v3
if: failure()
with:
name: e2e test artifacts
path: client-v2/.cypress/e2e
retention-days: 7
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ node_modules
.idea
# Local Netlify folder
.netlify
# Cypress artifacts folder
.cypress
3 changes: 2 additions & 1 deletion client-v2/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{
"eslint.validate": ["html", "javascript", "typescript"]
"eslint.validate": ["html", "javascript", "typescript"],
"css.customData": [".vscode/tailwind.json"]
}
55 changes: 55 additions & 0 deletions client-v2/.vscode/tailwind.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"version": 1.1,
"atDirectives": [
{
"name": "@tailwind",
"description": "Use the `@tailwind` directive to insert Tailwind's `base`, `components`, `utilities` and `screens` styles into your CSS.",
"references": [
{
"name": "Tailwind Documentation",
"url": "https://tailwindcss.com/docs/functions-and-directives#tailwind"
}
]
},
{
"name": "@apply",
"description": "Use the `@apply` directive to inline any existing utility classes into your own custom CSS. This is useful when you find a common utility pattern in your HTML that you’d like to extract to a new component.",
"references": [
{
"name": "Tailwind Documentation",
"url": "https://tailwindcss.com/docs/functions-and-directives#apply"
}
]
},
{
"name": "@responsive",
"description": "You can generate responsive variants of your own classes by wrapping their definitions in the `@responsive` directive:\n```css\n@responsive {\n .alert {\n background-color: #E53E3E;\n }\n}\n```\n",
"references": [
{
"name": "Tailwind Documentation",
"url": "https://tailwindcss.com/docs/functions-and-directives#responsive"
}
]
},
{
"name": "@screen",
"description": "The `@screen` directive allows you to create media queries that reference your breakpoints by **name** instead of duplicating their values in your own CSS:\n```css\n@screen sm {\n /* ... */\n}\n```\n…gets transformed into this:\n```css\n@media (min-width: 640px) {\n /* ... */\n}\n```\n",
"references": [
{
"name": "Tailwind Documentation",
"url": "https://tailwindcss.com/docs/functions-and-directives#screen"
}
]
},
{
"name": "@variants",
"description": "Generate `hover`, `focus`, `active` and other **variants** of your own utilities by wrapping their definitions in the `@variants` directive:\n```css\n@variants hover, focus {\n .btn-brand {\n background-color: #3182CE;\n }\n}\n```\n",
"references": [
{
"name": "Tailwind Documentation",
"url": "https://tailwindcss.com/docs/functions-and-directives#variants"
}
]
}
]
}
18 changes: 10 additions & 8 deletions client-v2/angular.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"schematics": {
"@schematics/angular": {
"component": {
"changeDetection": "OnPush"
"@schematics/angular": {
"component": {
"changeDetection": "OnPush"
}
}
}
},
"version": 1,
"newProjectRoot": "projects",
Expand All @@ -31,20 +31,21 @@
"tsConfig": "tsconfig.app.json",
"assets": ["src/favicon.ico", "src/assets"],
"styles": ["src/css/main.css"],
"scripts": []
"scripts": [],
"allowedCommonJsDependencies": ["markdown-it-task-lists"]
},
"configurations": {
"production": {
"budgets": [
{
"type": "initial",
"maximumWarning": "500kb",
"maximumError": "1mb"
"maximumError": "1.5mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "5kb"
"maximumError": "6kb"
}
],
"fileReplacements": [
Expand Down Expand Up @@ -138,7 +139,8 @@
"e2e-ci": {
"builder": "@cypress/schematic:cypress",
"options": {
"devServerTarget": "client-v2:serve"
"devServerTarget": "client-v2:serve",
"record": true
},
"configurations": {
"production": {
Expand Down
2 changes: 2 additions & 0 deletions client-v2/colors.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"400": "hsl(269.9, 100%, 54.8%)",
"500": "hsl(269.9, 100%, 46.1%)",
"600": "hsl(269.9, 100%, 40.4%)",
"650": "hsl(269.9, 100%, 33.4%)",
"700": "hsl(269.9, 100%, 22.1%)",
"800": "hsl(269.9, 100%, 10%)",
"900": "hsl(269.9, 100%, 6.9%)"
Expand Down Expand Up @@ -52,6 +53,7 @@
"600": "hsl(262.79999999999995, 19.8%, 37%)",
"700": "hsl(262.79999999999995, 19.8%, 27%)",
"800": "hsl(262.79999999999995, 19.8%, 17%)",
"850": "hsl(262.79999999999995, 19.8%, 12%)",
"900": "hsl(262.79999999999995, 19.8%, 8%)"
}
}
12 changes: 12 additions & 0 deletions client-v2/cypress.config.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
import { defineConfig } from 'cypress'

export default defineConfig({
projectId: 'zwatkd',
retries: 2,
e2e: {
baseUrl: 'http://localhost:4200',
supportFile: './cypress/support/e2e.ts',

video: true,
videosFolder: './.cypress/e2e/videos',
screenshotsFolder: './.cypress/e2e/screenshots',
downloadsFolder: './.cypress/e2e/downloads',
},

component: {
Expand All @@ -12,5 +19,10 @@ export default defineConfig({
bundler: 'webpack',
},
specPattern: '**/*.test.ts',

video: true,
videosFolder: './.cypress/component/videos',
screenshotsFolder: './.cypress/component/screenshots',
downloadsFolder: './.cypress/component/downloads',
},
})
3 changes: 2 additions & 1 deletion client-v2/cypress/e2e/auth.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ describe('Authentication', () => {

describe('Login', () => {
it('can login', () => {
// @TODO: there's sth wrong here, fix it
// this should not be necessary, but somehow a previous `signup` call from within `beforeEach` prevents the following signup
cy.clearDb()
// cy.clearDb()

cy.signup()
cy.clearLocalStorage()
Expand Down
Loading
Loading