UNPKG

@adobe/cq-angular-editable-components

Version:

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

102 lines (101 loc) 7.72 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ /* * 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 { Component, Input } from '@angular/core'; import { Constants } from '../constants'; export class AEMContainerComponent { constructor() { this.path = ''; this.pagePath = ''; this.modelName = ''; } /** * Returns the aggregated path of this container path and the provided path * * @param {?} path - the provided path to aggregate with the container path * @return {?} */ getDataPath(path) { return this.path ? this.path + "/" + path : path; } /** * Return the page path from the data, defaulting to the provided pagePath to the container. * @return {?} */ getPagePath() { return this.cqModel[Constants.PATH_PROP] || this.pagePath; } /** * Returns the item data from the cqModel * * @param {?} itemKey - the itemKey to look for in the items. * @return {?} */ getItem(itemKey) { return this.cqModel[Constants.ITEMS_PROP][itemKey]; } /** * Returns the itemsOrder array from the cqModel * @return {?} */ get itemsOrder() { return this.cqModel && this.cqModel[Constants.ITEMS_ORDER_PROP]; } } AEMContainerComponent.decorators = [ { type: Component, args: [{ selector: 'aem-container', host: { '[attr.data-cq-data-path]': 'path' }, template: `<ng-container *ngFor="let itemKey of itemsOrder"> <ng-container [aemComponent] [cqModel]='getItem(itemKey)' [pagePath]='getPagePath()' [path]='getDataPath(itemKey)' [modelName]='itemKey'></ng-container> </ng-container> ` },] }, ]; /** @nocollapse */ AEMContainerComponent.ctorParameters = () => []; AEMContainerComponent.propDecorators = { "cqModel": [{ type: Input },], "path": [{ type: Input },], "pagePath": [{ type: Input },], "modelName": [{ type: Input },], }; function AEMContainerComponent_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ AEMContainerComponent.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ AEMContainerComponent.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ AEMContainerComponent.propDecorators; /** @type {?} */ AEMContainerComponent.prototype.cqModel; /** @type {?} */ AEMContainerComponent.prototype.path; /** @type {?} */ AEMContainerComponent.prototype.pagePath; /** @type {?} */ AEMContainerComponent.prototype.modelName; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWVtLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRvYmUvY3EtYW5ndWxhci1lZGl0YWJsZS1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2xheW91dC9hZW0tY29udGFpbmVyL2FlbS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUJBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFZekMsTUFBTTtJQU1KO29CQUp1QixFQUFFO3dCQUNFLEVBQUU7eUJBQ0QsRUFBRTtLQUVkOzs7Ozs7O0lBT2hCLFdBQVcsQ0FBQyxJQUFJO1FBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0tBQ2xEOzs7OztJQUtELFdBQVc7UUFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztLQUMzRDs7Ozs7OztJQU9ELE9BQU8sQ0FBQyxPQUFPO1FBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3BEOzs7OztJQUtELElBQUksVUFBVTtRQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FDakU7OztZQWhERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLElBQUksRUFBRTtvQkFDRiwwQkFBMEIsRUFBQyxNQUFNO2lCQUNwQztnQkFDRCxRQUFRLEVBQUU7OztDQUdYO2FBQ0E7Ozs7O3dCQUVFLEtBQUs7cUJBQ0wsS0FBSzt5QkFDTCxLQUFLOzBCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQURPQkUgQ09ORklERU5USUFMXG4gKlxuICogQ29weXJpZ2h0IDIwMTggQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWRcbiAqIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTk9USUNFOiAgQWxsIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaXMsIGFuZCByZW1haW5zXG4gKiB0aGUgcHJvcGVydHkgb2YgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQgYW5kIGl0cyBzdXBwbGllcnMsXG4gKiBpZiBhbnkuICBUaGUgaW50ZWxsZWN0dWFsIGFuZCB0ZWNobmljYWwgY29uY2VwdHMgY29udGFpbmVkXG4gKiBoZXJlaW4gYXJlIHByb3ByaWV0YXJ5IHRvIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkIGFuZCBpdHNcbiAqIHN1cHBsaWVycyBhbmQgbWF5IGJlIGNvdmVyZWQgYnkgVS5TLiBhbmQgRm9yZWlnbiBQYXRlbnRzLFxuICogcGF0ZW50cyBpbiBwcm9jZXNzLCBhbmQgYXJlIHByb3RlY3RlZCBieSB0cmFkZSBzZWNyZXQgb3IgY29weXJpZ2h0IGxhdy5cbiAqIERpc3NlbWluYXRpb24gb2YgdGhpcyBpbmZvcm1hdGlvbiBvciByZXByb2R1Y3Rpb24gb2YgdGhpcyBtYXRlcmlhbFxuICogaXMgc3RyaWN0bHkgZm9yYmlkZGVuIHVubGVzcyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24gaXMgb2J0YWluZWRcbiAqIGZyb20gQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWVtLWNvbnRhaW5lcicsXG4gIGhvc3Q6IHtcbiAgICAgICdbYXR0ci5kYXRhLWNxLWRhdGEtcGF0aF0nOidwYXRoJ1xuICB9LFxuICB0ZW1wbGF0ZTogYDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW1LZXkgb2YgaXRlbXNPcmRlclwiPlxuICA8bmctY29udGFpbmVyIFthZW1Db21wb25lbnRdIFtjcU1vZGVsXT0nZ2V0SXRlbShpdGVtS2V5KScgW3BhZ2VQYXRoXT0nZ2V0UGFnZVBhdGgoKScgW3BhdGhdPSdnZXREYXRhUGF0aChpdGVtS2V5KScgW21vZGVsTmFtZV09J2l0ZW1LZXknPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5gXG59KVxuZXhwb3J0IGNsYXNzIEFFTUNvbnRhaW5lckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNxTW9kZWw6YW55O1xuICBASW5wdXQoKSBwYXRoOnN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwYWdlUGF0aDpzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbW9kZWxOYW1lOnN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYWdncmVnYXRlZCBwYXRoIG9mIHRoaXMgY29udGFpbmVyIHBhdGggYW5kIHRoZSBwcm92aWRlZCBwYXRoXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoIC0gdGhlIHByb3ZpZGVkIHBhdGggdG8gYWdncmVnYXRlIHdpdGggdGhlIGNvbnRhaW5lciBwYXRoXG4gICAqL1xuICBnZXREYXRhUGF0aChwYXRoKSB7XG4gICAgcmV0dXJuIHRoaXMucGF0aCA/IHRoaXMucGF0aCArIFwiL1wiICsgcGF0aCA6IHBhdGg7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBwYWdlIHBhdGggZnJvbSB0aGUgZGF0YSwgZGVmYXVsdGluZyB0byB0aGUgcHJvdmlkZWQgcGFnZVBhdGggdG8gdGhlIGNvbnRhaW5lci5cbiAgICovXG4gIGdldFBhZ2VQYXRoKCkge1xuICAgIHJldHVybiB0aGlzLmNxTW9kZWxbQ29uc3RhbnRzLlBBVEhfUFJPUF0gfHwgdGhpcy5wYWdlUGF0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBpdGVtIGRhdGEgZnJvbSB0aGUgY3FNb2RlbFxuICAgKlxuICAgKiBAcGFyYW0gaXRlbUtleSAtIHRoZSBpdGVtS2V5IHRvIGxvb2sgZm9yIGluIHRoZSBpdGVtcy5cbiAgICovXG4gIGdldEl0ZW0oaXRlbUtleSkge1xuICAgIHJldHVybiB0aGlzLmNxTW9kZWxbQ29uc3RhbnRzLklURU1TX1BST1BdW2l0ZW1LZXldO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGl0ZW1zT3JkZXIgYXJyYXkgZnJvbSB0aGUgY3FNb2RlbFxuICAgKi9cbiAgZ2V0IGl0ZW1zT3JkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3FNb2RlbCAmJiB0aGlzLmNxTW9kZWxbQ29uc3RhbnRzLklURU1TX09SREVSX1BST1BdO1xuICB9XG59XG5cbiJdfQ==