Creates an instance of FixtureInstance.
Readonly
$iThe instance of RampMap API scoped to a single Vue R4MP application.
Readonly
idID of this fixture.
Indicates whether to keep the fixture when the language changes. Defaults to true. If only one config is provided for all languages, the fixture will be kept on language change, regardless of the value of the flag.
The instance of Vue R4MP application controlled by this InstanceAPI.
This is just a shorthand for this.$iApi.$vApp
.
Returns ExportConfig
section of the global config file.
Parses the export config JSON snippet from the config file and save to the fixture store.
Optional
exportConfig: ExportConfigOptional
addedAllows for a custom render callback function to be passed in to render the export canvas. The function should accept the blank ramp canvas as its first parameter and use that canvas to draw on. The width of the canvas is already set to the panel width, so the function only needs to set the height.
Individual export elements like the map or the legend can be accessed from the fabricObjects
object as the second parameter.
You can pick and chose which elements to add to the canvas, or modify them as needed. You can also add custom elements to the canvas.
Finally, the options
object is passed in as the third parameter. This object contains useful information such as the panel width, the default margins, the default canvas width, and the fabric object itself.
Some canvas operations are asynchronous like fetching an image or cloning objects. In these cases you should return a promise so ramp waits for your operations to complete, otherwise returning nothing (void) is fine.
ramp uses Fabric.js instead of the native canvas API. Read more about Fabric.js here: Fabric.js
myWatermarkingRenderer((canvas, fabricObjects, options) => {
const watermark = new fabric.Text('Watermark', { ... });
fabricObjects.map.addWithUpdate(watermark);
canvas.add(fabricObjects.map);
canvas.setHeight(1000);
});
rInstance.fixture.isLoaded('export').then(() => {
rInstance.fixture.get('export').customRenderer(myWatermarkingRenderer);
});
ExportAPI
Optional
initialized[Optional] Called after the core map logic has executed. If the fixture is added after the map initialization, this is called immediately.
At this point, any custom content (panels, on-map components, etc.) can be added to R4MP. Custom content can also be added throughout the life of the [module].
Helper with programatically creating a component in Vue 3 (replaces the deprecated Vue.extend)
Optional
removedStatic
updateAdds missing functions and properties to the object implementing FixtureBase interface. This is only needed for external fixtures as they can't inherit from FixtureInstance.
TODO: If you know a better way to deep-mixin props/getters/functions from a class into another class instance, please tell me. I honestly don't know 🤷♂️.
A base class for Fixture subclasses. It provides some utility functions to Fixtures and also gives access to
$iApi
and$vApp
globals.Export
FixtureInstance
Implements