Fix template default editor font previews
This commit is contained in:
1 parent
b71958cb38
commit
c40bc6844a
3 files changed
+14
No files matched your search
@@ -11,6 +11,7 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Template default-content WYSIWYG font menus now load managed font faces, matching slide editor previews.
|
||||
- Playlist offline fallback now uses only the current service-worker cache generation, and cached playlists no longer mask HTTP errors.
|
||||
|
||||
## 2.21.6 - 2026-10-27
|
||||
|
||||
@@ -46,6 +46,7 @@ function resolveTemplateCanvasSize(template, canvasSizes) {
|
||||
function buildTemplateFormViewModel(template, message, canvasSizes, currentUser, isEdit, mediaAssets, imageUploadMaxBytes, regionEditorData) {
|
||||
const current = resolveTemplateCanvasSize(template || buildDefaultTemplate(), canvasSizes || []);
|
||||
const assetVersion = Date.now().toString(36);
|
||||
const fontLibrary = regionEditorData && regionEditorData.fontLibrary ? regionEditorData.fontLibrary : null;
|
||||
|
||||
return {
|
||||
title: isEdit ? 'Edit template' : 'Create Template',
|
||||
@@ -66,6 +67,7 @@ function buildTemplateFormViewModel(template, message, canvasSizes, currentUser,
|
||||
canvasSizes: canvasSizes || [],
|
||||
mediaAssets: Array.isArray(mediaAssets) ? mediaAssets : [],
|
||||
regionEditorData: regionEditorData || {},
|
||||
stylesheets: fontLibrary && fontLibrary.stylesheetHref ? [fontLibrary.stylesheetHref] : [],
|
||||
imageUploadMaxBytes: Number(imageUploadMaxBytes) || 100 * 1024 * 1024,
|
||||
animationPresets: animationPresets,
|
||||
scripts: ['js/lib/modal.js?v=' + assetVersion, 'js/shared/region-layout.js?v=' + assetVersion, 'js/templates/animation-presets.js?v=' + assetVersion, 'vendor/qr-code-styling/qr-code-styling-loader.js?v=' + assetVersion].concat(getRegionEditorScripts(assetVersion), ['js/templates/template-designer-utils.js?v=' + assetVersion, 'js/shared/region-animation-controls.js?v=' + assetVersion, 'js/templates/template-designer.js?v=' + assetVersion])
|
||||
|
||||
@@ -12,6 +12,7 @@ const {
|
||||
} = require('../src/data/templates');
|
||||
const renderTemplateAddPage = require('../src/web/routes/signage/templates/add');
|
||||
const renderTemplateEditPage = require('../src/web/routes/signage/templates/edit');
|
||||
const { buildTemplateFormViewModel } = require('../src/web/routes/signage/templates/form-view-model');
|
||||
const { buildDuplicateTemplateName, buildDuplicateTemplate } = require('../src/web/routes/signage/templates/duplicate');
|
||||
const { buildThumbnailPreviewPayload } = require('../src/web/lib/media/slide-thumbnails');
|
||||
|
||||
@@ -610,6 +611,16 @@ test('template default content adapter reuses slide region helpers and TinyMCE c
|
||||
assert.match(source, /createSlideFormEditorController/);
|
||||
});
|
||||
|
||||
test('template editor loads the managed font stylesheet for its WYSIWYG font menu', () => {
|
||||
const viewModel = buildTemplateFormViewModel(null, '', [], null, false, [], 0, {
|
||||
fontLibrary: { stylesheetHref: '/media/fonts.css', fontFamilyFormats: 'Display Face="Display Face"' }
|
||||
});
|
||||
|
||||
assert.deepEqual(viewModel.stylesheets, ['/media/fonts.css']);
|
||||
assert.equal(viewModel.regionEditorData.fontLibrary.stylesheetHref, '/media/fonts.css');
|
||||
assert.deepEqual(buildTemplateFormViewModel(null, '', [], null, false, [], 0, {}).stylesheets, []);
|
||||
});
|
||||
|
||||
test('template designer restores region default content and read-only state from saved data', () => {
|
||||
const source = fs.readFileSync(require.resolve('../src/web/public/js/templates/template-designer.js'), 'utf8');
|
||||
const match = source.match(/ function populateRegionCard\([^]*?\n }/);
|
||||
|
||||
Reference in new issue
Block a user