https://en.wikipedia.org/w/index.php?action=history&feed=atom&title=Module%3AColPollTable%2Fsandbox Module:ColPollTable/sandbox - Revision history 2025-06-04T04:05:09Z Revision history for this page on the wiki MediaWiki 1.45.0-wmf.3 https://en.wikipedia.org/w/index.php?title=Module:ColPollTable/sandbox&diff=1244751023&oldid=prev MikeVitale: Remove overflow auto 2024-09-08T23:53:39Z <p>Remove overflow auto</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 23:53, 8 September 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 138:</td> <td colspan="2" class="diff-lineno">Line 138:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>function p._main(args)</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>function p._main(args)</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> local ret = mw.html.create('div<del style="font-weight: bold; text-decoration: none;">'):css('overflow', 'auto</del>')</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> local ret = mw.html.create('div')</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> -- return table</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> -- return table</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local root = ret:tag('table')</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local root = ret:tag('table')</div></td> </tr> </table> MikeVitale https://en.wikipedia.org/w/index.php?title=Module:ColPollTable/sandbox&diff=1244750645&oldid=prev MikeVitale: Add back overflow 2024-09-08T23:49:12Z <p>Add back overflow</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 23:49, 8 September 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 138:</td> <td colspan="2" class="diff-lineno">Line 138:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>function p._main(args)</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>function p._main(args)</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> local ret = mw.html.create('div')</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> local ret = mw.html.create('div<ins style="font-weight: bold; text-decoration: none;">'):css('overflow', 'auto</ins>')</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> -- return table</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> -- return table</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local root = ret:tag('table')</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> local root = ret:tag('table')</div></td> </tr> </table> MikeVitale https://en.wikipedia.org/w/index.php?title=Module:ColPollTable/sandbox&diff=1244749203&oldid=prev MikeVitale: Testing removal of overflow:auto 2024-09-08T23:33:39Z <p>Testing removal of overflow:auto</p> <p><b>New page</b></p><div>local p = {}<br /> <br /> local getArgs<br /> <br /> local CC_backgrounds = {<br /> r = { [&#039;background-color&#039;] = &#039;#FFE6E6&#039; },<br /> d = { [&#039;background-color&#039;] = &#039;#FFE6E6&#039; },<br /> g = { [&#039;background-color&#039;] = &#039;#D8FFEB&#039; },<br /> u = { [&#039;background-color&#039;] = &#039;#D8FFEB&#039; },<br /> y = { [&#039;background-color&#039;] = &#039;#FFFFE6&#039; },<br /> npr = { [&#039;background-color&#039;] = &#039;#FFFFE6&#039; },<br /> tg = { [&#039;background-color&#039;] = &#039;#D8FFEB&#039;, [&#039;border-bottom&#039;] = &#039;1px solid #D8FFEB;&#039; },<br /> tu = { [&#039;background-color&#039;] = &#039;#D8FFEB&#039;, [&#039;border-bottom&#039;] = &#039;1px solid #D8FFEB;&#039; },<br /> tr = { [&#039;background-color&#039;] = &#039;#FFE6E6&#039;, [&#039;border-bottom&#039;] = &#039;1px solid #FFE6E6;&#039; },<br /> td = { [&#039;background-color&#039;] = &#039;#FFE6E6&#039;, [&#039;border-bottom&#039;] = &#039;1px solid #FFE6E6;&#039; },<br /> ty = { [&#039;background-color&#039;] = &#039;#FFFFE6&#039;, [&#039;border-bottom&#039;] = &#039;1px solid #FFFFE6;&#039; },<br /> tnpr = { [&#039;background-color&#039;] = &#039;#FFFFE6&#039;, [&#039;border-bottom&#039;] = &#039;1px solid #FFFFE6;&#039; },<br /> tw = { [&#039;background-color&#039;] = &#039;white&#039;, [&#039;border-bottom&#039;] = &#039;1px solid white;&#039; },<br /> t = { [&#039;background-color&#039;] = &#039;white&#039;, [&#039;border-bottom&#039;] = &#039;1px solid white;&#039; },<br /> b = { [&#039;background-color&#039;] = &#039;#99CCFF&#039; },<br /> nc = { [&#039;background-color&#039;] = &#039;#99CCFF&#039; },<br /> w = { [&#039;background-color&#039;] = &#039;white&#039; },<br /> default = { [&#039;background-color&#039;] = &#039;white&#039; } <br /> }<br /> function p.doc(frame)<br /> local desc = {<br /> {&#039;r&#039;, &#039;red&#039;},<br /> {&#039;d&#039;, &#039;down&#039;},<br /> {&#039;g&#039;, &#039;green&#039;},<br /> {&#039;u&#039;, &#039;up&#039;},<br /> {&#039;y&#039;, &#039;yellow&#039;},<br /> {&#039;npr&#039;, &#039;not previously ranked&#039;},<br /> {&#039;tg&#039;, &#039;tie green&#039;},<br /> {&#039;tu&#039;, &#039;tie up&#039;},<br /> {&#039;tr&#039;, &#039;tie red&#039;},<br /> {&#039;td&#039;, &#039;tie down&#039;},<br /> {&#039;ty&#039;, &#039;tie yellow&#039;},<br /> {&#039;tnpr&#039;, &#039;tie not previously ranked&#039;},<br /> {&#039;tw&#039;, &#039;tie white&#039;},<br /> {&#039;-&#039;, &#039;default&#039;}<br /> }<br /> local ret = mw.html.create(&#039;table&#039;):addClass(&#039;wikitable&#039;)<br /> ret:tag(&#039;tr&#039;)<br /> :tag(&#039;th&#039;):wikitext(&#039;Code&#039;):done()<br /> :tag(&#039;th&#039;):wikitext(&#039;Abbreviation for&#039;):done()<br /> :tag(&#039;th&#039;):wikitext(&#039;Result&#039;):done()<br /> for i=1,#desc do<br /> local d = desc[i]<br /> local c = string.lower(d[1])<br /> local s = CC_backgrounds[c] or CC_backgrounds.default<br /> ret:tag(&#039;tr&#039;)<br /> :tag(&#039;td&#039;):wikitext(c):done()<br /> :tag(&#039;td&#039;):wikitext(d[2]):done()<br /> :tag(&#039;td&#039;):css(s):done()<br /> end<br /> return ret<br /> end<br /> <br /> function p.main(frame)<br /> if not getArgs then<br /> getArgs = require(&#039;Module:Arguments&#039;).getArgs<br /> end<br /> <br /> local args = getArgs(frame, {wrappers = &#039;Template:ColPollTable&#039;})<br /> <br /> -- get highest number looked at<br /> -- Template doc says &quot;Week#&quot; is a required field, so we&#039;ll use that as an indicator<br /> local max_week = 0<br /> for i=1,50 do<br /> if not args[&#039;Week&#039;..i] then<br /> break<br /> end<br /> max_week = i<br /> end<br /> <br /> local max_sub_week = 0<br /> -- get the highest subweek to look at<br /> -- Week1-Y should suffice, assuming all parameters require definition<br /> for i=1,50 do<br /> if not args[&#039;Week1-&#039;..i] then<br /> break<br /> end<br /> max_sub_week = i<br /> end<br /> <br /> local tbl_args = {<br /> max = max_week,<br /> max_sub = max_sub_week,<br /> weeks = {}<br /> }<br /> <br /> -- looks for parameter &quot;name&quot;, otherwise returns &quot;{{{name}}}&quot;<br /> local function argOrCall(name)<br /> return mw.text.trim(args[name] or &#039;&#039;) or string.format(&#039;{{{%s}}}&#039;,name)<br /> end<br /> <br /> for i=1,max_week do<br /> local week_tbl = {}<br /> week_tbl.name = &#039;Week &#039; .. argOrCall(&#039;Week&#039;..i)<br /> week_tbl.date = argOrCall(&#039;Week&#039;..i..&#039;Date&#039;)<br /> week_tbl.cells = {}<br /> <br /> for j=1,max_sub_week do<br /> local wkdt = string.format(&#039;Week%s-%s&#039;,i,j)<br /> local wkcolor = string.format(&#039;Week%s-%s-Color&#039;,i,j)<br /> wkdt = argOrCall(wkdt)<br /> wkcolor = string.lower(argOrCall(wkcolor))<br /> <br /> wkcolor = CC_backgrounds[wkcolor] or CC_backgrounds.default<br /> <br /> table.insert(week_tbl.cells, { res = wkdt, style = wkcolor })<br /> end<br /> local dropped = args[&#039;Week&#039;..i..&#039;Dropped&#039;]<br /> if not dropped or not string.find(dropped or &#039;&#039;,&#039;%S&#039;) then<br /> dropped = nil<br /> end<br /> week_tbl.dropped = dropped<br /> table.insert(tbl_args.weeks,week_tbl)<br /> end<br /> <br /> -- week 1 is 0 --&gt; &quot;Preseason&quot;<br /> if tbl_args.weeks[1] and tbl_args.weeks[1].name == &#039;Week 0&#039; then<br /> tbl_args.weeks[1].name = &#039;Preseason&#039;<br /> end<br /> <br /> -- last week is f or final --&gt; &quot;Final&quot;<br /> if tbl_args.weeks[max_week] then<br /> local week_f_name = tbl_args.weeks[max_week].name<br /> week_f_name = string.lower(week_f_name)<br /> <br /> if week_f_name == &#039;week f&#039; or week_f_name == &#039;week final&#039; then<br /> tbl_args.weeks[max_week].name = &#039;Final&#039;<br /> end<br /> end<br /> <br /> return p._main(tbl_args)<br /> end<br /> <br /> function p._main(args)<br /> local ret = mw.html.create(&#039;div&#039;)<br /> -- return table<br /> local root = ret:tag(&#039;table&#039;)<br /> :addClass(&#039;wikitable&#039;)<br /> :css({ [&#039;font-size&#039;] = &#039;90%&#039;,<br /> [&#039;white-space&#039;] = &#039;nowrap&#039;,<br /> [&#039;background-color&#039;] = &#039;white&#039; })<br /> <br /> -- header<br /> local header_row = root:tag(&#039;tr&#039;):tag(&#039;th&#039;):done()<br /> <br /> for _, v in ipairs(args.weeks) do<br /> header_row:tag(&#039;th&#039;):wikitext(v.name)<br /> :tag(&#039;br&#039;, { selfClosing = true }):done()<br /> :wikitext(v.date):done()<br /> end<br /> <br /> header_row:tag(&#039;th&#039;):done():done()<br /> <br /> for i=1,args.max_sub do<br /> local cur_row = root:tag(&#039;tr&#039;)<br /> cur_row:tag(&#039;th&#039;):wikitext(i..&#039;.&#039;):done()<br /> for _, v in ipairs(args.weeks) do<br /> local cur_cell = v.cells[i]<br /> cur_row:tag(&#039;td&#039;):css(cur_cell.style):wikitext(cur_cell.res):done()<br /> end<br /> cur_row:tag(&#039;th&#039;):wikitext(i..&#039;.&#039;):done()<br /> cur_row:done()<br /> end<br /> <br /> -- footer<br /> local footer_row = root:tag(&#039;tr&#039;):tag(&#039;th&#039;):done()<br /> <br /> for _, v in ipairs(args.weeks) do<br /> footer_row:tag(&#039;th&#039;):wikitext(v.name)<br /> :tag(&#039;br&#039;, { selfClosing = true }):done()<br /> :wikitext(v.date):done()<br /> end<br /> <br /> footer_row:tag(&#039;th&#039;):done():done()<br /> <br /> -- drop outs<br /> local dropped_row = root:tag(&#039;tr&#039;)<br /> dropped_row:tag(&#039;td&#039;):attr(&#039;colspan&#039;,&#039;2&#039;):css({ background = &#039;transparent&#039;, [&#039;border-bottom-style&#039;] = &#039;hidden&#039;, [&#039;border-left-style&#039;] = &#039;hidden&#039; }):done()<br /> <br /> for i, v in ipairs(args.weeks) do<br /> if v.dropped and i &gt; 1 then<br /> dropped_row:tag(&#039;td&#039;):css({ [&#039;vertical-align&#039;] = &#039;top&#039;, [&#039;background-color&#039;] = &#039;#FFE6E6&#039; })<br /> :tag(&#039;b&#039;):wikitext(&#039;Dropped:&#039;):done()<br /> :tag(&#039;br&#039;, { selfClosing = true }):done()<br /> :wikitext(v.dropped)<br /> :done()<br /> elseif i &gt; 1 then<br /> dropped_row:tag(&#039;td&#039;):css({ [&#039;vertical-align&#039;] = &#039;top&#039;, [&#039;background-color&#039;] = &#039;#FFFFFF&#039; })<br /> :tag(&#039;i&#039;):wikitext(&#039;None&#039;):done()<br /> :done()<br /> end<br /> end<br /> dropped_row:tag(&#039;td&#039;):css({ background = &#039;transparent&#039;, [&#039;border-bottom-style&#039;] = &#039;hidden&#039;, [&#039;border-right-style&#039;] = &#039;hidden&#039; }):done()<br /> <br /> return ret<br /> end<br /> return p</div> MikeVitale