@adobe/cq-angular-editable-components
Version:
* [API](#api) * [Documentation](#documentation) * [Changelog](#changelog)
71 lines • 7.88 kB
JavaScript
/*
* 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==