diff --git a/library/i18n/locales/ar/posterDesign.json b/library/i18n/locales/ar/posterDesign.json index 9b0f3fed2..ab83863f5 100644 --- a/library/i18n/locales/ar/posterDesign.json +++ b/library/i18n/locales/ar/posterDesign.json @@ -40,7 +40,8 @@ "cards": "بطاقات الصلاة", "wall": "ألواح الجدار", "mapPrint": "طباعة الخريطة", - "plugins": "من إضافات أخرى" + "plugins": "من إضافات أخرى", + "experimental": "تجريبية (قيد العمل)" }, "tpl": { "mapSheetCountry": "صفحة خريطة الدولة", diff --git a/library/i18n/locales/de/posterDesign.json b/library/i18n/locales/de/posterDesign.json index 5c07f781e..b4823a4b0 100644 --- a/library/i18n/locales/de/posterDesign.json +++ b/library/i18n/locales/de/posterDesign.json @@ -40,7 +40,8 @@ "cards": "Gebetskarten", "wall": "Wandtafeln", "mapPrint": "Kartendruck", - "plugins": "Aus anderen Plugins" + "plugins": "Aus anderen Plugins", + "experimental": "Experimentell (in Arbeit)" }, "tpl": { "mapSheetCountry": "Länder-Kartenblatt", diff --git a/library/i18n/locales/en/posterDesign.json b/library/i18n/locales/en/posterDesign.json index b37b07769..4f94c53aa 100644 --- a/library/i18n/locales/en/posterDesign.json +++ b/library/i18n/locales/en/posterDesign.json @@ -40,7 +40,8 @@ "cards": "Prayer cards", "wall": "Wall panels", "mapPrint": "Map print", - "plugins": "From other plugins" + "plugins": "From other plugins", + "experimental": "Experimental (in progress)" }, "tpl": { "mapSheetCountry": "Country map sheet", diff --git a/library/i18n/locales/es/posterDesign.json b/library/i18n/locales/es/posterDesign.json index 57d10b7bd..e7ebef669 100644 --- a/library/i18n/locales/es/posterDesign.json +++ b/library/i18n/locales/es/posterDesign.json @@ -40,7 +40,8 @@ "cards": "Tarjetas de oración", "wall": "Paneles de pared", "mapPrint": "Impresión del mapa", - "plugins": "De otros complementos" + "plugins": "De otros complementos", + "experimental": "Experimentales (en desarrollo)" }, "tpl": { "mapSheetCountry": "Hoja de mapa del país", diff --git a/library/i18n/locales/fr/posterDesign.json b/library/i18n/locales/fr/posterDesign.json index cfab7c740..92d86bbad 100644 --- a/library/i18n/locales/fr/posterDesign.json +++ b/library/i18n/locales/fr/posterDesign.json @@ -40,7 +40,8 @@ "cards": "Cartes de prière", "wall": "Panneaux muraux", "mapPrint": "Impression de la carte", - "plugins": "D’autres plugins" + "plugins": "D’autres plugins", + "experimental": "Expérimentaux (en cours)" }, "tpl": { "mapSheetCountry": "Feuille de carte du pays", diff --git a/library/i18n/locales/hi/posterDesign.json b/library/i18n/locales/hi/posterDesign.json index 60b700f86..f20ff68aa 100644 --- a/library/i18n/locales/hi/posterDesign.json +++ b/library/i18n/locales/hi/posterDesign.json @@ -40,7 +40,8 @@ "cards": "प्रार्थना कार्ड", "wall": "दीवार पैनल", "mapPrint": "मानचित्र प्रिंट", - "plugins": "अन्य प्लगइन से" + "plugins": "अन्य प्लगइन से", + "experimental": "प्रयोगात्मक (काम जारी)" }, "tpl": { "mapSheetCountry": "देश का मानचित्र पृष्ठ", diff --git a/library/i18n/locales/it/posterDesign.json b/library/i18n/locales/it/posterDesign.json index 8ef668a29..a93daddee 100644 --- a/library/i18n/locales/it/posterDesign.json +++ b/library/i18n/locales/it/posterDesign.json @@ -40,7 +40,8 @@ "cards": "Schede di preghiera", "wall": "Pannelli da parete", "mapPrint": "Stampa della mappa", - "plugins": "Da altri plugin" + "plugins": "Da altri plugin", + "experimental": "Sperimentali (in corso)" }, "tpl": { "mapSheetCountry": "Foglio mappa del paese", diff --git a/library/i18n/locales/pt/posterDesign.json b/library/i18n/locales/pt/posterDesign.json index 6cc35a844..cf6c4ec2e 100644 --- a/library/i18n/locales/pt/posterDesign.json +++ b/library/i18n/locales/pt/posterDesign.json @@ -40,7 +40,8 @@ "cards": "Cartões de oração", "wall": "Painéis de parede", "mapPrint": "Impressão do mapa", - "plugins": "De outros plugins" + "plugins": "De outros plugins", + "experimental": "Experimentais (em andamento)" }, "tpl": { "mapSheetCountry": "Folha de mapa do país", diff --git a/library/i18n/locales/ro/posterDesign.json b/library/i18n/locales/ro/posterDesign.json index e49d992a4..a15bab493 100644 --- a/library/i18n/locales/ro/posterDesign.json +++ b/library/i18n/locales/ro/posterDesign.json @@ -40,7 +40,8 @@ "cards": "Cartonașe de rugăciune", "wall": "Panouri de perete", "mapPrint": "Tipărirea hărții", - "plugins": "Din alte pluginuri" + "plugins": "Din alte pluginuri", + "experimental": "Experimentale (în lucru)" }, "tpl": { "mapSheetCountry": "Foaie de hartă a țării", diff --git a/library/i18n/locales/ru/posterDesign.json b/library/i18n/locales/ru/posterDesign.json index 9ef47bbe0..5bfbc12c2 100644 --- a/library/i18n/locales/ru/posterDesign.json +++ b/library/i18n/locales/ru/posterDesign.json @@ -40,7 +40,8 @@ "cards": "Молитвенные карточки", "wall": "Настенные панели", "mapPrint": "Печать карты", - "plugins": "Из других плагинов" + "plugins": "Из других плагинов", + "experimental": "Экспериментальные (в работе)" }, "tpl": { "mapSheetCountry": "Лист карты страны", diff --git a/library/i18n/locales/zh/posterDesign.json b/library/i18n/locales/zh/posterDesign.json index 242396f13..a004ec6bd 100644 --- a/library/i18n/locales/zh/posterDesign.json +++ b/library/i18n/locales/zh/posterDesign.json @@ -40,7 +40,8 @@ "cards": "祷告卡", "wall": "墙面展板", "mapPrint": "地图打印", - "plugins": "来自其他插件" + "plugins": "来自其他插件", + "experimental": "实验性(进行中)" }, "tpl": { "mapSheetCountry": "国家地图页", diff --git a/plugin-designs/poster-design/poster-styles.vue b/plugin-designs/poster-design/poster-styles.vue index 1fe3febbe..d83478d8c 100644 --- a/plugin-designs/poster-design/poster-styles.vue +++ b/plugin-designs/poster-design/poster-styles.vue @@ -74,12 +74,21 @@ const pluginLabel = (d) => { return `${pluginTitle(d)}: ${declaredSizeText(d.size, t)}` } +// PRODUCTION designs first, by family. EXPERIMENTAL ones (marked in templates.js: still being designed, or no +// preview) and every other plugin's design (made by its own plugin, so drawn nowhere here) go last, in ONE +// Experimental group that starts collapsed. +const isExperimental = (id) => byPluginName.value.has(id) || byName.get(id)?.experimental === true +const experimentalHeading = computed(() => t('posterDesign.family.experimental')) // No `count`: these are templates, not lists of people, so the sticker reads "Show full details" alone. -const items = computed(() => [ - ...configs.map((c) => ({ id: c.name, label: labelOf(c) })), - ...pluginDesigns.value.map((d) => ({ id: d.name, label: pluginLabel(d) })), -]) -const groupBy = (item) => (byPluginName.value.has(item.id) ? t('posterDesign.family.plugins') : t(FAMILY_KEYS[byName.get(item.id)?.family] || FAMILY_KEYS.mapSheet)) +const items = computed(() => { + const all = [ + ...configs.map((c) => ({ id: c.name, label: labelOf(c) })), + ...pluginDesigns.value.map((d) => ({ id: d.name, label: pluginLabel(d) })), + ] + return [...all.filter((x) => !isExperimental(x.id)), ...all.filter((x) => isExperimental(x.id))] +}) +const groupBy = (item) => (isExperimental(item.id) ? experimentalHeading.value : t(FAMILY_KEYS[byName.get(item.id)?.family] || FAMILY_KEYS.mapSheet)) +const collapsedBy = (sec) => (sec && sec.name) === experimentalHeading.value // PosterWall passes the section // ── drawing a configuration from the library ────────────────────────────────────────────────── const countryById = (id) => (countryData.countries || []).find((c) => c.id === id) @@ -240,6 +249,7 @@ useShadowStyles(` unit="" item-count-key="posterDesign.templateCount" :collapsible="true" + :collapsed-by="collapsedBy" :header-action="{ labelKey: 'posterDesign.showFullDetails', ariaKey: 'posterDesign.showFullDetailsAria' }" :preview-src="previewSrc" :unsupported="withheld" diff --git a/plugin-designs/poster-design/src/templates.js b/plugin-designs/poster-design/src/templates.js index 5a2297fce..183167327 100644 --- a/plugin-designs/poster-design/src/templates.js +++ b/plugin-designs/poster-design/src/templates.js @@ -34,9 +34,10 @@ export const SAMPLE_COUNTRY_ID = 'country-npl' export const SHEET_FORMATS = { // `size` is the printed size as data (src/sizeText.js names it in the reader's language): inches, side lanes, paper. '3x3': { size: { dims: [36, 36] }, px: [1500, 1500] }, - '60x96': { size: { dims: [60, 96], lanes: true }, px: [2500, 4000], sample: 'country-ind' }, - '66x66': { size: { dims: [66, 66], lanes: true }, px: [2750, 2750], sample: 'country-chn', missing: 'posterDesign.missing.noCountryAtSize' }, - '36x60': { size: { dims: [36, 60], lanes: true }, px: [1500, 2500], sample: 'country-sdn', missing: 'posterDesign.missing.noCountryAtSize' }, + // experimental: still being designed, or no drawable preview; Styles lists these in a collapsed Experimental group. + '60x96': { size: { dims: [60, 96], lanes: true }, px: [2500, 4000], sample: 'country-ind', experimental: true }, + '66x66': { size: { dims: [66, 66], lanes: true }, px: [2750, 2750], sample: 'country-chn', missing: 'posterDesign.missing.noCountryAtSize', experimental: true }, + '36x60': { size: { dims: [36, 60], lanes: true }, px: [1500, 2500], sample: 'country-sdn', missing: 'posterDesign.missing.noCountryAtSize', experimental: true }, '3x4': { size: { dims: [36, 48] }, px: [1500, 2000], legacy: true }, letter: { size: { paper: 'letter' }, px: [1500, 1941] }, packet: { size: { paper: 'letter', packetPage: true }, px: [1500, 1941] }, @@ -61,6 +62,7 @@ function sheetEntry(format) { size: f.size, px: f.px, legacy: !!f.legacy, + ...(f.experimental ? { experimental: true } : {}), ...(f.missing ? { missing: f.missing } : {}), renderer: 'library/packet/posterSheets.js generateCountrySheet → library/packet/poster-render.js', settings: { format }, @@ -117,6 +119,7 @@ export function listConfigurations() { settings: {}, sample: null, render: null, + experimental: true, // no preview: it prints the live map the reader is looking at missing: 'posterDesign.missing.mapPrint', }, ] diff --git a/public/dx-maps/doxa-maps-spa/manifest.json b/public/dx-maps/doxa-maps-spa/manifest.json index c64ba904d..57b00fa8b 100644 --- a/public/dx-maps/doxa-maps-spa/manifest.json +++ b/public/dx-maps/doxa-maps-spa/manifest.json @@ -1277,7 +1277,7 @@ "bundle": "poster-design", "scriptUrl": "./poster-design/poster-design.js", "output": "dx-maps/poster-design/poster-design.js", - "integrity": "sha384-kVf5O9aAROlIj262oQXNtH1vNc5BlieUEotbouNaKdiFsmAUqwmSIkVNRrYQqgGE", + "integrity": "sha384-8ma38d8X5WOwsDXKjPFFx8Edr7w6bDsrLjYQIf/m6zCu9VWO2uogLYWqDbaEIjj7", "elements": [ "poster-design" ], @@ -1300,7 +1300,7 @@ "scriptUrl": "./poster-design/poster-design.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -1316,7 +1316,7 @@ "scriptUrl": "./poster-design/poster-design.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -1332,7 +1332,7 @@ "scriptUrl": "./poster-design/poster-design.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } } ] diff --git a/public/dx-maps/manifest.json b/public/dx-maps/manifest.json index c64ba904d..57b00fa8b 100644 --- a/public/dx-maps/manifest.json +++ b/public/dx-maps/manifest.json @@ -1277,7 +1277,7 @@ "bundle": "poster-design", "scriptUrl": "./poster-design/poster-design.js", "output": "dx-maps/poster-design/poster-design.js", - "integrity": "sha384-kVf5O9aAROlIj262oQXNtH1vNc5BlieUEotbouNaKdiFsmAUqwmSIkVNRrYQqgGE", + "integrity": "sha384-8ma38d8X5WOwsDXKjPFFx8Edr7w6bDsrLjYQIf/m6zCu9VWO2uogLYWqDbaEIjj7", "elements": [ "poster-design" ], @@ -1300,7 +1300,7 @@ "scriptUrl": "./poster-design/poster-design.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -1316,7 +1316,7 @@ "scriptUrl": "./poster-design/poster-design.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } }, { @@ -1332,7 +1332,7 @@ "scriptUrl": "./poster-design/poster-design.js", "embed": { "iframe": "", - "script": "\n\n\n" + "script": "\n\n\n" } } ] diff --git a/public/dx-maps/poster-design/poster-design-mfe/index.html b/public/dx-maps/poster-design/poster-design-mfe/index.html index 2bcb56c47..bccb110c5 100644 --- a/public/dx-maps/poster-design/poster-design-mfe/index.html +++ b/public/dx-maps/poster-design/poster-design-mfe/index.html @@ -73,7 +73,7 @@ - + - + - +