Release 2.13.3

This commit is contained in:
2026-09-13 23:47:11 +01:00
parent fea29f6a3c
commit ac18644fe8
10 changed files with 25 additions and 9 deletions
+7
View File
@@ -2,6 +2,13 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 2.13.3 - 2026-09-13
### Fixed
- Fixed the template background image media picker Upload media button so it opens the file selector.
- Fixed the template designer empty background message moving when the background image is removed.
## 2.13.2 - 2026-09-11 ## 2.13.2 - 2026-09-11
### Changed ### Changed
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "pulse-signage-player", "name": "pulse-signage-player",
"version": "2.13.2", "version": "2.13.3",
"private": false, "private": false,
"description": "Pulse Signage player application bundle", "description": "Pulse Signage player application bundle",
"engines": { "engines": {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "pulse-signage-web", "name": "pulse-signage-web",
"version": "2.13.2", "version": "2.13.3",
"private": false, "private": false,
"description": "Pulse Signage web and bridge application bundle", "description": "Pulse Signage web and bridge application bundle",
"engines": { "engines": {
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "pulse-signage", "name": "pulse-signage",
"version": "2.13.2", "version": "2.13.3",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "pulse-signage", "name": "pulse-signage",
"version": "2.13.2", "version": "2.13.3",
"dependencies": { "dependencies": {
"@sparticuz/chromium": "^149.0.0", "@sparticuz/chromium": "^149.0.0",
"animate.css": "^4.1.1", "animate.css": "^4.1.1",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "pulse-signage", "name": "pulse-signage",
"version": "2.13.2", "version": "2.13.3",
"private": false, "private": false,
"description": "Pulse Signage application with MySQL and media storage", "description": "Pulse Signage application with MySQL and media storage",
"engines": { "engines": {
+8 -1
View File
@@ -160,9 +160,16 @@
if (!activeButton) { if (!activeButton) {
return null; return null;
} }
var explicitInputId = activeButton.getAttribute('data-media-picker-file-input');
if (explicitInputId) {
var explicitInput = document.getElementById(explicitInputId);
if (explicitInput) {
return explicitInput;
}
}
var hiddenKey = activeButton.getAttribute('data-media-picker-hidden'); var hiddenKey = activeButton.getAttribute('data-media-picker-hidden');
if (hiddenKey) { if (hiddenKey) {
var inputFromHidden = document.getElementById(hiddenKey.replace(/^existing_/, '')); var inputFromHidden = document.getElementById(hiddenKey.replace(/^existing[-_]/, ''));
if (inputFromHidden) { if (inputFromHidden) {
return inputFromHidden; return inputFromHidden;
} }
@@ -1797,7 +1797,7 @@
} }
backgroundPreview.removeAttribute('src'); backgroundPreview.removeAttribute('src');
backgroundPreview.style.display = 'none'; backgroundPreview.style.display = 'none';
backgroundEmpty.style.display = 'block'; backgroundEmpty.style.display = 'flex';
}); });
} }
if (animationAdvancedModal) { if (animationAdvancedModal) {
@@ -7,7 +7,6 @@
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-body d-grid gap-4"> <div class="modal-body d-grid gap-4">
<div class="alert alert-secondary mb-0">Changes here are saved into the region animation JSON and stay in sync with the preset dropdowns.</div>
<div class="row g-3"> <div class="row g-3">
<div class="col-12 col-lg-4"> <div class="col-12 col-lg-4">
<div class="card border-secondary-subtle"> <div class="card border-secondary-subtle">
+1 -1
View File
@@ -103,7 +103,7 @@
<div class="row g-3"> <div class="row g-3">
<div class="col-12 col-md-4"> <div class="col-12 col-md-4">
<input type="file" name="background_image" id="background-image" class="d-none" accept="image/*" /> <input type="file" name="background_image" id="background-image" class="d-none" accept="image/*" />
<button type="button" class="btn btn-outline-secondary w-100" data-media-picker data-media-picker-type="image" data-media-picker-hidden="existing-background-image-path"><i class="bi bi-images me-1" aria-hidden="true"></i>Choose</button> <button type="button" class="btn btn-outline-secondary w-100" data-media-picker data-media-picker-type="image" data-media-picker-hidden="existing-background-image-path" data-media-picker-file-input="background-image"><i class="bi bi-images me-1" aria-hidden="true"></i>Choose</button>
</div> </div>
<div class="col-12 col-md-4"> <div class="col-12 col-md-4">
<button type="button" class="btn btn-outline-secondary w-100" id="remove-background-image">Remove</button> <button type="button" class="btn btn-outline-secondary w-100" id="remove-background-image">Remove</button>
+3
View File
@@ -155,6 +155,9 @@ test('template create page renders the background remove control', () => {
assert.match(html, /id="remove-background-image"/); assert.match(html, /id="remove-background-image"/);
assert.match(html, /name="remove_background_image"/); assert.match(html, /name="remove_background_image"/);
assert.match(html, /data-media-picker-hidden="existing-background-image-path"/);
assert.match(html, /data-media-picker-file-input="background-image"/);
assert.match(html, /id="background-image"/);
assert.match(html, /placeholder="type_1"/); assert.match(html, /placeholder="type_1"/);
assert.match(html, /Save and Close/); assert.match(html, /Save and Close/);
assert.match(html, /Save and New/); assert.match(html, /Save and New/);