@xuda.io/runtime-bundle 1.0.1259 → 1.0.1260
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -34049,7 +34049,30 @@ func.UI.screen.set_attributes_new = async function (SESSION_ID, is_skeleton, $ro
|
|
|
34049
34049
|
|
|
34050
34050
|
// ALL
|
|
34051
34051
|
|
|
34052
|
-
|
|
34052
|
+
function sortArrayByIncludedStrings(mainArray, searchStrings) {
|
|
34053
|
+
return mainArray.sort((a, b) => {
|
|
34054
|
+
// Check if 'a' includes any of the search strings
|
|
34055
|
+
const aIncludesSearchString = searchStrings.some((str) => a[0].includes(str));
|
|
34056
|
+
// Check if 'b' includes any of the search strings
|
|
34057
|
+
const bIncludesSearchString = searchStrings.some((str) => b[0].includes(str));
|
|
34058
|
+
|
|
34059
|
+
if (aIncludesSearchString && !bIncludesSearchString) {
|
|
34060
|
+
// 'a' has a search string, 'b' doesn't, so 'a' comes first
|
|
34061
|
+
return -1;
|
|
34062
|
+
} else if (!aIncludesSearchString && bIncludesSearchString) {
|
|
34063
|
+
// 'b' has a search string, 'a' doesn't, so 'b' comes first
|
|
34064
|
+
return 1;
|
|
34065
|
+
} else {
|
|
34066
|
+
// Both or neither include a search string, maintain original relative order or use another sorting criteria
|
|
34067
|
+
// For example, you could sort alphabetically here:
|
|
34068
|
+
return a.localeCompare(b);
|
|
34069
|
+
}
|
|
34070
|
+
});
|
|
34071
|
+
}
|
|
34072
|
+
|
|
34073
|
+
const sortedAttrs = sortArrayByIncludedStrings(Object.entries(nodeP.attributes), ['xu-exp:xu-render', 'xu-render', 'xu-exp:program', 'program']);
|
|
34074
|
+
|
|
34075
|
+
for await (const [key, val] of sortedAttrs) {
|
|
34053
34076
|
if (_ret.abort || $container?.data()?.xuData?.pending_to_delete) break;
|
|
34054
34077
|
if (glb.html5_events_handler.includes(key) || execute_attributes.includes(key)) {
|
|
34055
34078
|
continue;
|