• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript draft-js.ContentState类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中draft-js.ContentState的典型用法代码示例。如果您正苦于以下问题:TypeScript ContentState类的具体用法?TypeScript ContentState怎么用?TypeScript ContentState使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了ContentState类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: ContentBlock

const createContentBlock = ( blockData: DraftEntityInstance, contentState: ContentState) => {
  const {key, type, text, data, inlineStyles, entityData} = blockData;
  let blockSpec = {
    type: type != null ? type : 'unstyled',
    text: text != null ? text : '',
    key: key != null ? key : genKey(),
    data: null,
    characterList: List([]),
  };

  if (data) {
    blockSpec.data = fromJS(data)
  }

  if (inlineStyles || entityData) {
    let entityKey;
    if (entityData) {
      const {type, mutability, data} = entityData;
      contentState.createEntity(type, mutability, data);
      entityKey = contentState.getLastCreatedEntityKey();
    } else {
      entityKey = null
    }
    const style = OrderedSet(inlineStyles || [])
    const charData = CharacterMetadata.create({style, entityKey} as CharacterMetadataConfig)
    blockSpec.characterList = List(Repeat(charData, text.length))
  }
  return new ContentBlock(blockSpec)
}
开发者ID:react-component,项目名称:editor-core,代码行数:29,代码来源:customHTML2Content.ts


示例2: getCurrentRow

export function getCurrentRow(content: ContentState, selection: SelectionState) {
  let currentRow = 1
  let key = selection.getFocusKey()
  while (key = content.getKeyBefore(key)) {
    currentRow++
  }
  return currentRow
}
开发者ID:Pajn,项目名称:meltdown,代码行数:8,代码来源:editor-syntax-highlighting.ts


示例3:

    const getEditorState = html => {
      const blocks = Draft.convertFromHTML(html)
      const content = Draft.ContentState.createFromBlockArray(
        blocks.contentBlocks,
        blocks.entityMap
      )

      return Draft.EditorState.createWithContent(content)
    }
开发者ID:artsy,项目名称:positron,代码行数:9,代码来源:shared.test.ts


示例4: setTextToEditor

 setTextToEditor(text: string) {
     return EditorState.moveSelectionToEnd(
         EditorState.push(
             this.core,
             ContentState.createFromText(text),
             'insert-characters'
         )
     );
 }
开发者ID:DevenLu,项目名称:YourFukurou,代码行数:9,代码来源:tweet_editor.ts


示例5: changeCommentFocus

function changeCommentFocus(content: ContentState, comment: Comment, {focus}: {focus: boolean}) {
  let block = content.getBlockForKey(comment.selection.getAnchorKey())
  let chars = block.getCharacterList()

  for (let i = 0; i < chars.size; i++) {
    let metadata = chars.get(i)
    if (metadata.getEntity() === comment.entityKey) {
      if (focus) {
        metadata = CharacterMetadata.applyStyle(metadata, 'focusedComment')
      } else {
        metadata = CharacterMetadata.removeStyle(metadata, 'focusedComment')
      }
      chars = chars.set(i, metadata)
    }
  }

  block = block.set('characterList', chars)
  return content.set('blockMap', content.getBlockMap().set(block.getKey(), block))
}
开发者ID:Pajn,项目名称:meltdown,代码行数:19,代码来源:document.ts


示例6: getEntityContent

function getEntityContent(contentState: ContentState, entityKey, content: string): string {
  if (entityKey) {
    const entity = contentState.getEntity(entityKey);
    const entityData = entity.getData();
    if (entityData && entityData.export) {
      return entityData.export(content, entityData);
    }
  }
  return content;
}
开发者ID:react-component,项目名称:editor-core,代码行数:10,代码来源:getHTML.ts


示例7: updateStyles

export function updateStyles(editor: EditorState) {
  const key = editor.getSelection().getFocusKey()
  const content = editor.getCurrentContent()
  const block = content.getBlockForKey(key)
  const ast = parser.parse(block.getText())

  let updatedBlock: ContentBlock
  let updatedContent: ContentState
  if (ast.firstChild === ast.lastChild && ast.firstChild) {
    const node = ast.firstChild

    if (node.type === 'Heading') {
      const type = headerType[ast.firstChild.level] || 'unstyled'

      updatedBlock = maybeSet(block, type)
    } else if (node.type === 'BlockQuote') {
      updatedBlock = maybeSet(block, 'blockquote')
    // } else if (node.type === 'Paragraph' && node.firstChild !== node.lastChild) {
    //   updatedContent = updateInlineStyles(content, block.getKey(), node)
    } else {
      updatedBlock = maybeSet(block, 'unstyled')
    }
    /// goal question metiric, victor basili
    /// Program slicing, component based systems
  } else {
    updatedBlock = maybeSet(block, 'unstyled')
  }

  if (updatedBlock) {
    updatedContent = content.setIn(['blockMap', key], updatedBlock)
  }
  if (updatedContent) {
    const selection = editor.getSelection()
    updatedContent = updatedContent.merge({
      selectionBefore: selection,
      selectionAfter: selection,
    })

    return EditorState.push(editor, updatedContent, 'change-block-type')
  }

  return editor
}
开发者ID:Pajn,项目名称:meltdown,代码行数:43,代码来源:editor-syntax-highlighting.ts


示例8: getCurrentComment

function getCurrentComment(selection: SelectionState, content: ContentState) {
  if (!selection.isCollapsed()) return

  const block = content.getBlockForKey(selection.getAnchorKey())
  const metadata = block.getCharacterList().get(selection.getAnchorOffset())
  if (!metadata) return
  const entityKey = metadata.getEntity()
  const entity = entityKey && Entity.get(entityKey)
  if (entity && entity.getType() === 'Comment') {
    return entity.getData().id
  }
}
开发者ID:Pajn,项目名称:meltdown,代码行数:12,代码来源:document.ts


示例9:

	generate(): string {
		this.output = [];
		this.blocks = this.contentState.getBlocksAsArray();
		this.totalBlocks = this.blocks.length;
		this.currentBlock = 0;
		this.indentLevel = 0;
		this.wrapperTag = null;
		while (this.currentBlock < this.totalBlocks) {
			this.processBlock();
		}
		this.closeWrapperTag();
		return this.output.join('').trim();
	}
开发者ID:aaronvine,项目名称:draft-js-export-html,代码行数:13,代码来源:contentToHtml.ts



注:本文中的draft-js.ContentState类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript draft-js.EditorState类代码示例发布时间:2022-05-25
下一篇:
TypeScript draft-js.CharacterMetadata类代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap