@adobe/cq-angular-editable-components
Version:
* [API](#api) * [Documentation](#documentation) * [Changelog](#changelog)
64 lines • 5.56 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.
*/
/**
* Selector that identifies the node that contains the WCM mode state
*/
const WCM_MODE_META_SELECTOR = 'meta[property="cq:wcmmode"]';
/**
* The editor is in one of the edition modes
*/
const EDIT_MODE = 'edit';
/**
* The editor is in preview mode
*/
const PREVIEW_MODE = 'preview';
/**
* Returns if we are in the browser context or not by checking for the
* existence of the window object
*/
function isBrowser() {
try {
return typeof window !== 'undefined';
}
catch (e) {
return false;
}
}
/**
* Returns the current WCM mode
*
* <p>Note that the value isn't, as of the date of this writing, updated by the editor</p>
*/
function getWCMMode() {
if (isBrowser()) {
const wcmModeMeta = document.head.querySelector(WCM_MODE_META_SELECTOR);
return wcmModeMeta && wcmModeMeta.content;
}
}
/**
* Helper functions for interacting with the AEM environment
*/
export const Utils = {
/**
* Is the app used in the context of the AEM Page editor
*/
isInEditor() {
const wcmMode = getWCMMode();
return wcmMode && (EDIT_MODE === wcmMode || PREVIEW_MODE === wcmMode);
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRvYmUvY3EtYW5ndWxhci1lZGl0YWJsZS1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2xheW91dC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSDs7R0FFRztBQUNILE1BQU0sc0JBQXNCLEdBQVUsNkJBQTZCLENBQUM7QUFFcEU7O0dBRUc7QUFDSCxNQUFNLFNBQVMsR0FBVSxNQUFNLENBQUM7QUFFaEM7O0dBRUc7QUFDSCxNQUFNLFlBQVksR0FBVSxTQUFTLENBQUM7QUFDdEM7OztHQUdHO0FBQ0gsU0FBUyxTQUFTO0lBQ2QsSUFBSTtRQUNBLE9BQU8sT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDO0tBQ3hDO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDUixPQUFPLEtBQUssQ0FBQztLQUNoQjtBQUNMLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxVQUFVO0lBQ2YsSUFBSSxTQUFTLEVBQUUsRUFBRTtRQUNmLE1BQU0sV0FBVyxHQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDNUUsT0FBTyxXQUFXLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQztLQUMzQztBQUNMLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztJQUVqQjs7T0FFRztJQUNILFVBQVU7UUFDTixNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM3QixPQUFPLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxPQUFPLElBQUksWUFBWSxLQUFLLE9BQU8sQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEFET0JFIENPTkZJREVOVElBTFxuICpcbiAqIENvcHlyaWdodCAyMDE4IEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkXG4gKiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIE5PVElDRTogIEFsbCBpbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGlzLCBhbmQgcmVtYWluc1xuICogdGhlIHByb3BlcnR5IG9mIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkIGFuZCBpdHMgc3VwcGxpZXJzLFxuICogaWYgYW55LiAgVGhlIGludGVsbGVjdHVhbCBhbmQgdGVjaG5pY2FsIGNvbmNlcHRzIGNvbnRhaW5lZFxuICogaGVyZWluIGFyZSBwcm9wcmlldGFyeSB0byBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZCBhbmQgaXRzXG4gKiBzdXBwbGllcnMgYW5kIG1heSBiZSBjb3ZlcmVkIGJ5IFUuUy4gYW5kIEZvcmVpZ24gUGF0ZW50cyxcbiAqIHBhdGVudHMgaW4gcHJvY2VzcywgYW5kIGFyZSBwcm90ZWN0ZWQgYnkgdHJhZGUgc2VjcmV0IG9yIGNvcHlyaWdodCBsYXcuXG4gKiBEaXNzZW1pbmF0aW9uIG9mIHRoaXMgaW5mb3JtYXRpb24gb3IgcmVwcm9kdWN0aW9uIG9mIHRoaXMgbWF0ZXJpYWxcbiAqIGlzIHN0cmljdGx5IGZvcmJpZGRlbiB1bmxlc3MgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uIGlzIG9idGFpbmVkXG4gKiBmcm9tIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLlxuICovXG5cbi8qKlxuICogU2VsZWN0b3IgdGhhdCBpZGVudGlmaWVzIHRoZSBub2RlIHRoYXQgY29udGFpbnMgdGhlIFdDTSBtb2RlIHN0YXRlXG4gKi9cbmNvbnN0IFdDTV9NT0RFX01FVEFfU0VMRUNUT1I6c3RyaW5nID0gJ21ldGFbcHJvcGVydHk9XCJjcTp3Y21tb2RlXCJdJztcblxuLyoqXG4gKiBUaGUgZWRpdG9yIGlzIGluIG9uZSBvZiB0aGUgZWRpdGlvbiBtb2Rlc1xuICovXG5jb25zdCBFRElUX01PREU6c3RyaW5nID0gJ2VkaXQnO1xuXG4vKipcbiAqIFRoZSBlZGl0b3IgaXMgaW4gcHJldmlldyBtb2RlXG4gKi9cbmNvbnN0IFBSRVZJRVdfTU9ERTpzdHJpbmcgPSAncHJldmlldyc7XG4vKipcbiAqIFJldHVybnMgaWYgd2UgYXJlIGluIHRoZSBicm93c2VyIGNvbnRleHQgb3Igbm90IGJ5IGNoZWNraW5nIGZvciB0aGVcbiAqIGV4aXN0ZW5jZSBvZiB0aGUgd2luZG93IG9iamVjdFxuICovXG5mdW5jdGlvbiBpc0Jyb3dzZXIoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBjdXJyZW50IFdDTSBtb2RlXG4gKlxuICogPHA+Tm90ZSB0aGF0IHRoZSB2YWx1ZSBpc24ndCwgYXMgb2YgdGhlIGRhdGUgb2YgdGhpcyB3cml0aW5nLCB1cGRhdGVkIGJ5IHRoZSBlZGl0b3I8L3A+XG4gKi9cbmZ1bmN0aW9uIGdldFdDTU1vZGUoKSB7XG4gICAgaWYgKGlzQnJvd3NlcigpKSB7XG4gICAgICBjb25zdCB3Y21Nb2RlTWV0YTphbnkgPSBkb2N1bWVudC5oZWFkLnF1ZXJ5U2VsZWN0b3IoV0NNX01PREVfTUVUQV9TRUxFQ1RPUik7XG4gICAgICByZXR1cm4gd2NtTW9kZU1ldGEgJiYgd2NtTW9kZU1ldGEuY29udGVudDtcbiAgICB9XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9ucyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgQUVNIGVudmlyb25tZW50XG4gKi9cbmV4cG9ydCBjb25zdCBVdGlscyA9IHtcblxuICAgIC8qKlxuICAgICAqIElzIHRoZSBhcHAgdXNlZCBpbiB0aGUgY29udGV4dCBvZiB0aGUgQUVNIFBhZ2UgZWRpdG9yXG4gICAgICovXG4gICAgaXNJbkVkaXRvcigpIHtcbiAgICAgICAgY29uc3Qgd2NtTW9kZSA9IGdldFdDTU1vZGUoKTtcbiAgICAgICAgcmV0dXJuIHdjbU1vZGUgJiYgKEVESVRfTU9ERSA9PT0gd2NtTW9kZSB8fCBQUkVWSUVXX01PREUgPT09IHdjbU1vZGUpO1xuICAgIH1cbn07XG4iXX0=