-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: New Pages with Enhanced Document Editor Packages made over Edit…
…or Core 📝 (#2784) * fix: page transaction model * fix: page transaction model * feat: updated ui for page route * chore: initailized `document-editor` package for plane * fix: format persistence while pasting markdown in editor * feat: Inititalized Document-Editor and Editor with Ref * feat: added tooltip component and slash command for editor * feat: added `document-editor` extensions * feat: added custom search component for embedding labels * feat: added top bar menu component * feat: created document-editor exposed components * feat: integrated `document-editor` in `pages` route * chore: updated dependencies * feat: merge conflict resolution * chore: modified configuration for document editor * feat: added content browser menu for document editor summary * feat: added fixed menu and editor instances * feat: added document edittor instances and summary table * feat: implemented document-editor in PageDetail * chore: css and export fixes * fix: migration and optimisation * fix: added `on_create` hook in the core editor * feat: added conditional menu bar action in document-editor * feat: added menu actions from single page view * feat: added services for archiving, unarchiving and retriving archived pages * feat: added services for page archives * feat: implemented page archives in page list view * feat: implemented page archives in document-editor * feat: added editor marking hook * chore: seperated editor header from the main content * chore: seperated editor summary utilities from the main editor * chore: refactored necessary components from the document editor * chore: removed summary sidebar component from the main content editor * chore: removed scrollSummaryDependency from Header and Sidebar * feat: seperated page renderer as a seperate component * chore: seperated page_renderer and sidebar as component from index * feat: added locked property to IPage type * feat: added lock/unlock services in page service * chore: seperated DocumentDetails as exported interface from index * feat: seperated document editor configs as seperate interfaces * chore: seperated menu options from the editor header component * fix: fixed page_lock performing lock/unlock operation on queryset instead of single instance * fix: css positioning changes * feat: added archive/lock alert labels * feat: added boolean props in menu-actions/options * feat: added lock/unlock & archive/unarchive services * feat: added on update mutations for archived pages in page-view * feat: added archive/lock on_update mutations in single page vieq * feat: exported readonly editor for locked pages * chore: seperated kanban menu props and saved over passing redundant data * fix: readonly editor not generating markings on first render * fix: cheveron overflowing from editor-header * chore: removed unused utility actions * fix: enabled sidebar view by default * feat: removed locking on pages in archived state * feat: added indentation in heading component * fix: button classnames in vertical dropdowns * feat: added `last_archived_at` and `last_edited_at` details in editor-header * feat: changed types for archived updates and document last updates * feat: updated editor and header props * feat: updated queryset according to new page query format * feat: added parameters in page view for shared / private pages * feat: updated other-page-view to shared page view && same with private pages * feat: added page-view as shared / private * fix: replaced deleting to archiving for pages * feat: handle restoring of page from archived section from list view * feat: made previledge based option render for pages * feat: removed layout view for page list view * feat: linting changes * fix: adding mobx changes to pages * fix: removed uneccessary migrations * fix: mobx store changes * fix: adding date-fns pacakge * fix: updating yarn lock * fix: removing unneccessary method params * chore: added access specifier to the create/update page modal * fix: tab view layout changes * chore: delete endpoint for page * fix: page actions, including- archive, favorite, access control, delete * chore: remove archive page modal * fix: build errors --------- Co-authored-by: NarayanBavisetti <[email protected]> Co-authored-by: sriramveeraghanta <[email protected]> Co-authored-by: Aaryan Khandelwal <[email protected]>
- Loading branch information
1 parent
2a2e504
commit 4416419
Showing
68 changed files
with
2,790 additions
and
2,163 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Document Editor |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
{ | ||
"name": "@plane/document-editor", | ||
"version": "0.0.1", | ||
"description": "Package that powers Plane's Pages Editor", | ||
"main": "./dist/index.mjs", | ||
"module": "./dist/index.mjs", | ||
"types": "./dist/index.d.mts", | ||
"files": [ | ||
"dist/**/*" | ||
], | ||
"exports": { | ||
".": { | ||
"types": "./dist/index.d.mts", | ||
"import": "./dist/index.mjs", | ||
"module": "./dist/index.mjs" | ||
} | ||
}, | ||
"scripts": { | ||
"build": "tsup", | ||
"dev": "tsup --watch", | ||
"check-types": "tsc --noEmit" | ||
}, | ||
"peerDependencies": { | ||
"next": "12.3.2", | ||
"next-themes": "^0.2.1", | ||
"react": "^18.2.0", | ||
"react-dom": "18.2.0" | ||
}, | ||
"dependencies": { | ||
"@headlessui/react": "^1.7.17", | ||
"@plane/ui": "*", | ||
"@plane/editor-core": "*", | ||
"@popperjs/core": "^2.11.8", | ||
"@tiptap/core": "^2.1.7", | ||
"@tiptap/extension-code-block-lowlight": "^2.1.11", | ||
"@tiptap/extension-horizontal-rule": "^2.1.11", | ||
"@tiptap/extension-list-item": "^2.1.11", | ||
"@tiptap/extension-placeholder": "^2.1.11", | ||
"@tiptap/suggestion": "^2.1.7", | ||
"@types/node": "18.15.3", | ||
"@types/react": "^18.2.5", | ||
"@types/react-dom": "18.0.11", | ||
"class-variance-authority": "^0.7.0", | ||
"clsx": "^1.2.1", | ||
"eslint": "8.36.0", | ||
"eslint-config-next": "13.2.4", | ||
"eventsource-parser": "^0.1.0", | ||
"highlight.js": "^11.8.0", | ||
"lowlight": "^3.0.0", | ||
"lucide-react": "^0.244.0", | ||
"react-markdown": "^8.0.7", | ||
"react-popper": "^2.3.0", | ||
"tailwind-merge": "^1.14.0", | ||
"tippy.js": "^6.3.7", | ||
"tiptap-markdown": "^0.8.2", | ||
"use-debounce": "^9.0.4" | ||
}, | ||
"devDependencies": { | ||
"eslint": "^7.32.0", | ||
"postcss": "^8.4.29", | ||
"tailwind-config-custom": "*", | ||
"tsconfig": "*", | ||
"tsup": "^7.2.0", | ||
"typescript": "4.9.5" | ||
}, | ||
"keywords": [ | ||
"editor", | ||
"rich-text", | ||
"markdown", | ||
"nextjs", | ||
"react" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
// If you want to use other PostCSS plugins, see the following: | ||
// https://tailwindcss.com/docs/using-with-preprocessors | ||
|
||
module.exports = { | ||
plugins: { | ||
tailwindcss: {}, | ||
autoprefixer: {}, | ||
}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
export { DocumentEditor, DocumentEditorWithRef } from "./ui" | ||
export { DocumentReadOnlyEditor, DocumentReadOnlyEditorWithRef } from "./ui/readonly" | ||
export { FixedMenu } from "./ui/menu/fixed-menu" |
19 changes: 19 additions & 0 deletions
19
packages/editor/document-editor/src/ui/components/alert-label.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
import { Icon } from "lucide-react" | ||
|
||
interface IAlertLabelProps { | ||
Icon: Icon, | ||
backgroundColor: string, | ||
textColor?: string, | ||
label: string, | ||
} | ||
|
||
export const AlertLabel = ({ Icon, backgroundColor,textColor, label }: IAlertLabelProps) => { | ||
|
||
return ( | ||
<div className={`text-xs flex items-center gap-1 ${backgroundColor} p-0.5 pl-3 pr-3 mr-1 rounded`}> | ||
<Icon size={12} /> | ||
<span className={`normal-case ${textColor}`}>{label}</span> | ||
</div> | ||
) | ||
|
||
} |
40 changes: 40 additions & 0 deletions
40
packages/editor/document-editor/src/ui/components/content-browser.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
import { HeadingComp, SubheadingComp } from "./heading-component"; | ||
import { IMarking } from ".."; | ||
import { Editor } from "@tiptap/react"; | ||
import { scrollSummary } from "../utils/editor-summary-utils"; | ||
|
||
interface ContentBrowserProps { | ||
editor: Editor; | ||
markings: IMarking[]; | ||
} | ||
|
||
export const ContentBrowser = ({ | ||
editor, | ||
markings, | ||
}: ContentBrowserProps) => ( | ||
<div className="mt-4 flex w-[250px] flex-col h-full"> | ||
<h2 className="ml-4 border-b border-solid border-custom-border py-5 font-medium leading-[85.714%] tracking-tight max-md:ml-2.5"> | ||
Table of Contents | ||
</h2> | ||
<div className="mt-3 h-0.5 w-full self-stretch border-custom-border" /> | ||
{markings.length !== 0 ? ( | ||
markings.map((marking) => | ||
marking.level === 1 ? ( | ||
<HeadingComp | ||
onClick={() => scrollSummary(editor, marking)} | ||
heading={marking.text} | ||
/> | ||
) : ( | ||
<SubheadingComp | ||
onClick={() => scrollSummary(editor, marking)} | ||
subHeading={marking.text} | ||
/> | ||
) | ||
) | ||
) : ( | ||
<p className="ml-3 mr-3 flex h-full items-center px-5 text-center text-xs text-gray-500"> | ||
{"Headings will be displayed here for Navigation"} | ||
</p> | ||
)} | ||
</div> | ||
); |
Oops, something went wrong.