Every poster template the library prints, in one place, so the designs can be compared side by side and handed to an agent by name. - poster-design-mfe: the two-tab element (capability 4), the same shape as country-posters-mfe: the shared ViewSelect over Styles and Sizes, each tab its own element, one ShareButton for the composite. - poster-styles: the library's PosterWall, one card per configuration (src/templates.js: country map sheets at each format, the packet page, the packet variants, every card stock, the Bless wall panels, the map print). Through PosterWall's host seams the header sticker reads "Show full details" and opens a dialog with the configuration name, size, file size, settings, sample and renderer, and each thumbnail is drawn from the library with sample data (Nepal) when it comes into view. Templates the gallery cannot draw yet say which part is missing. The dialog fits a phone (border-box), and in Arabic its file size and the configuration name stay whole (LRI…PDI isolates). - poster-sizes: waits for the shared size table rather than keeping a second list of sizes. check:poster-design-catalogue (gates:pre) keeps the catalogue true: its sheet formats match poster-render FORMATS, names are unique, the card entries are card-render STOCK, its keys exist, the sample can be drawn.
23 lines
983 B
JavaScript
23 lines
983 B
JavaScript
/**
|
|
* plugin-designs/poster-design/index.js: the Poster Design bundle entry.
|
|
*
|
|
* One tag, <poster-design>, and three profiles in this folder:
|
|
* poster-design-mfe the two-tab element (Styles + Sizes), the one a gallery mounts;
|
|
* poster-styles every poster template, one card per configuration;
|
|
* poster-sizes every poster size.
|
|
*
|
|
* <script src="…/poster-design/poster-design.js"></script>
|
|
* <poster-design profile-config='{"profile":"poster-design-mfe"}'></poster-design>
|
|
*/
|
|
import { defineMapElement } from '@map/elements/defineMapElement.js'
|
|
|
|
// Flat: './*.vue' finds the profiles beside this file (src/ holds private components, not profiles).
|
|
const profileModules = import.meta.glob('./*.vue')
|
|
|
|
const PosterDesignElement = defineMapElement({ profileModules })
|
|
|
|
if (typeof customElements !== 'undefined' && !customElements.get('poster-design')) {
|
|
customElements.define('poster-design', PosterDesignElement)
|
|
}
|
|
|
|
export default PosterDesignElement
|