From 5827984f0f5823f4f885c3743002b6dbd41dba8e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 17 Feb 2025 08:38:01 +0000 Subject: [PATCH] Update config, LuaLS definitions, bundle and changelog --- config.lua | 260 ++++++++++++++++++++++----------------------- release/basalt.lua | 15 ++- src/LuaLS.lua | 81 ++++++++++++++ 3 files changed, 222 insertions(+), 134 deletions(-) diff --git a/config.lua b/config.lua index 7610385..484e23c 100644 --- a/config.lua +++ b/config.lua @@ -1,37 +1,145 @@ return { ["files"] = { - ["src/log.lua"] = { - ["name"] = "log", - ["path"] = "log.lua", + ["src/plugins/benchmark.lua"] = { + ["name"] = "benchmark", + ["path"] = "plugins/benchmark.lua", }, - ["src/plugins/reactive.lua"] = { - ["name"] = "reactive", - ["path"] = "plugins/reactive.lua", - }, - ["src/errorManager.lua"] = { - ["name"] = "errorManager", - ["path"] = "errorManager.lua", - }, - ["src/libraries/expect.lua"] = { - ["name"] = "expect", - ["path"] = "libraries/expect.lua", - }, - ["src/propertySystem.lua"] = { - ["name"] = "propertySystem", - ["path"] = "propertySystem.lua", - }, - ["src/elements/ProgressBar.lua"] = { - ["name"] = "ProgressBar", - ["path"] = "elements/ProgressBar.lua", + ["src/elementManager.lua"] = { + ["name"] = "elementManager", + ["path"] = "elementManager.lua", }, ["src/elements/VisualElement.lua"] = { ["name"] = "VisualElement", ["path"] = "elements/VisualElement.lua", }, + ["src/elements/Label.lua"] = { + ["name"] = "Label", + ["path"] = "elements/Label.lua", + }, + ["src/log.lua"] = { + ["name"] = "log", + ["path"] = "log.lua", + }, + ["src/elements/Tree.lua"] = { + ["name"] = "Tree", + ["path"] = "elements/Tree.lua", + }, + ["src/LuaLS.lua"] = { + ["name"] = "LuaLS", + ["path"] = "LuaLS.lua", + }, + ["src/libraries/expect.lua"] = { + ["name"] = "expect", + ["path"] = "libraries/expect.lua", + }, + ["src/libraries/colorHex.lua"] = { + ["name"] = "colorHex", + ["path"] = "libraries/colorHex.lua", + }, + ["src/propertySystem.lua"] = { + ["name"] = "propertySystem", + ["path"] = "propertySystem.lua", + }, + ["src/elements/List.lua"] = { + ["name"] = "List", + ["path"] = "elements/List.lua", + }, + ["src/plugins/xml.lua"] = { + ["name"] = "xml", + ["path"] = "plugins/xml.lua", + }, + ["src/main.lua"] = { + ["name"] = "main", + ["path"] = "main.lua", + }, + ["src/plugins/reactive.lua"] = { + ["name"] = "reactive", + ["path"] = "plugins/reactive.lua", + }, + ["src/elements/ProgressBar.lua"] = { + ["name"] = "ProgressBar", + ["path"] = "elements/ProgressBar.lua", + }, + ["src/elements/Button.lua"] = { + ["name"] = "Button", + ["path"] = "elements/Button.lua", + }, + ["src/elements/Input.lua"] = { + ["name"] = "Input", + ["path"] = "elements/Input.lua", + }, + ["src/elements/Menu.lua"] = { + ["name"] = "Menu", + ["path"] = "elements/Menu.lua", + }, + ["src/plugins/pluginTemplate.lua"] = { + ["name"] = "pluginTemplate", + ["path"] = "plugins/pluginTemplate.lua", + }, + ["src/elements/Program.lua"] = { + ["name"] = "Program", + ["path"] = "elements/Program.lua", + }, + ["src/render.lua"] = { + ["name"] = "render", + ["path"] = "render.lua", + }, + ["src/elements/Frame.lua"] = { + ["name"] = "Frame", + ["path"] = "elements/Frame.lua", + }, + ["src/elements/Dropdown.lua"] = { + ["name"] = "Dropdown", + ["path"] = "elements/Dropdown.lua", + }, + ["src/plugins/state.lua"] = { + ["name"] = "state", + ["path"] = "plugins/state.lua", + }, + ["src/plugins/animation.lua"] = { + ["name"] = "animation", + ["path"] = "plugins/animation.lua", + }, + ["src/plugins/theme.lua"] = { + ["name"] = "theme", + ["path"] = "plugins/theme.lua", + }, + ["src/elements/Table.lua"] = { + ["name"] = "Table", + ["path"] = "elements/Table.lua", + }, + ["src/plugins/debug.lua"] = { + ["name"] = "debug", + ["path"] = "plugins/debug.lua", + }, + ["src/elements/Container.lua"] = { + ["name"] = "Container", + ["path"] = "elements/Container.lua", + }, + ["src/elements/BaseFrame.lua"] = { + ["name"] = "BaseFrame", + ["path"] = "elements/BaseFrame.lua", + }, + ["src/init.lua"] = { + ["name"] = "init", + ["path"] = "init.lua", + }, ["src/libraries/utils.lua"] = { ["name"] = "utils", ["path"] = "libraries/utils.lua", }, + ["src/elements/Slider.lua"] = { + ["name"] = "Slider", + ["path"] = "elements/Slider.lua", + }, + ["src/errorManager.lua"] = { + ["name"] = "errorManager", + ["path"] = "errorManager.lua", + }, + ["src/elements/Flexbox.lua"] = { + ["name"] = "Flexbox", + ["path"] = "elements/Flexbox.lua", + }, ["src/elements/BaseElement.lua"] = { ["name"] = "BaseElement", ["path"] = "elements/BaseElement.lua", @@ -40,113 +148,5 @@ return { ["name"] = "Checkbox", ["path"] = "elements/Checkbox.lua", }, - ["src/plugins/animation.lua"] = { - ["name"] = "animation", - ["path"] = "plugins/animation.lua", - }, - ["src/libraries/colorHex.lua"] = { - ["name"] = "colorHex", - ["path"] = "libraries/colorHex.lua", - }, - ["src/elements/Program.lua"] = { - ["name"] = "Program", - ["path"] = "elements/Program.lua", - }, - ["src/elements/Slider.lua"] = { - ["name"] = "Slider", - ["path"] = "elements/Slider.lua", - }, - ["src/elements/Frame.lua"] = { - ["name"] = "Frame", - ["path"] = "elements/Frame.lua", - }, - ["src/elementManager.lua"] = { - ["name"] = "elementManager", - ["path"] = "elementManager.lua", - }, - ["src/elements/List.lua"] = { - ["name"] = "List", - ["path"] = "elements/List.lua", - }, - ["src/elements/Container.lua"] = { - ["name"] = "Container", - ["path"] = "elements/Container.lua", - }, - ["src/plugins/theme.lua"] = { - ["name"] = "theme", - ["path"] = "plugins/theme.lua", - }, - ["src/LuaLS.lua"] = { - ["name"] = "LuaLS", - ["path"] = "LuaLS.lua", - }, - ["src/init.lua"] = { - ["name"] = "init", - ["path"] = "init.lua", - }, - ["src/render.lua"] = { - ["name"] = "render", - ["path"] = "render.lua", - }, - ["src/plugins/state.lua"] = { - ["name"] = "state", - ["path"] = "plugins/state.lua", - }, - ["src/elements/Menu.lua"] = { - ["name"] = "Menu", - ["path"] = "elements/Menu.lua", - }, - ["src/elements/Tree.lua"] = { - ["name"] = "Tree", - ["path"] = "elements/Tree.lua", - }, - ["src/plugins/pluginTemplate.lua"] = { - ["name"] = "pluginTemplate", - ["path"] = "plugins/pluginTemplate.lua", - }, - ["src/plugins/xml.lua"] = { - ["name"] = "xml", - ["path"] = "plugins/xml.lua", - }, - ["src/plugins/debug.lua"] = { - ["name"] = "debug", - ["path"] = "plugins/debug.lua", - }, - ["src/elements/Button.lua"] = { - ["name"] = "Button", - ["path"] = "elements/Button.lua", - }, - ["src/main.lua"] = { - ["name"] = "main", - ["path"] = "main.lua", - }, - ["src/elements/BaseFrame.lua"] = { - ["name"] = "BaseFrame", - ["path"] = "elements/BaseFrame.lua", - }, - ["src/elements/Dropdown.lua"] = { - ["name"] = "Dropdown", - ["path"] = "elements/Dropdown.lua", - }, - ["src/plugins/benchmark.lua"] = { - ["name"] = "benchmark", - ["path"] = "plugins/benchmark.lua", - }, - ["src/elements/Label.lua"] = { - ["name"] = "Label", - ["path"] = "elements/Label.lua", - }, - ["src/elements/Input.lua"] = { - ["name"] = "Input", - ["path"] = "elements/Input.lua", - }, - ["src/elements/Table.lua"] = { - ["name"] = "Table", - ["path"] = "elements/Table.lua", - }, - ["src/elements/Flexbox.lua"] = { - ["name"] = "Flexbox", - ["path"] = "elements/Flexbox.lua", - }, }, } \ No newline at end of file diff --git a/release/basalt.lua b/release/basalt.lua index 6084185..e21b129 100644 --- a/release/basalt.lua +++ b/release/basalt.lua @@ -1092,7 +1092,9 @@ if not self.get("childrenEventsSorted")then for dc in pairs(self._values.childrenEvents)do self:sortChildrenEvents(dc)end end for dc,_d in ipairs(self.get("visibleChildren"))do if _d==self then -self.basalt.LOGGER.error("CIRCULAR REFERENCE DETECTED!")return end;_d:render()end end;return _c end +self.basalt.LOGGER.error("CIRCULAR REFERENCE DETECTED!")return end;_d:render()end end;function _c:destroy() +for dc,_d in ipairs(self._values.children)do _d:destroy()end;ab.destroy(self)end;return +_c end project["elements/Slider.lua"] = function(...) local c=require("elements/VisualElement") local d=setmetatable({},c)d.__index=d d.defineProperty(d,"step",{default=1,type="number",canTriggerRender=true}) @@ -1170,9 +1172,14 @@ ipairs(self._values.eventCallbacks[ba])do local _b=da(self,...)return _b end end self:handleEvent(ba,...)end;function aa:handleEvent(ba,...)return false end function aa:getBaseFrame()if self.parent then return -self.parent:getBaseFrame()end;return self end;function aa:destroy()end -function aa:updateRender()if(self.parent)then -self.parent:updateRender()else self._renderUpdate=true end end;return aa end +self.parent:getBaseFrame()end;return self end +function aa:destroy() +if self.parent then self.parent:removeChild(self)end +for ba in pairs(self._registeredEvents)do self:listenEvent(ba,false)end;self._values.eventCallbacks={}self._props=nil;self._values=nil;self.basalt= +nil;self.parent=nil;self.__index=nil +setmetatable(self,nil)end +function aa:updateRender()if(self.parent)then self.parent:updateRender()else +self._renderUpdate=true end end;return aa end project["elements/Checkbox.lua"] = function(...) local c=require("elements/VisualElement") local d=setmetatable({},c)d.__index=d d.defineProperty(d,"checked",{default=false,type="boolean",canTriggerRender=true}) diff --git a/src/LuaLS.lua b/src/LuaLS.lua index 1f72fc8..40769f8 100644 --- a/src/LuaLS.lua +++ b/src/LuaLS.lua @@ -952,3 +952,84 @@ function VisualElement:setVisible(visible) self.visible = visible return self end + +--- {button number, x number, y number} Fired when the element is clicked +---@generic Element: VisualElement +---@param self Element +---@param callback function +---@return Element +function VisualElement:onOnMouseClick(callback) + return self +end + +--- {button number, x number, y number} Fired when the mouse is released +---@generic Element: VisualElement +---@param self Element +---@param callback function +---@return Element +function VisualElement:onOnMouseUp(callback) + return self +end + +--- {button number, x number, y number} Fired when the mouse is released +---@generic Element: VisualElement +---@param self Element +---@param callback function +---@return Element +function VisualElement:onOnMouseRelease(callback) + return self +end + +--- {button number, x number, y number} Fired when the mouse is dragged +---@generic Element: VisualElement +---@param self Element +---@param callback function +---@return Element +function VisualElement:onOnMouseDrag(callback) + return self +end + +--- {-} Fired when the element is focused +---@generic Element: VisualElement +---@param self Element +---@param callback function +---@return Element +function VisualElement:onOnFocus(callback) + return self +end + +--- {-} Fired when the element is blurred +---@generic Element: VisualElement +---@param self Element +---@param callback function +---@return Element +function VisualElement:onOnBlur(callback) + return self +end + +--- {key number, code number, isRepeat boolean} Fired when a key is pressed +---@generic Element: VisualElement +---@param self Element +---@param callback function +---@return Element +function VisualElement:onOnKey(callback) + return self +end + +--- {key number, code number} Fired when a key is released +---@generic Element: VisualElement +---@param self Element +---@param callback function +---@return Element +function VisualElement:onOnKeyUp(callback) + return self +end + +--- {char string} Fired when a key is pressed +---@generic Element: VisualElement +---@param self Element +---@param callback function +---@return Element +function VisualElement:onOnChar(callback) + return self +end