import { InsertionPoint, NonBlocksInsertions, Placement } from './placements.models'; import { capitalize } from '../utils/strings'; import { IframeType } from 'dot-utils'; import { pathEq } from 'ramda'; import { ajaxAction } from '../ajax/ajax.utils'; export function resolveInsertionPointLabel(point: InsertionPoint) { return capitalize(point).replace(/-/g, ' '); } export function resolveFormat(format: IframeType) { const formatLabels = { [IframeType.Website]: 'Website', [IframeType.Amp]: 'AMP', }; return formatLabels[format]; } export function isAllTaxonomies(placement: Placement) { return pathEq(['meta', 'all_taxonomies', 0], '1', placement); } export function isNumeralInsertion(insertionPoint: InsertionPoint) { return ( ![InsertionPoint.AfterLastParagraph, InsertionPoint.AfterLastImage].includes( insertionPoint ) && !isNonBlockInsertion(insertionPoint) ); } export function triggerResetCache() { return Promise.all([ajaxAction({ action: 'dot_press_cache_reset' })]); } export function isNonBlockInsertion(insertionPoint: InsertionPoint) { return NonBlocksInsertions.includes(insertionPoint as InsertionPoint); }