Item9320: Enable WYSIWYG editor to apply roman numeral, alphabetical etc. ordered lists

pencil
Priority: Enhancement
Current State: No Action Required
Released In: n/a
Target Release: n/a
Applies To: Extension
Component: TinyMCEPlugin
Branches:
Reported By: Foswiki:Main.PaulHarvey
Waiting For:
Last Change By: CrawfordCurrie
This looked easy, but actually isn't.

there are two situations, until we disable the legacyoutput plugin in TinyMCE (it provides support for <b>, <u>, etc):

  • List where all items are the same type. The list gains an attribute on the <ol> tag like style="list-style-type: lower-roman;". All the lt;li> are without attributes/styles.
  • List where there is a mix of different styles in the same list. Here, the <li> tags gain the HTML401 type= tag as is traditionally used, and the <ol> tag is bare.

diff --git a/trunk/TinyMCEPlugin/data/System/TinyMCEPlugin.txt b/trunk/TinyMCEPlugin/data/System/TinyMCEPlugin.txt
index e426271..36b2c92 100644
--- a/trunk/TinyMCEPlugin/data/System/TinyMCEPlugin.txt
+++ b/trunk/TinyMCEPlugin/data/System/TinyMCEPlugin.txt
@@ -71,7 +71,7 @@ Below is the default configuration. If it is to be modified, it should be copied
 "plugins" : "%IF{
     "defined 'TINYMCEPLUGIN_MCEPLUGINS'"
     then="%TINYMCEPLUGIN_MCEPLUGINS%"
