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


TypeScript Tools.trim函數代碼示例

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


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

示例1: if

const getContentFromBody = (editor, args, body) => {
  let content;

  args.format = args.format ? args.format : defaultFormat;
  args.get = true;
  args.getInner = true;

  if (!args.no_events) {
    editor.fire('BeforeGetContent', args);
  }

  if (args.format === 'raw') {
    content = Tools.trim(TrimHtml.trimExternal(editor.serializer, body.innerHTML));
  } else if (args.format === 'text') {
    content = Zwsp.trim(body.innerText || body.textContent);
  } else if (args.format === 'tree') {
    return editor.serializer.serialize(body, args);
  } else {
    content = trimEmptyContents(editor, editor.serializer.serialize(body, args));
  }

  if (args.format !== 'text') {
    args.content = Tools.trim(content);
  } else {
    args.content = content;
  }

  if (!args.no_events) {
    editor.fire('GetContent', args);
  }

  return args.content;
};
開發者ID:nyroDev,項目名稱:tinymce,代碼行數:33,代碼來源:EditorContent.ts

示例2: function

const setup = function (editor) {
  let editClass, nonEditClass;
  const contentEditableAttrName = 'contenteditable';

  editClass = ' ' + Tools.trim(Settings.getEditableClass(editor)) + ' ';
  nonEditClass = ' ' + Tools.trim(Settings.getNonEditableClass(editor)) + ' ';

  const hasEditClass = hasClass(editClass);
  const hasNonEditClass = hasClass(nonEditClass);
  const nonEditableRegExps = Settings.getNonEditableRegExps(editor);

  editor.on('PreInit', function () {
    if (nonEditableRegExps.length > 0) {
      editor.on('BeforeSetContent', function (e) {
        convertRegExpsToNonEditable(editor, nonEditableRegExps, e);
      });
    }

    editor.parser.addAttributeFilter('class', function (nodes) {
      let i = nodes.length, node;

      while (i--) {
        node = nodes[i];

        if (hasEditClass(node)) {
          node.attr(contentEditableAttrName, 'true');
        } else if (hasNonEditClass(node)) {
          node.attr(contentEditableAttrName, 'false');
        }
      }
    });

    editor.serializer.addAttributeFilter(contentEditableAttrName, function (nodes) {
      let i = nodes.length, node;

      while (i--) {
        node = nodes[i];
        if (!hasEditClass(node) && !hasNonEditClass(node)) {
          continue;
        }

        if (nonEditableRegExps.length > 0 && node.attr('data-mce-content')) {
          node.name = '#text';
          node.type = 3;
          node.raw = true;
          node.value = node.attr('data-mce-content');
        } else {
          node.attr(contentEditableAttrName, null);
        }
      }
    });
  });
};
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:53,代碼來源:FilterContent.ts

示例3: TreeWalker

const findBlockPattern = (dom: DOMUtils, patterns: BlockPattern[], rng: Range): Option<BlockPattern> => {
  const block = dom.getParent(rng.startContainer, dom.isBlock);

  if (!(dom.is(block, 'p') && isElement(block))) {
    return Option.none();
  }
  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 Option.none();
  }
  const pattern = findPattern(patterns, firstTextNode.data);
  if (!pattern) {
    return Option.none();
  }
  if (Tools.trim(block.textContent).length === pattern.start.length) {
    return Option.none();
  }
  return Option.some(pattern);
};
開發者ID:tinymce,項目名稱:tinymce,代碼行數:27,代碼來源:FindPatterns.ts

示例4: function

const applyBlockFormat = function (editor, patterns) {
  let selection, dom, container, firstTextNode, node, format, textBlockElm, pattern, walker, rng, offset;

  selection = editor.selection;
  dom = editor.dom;

  if (!selection.isCollapsed()) {
    return;
  }

  textBlockElm = dom.getParent(selection.getStart(), 'p');
  if (textBlockElm) {
    walker = new TreeWalker(textBlockElm, textBlockElm);
    while ((node = walker.next())) {
      if (node.nodeType === 3) {
        firstTextNode = node;
        break;
      }
    }

    if (firstTextNode) {
      pattern = Patterns.findPattern(patterns, firstTextNode.data);
      if (!pattern) {
        return;
      }

      rng = selection.getRng(true);
      container = rng.startContainer;
      offset = rng.startOffset;

      if (firstTextNode === container) {
        offset = Math.max(0, offset - pattern.start.length);
      }

      if (Tools.trim(firstTextNode.data).length === pattern.start.length) {
        return;
      }

      if (pattern.format) {
        format = editor.formatter.get(pattern.format);
        if (format && format[0].block) {
          firstTextNode.deleteData(0, pattern.start.length);
          editor.formatter.apply(pattern.format, {}, firstTextNode);

          rng.setStart(container, offset);
          rng.collapse(true);
          selection.setRng(rng);
        }
      }

      if (pattern.cmd) {
        editor.undoManager.transact(function () {
          firstTextNode.deleteData(0, pattern.start.length);
          editor.execCommand(pattern.cmd);
        });
      }
    }
  }
};
開發者ID:abstask,項目名稱:tinymce,代碼行數:59,代碼來源:Formatter.ts

