-
Notifications
You must be signed in to change notification settings - Fork 2
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
feat(dom-adapters): Inline tool adapter check for tool required data #87
Conversation
…re/global-caret-adapter
…re/global-caret-adapter
…to inline-tool-adapter
Co-authored-by: Peter <[email protected]>
Co-authored-by: Peter <[email protected]>
* Interface that represents return type of the renderActions function of the tool | ||
* Contains rendered by tool renderActions with options for toolbar | ||
*/ | ||
export interface DataFormElementWithOptions { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bad naming
…cument-model into inline-tool-adapter
* @returns rendered data form element with options required in toolbar | ||
*/ | ||
public renderActions(callback: (data: InlineToolFormatData) => void): ActionsElementWithOptions | null { | ||
const dataFormerElement = make('input') as HTMLInputElement; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
const dataFormerElement = make('input') as HTMLInputElement; | |
const linkInput = make('input') as HTMLInputElement; |
const inlineElement = tool.createWrapper(toolData); | ||
|
||
const extracted = range.extractContents(); | ||
|
||
/** | ||
* Insert contents from range to new inline element and put created element in range | ||
*/ | ||
inlineElement.appendChild(extracted); | ||
|
||
range.insertNode(inlineElement); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could be extracted to a separate method to re-use in #handleModelUpdate method as well
*/ | ||
public apply(toolName: InlineToolName): void { | ||
public renderToolActions(nameOfTheTool: InlineToolName): void { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should it be public?
…87) * Implmenet global CaretAdapter * Handle native inputs * Pass input type to Input component props * Use class to represent index * Fix lint in dom-adapters * fix linter * added inline tool adapter * implement model updates * lint fix * fix index * adapter renders inline tools * lint fix and clean up * jsdoc * clean up * jsdoc * jsdoc * surround content replaced * suggestions * lint fix * jsdoc * added bold and italic inline tools into core package * naming * naming * added inline toolbar and inlineToolAdapter init into core * update packages and lock * build fix * implement inline tool adapter to core - fully implement current realization of inline tool adapter to core - remove from the playground * clean up * jsdoc and naming improvements * naming * naming * renaming * fix hardcoded * tools are initialized inside of the inline toolbar initialization * fixed inline tool attaching * jsdoc * naming fix * fixed imports * lint fix * try build fix * install dependencies * add sdk package * fix build for core * change package name in actions * add references * typo * fix build * added inline tool data former * fix lint * rm unwanted changes * lint fix * fixed build * docs improved * fix build * naming improved * Update packages/core/src/ui/InlineToolbar/index.ts Co-authored-by: Peter <[email protected]> * Update packages/dom-adapters/src/FormattingAdapter/index.ts Co-authored-by: Peter <[email protected]> * rm unwanted change * naming * separated renderToolActions and apply method in formatting adapter * naming * moved surround to utils * lint fix * last naming fix 🤞 * made renderToolActions method private --------- Co-authored-by: George Berezhnoy <[email protected]> Co-authored-by: George Berezhnoy <[email protected]> Co-authored-by: Peter <[email protected]>
* fix tests * use new method in the model * add ci for collab manager * lint fixes * add getters for the index * fix tests * move methods to the document * lint * use helpers * add tests * Introduce DI & migrate tools builders (#80) * Introduce DI & migrate tools builders * Fixes after review * 'Fix' lint * Add unsaved files * Fix comments * Remove log & add docs * Update packages/core/src/entities/UnifiedToolConfig.ts Co-authored-by: Peter <[email protected]> * Fixes after review --------- Co-authored-by: Peter <[email protected]> * Add BlockManager and EditorUI classes (#85) * Add BlockManager and EditorUI classes * Add JSDocs * Add try catch for block.render() call * feat(core): inputs content rendering (#86) * passing formattingadapter to blocktooladapter * lint * Update BlockManager.ts * Update BlockManager.ts * Update App.vue * Add Toolbox & ToolboxUI (#88) * Add Toolbox & ToolboxUI * Add comments * Update tests for the model package * Fix lint * feat(dom-adapters): Inline tool adapter check for tool required data (#87) * Implmenet global CaretAdapter * Handle native inputs * Pass input type to Input component props * Use class to represent index * Fix lint in dom-adapters * fix linter * added inline tool adapter * implement model updates * lint fix * fix index * adapter renders inline tools * lint fix and clean up * jsdoc * clean up * jsdoc * jsdoc * surround content replaced * suggestions * lint fix * jsdoc * added bold and italic inline tools into core package * naming * naming * added inline toolbar and inlineToolAdapter init into core * update packages and lock * build fix * implement inline tool adapter to core - fully implement current realization of inline tool adapter to core - remove from the playground * clean up * jsdoc and naming improvements * naming * naming * renaming * fix hardcoded * tools are initialized inside of the inline toolbar initialization * fixed inline tool attaching * jsdoc * naming fix * fixed imports * lint fix * try build fix * install dependencies * add sdk package * fix build for core * change package name in actions * add references * typo * fix build * added inline tool data former * fix lint * rm unwanted changes * lint fix * fixed build * docs improved * fix build * naming improved * Update packages/core/src/ui/InlineToolbar/index.ts Co-authored-by: Peter <[email protected]> * Update packages/dom-adapters/src/FormattingAdapter/index.ts Co-authored-by: Peter <[email protected]> * rm unwanted change * naming * separated renderToolActions and apply method in formatting adapter * naming * moved surround to utils * lint fix * last naming fix 🤞 * made renderToolActions method private --------- Co-authored-by: George Berezhnoy <[email protected]> Co-authored-by: George Berezhnoy <[email protected]> Co-authored-by: Peter <[email protected]> * fix linter --------- Co-authored-by: George Berezhnoy <[email protected]> Co-authored-by: Peter <[email protected]> Co-authored-by: e11sy <[email protected]> Co-authored-by: George Berezhnoy <[email protected]>
Now inline toolbar checks for data required in tool and renders data former element