Module:DropsLineTest: Difference between revisions

From Roat Pkz
Jump to navigation Jump to search
No edit summary
No edit summary
 
(27 intermediate revisions by the same user not shown)
Line 1: Line 1:
local p = {}
local p = {}


-- Define a function to generate output numbers and colored cells based on the input
-- Define a function to generate output numbers based on the input
function p.generateOutput(frame)
function p.generateOutput(frame)
     local inputNumber = tonumber(frame.args[1]) or 0
     local inputNumber = tonumber(frame.args[1]) or 0
    local output = {}


     -- Start building the wikitable row
     -- Add the input number
     local output = "|-" .. "\n"
     table.insert(output, "\" | 1/" .. inputNumber)


     -- Add the input number with color
     -- Calculate percentages and choose color based on the percentage
     output = output .. "| bgcolor=\"#FFFFFF\" | 1/" .. inputNumber .. "\n"
     local percentages = {0.85, 0.75, 0.70, 0.65, 0.60} -- Percentages
 
     local colors = {"#ff9999", "#7aa7ff", "#d699ff", "#fff59e", "#b3f1ff"} -- Corresponding colors
    -- Calculate and add percentages with colored cells
   
     output = output .. "| bgcolor=\"#FFCCCC\" | 1/" .. (inputNumber * 0.85) .. "\n" -- 10%
     for i, percent in ipairs(percentages) do
    output = output .. "| bgcolor=\"#FF9999\" | 1/" .. (inputNumber * 0.75) .. "\n" -- 20%
        local value = math.floor(inputNumber * percent)
     output = output .. "| bgcolor=\"#FF6666\" | 1/" .. (inputNumber * 0.70) .. "\n" -- 30%
        local color = colors[i]
    output = output .. "| bgcolor=\"#FF3333\" | 1/" .. (inputNumber * 0.65) .. "\n" -- 40%
        table.insert(output, "| style=\"background-color: " .. color .. ";\" | 1/" .. value)
    output = output .. "| bgcolor=\"#FF0000\" | 1/" .. (inputNumber * 0.60) .. "\n" -- 50%
    end
 
   
     return output
     return table.concat(output, '\n')
end
end


return p
return p

Latest revision as of 17:59, 7 May 2024

Documentation for this module may be created at Module:DropsLineTest/doc

local p = {}

-- Define a function to generate output numbers based on the input
function p.generateOutput(frame)
    local inputNumber = tonumber(frame.args[1]) or 0
    local output = {}

    -- Add the input number
    table.insert(output, "\" | 1/" .. inputNumber)

    -- Calculate percentages and choose color based on the percentage
    local percentages = {0.85, 0.75, 0.70, 0.65, 0.60} -- Percentages
    local colors = {"#ff9999", "#7aa7ff", "#d699ff", "#fff59e", "#b3f1ff"} -- Corresponding colors
    
    for i, percent in ipairs(percentages) do
        local value = math.floor(inputNumber * percent)
        local color = colors[i]
        table.insert(output, "| style=\"background-color: " .. color .. ";\" | 1/" .. value)
    end
    
    return table.concat(output, '\n')
end

return p