http://proplan.55bet-pro.com/wiki/index.php?action=history&feed=atom&title=M%C3%B3dulo%3ANavbar Módulo:Navbar - Histórico de revisão-55BET Pro 2026-04-15T03:57:53Z Histórico de revisões para esta página neste wiki MediaWiki 1.42.7 http://proplan.55bet-pro.com/wiki/index.php?title=M%C3%B3dulo:Navbar&diff=111&oldid=prev Módulo:Navbar - Histórico de revisão-55BET Pro 2024-06-27T11:11:56Z <p>uma edição</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <tr class="diff-title" lang="pt-BR"> <td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">← Edição anterior</td> <td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">Edição das 08h11min de 27 de junho de 2024</td> </tr><tr><td colspan="2" class="diff-notice" lang="pt-BR"><div class="mw-diff-empty">(Sem diferença)</div> </td></tr></table> Henryzord http://proplan.55bet-pro.com/wiki/index.php?title=M%C3%B3dulo:Navbar&diff=110&oldid=prev Módulo:Navbar - Histórico de revisão-55BET Pro 2023-10-10T22:34:57Z <p>Per edit request on talk</p> <p><b>Página nova</b></p><div>local p = {}<br /> local cfg = mw.loadData(&#039;Module:Navbar/configuration&#039;)<br /> <br /> local function get_title_arg(is_collapsible, template)<br /> local title_arg = 1<br /> if is_collapsible then title_arg = 2 end<br /> if template then title_arg = &#039;template&#039; end<br /> return title_arg<br /> end<br /> <br /> local function choose_links(template, args)<br /> -- The show table indicates the default displayed items.<br /> -- view, talk, edit, hist, move, watch<br /> -- TODO: Move to configuration.<br /> local show = {true, true, true, false, false, false}<br /> if template then<br /> show[2] = false<br /> show[3] = false<br /> local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6,<br /> talk = 2, edit = 3, hist = 4, move = 5, watch = 6}<br /> -- TODO: Consider removing TableTools dependency.<br /> for _, v in ipairs(require (&#039;Module:TableTools&#039;).compressSparseArray(args)) do<br /> local num = index[v]<br /> if num then show[num] = true end<br /> end<br /> end<br /> <br /> local remove_edit_link = args.noedit<br /> if remove_edit_link then show[3] = false end<br /> <br /> return show<br /> <br /> end<br /> <br /> local function add_link(link_description, ul, is_mini, font_style)<br /> local l<br /> if link_description.url then<br /> l = {&#039;[&#039;, &#039;&#039;, &#039;]&#039;}<br /> else<br /> l = {&#039;[[&#039;, &#039;|&#039;, &#039;]]&#039;}<br /> end<br /> ul:tag(&#039;li&#039;)<br /> :addClass(&#039;nv-&#039; .. link_description.full)<br /> :wikitext(l[1] .. link_description.link .. l[2])<br /> :tag(is_mini and &#039;abbr&#039; or &#039;span&#039;)<br /> :attr(&#039;title&#039;, link_description.html_title)<br /> :cssText(font_style)<br /> :wikitext(is_mini and link_description.mini or link_description.full)<br /> :done()<br /> :wikitext(l[3])<br /> :done()<br /> end<br /> <br /> local function make_list(title_text, has_brackets, displayed_links, is_mini, font_style)<br /> <br /> local title = mw.title.new(mw.text.trim(title_text), cfg.title_namespace)<br /> if not title then<br /> error(cfg.invalid_title .. title_text)<br /> end<br /> local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or &#039;&#039;<br /> <br /> -- TODO: Get link_descriptions and show into the configuration module.<br /> -- link_descriptions should be easier...<br /> local link_descriptions = {<br /> { [&#039;mini&#039;] = &#039;v&#039;, [&#039;full&#039;] = &#039;view&#039;, [&#039;html_title&#039;] = &#039;View this template&#039;,<br /> [&#039;link&#039;] = title.fullText, [&#039;url&#039;] = false },<br /> { [&#039;mini&#039;] = &#039;t&#039;, [&#039;full&#039;] = &#039;talk&#039;, [&#039;html_title&#039;] = &#039;Discuss this template&#039;,<br /> [&#039;link&#039;] = talkpage, [&#039;url&#039;] = false },<br /> { [&#039;mini&#039;] = &#039;e&#039;, [&#039;full&#039;] = &#039;edit&#039;, [&#039;html_title&#039;] = &#039;Edit this template&#039;,<br /> [&#039;link&#039;] = &#039;Special:EditPage/&#039; .. title.fullText, [&#039;url&#039;] = false },<br /> { [&#039;mini&#039;] = &#039;h&#039;, [&#039;full&#039;] = &#039;hist&#039;, [&#039;html_title&#039;] = &#039;History of this template&#039;,<br /> [&#039;link&#039;] = &#039;Special:PageHistory/&#039; .. title.fullText, [&#039;url&#039;] = false },<br /> { [&#039;mini&#039;] = &#039;m&#039;, [&#039;full&#039;] = &#039;move&#039;, [&#039;html_title&#039;] = &#039;Move this template&#039;,<br /> [&#039;link&#039;] = mw.title.new(&#039;Special:Movepage&#039;):fullUrl(&#039;target=&#039;..title.fullText), [&#039;url&#039;] = true },<br /> { [&#039;mini&#039;] = &#039;w&#039;, [&#039;full&#039;] = &#039;watch&#039;, [&#039;html_title&#039;] = &#039;Watch this template&#039;, <br /> [&#039;link&#039;] = title:fullUrl(&#039;action=watch&#039;), [&#039;url&#039;] = true }<br /> }<br /> <br /> local ul = mw.html.create(&#039;ul&#039;)<br /> if has_brackets then<br /> ul:addClass(cfg.classes.brackets)<br /> :cssText(font_style)<br /> end<br /> <br /> for i, _ in ipairs(displayed_links) do<br /> if displayed_links[i] then add_link(link_descriptions[i], ul, is_mini, font_style) end<br /> end<br /> return ul:done()<br /> <br /> end<br /> <br /> function p._navbar(args)<br /> <br /> -- TODO: We probably don&#039;t need both fontstyle and fontcolor...<br /> local font_style = args.fontstyle<br /> local font_color = args.fontcolor<br /> local is_collapsible = args.collapsible<br /> local is_mini = args.mini<br /> local is_plain = args.plain<br /> <br /> local collapsible_class = nil<br /> if is_collapsible then<br /> collapsible_class = cfg.classes.collapsible<br /> if not is_plain then is_mini = 1 end<br /> if font_color then<br /> font_style = (font_style or &#039;&#039;) .. &#039;; color: &#039; .. font_color .. &#039;;&#039;<br /> end<br /> end<br /> <br /> local navbar_style = args.style<br /> local div = mw.html.create():tag(&#039;div&#039;)<br /> div<br /> :addClass(cfg.classes.navbar)<br /> :addClass(cfg.classes.plainlinks)<br /> :addClass(cfg.classes.horizontal_list)<br /> :addClass(collapsible_class) -- we made the determination earlier<br /> :cssText(navbar_style)<br /> <br /> if is_mini then div:addClass(cfg.classes.mini) end<br /> <br /> local box_text = (args.text or cfg.box_text) .. &#039; &#039;<br /> -- the concatenated space guarantees the box text is separated<br /> if not (is_mini or is_plain) then<br /> div<br /> :tag(&#039;span&#039;)<br /> :addClass(cfg.classes.box_text)<br /> :cssText(font_style)<br /> :wikitext(box_text)<br /> end<br /> <br /> local template = args.template<br /> local displayed_links = choose_links(template, args)<br /> local has_brackets = args.brackets<br /> local title_arg = get_title_arg(is_collapsible, template)<br /> local title_text = args[title_arg] or (&#039;:&#039; .. mw.getCurrentFrame():getParent():getTitle())<br /> local list = make_list(title_text, has_brackets, displayed_links, is_mini, font_style)<br /> div:node(list)<br /> <br /> if is_collapsible then<br /> local title_text_class<br /> if is_mini then<br /> title_text_class = cfg.classes.collapsible_title_mini<br /> else<br /> title_text_class = cfg.classes.collapsible_title_full<br /> end<br /> div:done()<br /> :tag(&#039;div&#039;)<br /> :addClass(title_text_class)<br /> :cssText(font_style)<br /> :wikitext(args[1])<br /> end<br /> <br /> local frame = mw.getCurrentFrame()<br /> -- hlist -&gt; navbar is best-effort to preserve old Common.css ordering.<br /> return frame:extensionTag{<br /> name = &#039;templatestyles&#039;, args = { src = cfg.hlist_templatestyles }<br /> } .. frame:extensionTag{<br /> name = &#039;templatestyles&#039;, args = { src = cfg.templatestyles }<br /> } .. tostring(div:done())<br /> end<br /> <br /> function p.navbar(frame)<br /> return p._navbar(require(&#039;Module:Arguments&#039;).getArgs(frame))<br /> end<br /> <br /> return p</div> infobox>Pppery