internal string GetListTag(DeltaInsertOp op) { return(op.IsOrderedList() ? _options.OrderedListTag : op.IsBulletList() ? _options.BulletListTag : op.IsCheckedList() ? _options.BulletListTag : op.IsUncheckedList() ? _options.BulletListTag : ""); }
public IList <TagKeyValue> GetTagAttributes() { if (_op.Attributes.Code == true && !_op.IsLink()) { return(new TagKeyValue[0]); } var result = new List <TagKeyValue>(); Action <string, string> add = (string key, string value) => result.Add(new TagKeyValue(key, value)); var classes = GetCssClasses(); if (classes.Any()) { add("class", String.Join(" ", classes)); } if (_op.IsImage()) { if (!String.IsNullOrEmpty(_op.Attributes.Width)) { add("width", _op.Attributes.Width); } add("src", UrlHelpers.Sanitize(((InsertDataImage)_op.Insert).Value ?? "")); return(result); } if (_op.IsACheckList()) { add("data-checked", _op.IsCheckedList() ? "true" : "false"); return(result); } if (_op.IsFormula()) { return(result); } if (_op.IsVideo()) { add("frameborder", "0"); add("allowfullscreen", "true"); add("src", UrlHelpers.Sanitize(((InsertDataVideo)_op.Insert).Value ?? "")); return(result); } if (_op.IsMentions()) { var mention = _op.Attributes.Mention; if (!String.IsNullOrEmpty(mention.Class)) { add("class", mention.Class); } if (!String.IsNullOrEmpty(mention.EndPoint) && !String.IsNullOrEmpty(mention.Slug)) { add("href", EncodeLink(mention.EndPoint + "/" + mention.Slug)); } else { add("href", "about:blank"); } if (!String.IsNullOrEmpty(mention.Target)) { add("target", mention.Target); } return(result); } var styles = GetCssStyles(); if (styles.Any()) { add("style", String.Join(";", styles)); } if (_op.IsContainerBlock()) { return(result); } if (_op.IsLink()) { add("href", EncodeLink(_op.Attributes.Link)); var target = String.IsNullOrEmpty(_op.Attributes.Target) ? _options.LinkTarget : _op.Attributes.Target; if (!String.IsNullOrEmpty(target)) { add("target", target); } if (!String.IsNullOrEmpty(_options.LinkRel) && IsValidRel(_options.LinkRel)) { add("rel", _options.LinkRel); } } return(result); }