serialize user defined block palettes

snap7
jmoenig 2021-07-22 11:13:14 +02:00
rodzic 7259be3f7d
commit 2c4ad3d081
3 zmienionych plików z 25 dodań i 2 usunięć

Wyświetl plik

@ -29,6 +29,9 @@
* German
* Chinese, thanks, Simon!
### 2021-07-22
* store: serialize user defined block palettes
### 2021-07-21
* user defined custom block palettes, under construction

Wyświetl plik

@ -30,7 +30,7 @@
<script src="src/maps.js?version=2021-06-15"></script>
<script src="src/extensions.js?version=2021-07-20"></script>
<script src="src/xml.js?version=2021-07-05"></script>
<script src="src/store.js?version=2021-07-16"></script>
<script src="src/store.js?version=2021-07-22"></script>
<script src="src/locale.js?version=2021-07-12"></script>
<script src="src/cloud.js?version=2021-02-04"></script>
<script src="src/api.js?version=2021-07-05"></script>

Wyświetl plik

@ -63,7 +63,7 @@ Project*/
// Global stuff ////////////////////////////////////////////////////////
modules.store = '2021-July-16';
modules.store = '2021-July-22';
// XML_Serializer ///////////////////////////////////////////////////////
/*
@ -1622,6 +1622,24 @@ SnapSerializer.prototype.loadColor = function (colorString) {
// SnapSerializer XML-representation of objects:
SnapSerializer.prototype.paletteToXML = function (aMap) {
var xml;
if (aMap.size === 0) {return ''; }
xml = '<palette>';
aMap.forEach((value, key) => {
xml += this.format(
'<category name="@" color="%,%,%,%"/>',
key,
value.r,
value.g,
value.b,
value.a
);
});
xml += '</palette>';
return xml;
};
// Generics
Array.prototype.toXML = function (serializer) {
@ -1682,6 +1700,7 @@ Scene.prototype.toXML = function (serializer) {
xml = serializer.format(
'<scene name="@"%>' +
'<notes>$</notes>' +
'%' +
'<hidden>$</hidden>' +
'<headers>%</headers>' +
'<code>%</code>' +
@ -1693,6 +1712,7 @@ Scene.prototype.toXML = function (serializer) {
'', // unified palette persistence commented out during development
// this.unifiedPalette ? ' palette="single"' : '',
this.notes || '',
serializer.paletteToXML(this.customCategories),
Object.keys(this.hiddenPrimitives).reduce(
(a, b) => a + ' ' + b,
''