當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript katamari.Strings類代碼示例

本文整理匯總了TypeScript中@ephox/katamari.Strings的典型用法代碼示例。如果您正苦於以下問題:TypeScript Strings類的具體用法?TypeScript Strings怎麽用?TypeScript Strings使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Strings類的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1:

const charMatches = (charCode: number, name: string, lowerCasePattern: string): boolean => {
  if (Strings.contains(String.fromCharCode(charCode).toLowerCase(), lowerCasePattern)) {
    return true;
  } else {
    return Strings.contains(name.toLowerCase(), lowerCasePattern) || Strings.contains(name.toLowerCase().replace(/\s+/g, ''), lowerCasePattern);
  }
};
開發者ID:tinymce,項目名稱:tinymce,代碼行數:7,代碼來源:Scan.ts

示例2:

  const getTextComponents = (): SimpleSpec[] => {
    const components: SimpleSpec[] = [];

    if (editor.getParam('elementpath', true, 'boolean')) {
      components.push(ElementPath.renderElementPath(editor, { }));
    }

    if (Strings.contains(editor.settings.plugins, 'wordcount')) {
      components.push(renderWordCount(editor, providersBackstage));
    }

    if (editor.getParam('branding', true, 'boolean')) {
      components.push(renderBranding());
    }

    if (components.length > 0) {
      return [{
        dom: {
          tag: 'div',
          classes: [ 'tox-statusbar__text-container']
        },
        components,
      }];
    }
    return [];
  };
開發者ID:tinymce,項目名稱:tinymce,代碼行數:26,代碼來源:Statusbar.ts

示例3: textBefore

 return textBefore(node, offset, block).bind(({node: endNode, offset: endOffset}) => {
   const text = endNode.data.substring(0, endOffset);
   for (let i = 0; i < patterns.length; i++) {
     const pattern = patterns[i];
     if (!Strings.endsWith(text, pattern.end)) {
       continue;
     }
     const newOffset = endOffset - pattern.end.length;
     // when the pattern only has a start or end we don't want to try to match inner patterns
     const hasContent = pattern.start.length > 0 && pattern.end.length > 0;
     const allowInner = hasContent ? Option.some(true) : Option.none();
     const recursiveMatch = allowInner.bind(() => {
       const patternsWithoutCurrent = patterns.slice();
       patternsWithoutCurrent.splice(i, 1);
       return findInlinePatternRec(dom, patternsWithoutCurrent, endNode, newOffset, block);
     }).fold(() => {
       const start = findInlinePatternStart(dom, pattern, endNode, newOffset, block, hasContent);
       return start.map(({node: startNode, offset: startOffset}) => {
         const range = generatePathRange(dom.getRoot(), startNode, startOffset, endNode, endOffset).getOrDie('Internal constraint violation');
         return [{ pattern, range }];
       });
     }, (areas) => {
       const outermostRange = resolvePathRange(dom.getRoot(), areas[areas.length - 1].range).getOrDie('Internal constraint violation');
       const start = findInlinePatternStart(dom, pattern, outermostRange.startNode, outermostRange.startOffset, block);
       return start.map(({node: startNode, offset: startOffset}) => {
         const range = generatePathRange(dom.getRoot(), startNode, startOffset, endNode, endOffset).getOrDie('Internal constraint violation');
         return areas.concat([{ pattern, range }]);
       });
     });
     if (recursiveMatch.isSome()) {
       return recursiveMatch;
     }
   }
   return Option.none();
 });
開發者ID:tinymce,項目名稱:tinymce,代碼行數:35,代碼來源:FindPatterns.ts

示例4: if

 const getResizeType = (editor): ResizeTypes => {
   // If autoresize is enabled, disable resize
   const fallback = !Strings.contains(editor.settings.plugins, 'autoresize');
   const resize = editor.getParam('resize', fallback);
   if (resize === false) {
     return ResizeTypes.None;
   } else if (resize === 'both') {
     return ResizeTypes.Both;
   } else {
     return ResizeTypes.Vertical;
   }
 };