示例5: RegExp

const isEmpty = (editor: Editor, html?: string) => {
  const forcedRootBlockName = editor.settings.forced_root_block;

  html = Tools.trim(typeof html === 'undefined' ? editor.getBody().innerHTML : html);

  return html === '' || new RegExp(
    '^<' + forcedRootBlockName + '[^>]*>((\u00a0|&nbsp;|[ \t]|<br[^>]*>)+?|)<\/' + forcedRootBlockName + '>|<br>$', 'i'
  ).test(html);
};
開發者ID:tinymce,項目名稱:tinymce,代碼行數:9,代碼來源:Storage.ts

示例6: function

const cancel = function (editor) {
  const h = Tools.trim(editor.startContent);

  // Use callback instead
  if (Settings.hasOnCancelCallback(editor)) {
    editor.execCallback('save_oncancelcallback', editor);
    return;
  }

  // Reset the editor content back to the initial state
  editor.resetContent(h);
};
開發者ID:tinymce,項目名稱:tinymce,代碼行數:12,代碼來源:Actions.ts

示例7: function

const cancel = function (editor) {
  const h = Tools.trim(editor.startContent);

  // Use callback instead
  if (Settings.hasOnCancelCallback(editor)) {
    editor.execCallback('save_oncancelcallback', editor);
    return;
  }

  editor.setContent(h);
  editor.undoManager.clear();
  editor.nodeChanged();
};
開發者ID:abstask,項目名稱:tinymce,代碼行數:13,代碼來源:Actions.ts

示例8: function

  suite.test('getOuterHTML', function () {
    DOM.add(document.body, 'div', { id : 'test' });

    DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
    LegacyUnit.equal(DOM.getOuterHTML('test2').toLowerCase().replace(/\"/g, ''), '<span id=test2><span>test</span><span>test2</span></span>');

    DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
    DOM.setOuterHTML('test2', '<div id="test2">123</div>');
    LegacyUnit.equal(Tools.trim(DOM.getOuterHTML('test2') || '').toLowerCase().replace(/\"/g, ''), '<div id=test2>123</div>');

    DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
    DOM.setOuterHTML('test2', '<div id="test2">123</div><div id="test3">abc</div>');
    LegacyUnit.equal(
      Tools.trim(DOM.get('test').innerHTML).toLowerCase().replace(/>\s+</g, '><').replace(/\"/g, ''),
      '<div id=test2>123</div><div id=test3>abc</div>'
    );

    DOM.setHTML('test', 'test');
    LegacyUnit.equal(Tools.trim(DOM.getOuterHTML(DOM.get('test').firstChild)), 'test');

    DOM.remove('test');
  });
開發者ID:abstask,項目名稱:tinymce,代碼行數:22,代碼來源:DomUtilsTest.ts

示例9: if

const getContent = (editor: Editor, args: GetContentArgs = {}): Content => {
  let content;
  const body = editor.getBody();

  if (editor.removed) {
    return '';
  }

  args.format = args.format ? args.format : defaultFormat;
  args.get = true;
  args.getInner = true;

  if (!args.no_events) {
    editor.fire('BeforeGetContent', args);
  }

  if (args.format === 'raw') {
    content = Tools.trim(TrimHtml.trimExternal(editor.serializer, body.innerHTML));
  } else if (args.format === 'text') {
    content = body.innerText || body.textContent;
  } else if (args.format === 'tree') {
    return editor.serializer.serialize(body, args);
  } else {
    content = editor.serializer.serialize(body, args);
  }

  if (args.format !== 'text') {
    args.content = Tools.trim(content);
  } else {
    args.content = content;
  }

  if (!args.no_events) {
    editor.fire('GetContent', args);
  }

  return args.content;
};
開發者ID:abstask,項目名稱:tinymce,代碼行數:38,代碼來源:EditorContent.ts

示例10: Serializer

const setContentTree = (editor: Editor, body: HTMLElement, content: Node, args: SetContentArgs): Node => {
  FilterNode.filter(editor.parser.getNodeFilters(), editor.parser.getAttributeFilters(), content);

  const html = Serializer({ validate: editor.validate }, editor.schema).serialize(content);

  args.content = isWsPreserveElement(Element.fromDom(body)) ? html : Tools.trim(html);
  setEditorHtml(editor, args.content);

  if (!args.no_events) {
    editor.fire('SetContent', args);
  }

  return content;
};
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:14,代碼來源:SetContent.ts


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