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