Source: widget/help/catalogues/_Special.js

(function() {
    /**
     * this backend connector is a base class to handle special content catalogues
     * @abstract
     */
    Help4.widget.help.catalogues._Special = class {
        static ID = 'CMP__Special';
        static CATALOGUE_TYPE = '_Special';

        /** @returns {Help4.widget.help.DataTypes} */
        static getDataType() {
            return 'SEN';   // re-using SEN type
        }

        /**
         * delivers a dummy catalogue; real data is added in {@link Help4.widget.help.Data.prototype.getHelpTiles}
         * @param {Help4.typedef.SystemConfiguration} config - the system configuration
         * @returns {Help4.widget.help.catalogues.SEN.CatalogueProjects|null}
         */
        static load({core: {screenId, language, product, system, version}}) {
            const {ID, CATALOGUE_TYPE} = this;
            const {published} = Help4.widget.help.PUBLISHED_STATUS;

            const project = /** @type {Help4.widget.help.catalogues.SEN.CatalogueProject} */ {
                alias: ID,
                appUrl: screenId,  // fit to current screen
                conditions: [],
                contextType: 'HELP',
                hidden: false,
                id: ID,
                locale: language.wpb,  // fit to current configuration
                loio: ID,
                modification_time: '',
                product,
                published,
                system,
                title: ID,
                version,
                _catalogueType: CATALOGUE_TYPE,
                _dataType: this.getDataType()
            };

            const head = Help4.cloneObject(project);
            return {pub: [project], head: [head]};
        }
    }
})();