UNPKG

@adobe/cq-angular-editable-components

Version:

* [API](#api) * [Documentation](#documentation) * [Changelog](#changelog)

71 lines 7.88 kB
/* * ADOBE CONFIDENTIAL * * Copyright 2018 Adobe Systems Incorporated * All Rights Reserved. * * NOTICE: All information contained herein is, and remains * the property of Adobe Systems Incorporated and its suppliers, * if any. The intellectual and technical concepts contained * herein are proprietary to Adobe Systems Incorporated and its * suppliers and may be covered by U.S. and Foreign Patents, * patents in process, and are protected by trade secret or copyright law. * Dissemination of this information or reproduction of this material * is strictly forbidden unless prior written permission is obtained * from Adobe Systems Incorporated. */ import { ComponentMapping as SPAComponentMapping } from '@adobe/cq-spa-component-mapping'; /** * The current class extends the @adobe/cq-spa-component-mapping#Mapto library and features with Angular specifics such as * * - Storing the editing configurations for each resource type */ var ComponentMappingWithConfig = /** @class */ (function () { function ComponentMappingWithConfig(spaMapping) { this.spaMapping = spaMapping; /** * Store of EditConfig structures */ this.editConfigMap = {}; } /** * Stores a component class for the given resource types and also allows to provide an EditConfig object * @param resourceTypes - List of resource types * @param clazz - Component class to be stored * @param [editConfig] - Edit configuration to be stored for the given resource types */ ComponentMappingWithConfig.prototype.map = function (resourceTypes, clazz, editConfig) { if (editConfig === void 0) { editConfig = null; } var innerClass = clazz; if (editConfig) { this.editConfigMap[resourceTypes] = editConfig; } this.spaMapping.map(resourceTypes, innerClass); }; ; /** * Returns the component class for the given resourceType * @param resourceType - Resource type for which the component class has been stored */ ComponentMappingWithConfig.prototype.get = function (resourceType) { return this.spaMapping.get(resourceType); }; /** * Returns the EditConfig structure for the given type * @param resourceType - Resource type for which the configuration has been stored */ ComponentMappingWithConfig.prototype.getEditConfig = function (resourceType) { return this.editConfigMap[resourceType]; }; return ComponentMappingWithConfig; }()); export { ComponentMappingWithConfig }; var componentMapping = new ComponentMappingWithConfig(SPAComponentMapping); function MapTo(resourceTypes) { return function (clazz, editConfig) { if (editConfig === void 0) { editConfig = null; } return componentMapping.map(resourceTypes, clazz, editConfig); }; } export { componentMapping as ComponentMapping, MapTo }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LW1hcHBpbmcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRvYmUvY3EtYW5ndWxhci1lZGl0YWJsZS1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2xheW91dC9jb21wb25lbnQtbWFwcGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsZ0JBQWdCLElBQUksbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRjs7OztHQUlHO0FBQ0g7SUFNRSxvQ0FBb0IsVUFBOEI7UUFBOUIsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFMbEQ7O1dBRUc7UUFDSyxrQkFBYSxHQUFHLEVBQUUsQ0FBQztJQUUwQixDQUFDO0lBRXREOzs7OztPQUtHO0lBQ0gsd0NBQUcsR0FBSCxVQUFJLGFBQWEsRUFBRSxLQUFLLEVBQUUsVUFBaUI7UUFBakIsMkJBQUEsRUFBQSxpQkFBaUI7UUFDdkMsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXZCLElBQUksVUFBVSxFQUFFO1lBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsR0FBRyxVQUFVLENBQUM7U0FDbEQ7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUFBLENBQUM7SUFFRjs7O09BR0c7SUFDSCx3Q0FBRyxHQUFILFVBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtEQUFhLEdBQWIsVUFBYyxZQUFZO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0gsaUNBQUM7QUFBRCxDQUFDLEFBdENELElBc0NDOztBQUVELElBQUksZ0JBQWdCLEdBQUcsSUFBSSwwQkFBMEIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBRTNFLFNBQVMsS0FBSyxDQUFDLGFBQWE7SUFDeEIsT0FBTyxVQUFDLEtBQUssRUFBRSxVQUFpQjtRQUFqQiwyQkFBQSxFQUFBLGlCQUFpQjtRQUM1QixPQUFPLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQztBQUNOLENBQUM7QUFHRCxPQUFPLEVBQUUsZ0JBQWdCLElBQUksZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQURPQkUgQ09ORklERU5USUFMXG4gKlxuICogQ29weXJpZ2h0IDIwMTggQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWRcbiAqIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTk9USUNFOiAgQWxsIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaXMsIGFuZCByZW1haW5zXG4gKiB0aGUgcHJvcGVydHkgb2YgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQgYW5kIGl0cyBzdXBwbGllcnMsXG4gKiBpZiBhbnkuICBUaGUgaW50ZWxsZWN0dWFsIGFuZCB0ZWNobmljYWwgY29uY2VwdHMgY29udGFpbmVkXG4gKiBoZXJlaW4gYXJlIHByb3ByaWV0YXJ5IHRvIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkIGFuZCBpdHNcbiAqIHN1cHBsaWVycyBhbmQgbWF5IGJlIGNvdmVyZWQgYnkgVS5TLiBhbmQgRm9yZWlnbiBQYXRlbnRzLFxuICogcGF0ZW50cyBpbiBwcm9jZXNzLCBhbmQgYXJlIHByb3RlY3RlZCBieSB0cmFkZSBzZWNyZXQgb3IgY29weXJpZ2h0IGxhdy5cbiAqIERpc3NlbWluYXRpb24gb2YgdGhpcyBpbmZvcm1hdGlvbiBvciByZXByb2R1Y3Rpb24gb2YgdGhpcyBtYXRlcmlhbFxuICogaXMgc3RyaWN0bHkgZm9yYmlkZGVuIHVubGVzcyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24gaXMgb2J0YWluZWRcbiAqIGZyb20gQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGluZyBhcyBTUEFDb21wb25lbnRNYXBwaW5nIH0gZnJvbSAnQGFkb2JlL2NxLXNwYS1jb21wb25lbnQtbWFwcGluZyc7XG5cbi8qKlxuICogVGhlIGN1cnJlbnQgY2xhc3MgZXh0ZW5kcyB0aGUgQGFkb2JlL2NxLXNwYS1jb21wb25lbnQtbWFwcGluZyNNYXB0byBsaWJyYXJ5IGFuZCBmZWF0dXJlcyB3aXRoIEFuZ3VsYXIgc3BlY2lmaWNzIHN1Y2ggYXNcbiAqXG4gKiAtIFN0b3JpbmcgdGhlIGVkaXRpbmcgY29uZmlndXJhdGlvbnMgZm9yIGVhY2ggcmVzb3VyY2UgdHlwZVxuICovXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50TWFwcGluZ1dpdGhDb25maWcge1xuICAvKipcbiAgICogU3RvcmUgb2YgRWRpdENvbmZpZyBzdHJ1Y3R1cmVzXG4gICAqL1xuICBwcml2YXRlIGVkaXRDb25maWdNYXAgPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNwYU1hcHBpbmc6U1BBQ29tcG9uZW50TWFwcGluZykge31cblxuICAvKipcbiAgICogU3RvcmVzIGEgY29tcG9uZW50IGNsYXNzIGZvciB0aGUgZ2l2ZW4gcmVzb3VyY2UgdHlwZXMgYW5kIGFsc28gYWxsb3dzIHRvIHByb3ZpZGUgYW4gRWRpdENvbmZpZyBvYmplY3RcbiAgICogQHBhcmFtIHJlc291cmNlVHlwZXMgLSBMaXN0IG9mIHJlc291cmNlIHR5cGVzXG4gICAqIEBwYXJhbSBjbGF6eiAtIENvbXBvbmVudCBjbGFzcyB0byBiZSBzdG9yZWRcbiAgICogQHBhcmFtIFtlZGl0Q29uZmlnXSAtIEVkaXQgY29uZmlndXJhdGlvbiB0byBiZSBzdG9yZWQgZm9yIHRoZSBnaXZlbiByZXNvdXJjZSB0eXBlc1xuICAgKi9cbiAgbWFwKHJlc291cmNlVHlwZXMsIGNsYXp6LCBlZGl0Q29uZmlnID0gbnVsbCkge1xuICAgICAgbGV0IGlubmVyQ2xhc3MgPSBjbGF6ejtcblxuICAgICAgaWYgKGVkaXRDb25maWcpIHtcbiAgICAgICAgICB0aGlzLmVkaXRDb25maWdNYXBbcmVzb3VyY2VUeXBlc10gPSBlZGl0Q29uZmlnO1xuICAgICAgfVxuICAgICAgdGhpcy5zcGFNYXBwaW5nLm1hcChyZXNvdXJjZVR5cGVzLCBpbm5lckNsYXNzKTtcbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY29tcG9uZW50IGNsYXNzIGZvciB0aGUgZ2l2ZW4gcmVzb3VyY2VUeXBlXG4gICAqIEBwYXJhbSByZXNvdXJjZVR5cGUgLSBSZXNvdXJjZSB0eXBlIGZvciB3aGljaCB0aGUgY29tcG9uZW50IGNsYXNzIGhhcyBiZWVuIHN0b3JlZFxuICAgKi9cbiAgZ2V0KHJlc291cmNlVHlwZSkge1xuICAgIHJldHVybiB0aGlzLnNwYU1hcHBpbmcuZ2V0KHJlc291cmNlVHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgRWRpdENvbmZpZyBzdHJ1Y3R1cmUgZm9yIHRoZSBnaXZlbiB0eXBlXG4gICAqIEBwYXJhbSByZXNvdXJjZVR5cGUgLSBSZXNvdXJjZSB0eXBlIGZvciB3aGljaCB0aGUgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBzdG9yZWRcbiAgICovXG4gIGdldEVkaXRDb25maWcocmVzb3VyY2VUeXBlKSB7XG4gICAgcmV0dXJuIHRoaXMuZWRpdENvbmZpZ01hcFtyZXNvdXJjZVR5cGVdO1xuICB9XG59XG5cbmxldCBjb21wb25lbnRNYXBwaW5nID0gbmV3IENvbXBvbmVudE1hcHBpbmdXaXRoQ29uZmlnKFNQQUNvbXBvbmVudE1hcHBpbmcpO1xuXG5mdW5jdGlvbiBNYXBUbyhyZXNvdXJjZVR5cGVzKSB7XG4gICAgcmV0dXJuIChjbGF6eiwgZWRpdENvbmZpZyA9IG51bGwpID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudE1hcHBpbmcubWFwKHJlc291cmNlVHlwZXMsIGNsYXp6LCBlZGl0Q29uZmlnKTtcbiAgICB9O1xufVxuXG5cbmV4cG9ydCB7IGNvbXBvbmVudE1hcHBpbmcgYXMgQ29tcG9uZW50TWFwcGluZywgTWFwVG8gfTtcbiJdfQ==