Skip to content

Commit d6642ad

Browse files
author
Sabine Lim
authored
Remove property whitelist (#81)
1 parent eb80f2d commit d6642ad

File tree

1 file changed

+3
-301
lines changed

1 file changed

+3
-301
lines changed

Basalt/plugins/xml.lua

Lines changed: 3 additions & 301 deletions
Original file line numberDiff line numberDiff line change
@@ -256,15 +256,6 @@ return {
256256
VisualObject = function(base, basalt)
257257

258258
local object = {
259-
updateSpecifiedValuesByXMLData = function(self, data, valueNames)
260-
for _, name in ipairs(valueNames) do
261-
local value = xmlValue(name, data)
262-
if (value ~= nil) then
263-
self:setProperty(name, value)
264-
end
265-
end
266-
end,
267-
268259
setValuesByXMLData = function(self, data, renderContext)
269260
renderContext.env[self:getName()] = self
270261
for prop, expression in pairs(data:reactiveProperties()) do
@@ -274,14 +265,9 @@ return {
274265
end
275266
basalt.effect(update)
276267
end
277-
self:updateSpecifiedValuesByXMLData(data, {
278-
"x",
279-
"y",
280-
"width",
281-
"height",
282-
"background",
283-
"foreground"
284-
})
268+
for _, prop in ipairs(data:properties()) do
269+
self:setProperty(prop.name, prop.value)
270+
end
285271
registerFunctionEvents(self, data, {
286272
"onClick",
287273
"onClickUp",
@@ -309,9 +295,6 @@ return {
309295
local object = {
310296
setValuesByXMLData = function(self, data, renderContext)
311297
base.setValuesByXMLData(self, data, renderContext)
312-
self:updateSpecifiedValuesByXMLData(data, {
313-
"value"
314-
})
315298
registerFunctionEvent(self, data, {
316299
"onChange"
317300
}, renderContext)
@@ -410,239 +393,10 @@ return {
410393
return object
411394
end,
412395

413-
BaseFrame = function(base, basalt)
414-
local object = {
415-
setValuesByXMLData = function(self, data, renderContext)
416-
base.setValuesByXMLData(self, data, renderContext)
417-
self:updateSpecifiedValuesByXMLData(data, {
418-
"xOffset",
419-
"yOffset"
420-
})
421-
return self
422-
end,
423-
}
424-
return object
425-
end,
426-
427-
Frame = function(base, basalt)
428-
local object = {
429-
setValuesByXMLData = function(self, data, renderContext)
430-
base.setValuesByXMLData(self, data, renderContext)
431-
self:updateSpecifiedValuesByXMLData(data, {
432-
"xOffset",
433-
"yOffset"
434-
})
435-
return self
436-
end,
437-
}
438-
return object
439-
end,
440-
441-
Flexbox = function(base, basalt)
442-
local object = {
443-
setValuesByXMLData = function(self, data, renderContext)
444-
base.setValuesByXMLData(self, data, renderContext)
445-
self:updateSpecifiedValuesByXMLData(data, {
446-
"flexDirection",
447-
"justifyContent",
448-
"alignItems",
449-
"spacing"
450-
})
451-
return self
452-
end,
453-
}
454-
return object
455-
end,
456-
457-
Button = function(base, basalt)
458-
local object = {
459-
setValuesByXMLData = function(self, data, renderContext)
460-
base.setValuesByXMLData(self, data, renderContext)
461-
self:updateSpecifiedValuesByXMLData(data, {
462-
"text",
463-
"horizontalAlign",
464-
"verticalAlign"
465-
})
466-
return self
467-
end,
468-
}
469-
return object
470-
end,
471-
472-
Label = function(base, basalt)
473-
local object = {
474-
setValuesByXMLData = function(self, data, renderContext)
475-
base.setValuesByXMLData(self, data, renderContext)
476-
self:updateSpecifiedValuesByXMLData(data, {
477-
"text",
478-
"textAlign"
479-
})
480-
return self
481-
end,
482-
}
483-
return object
484-
end,
485-
486-
Input = function(base, basalt)
487-
local object = {
488-
setValuesByXMLData = function(self, data, renderContext)
489-
base.setValuesByXMLData(self, data, renderContext)
490-
self:updateSpecifiedValuesByXMLData(data, {
491-
"defaultText",
492-
"defaultFG",
493-
"defaultBG",
494-
"offset",
495-
"textOffset",
496-
"text",
497-
"inputLimit"
498-
})
499-
return self
500-
end,
501-
}
502-
return object
503-
end,
504-
505-
Image = function(base, basalt)
506-
local object = {
507-
setValuesByXMLData = function(self, data, renderContext)
508-
base.setValuesByXMLData(self, data, renderContext)
509-
self:updateSpecifiedValuesByXMLData(data, {
510-
"xOffset",
511-
"yOffset",
512-
"path",
513-
"usePalette",
514-
"play"
515-
})
516-
return self
517-
end,
518-
}
519-
return object
520-
end,
521-
522-
Checkbox = function(base, basalt)
523-
local object = {
524-
setValuesByXMLData = function(self, data, renderContext)
525-
base.setValuesByXMLData(self, data, renderContext)
526-
self:updateSpecifiedValuesByXMLData(data, {
527-
"text",
528-
"checked",
529-
"textPosition",
530-
"activeSymbol",
531-
"inactiveSymbol"
532-
})
533-
return self
534-
end,
535-
}
536-
return object
537-
end,
538-
539-
Program = function(base, basalt)
540-
local object = {
541-
setValuesByXMLData = function(self, data, renderContext)
542-
base.setValuesByXMLData(self, data, renderContext)
543-
self:updateSpecifiedValuesByXMLData(data, {
544-
"execute"
545-
})
546-
return self
547-
end,
548-
}
549-
return object
550-
end,
551-
552-
Progressbar = function(base, basalt)
553-
local object = {
554-
setValuesByXMLData = function(self, data, renderContext)
555-
base.setValuesByXMLData(self, data, renderContext)
556-
self:updateSpecifiedValuesByXMLData(data, {
557-
"direction",
558-
"activeBarColor",
559-
"activeBarSymbol",
560-
"activeBarSymbolColor",
561-
"backgroundSymbol",
562-
"progress"
563-
})
564-
return self
565-
end,
566-
}
567-
return object
568-
end,
569-
570-
Slider = function(base, basalt)
571-
local object = {
572-
setValuesByXMLData = function(self, data, renderContext)
573-
base.setValuesByXMLData(self, data, renderContext)
574-
self:updateSpecifiedValuesByXMLData(data, {
575-
"symbol",
576-
"symbolColor",
577-
"index",
578-
"maxValue",
579-
"barType"
580-
})
581-
return self
582-
end,
583-
}
584-
return object
585-
end,
586-
587-
Scrollbar = function(base, basalt)
588-
local object = {
589-
setValuesByXMLData = function(self, data, renderContext)
590-
base.setValuesByXMLData(self, data, renderContext)
591-
self:updateSpecifiedValuesByXMLData(data, {
592-
"symbol",
593-
"symbolBG",
594-
"symbolFG",
595-
"symbolSize",
596-
"scrollAmount",
597-
"index",
598-
"barType"
599-
})
600-
return self
601-
end,
602-
}
603-
return object
604-
end,
605-
606-
MonitorFrame = function(base, basalt)
607-
local object = {
608-
setValuesByXMLData = function(self, data, renderContext)
609-
base.setValuesByXMLData(self, data, renderContext)
610-
self:updateSpecifiedValuesByXMLData(data, {
611-
"monitor"
612-
})
613-
return self
614-
end,
615-
}
616-
return object
617-
end,
618-
619-
Switch = function(base, basalt)
620-
local object = {
621-
setValuesByXMLData = function(self, data, renderContext)
622-
base.setValuesByXMLData(self, data, renderContext)
623-
self:updateSpecifiedValuesByXMLData(data, {
624-
"symbol",
625-
"activeBackground",
626-
"inactiveBackground"
627-
})
628-
return self
629-
end,
630-
}
631-
return object
632-
end,
633-
634396
Textfield = function(base, basalt)
635397
local object = {
636398
setValuesByXMLData = function(self, data, renderContext)
637399
base.setValuesByXMLData(self, data, renderContext)
638-
self:updateSpecifiedValuesByXMLData(data, {
639-
"selectionBG",
640-
"selectionFG",
641-
"xOffset",
642-
"yOffset"
643-
})
644-
645-
646400
if(data["lines"]~=nil)then
647401
local l = data["lines"]["line"]
648402
if(l.properties~=nil)then l = {l} end
@@ -703,10 +457,6 @@ return {
703457
local object = {
704458
setValuesByXMLData = function(self, data, renderContext)
705459
base.setValuesByXMLData(self, data, renderContext)
706-
self:updateSpecifiedValuesByXMLData(data, {
707-
"start",
708-
"time"
709-
})
710460
registerFunctionEvents(self, data, {
711461
"onCall"
712462
}, renderContext)
@@ -720,14 +470,6 @@ return {
720470
local object = {
721471
setValuesByXMLData = function(self, data, renderContext)
722472
base.setValuesByXMLData(self, data, renderContext)
723-
self:updateSpecifiedValuesByXMLData(data, {
724-
"textAlign",
725-
"offset",
726-
"selectionBg",
727-
"selectionFg",
728-
"scrollable"
729-
})
730-
731473
if(data["item"]~=nil)then
732474
local tab = data["item"]
733475
if(tab.properties~=nil)then tab = {tab} end
@@ -747,10 +489,6 @@ return {
747489
local object = {
748490
setValuesByXMLData = function(self, data, renderContext)
749491
base.setValuesByXMLData(self, data, renderContext)
750-
self:updateSpecifiedValuesByXMLData(data, {
751-
"dropdownWidth",
752-
"dropdownHeight"
753-
})
754492
return self
755493
end,
756494
}
@@ -761,13 +499,6 @@ return {
761499
local object = {
762500
setValuesByXMLData = function(self, data, renderContext)
763501
base.setValuesByXMLData(self, data, renderContext)
764-
self:updateSpecifiedValuesByXMLData(data, {
765-
"selectionBg",
766-
"selectionFg",
767-
"defaultBg",
768-
"defaultFg"
769-
})
770-
771502
if(data["item"]~=nil)then
772503
local tab = data["item"]
773504
if(tab.properties~=nil)then tab = {tab} end
@@ -781,32 +512,10 @@ return {
781512
return object
782513
end,
783514

784-
Menubar = function(base, basalt)
785-
local object = {
786-
setValuesByXMLData = function(self, data, renderContext)
787-
base.setValuesByXMLData(self, data, renderContext)
788-
self:updateSpecifiedValuesByXMLData(data, {
789-
"space",
790-
"scrollable"
791-
})
792-
return self
793-
end,
794-
}
795-
return object
796-
end,
797-
798515
Graph = function(base, basalt)
799516
local object = {
800517
setValuesByXMLData = function(self, data, renderContext)
801518
base.setValuesByXMLData(self, data, renderContext)
802-
self:updateSpecifiedValuesByXMLData(data, {
803-
"maxEntries",
804-
"graphType",
805-
"minValue",
806-
"maxValue",
807-
"graphSymbol",
808-
"graphSymbolColor"
809-
})
810519
if(data["item"]~=nil)then
811520
local tab = data["item"]
812521
if(tab.properties~=nil)then tab = {tab} end
@@ -824,13 +533,6 @@ return {
824533
local object = {
825534
setValuesByXMLData = function(self, data, renderContext)
826535
base.setValuesByXMLData(self, data, renderContext)
827-
self:updateSpecifiedValuesByXMLData(data, {
828-
"scrollable",
829-
"selectionBg",
830-
"selectionFg",
831-
"xOffset",
832-
"yOffset"
833-
})
834536
local function addNode(node, data)
835537
if(data["node"]~=nil)then
836538
local tab = data["node"]

0 commit comments

Comments
 (0)