開發者ID:tinymce,項目名稱:tinymce,代碼行數:12,代碼來源:Statusbar.ts

示例5: normalizeWhitespaceAfter

const mergeTextNodes = (prevNode: Text, nextNode: Text, normalizeWhitespace?: boolean): Text => {
  const whitespaceOffset = Strings.rTrim(prevNode.data).length;
  // Merge the elements
  prevNode.appendData(nextNode.data);
  Remove.remove(Element.fromDom(nextNode));

  // Normalize the whitespace around the merged elements, to ensure it doesn't get lost
  if (normalizeWhitespace) {
    normalizeWhitespaceAfter(prevNode, whitespaceOffset);
  }

  return prevNode;
};
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:13,代碼來源:MergeText.ts

示例6:

 children: Arr.map(items, (itemText) => {
   // itemText can have a trailing >, which means it has a caret
   const hasCaret = Strings.endsWith(itemText, '>');
   return s.element('div', {
     classes: [ arr.has('tox-collection__item') ],
     children: [
       s.element('div', { classes: [ arr.has('tox-collection__item-icon') ] }),
       s.element('div', {
         classes: [ arr.has('tox-collection__item-label') ],
         html: str.is(hasCaret ? itemText.substring(0, itemText.length - 1) : itemText)
       })
     ].concat(hasCaret ? [
       s.element('div', { classes: [ arr.has('tox-collection__item-caret') ] })
     ] : [ ])
   });
 })
開發者ID:tinymce,項目名稱:tinymce,代碼行數:16,代碼來源:SilverMenubarTest.ts

示例7: TreeWalker

const applyBlockPattern = (editor: Editor, pattern: BlockPattern) => {
  const dom = editor.dom;
  const rng = editor.selection.getRng();
  const block = dom.getParent(rng.startContainer, dom.isBlock);
  if (!block || !dom.is(block, 'p') || !isElement(block)) {
    return;
  }

  const walker = new TreeWalker(block, block);
  let node: Node;
  let firstTextNode: Text;
  while ((node = walker.next())) {
    if (isText(node)) {
      firstTextNode = node;
      break;
    }
  }
  if (!firstTextNode) {
    return;
  }
  if (!Strings.startsWith(firstTextNode.data, pattern.start)) {
    return;
  }
  if (Tools.trim(block.textContent).length === pattern.start.length) {
    return;
  }

  // add a marker to store the cursor position
  const cursor = editor.selection.getBookmark();
  if (pattern.type === 'block-format') {
    if (isBlockFormatName(pattern.format, editor.formatter)) {
      editor.undoManager.transact(() => {
        firstTextNode.deleteData(0, pattern.start.length);
        editor.formatter.apply(pattern.format);
      });
    }
  } else if (pattern.type === 'block-command') {
    editor.undoManager.transact(() => {
      firstTextNode.deleteData(0, pattern.start.length);
      editor.execCommand(pattern.cmd, false, pattern.value);
    });
  }
  // return the selection
  editor.selection.moveToBookmark(cursor);
};
開發者ID:tinymce,項目名稱:tinymce,代碼行數:45,代碼來源:PatternApplication.ts

示例8: normalize

const normalizeWhitespaceBefore = (node: Text, offset: number) => {
  const content = node.data.slice(0, offset);
  const whitespaceCount = content.length - Strings.rTrim(content).length;

  return normalize(node, offset - whitespaceCount, whitespaceCount);
};
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:6,代碼來源:MergeText.ts

示例9:

 const rgbToHex = (value: string) => Strings.startsWith(value, 'rgb') ? dom.toHex(value) : value;
開發者ID:tinymce,項目名稱:tinymce,代碼行數:1,代碼來源:Helpers.ts

示例10: function

const dom = function (rawHtml): RawDomSchema {
  const html = Strings.supplant(rawHtml, {
    prefix: Styles.prefix()
  });
  return DomFactory.fromHtml(html);
};
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:6,代碼來源:UiDomFactory.ts


注:本文中的@ephox/katamari.Strings類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。