-    else="%STARTSECTION{"MCEPLUGINS"}%contextmenu, table, searchreplace, autosave, paste, legacyoutput, inlinepopups, fullscree
+    else="%STARTSECTION{"MCEPLUGINS"}%contextmenu, table, searchreplace, advlist, autosave, paste, legacyoutput, inlinepopups, 
 }%%IF{
     "defined 'TINYMCEPLUGIN_ADDITIONAL_MCEPLUGINS'"
     then=", %TINYMCEPLUGIN_ADDITIONAL_MCEPLUGINS%"
@@ -211,6 +211,7 @@ These plugins are enabled by default in the standard distribution of Foswiki.
 | [[http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste][paste]] | pastetext, pasteword, selectall | "Cleans" content pas
 | [[http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace][searchreplace]] | search, replace | Refer to !TinyMCE do
 | [[http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table][table]] | tablecontrols, [[http://wiki.moxiecode.com/index.php/T
+| [[http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist][advlist]] | bullist, numlist | Refer to !TinyMCE documentation
 
 ---+++ Additional Plugins 
 To enable extra plugins, set the =TINYMCEPLUGIN_ADDITIONAL_MCEPLUGINS= variable in your [[%USERSWEB%.SitePreferences]].
@@ -282,8 +283,8 @@ Another great Foswiki extension from the <a style="text-decoration:none" href="h
 |  Version: | %$VERSION% |
 |  Release: | %$RELEASE% |
 |  Change History: | <!-- versions below in reverse order -->&nbsp; |
-|  ?? Jul 2010 | Foswikitask:Item9236: Enable contextmenu !TinyMCE plugin, allows table row/column copy & paste<br/>\
-|                Foswikitask:Item9263: IE6 javascript error |
+|  14 Jul 2010 | Foswikitask:Item9236: Enable contextmenu !TinyMCE plugin, allows rows/columns to be cut/pasted within tables<b
+                 Foswikitask:Item9320: Enable WYSIWYG application of ordered list styles, Eg. roman numeral, alphabetical |
 |  01 Jul 2010 | Foswikitask:Item9221: Fix colour formatting problem and JS error transitioning to fullscreen<br/>\
                  Foswikitask:Item9222: Fix autosave implementation compatibility with Foswiki 1.0.x JQueryPlugin<br/>\
                  Foswikitask:Item9234: Upgrade to !TinyMCE 3.3.8 |
diff --git a/trunk/WysiwygPlugin/data/System/WysiwygPlugin.txt b/trunk/WysiwygPlugin/data/System/WysiwygPlugin.txt
index d3e884e..62618bb 100644
--- a/trunk/WysiwygPlugin/data/System/WysiwygPlugin.txt
+++ b/trunk/WysiwygPlugin/data/System/WysiwygPlugin.txt
@@ -192,6 +192,7 @@ Many thanks to the following sponsors for supporting this work:
 |  Version: | %$VERSION% |
 |  Release: | %$RELEASE% |
 |  Change History: | |
+|  ?? Jun 2010 | Foswikitask:Item9320: Change handling of ordered lists to use XHTML styles instead of type attributes |
 |  28 Jun 2010 | Foswikitask:Item761, Foswikitask:Item2311, Foswikitask:Item5990, Foswikitask:Item9170: Fix conversion between 
                  Foswikitask:Item2254: Fix cursor-movement problems on Mozilla browsers (introduced by Foswikitask:Item1798)<br
                  Foswikitask:Item2605: Can now place cursor into empty list-item<br/>\
diff --git a/trunk/WysiwygPlugin/test/unit/WysiwygPlugin/TranslatorTests.pm b/trunk/WysiwygPlugin/test/unit/WysiwygPlugin/Transl
index 2cd798e..757d382 100644
--- a/trunk/WysiwygPlugin/test/unit/WysiwygPlugin/TranslatorTests.pm
+++ b/trunk/WysiwygPlugin/test/unit/WysiwygPlugin/TranslatorTests.pm
@@ -489,6 +489,11 @@ X
       * level 2
 HERE
     },
+# TinyMCE uses XHTML style attributes on the <ol> tag now; however, because
+# we are running with legacyoutput plugin to maintain compatibility with <b>,
+# <u> etc. we still get the HTML401 type= attributes on the list items
+# themselves. This behaviour is probably a bug as of TinyMCE 3.3.8 -
+# legacyoutput plugin should be smart enough to use either/or, not a mix of both
     {
         exec => $ROUNDTRIP,
         name => 'orderedList',
@@ -511,6 +516,27 @@ HERE
 HERE
     },
     {
+        exec => $TML2HTML | $HTML2TML | $ROUNDTRIP,
+        name => 'orderedListXHTML',
+        html => <<'HERE',
+<ol><li>Sushi</li></ol> <p/>
+<ol style="list-style-type: upper-alpha;"><li>Sushi</li></ol><p/>
+<ol style="list-style-type: lower-roman;"><li>Sushi</li></ol><p/>
+<ol><li>Sushi</li><li type="A">Sushi</li><li type="i">Sushi</li></ol>
+HERE
+        tml => <<'HERE',
+   1 Sushi
+
+   A. Sushi
+
+   i. Sushi
+
+   1 Sushi
+   A. Sushi
+   i. Sushi
+HERE
+    },
+    {
         exec => $TML2HTML | $ROUNDTRIP,
         name => 'orderedList_Item1341',
         html => <<'HERE',

-- PaulHarvey - 14 Jul 2010

This was done in the 4.5.3 upgrade.

-- Main.CrawfordCurrie - 24 Mar 2017 - 15:56
 

ItemTemplate edit

Summary Enable WYSIWYG editor to apply roman numeral, alphabetical etc. ordered lists
ReportedBy Foswiki:Main.PaulHarvey
Codebase trunk
SVN Range
AppliesTo Extension
Component TinyMCEPlugin
Priority Enhancement
CurrentState No Action Required
WaitingFor
Checkins
TargetRelease n/a
ReleasedIn n/a
CheckinsOnBranches
trunkCheckins
masterCheckins
ItemBranchCheckins
Release02x01Checkins
Release02x00Checkins
Release01x01Checkins
Topic revision: r4 - 24 Mar 2017, CrawfordCurrie
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy