Repository URL to install this package:
|
Version:
7.1.26 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const composition_1 = require("composition");
const utils_1 = require("@skava/utils");
const exotic_1 = require("exotic");
const BLACKLISTED_PROPERTIES = Object.freeze([
'accessControl',
'layoutHeight',
'hasAreaSpecificEvents',
'lockByGroup',
'parallaxBgUrlMoveRatio',
'hideToolbar',
'parallaxBackground',
'layoutLeft',
'absoluteLayout',
'layoutWidth',
'cacheControl',
'hideDimension',
'layoutTop',
'idx',
'zIndex',
]);
const fromObjToLabelValue = (obj) => {
return Object.keys(obj).map(key => {
return {
label: key,
value: obj[key],
};
});
};
const transformProperties = (properties) => {
const remainingProperties = utils_1.omit(properties, BLACKLISTED_PROPERTIES);
const asLabelValueList = fromObjToLabelValue(remainingProperties);
return asLabelValueList;
};
const transformItemProperties = (facetItems) => {
return facetItems
.filter(item => exotic_1.isSafe(item.facets) && exotic_1.isObj(item.facets))
.map(item => fromObjToLabelValue(item.facets))
.map(currentItemFacets => {
return { facets: currentItemFacets };
});
};
const transformWidget = (widget) => {
const properties = transformProperties(widget.properties);
const items = transformItemProperties(widget.items);
const componentName = widget.widgetType;
const remapped = Object.assign({}, widget, { componentName, properties, items });
return remapped;
};
const fetchViewsHomePage = (views) => {
return Object.keys(views).map(cellId => {
const cell = views[cellId];
const widget = transformWidget(cell.widget);
return { cellId, widget };
});
};
const transformMarketingPage = (response) => {
const { string, number, obj } = composition_1.getTyped(response.page);
const transformed = {
index: number('index'),
pageId: string('pageId'),
pageName: string('pageName'),
layoutType: string('layoutType'),
dimensions: obj('dimensions.1'),
gridLayout: obj('gridLayout'),
views: fetchViewsHomePage(obj('views.1.cells')),
};
return transformed;
};
exports.transformMarketingPage = transformMarketingPage;
/**
* 1. go through all the pages
* 2. `if` we are looking for a number, find the page at that index
* @example { [1]: }
* `else` we are looking for a path
* @example pages[1].pageName === pageIdOrPathName
*/
const transformHasStudioPage = (response, pageIdOrPathName) => {
const { obj } = composition_1.getTyped(response.model);
const pages = obj('pages');
const isPageIdEhNumber = exotic_1.isNumberish(pageIdOrPathName);
const pageId = Object.keys(pages)
.map(exotic_1.toNumber)
.filter(Boolean)
.find(indexProperty => {
if (isPageIdEhNumber) {
return indexProperty === pageIdOrPathName;
}
else {
return pages[indexProperty].pageName === pageIdOrPathName;
}
});
const hasPage = pageId !== undefined;
return { hasPage, pageId };
};
exports.transformHasStudioPage = transformHasStudioPage;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBocWwtbW9kdWxlcy9zdHVkaW8vc3RyZWFtL2VuZHBvaW50cy90cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2Q0FBc0M7QUFDdEMsd0NBQW1DO0FBQ25DLG1DQUE2RDtBQVM3RCxNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDM0MsZUFBZTtJQUNmLGNBQWM7SUFDZCx1QkFBdUI7SUFDdkIsYUFBYTtJQUNiLHdCQUF3QjtJQUN4QixhQUFhO0lBQ2Isb0JBQW9CO0lBQ3BCLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLGNBQWM7SUFDZCxlQUFlO0lBQ2YsV0FBVztJQUNYLEtBQUs7SUFDTCxRQUFRO0NBQ1QsQ0FBQyxDQUFBO0FBRUYsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQVcsRUFBZ0IsRUFBRTtJQUN4RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2hDLE9BQU87WUFDTCxLQUFLLEVBQUUsR0FBRztZQUNWLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDO1NBQ2hCLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxVQUFxQyxFQUFFLEVBQUU7SUFDcEUsTUFBTSxtQkFBbUIsR0FBRyxZQUFJLENBQUMsVUFBVSxFQUFFLHNCQUFzQixDQUFDLENBQUE7SUFDcEUsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQ2pFLE9BQU8sZ0JBQWdCLENBQUE7QUFDekIsQ0FBQyxDQUFBO0FBRUQsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFVBQTJCLEVBQUUsRUFBRTtJQUM5RCxPQUFPLFVBQVU7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