scrivito
Version:
Scrivito is a professional, yet easy to use SaaS Enterprise Content Management Service, built for digital agencies and medium to large businesses. It is completely maintenance-free, cost-effective, and has unprecedented performance and security.
1,141 lines (963 loc) • 886 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("@justrelate/slugify"), require("history"), require("lodash-es/debounce"), require("lodash-es/difference"), require("lodash-es/escape"), require("lodash-es/flattenDeep"), require("lodash-es/identity"), require("lodash-es/intersection"), require("lodash-es/isDate"), require("lodash-es/isElement"), require("lodash-es/isEmpty"), require("lodash-es/isEqual"), require("lodash-es/mapValues"), require("lodash-es/memoize"), require("lodash-es/merge"), require("lodash-es/omitBy"), require("lodash-es/once"), require("lodash-es/pick"), require("lodash-es/pickBy"), require("lodash-es/sortBy"), require("lodash-es/throttle"), require("lodash-es/unescape"), require("lodash-es/union"), require("lodash-es/uniqBy"), require("react"), require("react-dom"), require("urijs"));
else if(typeof define === 'function' && define.amd)
define(["@justrelate/slugify", "history", "lodash-es/debounce", "lodash-es/difference", "lodash-es/escape", "lodash-es/flattenDeep", "lodash-es/identity", "lodash-es/intersection", "lodash-es/isDate", "lodash-es/isElement", "lodash-es/isEmpty", "lodash-es/isEqual", "lodash-es/mapValues", "lodash-es/memoize", "lodash-es/merge", "lodash-es/omitBy", "lodash-es/once", "lodash-es/pick", "lodash-es/pickBy", "lodash-es/sortBy", "lodash-es/throttle", "lodash-es/unescape", "lodash-es/union", "lodash-es/uniqBy", "react", "react-dom", "urijs"], factory);
else if(typeof exports === 'object')
exports["scrivito"] = factory(require("@justrelate/slugify"), require("history"), require("lodash-es/debounce"), require("lodash-es/difference"), require("lodash-es/escape"), require("lodash-es/flattenDeep"), require("lodash-es/identity"), require("lodash-es/intersection"), require("lodash-es/isDate"), require("lodash-es/isElement"), require("lodash-es/isEmpty"), require("lodash-es/isEqual"), require("lodash-es/mapValues"), require("lodash-es/memoize"), require("lodash-es/merge"), require("lodash-es/omitBy"), require("lodash-es/once"), require("lodash-es/pick"), require("lodash-es/pickBy"), require("lodash-es/sortBy"), require("lodash-es/throttle"), require("lodash-es/unescape"), require("lodash-es/union"), require("lodash-es/uniqBy"), require("react"), require("react-dom"), require("urijs"));
else
root["scrivito"] = factory(root["@justrelate/slugify"], root["history"], root["lodash-es/debounce"], root["lodash-es/difference"], root["lodash-es/escape"], root["lodash-es/flattenDeep"], root["lodash-es/identity"], root["lodash-es/intersection"], root["lodash-es/isDate"], root["lodash-es/isElement"], root["lodash-es/isEmpty"], root["lodash-es/isEqual"], root["lodash-es/mapValues"], root["lodash-es/memoize"], root["lodash-es/merge"], root["lodash-es/omitBy"], root["lodash-es/once"], root["lodash-es/pick"], root["lodash-es/pickBy"], root["lodash-es/sortBy"], root["lodash-es/throttle"], root["lodash-es/unescape"], root["lodash-es/union"], root["lodash-es/uniqBy"], root["react"], root["react-dom"], root["urijs"]);
})((typeof self !== 'undefined' ? self : global), (__WEBPACK_EXTERNAL_MODULE__5929__, __WEBPACK_EXTERNAL_MODULE__9226__, __WEBPACK_EXTERNAL_MODULE__16__, __WEBPACK_EXTERNAL_MODULE__2064__, __WEBPACK_EXTERNAL_MODULE__3444__, __WEBPACK_EXTERNAL_MODULE__4737__, __WEBPACK_EXTERNAL_MODULE__6897__, __WEBPACK_EXTERNAL_MODULE__9866__, __WEBPACK_EXTERNAL_MODULE__8307__, __WEBPACK_EXTERNAL_MODULE__1821__, __WEBPACK_EXTERNAL_MODULE__5020__, __WEBPACK_EXTERNAL_MODULE__9477__, __WEBPACK_EXTERNAL_MODULE__7885__, __WEBPACK_EXTERNAL_MODULE__721__, __WEBPACK_EXTERNAL_MODULE__2925__, __WEBPACK_EXTERNAL_MODULE__8547__, __WEBPACK_EXTERNAL_MODULE__4102__, __WEBPACK_EXTERNAL_MODULE__6986__, __WEBPACK_EXTERNAL_MODULE__5231__, __WEBPACK_EXTERNAL_MODULE__5682__, __WEBPACK_EXTERNAL_MODULE__8551__, __WEBPACK_EXTERNAL_MODULE__3655__, __WEBPACK_EXTERNAL_MODULE__3718__, __WEBPACK_EXTERNAL_MODULE__3103__, __WEBPACK_EXTERNAL_MODULE__629__, __WEBPACK_EXTERNAL_MODULE__400__, __WEBPACK_EXTERNAL_MODULE__8819__) => {
return /******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ 3617:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ r: () => (/* binding */ absoluteUrl)
/* harmony export */ });
/* harmony import */ var urijs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8819);
/* harmony import */ var urijs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(urijs__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3703);
function absoluteUrl(url) {
const uri = urijs__WEBPACK_IMPORTED_MODULE_0__(url);
if (uri.normalizeProtocol().protocol() === "data") return url;
return uri.absoluteTo((0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_1__/* .currentHref */ .pb)()).toString();
}
/***/ }),
/***/ 1579:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ E: () => (/* binding */ provideAuthGroups),
/* harmony export */ N: () => (/* binding */ getAuthGroups)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1946);
const authGroupsState = (0,scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_0__/* .createStateContainer */ .Ld)();
function provideAuthGroups(authGroups) {
authGroupsState.set(authGroups);
}
function getAuthGroups() {
return authGroupsState.get();
}
/***/ }),
/***/ 4572:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ Dn: () => (/* binding */ isLatestNavigateToCallId),
/* harmony export */ fH: () => (/* binding */ getNextNavigateToCallId),
/* harmony export */ vU: () => (/* binding */ basicNavigateTo)
/* harmony export */ });
/* harmony import */ var urijs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8819);
/* harmony import */ var urijs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(urijs__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var scrivito_sdk_app_support_browser_location__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9004);
/* harmony import */ var scrivito_sdk_app_support_change_location__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2354);
/* harmony import */ var scrivito_sdk_app_support_destination_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7550);
/* harmony import */ var scrivito_sdk_app_support_routing__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7183);
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3703);
/* harmony import */ var scrivito_sdk_loadable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4772);
/* harmony import */ var scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(114);
/* harmony import */ var scrivito_sdk_realm__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(7461);
/* harmony import */ var scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(1946);
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
let latestCallId = 0;
function getNextNavigateToCallId() {
latestCallId++;
return latestCallId;
}
function isLatestNavigateToCallId(callId) {
return latestCallId === callId;
}
function basicNavigateTo(_0) {
return __async(this, arguments, function* (target, callId = getNextNavigateToCallId()) {
(0,scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_9__/* .failIfFrozen */ .q2)("basicNavigateTo");
const routingTarget = yield (0,scrivito_sdk_loadable__WEBPACK_IMPORTED_MODULE_6__/* .load */ .Hh)(() => destinationForTarget(target));
if (isLatestNavigateToCallId(callId)) {
switch (routingTarget.type) {
case "remote":
(0,scrivito_sdk_app_support_change_location__WEBPACK_IMPORTED_MODULE_2__/* .changeLocation */ .Uc)(routingTarget.url);
break;
case "local":
navigateToResource(routingTarget.resource);
break;
case "crossSite":
(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_5__/* .assignLocation */ .dT)(routingTarget.url);
break;
case "unavailable":
(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_5__/* .logError */ .vV)(
`Could not navigate to Obj ${routingTarget.objId}, no URL found`
);
}
}
});
}
function destinationForTarget(target) {
if (isUrlRoutingTarget(target)) return destinationForUrl(target.url);
const { objId, query, hash } = target;
const obj = scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_7__/* .BasicObj */ .kI.get(objId);
if (!obj) return (0,scrivito_sdk_app_support_routing__WEBPACK_IMPORTED_MODULE_4__/* .generateDestinationForId */ .yW)({ objId, query, hash });
if ((0,scrivito_sdk_realm__WEBPACK_IMPORTED_MODULE_8__/* .isBinaryBasicObj */ .Xg)(obj)) {
const blob = obj.get("blob", ["binary"]);
if (!blob) return (0,scrivito_sdk_app_support_destination_types__WEBPACK_IMPORTED_MODULE_3__/* .generateDestinationUnavailable */ .c)({ objId });
return { type: "remote", url: blob.url() };
}
return (0,scrivito_sdk_app_support_routing__WEBPACK_IMPORTED_MODULE_4__/* .generateDestination */ .uT)({ obj, query, hash });
}
function navigateToResource(resource) {
const currentResource = scrivito_sdk_app_support_browser_location__WEBPACK_IMPORTED_MODULE_1__/* .get */ .Jt();
if (resource === currentResource) {
scrivito_sdk_app_support_browser_location__WEBPACK_IMPORTED_MODULE_1__/* .replace */ .HC(resource);
} else {
scrivito_sdk_app_support_browser_location__WEBPACK_IMPORTED_MODULE_1__/* .push */ .VC(resource);
}
}
function isUrlRoutingTarget(routingTarget) {
return !!routingTarget.url;
}
function destinationForUrl(url) {
const uri = urijs__WEBPACK_IMPORTED_MODULE_0__(url);
if (uri.is("relative")) return { type: "local", resource: url };
if ((0,scrivito_sdk_app_support_routing__WEBPACK_IMPORTED_MODULE_4__/* .isOriginLocal */ .Im)(uri)) {
return (0,scrivito_sdk_app_support_routing__WEBPACK_IMPORTED_MODULE_4__/* .isSiteLocal */ .zX)(uri) ? { type: "local", resource: uri.resource() } : { type: "crossSite", url };
}
return { type: "remote", url };
}
/***/ }),
/***/ 5112:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ P: () => (/* binding */ basicUrlFor),
/* harmony export */ a: () => (/* binding */ basicUrlForObj)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_app_support_routing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7183);
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3703);
/* harmony import */ var scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(114);
/* harmony import */ var scrivito_sdk_realm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7461);
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
function basicUrlFor(target, options) {
if (target instanceof scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_2__/* .BasicLink */ .Re) return urlForLink(target, options);
if (target instanceof scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_2__/* .Binary */ .yI) return target.url();
return basicUrlForObj(target, options);
}
function basicUrlForObj(obj, options) {
if ((0,scrivito_sdk_realm__WEBPACK_IMPORTED_MODULE_3__/* .isBinaryBasicObj */ .Xg)(obj)) {
const binaryUrl = urlForBinaryObj(obj, options.preserveObjId);
if (binaryUrl) return binaryUrl;
}
return urlForNonBinaryObj(obj, options);
}
function urlForBinaryObj(obj, withoutPlaceholder) {
const blob = obj.get("blob", ["binary"]);
if (blob) {
return withoutPlaceholder ? blob.urlWithoutPlaceholder() : blob.url();
}
}
function urlForLink(link, options) {
if (link.isExternal()) return link.url();
const obj = link.obj();
if (obj instanceof scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_2__/* .BasicObj */ .kI) {
return basicUrlForObj(obj, populateMissingOptionsFromLink(options, link));
}
throw new scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_1__/* .ArgumentError */ .c1("Missing link target.");
}
function urlForNonBinaryObj(obj, { query: queryString, queryParameters, withoutOriginIfLocal, hash }) {
const query = queryParameters != null ? queryParameters : queryString;
if (!withoutOriginIfLocal) {
return (0,scrivito_sdk_app_support_routing__WEBPACK_IMPORTED_MODULE_0__/* .generateUrlWithCanonicalOrigin */ .xu)({ obj, query, hash });
}
const destination = (0,scrivito_sdk_app_support_routing__WEBPACK_IMPORTED_MODULE_0__/* .generateDestination */ .uT)({ obj, query, hash });
switch (destination.type) {
case "local":
return destination.resource;
case "crossSite":
return destination.url;
default:
return destination.fallbackUrl;
}
}
function populateMissingOptionsFromLink(options, link) {
const linkOptions = __spreadValues({}, options);
if (!options.queryParameters && typeof options.query !== "string") {
linkOptions.query = link.query() || void 0;
}
if (typeof options.hash !== "string") {
linkOptions.hash = link.hash() || void 0;
}
return linkOptions;
}
/***/ }),
/***/ 9004:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ GL: () => (/* binding */ getHistoryState),
/* harmony export */ HC: () => (/* binding */ replace),
/* harmony export */ Jt: () => (/* binding */ get),
/* harmony export */ VC: () => (/* binding */ push),
/* harmony export */ W6: () => (/* binding */ useHistory),
/* harmony export */ lQ: () => (/* binding */ getHistoryChangesCount),
/* harmony export */ zE: () => (/* binding */ isCurrentHistoryState)
/* harmony export */ });
/* unused harmony exports reset, createInitialHistory */
/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9226);
/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(history__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var urijs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8819);
/* harmony import */ var urijs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(urijs__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3703);
/* harmony import */ var scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1946);
let history;
let unlistenToHistory;
let lastAction;
function useHistory(historyToUse) {
if (historyToUse.createHref({ pathname: "/" }) !== "/") {
throw new scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__/* .ArgumentError */ .c1(
`Expected a history without a preconfigured basename. For further details, see: ${(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__/* .docUrl */ .yJ)("js-sdk/useHistory")}`
);
}
if (historyToUse === history) {
return;
}
const isFirstHistory = !history;
listenToHistory(historyToUse);
history = historyToUse;
if (!isFirstHistory) {
historyHasChanged();
}
}
function getHistoryState() {
return {
historyChangesCount: getHistoryChangesCount(),
location: get(),
isRevisit: lastAction === "POP"
};
}
function get() {
const location = getHistory().location;
return `${location.pathname}${location.search}${location.hash}`;
}
function getHistoryChangesCount() {
return historyChangesCountState.get() || 0;
}
function push(resource) {
const uri = new urijs__WEBPACK_IMPORTED_MODULE_1__(resource);
getHistory().push({
pathname: uri.pathname(),
search: uri.search(),
hash: uri.hash()
});
}
function replace(resource) {
const uri = new urijs__WEBPACK_IMPORTED_MODULE_1__(resource);
getHistory().replace({
pathname: uri.pathname(),
search: uri.search(),
hash: uri.hash()
});
}
function isCurrentHistoryState(historyState) {
return historyState.historyChangesCount === getHistoryChangesCount();
}
function reset() {
history = void 0;
lastAction = void 0;
unlistenToHistory = void 0;
historyChangesCountState.clear();
}
function createInitialHistory() {
return (0,history__WEBPACK_IMPORTED_MODULE_0__.createBrowserHistory)();
}
function ensureHistory() {
if (!history) {
useHistory(createInitialHistory());
}
}
function getHistory() {
ensureHistory();
return history;
}
function listenToHistory(historyToListen) {
if (unlistenToHistory) {
unlistenToHistory();
}
if (isHistoryV4(historyToListen)) {
unlistenToHistory = historyToListen.listen((_location, action) => {
historyHasChanged(action);
});
} else {
unlistenToHistory = historyToListen.listen(({ action }) => {
historyHasChanged(action);
});
}
}
function historyHasChanged(action) {
lastAction = action;
historyChangesCountState.set(getHistoryChangesCount() + 1);
}
const historyChangesCountState = (0,scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_3__/* .createStateContainer */ .Ld)();
function isHistoryV4(historyToCheck) {
return historyToCheck.hasOwnProperty("length");
}
(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__/* .onReset */ .Nj)(reset);
/***/ }),
/***/ 5057:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ V: () => (/* binding */ canEditObjWithId),
/* harmony export */ p: () => (/* binding */ canEdit)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_app_support_ui_adapter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5460);
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3703);
/* harmony import */ var scrivito_sdk_loadable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4772);
/* harmony import */ var scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(114);
/* harmony import */ var scrivito_sdk_realm__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7461);
function canEdit(obj) {
checkCanEditArguments(obj);
return canEditObjWithId((0,scrivito_sdk_realm__WEBPACK_IMPORTED_MODULE_4__/* .unwrapAppClass */ .zo)(obj).id());
}
function canEditObjWithId(objId) {
const ui = scrivito_sdk_app_support_ui_adapter__WEBPACK_IMPORTED_MODULE_0__/* .uiAdapter */ .B;
if (!ui) return false;
return (0,scrivito_sdk_loadable__WEBPACK_IMPORTED_MODULE_2__/* .loadWithDefault */ .qt)(false, () => ui.canEdit((0,scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_3__/* .currentWorkspaceId */ .o_)(), objId)) || false;
}
function checkCanEditArguments(obj) {
if (!(0,scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_3__/* .isWrappingBasicObj */ .mD)(obj)) {
(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_1__/* .throwInvalidArgumentsError */ .Ht)(
"canEdit",
"'obj' must be an instance of 'Obj'.",
{ docPermalink: "js-sdk/canEdit" }
);
}
}
/***/ }),
/***/ 2354:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ EV: () => (/* binding */ openInNewWindow),
/* harmony export */ NA: () => (/* binding */ redirectToUrl),
/* harmony export */ Uc: () => (/* binding */ changeLocation)
/* harmony export */ });
/* harmony import */ var urijs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8819);
/* harmony import */ var urijs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(urijs__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var scrivito_sdk_app_support_ui_adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5460);
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3703);
/* harmony import */ var _routing__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7183);
function redirectToUrl(url) {
if (scrivito_sdk_app_support_ui_adapter__WEBPACK_IMPORTED_MODULE_1__/* .uiAdapter */ .B) changeLocation(url);
else (0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__/* .replaceLocation */ ._0)(url);
}
function changeLocation(url) {
if (scrivito_sdk_app_support_ui_adapter__WEBPACK_IMPORTED_MODULE_1__/* .uiAdapter */ .B) {
scrivito_sdk_app_support_ui_adapter__WEBPACK_IMPORTED_MODULE_1__/* .uiAdapter */ .B.navigateToExternalUrl(url);
} else {
(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__/* .assignLocation */ .dT)(url);
}
}
function openInNewWindow(url) {
if (scrivito_sdk_app_support_ui_adapter__WEBPACK_IMPORTED_MODULE_1__/* .uiAdapter */ .B && (0,_routing__WEBPACK_IMPORTED_MODULE_3__/* .isOriginLocal */ .Im)(urijs__WEBPACK_IMPORTED_MODULE_0__(url))) {
scrivito_sdk_app_support_ui_adapter__WEBPACK_IMPORTED_MODULE_1__/* .uiAdapter */ .B.openInNewUiWindow(convertToAbsoluteLocalUrl(url));
} else {
(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__/* .openWindow */ .D1)(url, "_blank");
}
}
function convertToAbsoluteLocalUrl(url) {
const origin = (0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__/* .currentOrigin */ .u4)();
if (origin === void 0) throw new scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__/* .InternalError */ .Gd();
return new urijs__WEBPACK_IMPORTED_MODULE_0__(url).origin(origin).toString();
}
/***/ }),
/***/ 349:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ _: () => (/* binding */ getContentBrowserConfiguration),
/* harmony export */ w: () => (/* binding */ configureContentBrowser)
/* harmony export */ });
/* harmony import */ var lodash_es_mapValues__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7885);
/* harmony import */ var lodash_es_mapValues__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_es_mapValues__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var scrivito_sdk_app_support_absolute_url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3617);
/* harmony import */ var scrivito_sdk_app_support_ui_adapter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5460);
/* harmony import */ var scrivito_sdk_app_support_ui_adapter_compatible_value__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7283);
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3703);
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __objRest = (source, exclude) => {
var target = {};
for (var prop in source)
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
target[prop] = source[prop];
if (source != null && __getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(source)) {
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
target[prop] = source[prop];
}
return target;
};
let filters;
let filtersBuilder;
function getContentBrowserConfiguration(validObjClasses) {
if (filtersBuilder) {
const context = {};
if (validObjClasses) {
context._validObjClasses = validObjClasses;
}
const dynamicFilters = filtersBuilder(context);
if (dynamicFilters) {
return { filters: copyWithAbsoluteUrls(dynamicFilters) };
}
} else if (filters) {
return { filters };
}
}
function configureContentBrowser(configuration) {
if (!scrivito_sdk_app_support_ui_adapter__WEBPACK_IMPORTED_MODULE_2__/* .uiAdapter */ .B) {
return;
}
if (configuration.filters) {
if (isFilterBuilder(configuration.filters)) {
filtersBuilder = configuration.filters;
filters = void 0;
} else {
filters = copyWithAbsoluteUrls(configuration.filters);
filtersBuilder = void 0;
}
}
const baseFilter = configuration.baseFilter;
if (baseFilter) {
const baseQuery = baseFilter.query;
if (baseQuery) {
scrivito_sdk_app_support_ui_adapter__WEBPACK_IMPORTED_MODULE_2__/* .uiAdapter */ .B.configureContentBrowser(
(0,scrivito_sdk_app_support_ui_adapter_compatible_value__WEBPACK_IMPORTED_MODULE_3__/* .uiAdapterCompatibleValue */ .n)({ baseQuery })
);
}
}
}
function isFilterBuilder(maybeFilterBuilder) {
return typeof maybeFilterBuilder === "function";
}
function copyWithAbsoluteUrls(contentBrowserFilters) {
return lodash_es_mapValues__WEBPACK_IMPORTED_MODULE_0___default()(contentBrowserFilters, (_a) => {
var item = __objRest(_a, []);
const { icon, options } = item;
const hasCustomIcon = icon && !icon.match(/^\w+$/);
if (icon) item.icon = hasCustomIcon ? (0,scrivito_sdk_app_support_absolute_url__WEBPACK_IMPORTED_MODULE_1__/* .absoluteUrl */ .r)(icon) : icon;
if (options) item.options = copyWithAbsoluteUrls(options);
return item;
});
}
(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_4__/* .onReset */ .Nj)(() => {
filters = void 0;
filtersBuilder = void 0;
});
/***/ }),
/***/ 2726:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ I: () => (/* binding */ configureObjClassForContentType),
/* harmony export */ p: () => (/* binding */ getObjClassForContentTypeMapping)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3703);
/* harmony import */ var scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1946);
const state = (0,scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_1__/* .createStateContainer */ .Ld)();
function getObjClassForContentTypeMapping() {
return state.get();
}
function configureObjClassForContentType(configuration) {
checkConfigureObjClassForContentType(configuration);
if (!configuration["*/*"]) {
throw new scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__/* .ArgumentError */ .c1(
'No ObjClass has been configured for the contentType "*/*"'
);
}
if (state.get() !== void 0) {
throw new scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__/* .ScrivitoError */ .aS(
"configureObjClassForContentType must be called only once"
);
}
state.set(configuration);
}
function checkConfigureObjClassForContentType(configuration) {
Object.keys(configuration).forEach((contentType) => {
if (!/^(\*\/\*|[^\/\*]+\/(\*|[^\*;]+))$/.test(contentType)) {
(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__/* .throwInvalidArgumentsError */ .Ht)(
"configureObjClassForContentType",
`Content type '${contentType}' is not valid.`,
{ docPermalink: "js-sdk/configureObjClassForContentType" }
);
}
});
}
/***/ }),
/***/ 1728:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ L: () => (/* binding */ setConstraintsValidationCallback),
/* harmony export */ v: () => (/* binding */ getConstraintsValidationCallback)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3703);
let constraintsValidationCallback;
function setConstraintsValidationCallback(callback) {
constraintsValidationCallback = callback;
}
function getConstraintsValidationCallback() {
if (constraintsValidationCallback) {
return constraintsValidationCallback;
}
throw new scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__/* .ScrivitoError */ .aS(
'Constraints validation callback is not configured. Forgot to call Scrivito.configure with the "constraintsCallback" option?'
);
}
(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__/* .onReset */ .Nj)(() => constraintsValidationCallback = void 0);
/***/ }),
/***/ 5015:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ C: () => (/* binding */ shouldContentTagsForEmptyAttributesBeSkipped),
/* harmony export */ l: () => (/* binding */ skipContentTagsForEmptyAttributes)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1946);
const contentTagsForEmptyAttributes = (0,scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_0__/* .createStateContainer */ .Ld)();
function skipContentTagsForEmptyAttributes() {
contentTagsForEmptyAttributes.set(false);
}
function shouldContentTagsForEmptyAttributesBeSkipped() {
return contentTagsForEmptyAttributes.get() === false;
}
/***/ }),
/***/ 6942:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ T: () => (/* binding */ getCropAspectRatios),
/* harmony export */ x: () => (/* binding */ configureCropAspectRatios)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3703);
let cropAspectRatioConfig;
function configureCropAspectRatios(cropAspectRatios) {
cropAspectRatioConfig = [...cropAspectRatios];
}
function getCropAspectRatios() {
return cropAspectRatioConfig;
}
(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__/* .onReset */ .Nj)(() => {
cropAspectRatioConfig = void 0;
});
/***/ }),
/***/ 1048:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ p: () => (/* binding */ currentAppSpace)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_app_support_editing_context__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1616);
/* harmony import */ var scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(114);
function currentAppSpace() {
const currentObjSpace = (0,scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_1__/* .objSpaceScope */ .aG)((0,scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_1__/* .currentObjSpaceId */ .eb)());
return (0,scrivito_sdk_app_support_editing_context__WEBPACK_IMPORTED_MODULE_0__/* .isComparisonActive */ .gY)() ? currentObjSpace : currentObjSpace.and(scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_1__/* .excludeDeletedObjs */ .cb);
}
/***/ }),
/***/ 7639:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ F2: () => (/* binding */ currentPage),
/* harmony export */ Jm: () => (/* binding */ setCustomComponentSiteId),
/* harmony export */ OI: () => (/* binding */ currentSiteId),
/* harmony export */ P$: () => (/* binding */ isCurrentPage),
/* harmony export */ R3: () => (/* binding */ currentPageParams),
/* harmony export */ wF: () => (/* binding */ withDefaultSiteContext),
/* harmony export */ wj: () => (/* binding */ withForbiddenSiteContext)
/* harmony export */ });
/* harmony import */ var urijs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8819);
/* harmony import */ var urijs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(urijs__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var scrivito_sdk_app_support_current_page_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5634);
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3703);
/* harmony import */ var scrivito_sdk_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7164);
/* harmony import */ var scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(114);
/* harmony import */ var scrivito_sdk_realm__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7461);
/* harmony import */ var scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1946);
function currentPage() {
var _a;
(0,scrivito_sdk_data__WEBPACK_IMPORTED_MODULE_3__/* .assertNotUsingInMemoryTenant */ .C_)("Scrivito.currentPage");
const page = (_a = (0,scrivito_sdk_app_support_current_page_data__WEBPACK_IMPORTED_MODULE_1__/* .getCurrentPageData */ .Vd)()) == null ? void 0 : _a.currentPage;
return page ? (0,scrivito_sdk_realm__WEBPACK_IMPORTED_MODULE_5__/* .wrapInAppClass */ .Dy)(page) : null;
}
function isCurrentPage(page) {
var _a;
(0,scrivito_sdk_data__WEBPACK_IMPORTED_MODULE_3__/* .assertNotUsingInMemoryTenant */ .C_)("Scrivito.isCurrentPage");
checkIsCurrentPage(page);
return ((_a = currentPage()) == null ? void 0 : _a.id()) === page.id();
}
function currentPageParams() {
var _a;
(0,scrivito_sdk_data__WEBPACK_IMPORTED_MODULE_3__/* .assertNotUsingInMemoryTenant */ .C_)("Scrivito.currentPageParams");
return urijs__WEBPACK_IMPORTED_MODULE_0__.parseQuery(((_a = (0,scrivito_sdk_app_support_current_page_data__WEBPACK_IMPORTED_MODULE_1__/* .getCurrentRoute */ .$V)()) == null ? void 0 : _a.query) || "");
}
const currentSiteContext = new scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__/* .ContextContainer */ .hl();
const forbiddenSiteContext = new scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__/* .ContextContainer */ .hl();
function currentSiteId() {
var _a, _b, _c, _d;
const errorMessage = forbiddenSiteContext.current();
if (errorMessage) throw new scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__/* .ScrivitoError */ .aS(errorMessage);
const customComponentSiteId = customComponentSiteIdState.get();
if (customComponentSiteId !== void 0) return customComponentSiteId;
return (_d = (_c = currentSiteContext.current()) != null ? _c : (_b = (_a = (0,scrivito_sdk_app_support_current_page_data__WEBPACK_IMPORTED_MODULE_1__/* .getCurrentRoute */ .$V)()) == null ? void 0 : _a.siteData) == null ? void 0 : _b.siteId) != null ? _d : null;
}
function withDefaultSiteContext(fn) {
return currentSiteContext.runWith("default", fn);
}
function withForbiddenSiteContext(message, fn) {
return forbiddenSiteContext.runWith(message, fn);
}
const customComponentSiteIdState = (0,scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_6__/* .createStateContainer */ .Ld)();
function setCustomComponentSiteId(siteId) {
customComponentSiteIdState.set(siteId);
}
function checkIsCurrentPage(obj) {
if (!(0,scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_4__/* .isWrappingBasicObj */ .mD)(obj)) {
(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__/* .throwInvalidArgumentsError */ .Ht)(
"isCurrentPage",
"'obj' must be an instance of 'Obj'.",
{
docPermalink: "js-sdk/isCurrentPage"
}
);
}
}
/***/ }),
/***/ 5634:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ $V: () => (/* binding */ getCurrentRoute),
/* harmony export */ OU: () => (/* binding */ withCurrentPageContext),
/* harmony export */ Vd: () => (/* binding */ getCurrentPageData),
/* harmony export */ tj: () => (/* binding */ setNavigationStateProvider),
/* harmony export */ uR: () => (/* binding */ getNotFoundErrorPageState)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_app_support_current_app_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1048);
/* harmony import */ var scrivito_sdk_app_support_routing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7183);
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3703);
/* harmony import */ var scrivito_sdk_loadable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4772);
/* harmony import */ var scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(114);
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
let getCurrentNavigationState = () => void 0;
function setNavigationStateProvider(provider) {
getCurrentNavigationState = provider;
}
const navigationContext = new scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_2__/* .ContextContainer */ .hl();
function getCurrentPageData() {
return (0,scrivito_sdk_loadable__WEBPACK_IMPORTED_MODULE_3__/* .loadableWithDefault */ .s4)(void 0, () => {
var _a;
const navigationState = (_a = navigationContext.current()) != null ? _a : getCurrentNavigationState();
if (!navigationState) return void 0;
const route = navigationState.locationRoute;
if (route.objId) {
const currentPage = (0,scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_4__/* .getObjFrom */ .ED)((0,scrivito_sdk_app_support_current_app_space__WEBPACK_IMPORTED_MODULE_0__/* .currentAppSpace */ .p)(), route.objId);
if (!currentPage) {
return {
navigationState: __spreadProps(__spreadValues({}, navigationState), {
locationRoute: __spreadProps(__spreadValues({}, route), { objId: void 0 })
})
};
}
return { navigationState, currentPage };
}
return { navigationState };
});
}
function getCurrentRoute() {
var _a;
const navigationState = (_a = navigationContext.current()) != null ? _a : (0,scrivito_sdk_loadable__WEBPACK_IMPORTED_MODULE_3__/* .loadableWithDefault */ .s4)(void 0, getCurrentNavigationState);
return navigationState == null ? void 0 : navigationState.locationRoute;
}
function withCurrentPageContext(context, fn) {
return navigationContext.runWith(
{
locationRoute: {
objId: context.page.id(),
sitePath: context.sitePath,
siteData: {
siteId: context.siteId,
baseUrl: context.baseUrl
}
},
historyState: {
historyChangesCount: 0,
location: `${context.baseUrl}${context.sitePath}`,
isRevisit: false
}
},
fn
);
}
function getNotFoundErrorPageState() {
var _a;
if (navigationContext.current()) return;
const navigationState = (_a = getCurrentPageData()) == null ? void 0 : _a.navigationState;
if (!navigationState) return;
if (!(0,scrivito_sdk_app_support_routing__WEBPACK_IMPORTED_MODULE_1__/* .isObjNotFoundRoute */ .UO)(navigationState.locationRoute)) return;
return navigationState;
}
/***/ }),
/***/ 7550:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ R: () => (/* binding */ recognizeDestinationUnavailable),
/* harmony export */ c: () => (/* binding */ generateDestinationUnavailable)
/* harmony export */ });
/* harmony import */ var urijs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8819);
/* harmony import */ var urijs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(urijs__WEBPACK_IMPORTED_MODULE_0__);
function generateDestinationUnavailable(params) {
return {
type: "unavailable",
fallbackUrl: getDestinationUnavailableFallbackUrl(params),
objId: params.objId
};
}
function recognizeDestinationUnavailable(fallbackUri) {
if (fallbackUri.path() !== "") return null;
const fallbackHash = fallbackUri.hash();
if (fallbackHash.indexOf("#SCRIVITO_UNAVAILABLE_") === 0) {
const encodedParams = fallbackHash.substr("#SCRIVITO_UNAVAILABLE_".length);
const paramsUri = new urijs__WEBPACK_IMPORTED_MODULE_0__(encodedParams);
const objId = paramsUri.path();
const params = { objId };
if (paramsUri.query()) params.query = paramsUri.query();
if (paramsUri.hash()) params.hash = paramsUri.hash();
return params;
}
return null;
}
function getDestinationUnavailableFallbackUrl(params) {
const paramsUri = new urijs__WEBPACK_IMPORTED_MODULE_0__("").path(params.objId);
if (params.query) paramsUri.query(params.query);
if (params.hash) paramsUri.hash(params.hash);
const encodedParams = paramsUri.toString();
const fallbackUri = new urijs__WEBPACK_IMPORTED_MODULE_0__("").hash(`SCRIVITO_UNAVAILABLE_${encodedParams}`);
return fallbackUri.toString();
}
/***/ }),
/***/ 5662:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ E: () => (/* binding */ getDocumentTitle),
/* harmony export */ g: () => (/* binding */ observeDocumentTitle)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1946);
const state = (0,scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_0__/* .createStateContainer */ .Ld)();
function observeDocumentTitle() {
const observer = new MutationObserver(documentTitleChanged);
observer.observe(document.head, {
attributes: true,
attributeFilter: ["title"],
characterData: true,
childList: true,
subtree: true
});
return () => observer.disconnect();
}
function getDocumentTitle() {
return state.get() || "";
}
function documentTitleChanged() {
state.set(document.title);
}
/***/ }),
/***/ 2295:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ O: () => (/* binding */ setEditingConfigFor),
/* harmony export */ u: () => (/* binding */ getEditingConfigFor)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3703);
/* harmony import */ var scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1946);
class EditingConfigStore {
constructor() {
this.store = {};
this.updateCounter = (0,scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_1__/* .createStateContainer */ .Ld)();
}
set(key, value) {
this.store[key] = value;
this.incrementUpdateCounter();
}
get(key) {
this.updateCounter.get();
return this.store[key];
}
clear() {
this.store = {};
this.incrementUpdateCounter();
}
incrementUpdateCounter() {
this.updateCounter.set((this.updateCounter.get() || 0) + 1);
}
}
const editingConfigStore = new EditingConfigStore();
function setEditingConfigFor(className, editingConfig) {
editingConfigStore.set(className, editingConfig);
}
function getEditingConfigFor(className) {
return editingConfigStore.get(className);
}
(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__/* .onReset */ .Nj)(() => editingConfigStore.clear());
/***/ }),
/***/ 1616:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ HD: () => (/* binding */ isInPlaceEditingActive),
/* harmony export */ a_: () => (/* binding */ initializeEditingContextFromBrowsingContext),
/* harmony export */ gY: () => (/* binding */ isComparisonActive)
/* harmony export */ });
/* unused harmony exports setIsInPlaceEditingActive, setIsComparisonActive */
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3703);
/* harmony import */ var scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(114);
let inPlaceEditingActive = false;
let comparisonActive = false;
function initializeEditingContextFromBrowsingContext(browsingContextName) {
const editingContext = editingContextFromBrowsingContext(browsingContextName);
if (!editingContext.workspaceId) {
(0,scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_1__/* .setCurrentWorkspaceId */ .st)("published");
return false;
}
(0,scrivito_sdk_models__WEBPACK_IMPORTED_MODULE_1__/* .setCurrentWorkspaceId */ .st)(editingContext.workspaceId);
inPlaceEditingActive = !!editingContext.inPlaceEditingActive;
comparisonActive = !inPlaceEditingActive && !!editingContext.comparisonActive;
return true;
}
function editingContextFromBrowsingContext(browsingContextName) {
const markerIndex = browsingContextName.indexOf(" _scrivito {");
if (markerIndex === -1) return {};
const { editing, comparison, workspaceId } = JSON.parse(
browsingContextName.substring(markerIndex + 11)
);
return {
workspaceId,
inPlaceEditingActive: !!editing,
comparisonActive: !!comparison
};
}
function isInPlaceEditingActive() {
return inPlaceEditingActive;
}
function isComparisonActive() {
return comparisonActive;
}
function setIsInPlaceEditingActive(isActive) {
inPlaceEditingActive = isActive;
}
function setIsComparisonActive(isActive) {
comparisonActive = isActive;
}
(0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__/* .onReset */ .Nj)(() => {
inPlaceEditingActive = false;
comparisonActive = false;
});
/***/ }),
/***/ 2026:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ q: () => (/* binding */ getExtensionsUrl),
/* harmony export */ s: () => (/* binding */ setExtensionsUrl)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3703);
/* harmony import */ var scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1946);
const extensionsUrl = (0,scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_1__/* .createStateContainer */ .Ld)();
function setExtensionsUrl(url) {
extensionsUrl.set(url);
}
function getExtensionsUrl() {
const url = extensionsUrl.get();
if (url) return new URL(url, (0,scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__/* .currentOrigin */ .u4)()).toString();
}
/***/ }),
/***/ 5584:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ T: () => (/* binding */ setForcedEditorLanguage),
/* harmony export */ V: () => (/* binding */ getForcedEditorLanguage)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1946);
const forcedEditorLanguage = (0,scrivito_sdk_state__WEBPACK_IMPORTED_MODULE_0__/* .createStateContainer */ .Ld)();
function setForcedEditorLanguage(language) {
forcedEditorLanguage.set(language);
}
function getForcedEditorLanguage() {
return forcedEditorLanguage.get();
}
/***/ }),
/***/ 7717:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ u: () => (/* binding */ getClassName)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3703);
/* harmony import */ var scrivito_sdk_data_integration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2836);
/* harmony import */ var scrivito_sdk_realm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7461);
function getClassName(subject) {
var _a;
if (typeof subject === "string") return subject;
if (subject instanceof scrivito_sdk_data_integration__WEBPACK_IMPORTED_MODULE_1__/* .DataClass */ .bA) {
return subject.name();
}
if (subject instanceof scrivito_sdk_data_integration__WEBPACK_IMPORTED_MODULE_1__/* .DataItem */ .sO) {
return subject.dataClassName();
}
const className = (_a = scrivito_sdk_realm__WEBPACK_IMPORTED_MODULE_2__/* .Schema */ .Sj.forClass(subject)) == null ? void 0 : _a.name();
if (typeof className !== "string") {
throw new scrivito_sdk_common__WEBPACK_IMPORTED_MODULE_0__/* .ArgumentError */ .c1("Invalid class name, class or instance");
}
return className;
}
/***/ }),
/***/ 8848:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ d: () => (/* binding */ getComparisonRange)
/* harmony export */ });
/* harmony import */ var scrivito_sdk_app_suppor