{"version":3,"file":"static/js/app.eccdaad4.js","mappings":"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","sources":["webpack://finnish-art/./src/components/Base/UserMixin.js","webpack://finnish-art/./src/helpers/deployment.js","webpack://finnish-art/./src/helpers/i18n.js","webpack://finnish-art/./src/helpers/image-resources.js","webpack://finnish-art/./src/helpers/image.js","webpack://finnish-art/./src/helpers/datetime.js","webpack://finnish-art/./src/helpers/index.js","webpack://finnish-art/./src/helpers/masonry.js","webpack://finnish-art/./src/helpers/muusa.js","webpack://finnish-art/./src/helpers/store.js","webpack://finnish-art/./src/App.vue","webpack://finnish-art/./src/App.vue?4479","webpack://finnish-art/./src/components/Base/UserSessionMixin.js","webpack://finnish-art/./src/components/Base/AppLocalisationMixin.js","webpack://finnish-art/src/App.vue","webpack://finnish-art/./src/App.vue?4156","webpack://finnish-art/./src/App.vue?f581","webpack://finnish-art/./src/router/index.js","webpack://finnish-art/./src/plugins/site.js","webpack://finnish-art/./src/store/facets.js","webpack://finnish-art/./src/store/artvault.js","webpack://finnish-art/./src/store/pages.js","webpack://finnish-art/./src/store/profileArticles.js","webpack://finnish-art/./src/store/index.js","webpack://finnish-art/./src/plugins/vuex-store.js","webpack://finnish-art/./src/plugins/event-bus.js","webpack://finnish-art/./src/plugins/axios.js","webpack://finnish-art/./src/api/svc.js","webpack://finnish-art/./src/plugins/svc.js","webpack://finnish-art/./src/plugins/i18n.js","webpack://finnish-art/./src/plugins/helpers.js","webpack://finnish-art/./src/plugins/matomo.js","webpack://finnish-art/./src/plugins/index.js","webpack://finnish-art/./src/main.js","webpack://finnish-art/./src/plugins/tribe.client.js","webpack://finnish-art/./src/store/user.js","webpack://finnish-art/./src/store/ux.js","webpack://finnish-art/./src/translations/ lazy ^\\.\\/locale\\-.*\\.json$ chunkName: [request] namespace object"],"sourcesContent":["import { createNamespacedHelpers } from 'vuex';\n\nimport {\n levelAnonymous,\n // levelSemiAuthenticated,\n levelBasicUser,\n levelRegisteredUser,\n levelProUser\n} from '@/store/user';\n\nconst { mapState } = createNamespacedHelpers('user');\n\n/**\n * Group \"Edit\" (Webeditori) grants access rights to publish site-wide.\n */\nexport const hasAccessToGlobalWebEditor = function (groups) {\n return !!_.find(groups, {GroupName: 'Edit'});\n};\n\n/**\n * Member of any \"*Edit\" group.\n */\nexport const hasAccessToEdit = function (groups) {\n return _.filter(groups, group => group.GroupName && group.GroupName.match('Edit')).length > 0;\n};\n\n/**\n * Member of \"FinnishartService\" or \"RegisteredUsers\" groups.\n */\nexport const hasAccessToUseProfile = function (groups) {\n const upGroups = _.filter(groups, (group) => {\n if (group.GroupName && (group.GroupName.match('FinnishartService') || group.GroupName.match('RegisteredUsers'))) {\n return null;\n }\n return group;\n });\n return upGroups.length > 0;\n};\n\nexport const getUserMembershipLevel = (userProfile) => {\n\n // check profile Membership level\n let membershipLevel = levelAnonymous;\n\n // User with Edit Privileges\n if (userProfile && hasAccessToEdit(userProfile.Memberships)) {\n membershipLevel = levelProUser;\n }\n\n // User with UseProfile Privileges\n else if (userProfile && hasAccessToUseProfile(userProfile.Memberships)) {\n membershipLevel = levelRegisteredUser;\n }\n\n // User with no Memberships\n else if (userProfile) {\n membershipLevel = levelBasicUser;\n }\n\n return membershipLevel;\n};\n\n\nexport default {\n\n computed: {\n ...mapState({\n userSession: state => state.session\n }),\n\n ...mapState({\n userProfile: state => state.profile\n }),\n\n ...mapState({\n membershipLevel: state => state.membershipLevel\n })\n },\n\n data: function () {\n return {\n hasUserAccessToEdit: false, // show pencil icon in navbar?\n hasUserAccessToUseProfile: false, // show lock-earth icon in navbar?\n isUserWebEditor: false // can publish everywhere\n };\n },\n\n created: function () {\n this.hasUserAccessToEdit = this.getUserAccessToEdit();\n this.hasUserAccessToUseProfile = this.getUserAccessToUseProfile();\n this.isUserWebEditor = this.getUserAccessToWebEditor();\n },\n\n watch: {\n userProfile: function () {\n this.hasUserAccessToEdit = this.getUserAccessToEdit();\n this.hasUserAccessToUseProfile = this.getUserAccessToUseProfile();\n this.isUserWebEditor = this.getUserAccessToWebEditor();\n }\n },\n\n methods: {\n getUserId: function () {\n return this.$store.getters['user/getUserId'];\n },\n\n /**\n * Return group User has membership to.\n */\n getUserGroup: function (groupId) {\n const memberships = this.userProfile && this.userProfile.Memberships;\n // const memberships = this.$store.getters['user/getMemberships'];\n return _.find(memberships, {GroupId: groupId});\n },\n\n /**\n * Return group (by group name) User has membership to.\n */\n getUserGroupByName: function (groupName) {\n const memberships = this.userProfile && this.userProfile.Memberships;\n return _.find(memberships, {GroupName: groupName});\n },\n\n /**\n * Return group (by group display name) User has membership to.\n */\n getUserGroupByDisplayName: function (groupDisplayName) {\n const memberships = this.userProfile && this.userProfile.Memberships;\n return _.find(memberships, {GroupDisplayName: groupDisplayName});\n },\n\n isUserInGroups: function (groups) {\n return _.filter(groups, this.getUserGroup).length > 0;\n },\n\n /**\n * Returns whether user has access to Edit groups.\n */\n getUserAccessToEdit: function () {\n return hasAccessToEdit(this.userProfile && this.userProfile.Memberships);\n },\n\n /**\n * Returns whether user has access to UseProfile switch (locked-earth icon).\n * Ignore `FinnishartService` and `RegisteredUsers` groups.\n * Other group memberships gain this privilege.\n */\n getUserAccessToUseProfile: function () {\n return hasAccessToUseProfile(this.userProfile && this.userProfile.Memberships);\n },\n\n getUserAccessToWebEditor: function () {\n return hasAccessToGlobalWebEditor(this.userProfile && this.userProfile.Memberships);\n },\n\n acceptTermsOfService: function () {\n return this.$SVC.patchProfile({ TermsOfServiceAccepted: true });\n },\n\n acceptPrivacyPolicy: function () {\n return this.$SVC.patchProfile({ PrivacyPolicyAccepted: true });\n },\n\n setSharingToRegistered: function (value) {\n return this.$SVC.patchProfile({ SharingToRegistered: value });\n }\n }\n};\n","/**\n * Helpers for develop, rc, production and localhost environments.\n */\n\n/**\n * Is this production site {boolean} - //taide.art\n */\nexport const isProdSite =\n !!window.location.hostname.match(/^taide\\.art$/);\n\n\n/**\n * Is this RC site {boolean} - //rc[a-z0-9_-]*.taide* //testi?.taide*\n */\nexport const isRcSite =\n !!(window.location.hostname.match(/^rc[\\w-]*\\.taide*/)\n || window.location.hostname.match(/^testi?\\.taide*/));\n\n\n\n/**\n * Is this development site {boolean} - //dev.taide* and localhost\n */\nexport const isDevSite =\n !!window.location.hostname.match(/^dev\\.taide/)\n || process.env.NODE_ENV === 'development';\n\n\n/**\n * Is this live web site {boolean} - not localhost or test\n */\nexport const isWebSite =\n isProdSite || isRcSite || isDevSite;\n\n\n/**\n * Is this test env {boolean}\n */\nexport const isTestEnv =\n process.env.NODE_ENV === 'test';\n\n\n/**\n * Is this localhost or test {boolean} - ie. not develop, rc or prod\n * Without checking for the environment, test would match too.\n */\nexport const isLocalHost =\n !!window.location.hostname.match('localhost')\n && process.env.NODE_ENV !== 'test';\n\n\n/**\n * Matomo script SiteId.\n * 1 taide.art\n * 2 dev\n * 3 testi\n * 4 rc1\n */\nexport const getMatomoSiteId = () => {\n switch (window.location.hostname) {\n\n case 'taide.art':\n return 1;\n\n case 'dev.taidekokoelmat.fi':\n return 2;\n\n case 'testi.taidekokoelmat.fi':\n return 3;\n\n case 'rc1.taide.art':\n return 4;\n default:\n return 2;\n }\n};\n\n\nexport default {\n isProdSite,\n isRcSite,\n isDevSite,\n isWebSite,\n isLocalHost,\n isTestEnv\n};\n","/**\n * Internationalisation (i18n) helpers\n */\nexport const SUPPORTED_LOCALES = ['fi', 'en', 'sv'];\n\nexport const checkLocaleSupport = function (locale) {\n return SUPPORTED_LOCALES.indexOf(locale) > -1;\n};\n\n/**\n * Default locale is taken from `navigator.language`.\n */\nexport const getDefaultLocale = function () {\n const locale = typeof navigator !== 'undefined' ? navigator.language.substring(0, 2) : 'en';\n if (!checkLocaleSupport(locale)) {\n console.warn(`Locale \"${locale}\" is not supported`);\n return 'en'; // English is the default\n }\n return locale;\n};\n\n/**\n * Load translation strings for vue-i18n.\n * DEPRECATED; messages are load async.\n */\nexport const getMessages = function (locales) {\n const messages = {};\n // SUPPORTED_LOCALES.forEach((lang) => {\n // messages[lang] = require(`@/translations/locale-${lang}.json`);\n // });\n return messages;\n};\n\nexport const loadedLanguages = [];\n\n// import { loadMessages as dxLoadMessages } from 'devextreme/localization'; // attached to window.dxLoadMessages\n\n/**\n * Load translation files asynchronously\n */\nexport const getMessagesAsync = async function (i18n, locale) {\n\n // load if this locale has not yet been loaded\n if (!loadedLanguages.includes(locale)) {\n\n const main = await import(/* webpackChunkName: \"[request]\" */`@/translations/locale-${locale}.json`)\n .then((messages) => {\n i18n.setLocaleMessage(locale, messages.default);\n return true;\n })\n .catch((error) => { throw error; });\n\n // FIXME: DX i18n needs to merge upstream messages with dx-html-editor translation patches in plugins/dev-extreme.\n // currently it is better not to load these messages, only the patches.\n // let dx;\n // if (window.dxLoadMessages) {\n // dx = await import(/* webpackChunkName: \"dx-locale-[request]\" */`devextreme/localization/messages/${locale}.json`)\n // .then((messages) => {\n // window.dxLoadMessages(messages.default);\n // return true;\n // })\n // .catch((error) => { throw error; });\n // }\n\n // resolve as loaded if both promises resolved\n main && loadedLanguages.push(locale);\n }\n\n return Promise.resolve(locale);\n};\n","/**\n * Helpers to get default contents by item resource type\n */\n/* eslint import/order: [\"warn\", {\"newlines-between\": \"always-and-inside-groups\"}] */\nimport {\n getImageInfo,\n getImageAspectRatio,\n getViewportResolution,\n getCoverImageInfo,\n getIngressImageInfo,\n constructImageSrc,\n getImageUrl\n} from '@/helpers/image.js';\n\nimport {\n getCanvasXStep\n} from '@/helpers/masonry.js';\n\n\n/**\n * Returns default ingress image for each resource type.\n */\nexport const getDefaultImageSrc = function (item) {\n if (!item) {\n return '';\n }\n const href = (item._links && item._links.self && item._links.self.href) || '';\n\n // Actors --- uses MissingImage param\n // mix with one of artist's artworks as background?\n // if (item.ActorType || href.match('actors')) {\n // const n = _.random(1, 2);\n // // select image based on current color theme\n // // EDIT: not, as the image background is now white, and also the home page\n // // with gray background gets messed up\n // // if (getTheme() === \"dark\") {\n // // return require(`assets/images/actor-not-found_white-${n}.png`);\n // // }\n // return require(`assets/images/actor-not-found-${n}.png`);\n // }\n\n // Collections ---\n if (href.match('collections')) {\n return `/svc/collections/${item.Id}/images/ingressimage`;\n }\n\n // Organizations ---\n else if (href.match('organizations')) {\n return `/svc/organizations/${item.Id}/images/ingressimage`;\n }\n\n // Events ---\n else if (href.match('events')) {\n return `/svc/events/${item.Id}/images/ingressimage`;\n }\n};\n\n\n/**\n * Get resource CoverImage.\n */\nexport const getCoverImageSrc = function (item, imageAttrs) {\n let imageUrl;\n if (item) {\n // try different ways to deduce the cover image\n const coverImageInfo = getCoverImageInfo(item);\n if (coverImageInfo && coverImageInfo.Url) {\n imageUrl = coverImageInfo.Url;\n }\n else if (item._links && item._links.coverimage && item._links.coverimage.href) {\n imageUrl = item._links.coverimage.href;\n }\n // audio\n else if (item.AudioPlayer && item.AudioPlayer.CoverImageUrl) {\n // player.CoverImageInfo is included in coverImageInfo\n imageUrl = item.AudioPlayer.CoverImageUrl;\n }\n // video\n else if (item.VideoPlayer) {\n // no thumbnail image here from external video service,\n // as it could be very large and hog the client network and jam the browser\n //\n // if (player.VideoInfo && player.VideoInfo.ThumbnailUrl) {\n // imageUrl = player.VideoInfo.ThumbnailUrl;\n // }\n\n const player = item.VideoPlayer;\n // player.CoverImageInfo is included in coverImageInfo\n if (player.CoverImageUrl) {\n imageUrl = player.CoverImageUrl;\n }\n else {\n imageUrl = `/svc/videos/${item.Id}/images/coverimage`;\n }\n }\n }\n\n // TODO: refactor this to use the fn\n // else {\n // imageUrl = getDefaultImageSrc(item);\n // }\n //\n if (!imageUrl && item) {\n // use default resource path\n const href = (item._links && item._links.self && item._links.self.href) || '';\n\n // Collections ---\n if (href.match('collections')) {\n imageUrl = `/svc/collections/${item.Id}/images/coverimage`;\n }\n\n // Organizations ---\n else if (href.match('organizations')) {\n imageUrl = `/svc/organizations/${item.Id}/images/coverimage`;\n }\n\n // Actors ---\n else if (href.match('actors')) {\n imageUrl = `/svc/actors/${item.Id}/images/coverimage`;\n }\n\n // Events ---\n // else if (href.match('events')) {\n // imageUrl = `/svc/events/${item.Id}/images/coverimage`;\n // }\n\n // Artworks ---\n else if (href.match('artwork')) {\n // try ImageInfo\n const imageInfo = getImageInfo(item);\n if (imageInfo && imageInfo.Url) {\n imageUrl = imageInfo.Url;\n }\n }\n\n // Videos ---\n else if (href.match('videos')) {\n imageUrl = `/svc/videos/${item.Id}/images/coverimage`;\n }\n }\n\n if (!imageUrl) {\n return '';\n }\n else if (imageUrl.match('data:image')) {\n return imageUrl;\n }\n else if (imageUrl.match(/^http/)) {\n return imageUrl;\n }\n else if (imageUrl.match('static')) {\n return imageUrl;\n }\n\n if (imageUrl.match('data:image')) {\n return imageUrl;\n }\n\n // set default canvas X\n const resolution = (imageAttrs && imageAttrs.resolution) || {x: '100vw'};\n\n const attrs = _.extend({\n zoom: null,\n viewerZoom: null,\n ratio: null,\n missingImage: 'Redirect'\n }, imageAttrs, {resolution});\n\n return constructImageSrc(imageUrl, attrs);\n};\n\n\n/**\n * Get item ingress image by trying various ways.\n */\nexport const getIngressImageSrc = function (item, imageAttrs) {\n let imageUrl;\n if (item) {\n // try different ways to deduce the ingress image\n const ingressImageInfo = getIngressImageInfo(item);\n if (ingressImageInfo && ingressImageInfo.Url) {\n imageUrl = ingressImageInfo.Url;\n }\n else if (item.IngressImageUrl) {\n imageUrl = item.IngressImageUrl;\n }\n else if (item._links && item._links.ingressimage && item._links.ingressimage.href) {\n imageUrl = item._links.ingressimage.href;\n }\n\n // audio\n else if (item.AudioPlayer && item.AudioPlayer.IngressImageUrl) {\n // player.IngressImageInfo is included in ingressImageInfo\n imageUrl = item.AudioPlayer.IngressImageUrl;\n }\n // video\n else if (item.VideoPlayer) {\n // no thumbnail image here from external video service,\n // as it could be very large and hog the client network and jam the browser\n //\n // if (player.VideoInfo && player.VideoInfo.ThumbnailUrl) {\n // imageUrl = player.VideoInfo.ThumbnailUrl;\n // }\n\n const player = item.VideoPlayer;\n // player.IngressImageInfo is included in ingressImageInfo\n if (player.IngressImageUrl) {\n imageUrl = player.IngressImageUrl;\n }\n else {\n imageUrl = `/svc/videos/${item.Id}/images/ingressimage`;\n }\n }\n else {\n imageUrl = getDefaultImageSrc(item);\n }\n }\n\n if (!imageUrl) {\n return '';\n }\n else if (imageUrl.match('data:image')) {\n return imageUrl;\n }\n else if (imageUrl.match(/^http/)) {\n return imageUrl;\n }\n else if (imageUrl.match('static')) {\n return imageUrl;\n }\n\n const attrs = _.extend({\n zoom: null,\n viewerZoom: null,\n ratio: null,\n missingImage: 'Redirect'\n }, imageAttrs);\n\n return constructImageSrc(imageUrl, attrs);\n};\n\n\n/**\n * Article ingress image might come from first ImagePart or _links.ingressimage.\n * FIXME: getCoverImageSrc works better in FeatureArticleTable\n * FIXME: use imageAttrs param\n */\nexport const getArticleIngressImageSrc = function (item, resolution) {\n if (!item) {\n return null;\n }\n let src = '';\n if (item.IngressImageInfo?.Url) {\n src = item.IngressImageInfo.Url;\n }\n if (item._links?.ingressimage?.href) {\n src = item._links.ingressimage.href;\n }\n else if (item._links?.coverimage?.href) {\n src = item._links.coverimage.href;\n }\n else {\n const part = _.head(_.filter(item.Sections, 'ImagePart'));\n if (part?.ImagePart?.Images) {\n src = _.head(part.ImagePart.Images);\n }\n }\n if (!src) {\n return null;\n }\n\n const attrs = {\n resolution,\n missingImage: 'Image'\n };\n return constructImageSrc(src, attrs);\n};\n\n\n/**\n * Actors have static ingress image url with MissingImage param.\n */\nexport const getActorIngressImageSrc = function (item, imageAttrs) {\n if (!item) {\n return '';\n }\n\n const imageUrl = (item.IngressImageInfo?.Url)\n || `/svc/actors/${item.Id || item.ActorId}/images/ingressimage`;\n\n const attrs = _.extend({\n format: 'png',\n resolution: {x: 280, y: 280, fixed: true},\n zoomMode: 'Fill',\n missingImage: 'Redirect'\n }, imageAttrs);\n\n return constructImageSrc(imageUrl, attrs);\n};\n\n\n/**\n * User ProfileImage src.\n */\nexport const getUserProfileImageSrc = function (userProfile, imageAttrs) {\n if (!userProfile) {\n return '';\n }\n\n const imageUrl = userProfile.ProfileImageInfo?.Url || userProfile.AvatarImageUrl;\n\n const attrs = _.extend({\n format: 'png',\n resolution: {x: 280, y: 280, fixed: true},\n zoomMode: 'Fill'\n }, imageAttrs);\n\n return constructImageSrc(imageUrl, attrs);\n};\n\n\n/**\n * Get image source for full screen view.\n * Either limited to ImageInfo.Width or 1800 px.\n */\nexport const getFullscreenImageSrc = function (item, imageInfo, imageAttrs) {\n if (!item) {\n return null;\n }\n const imageUrl = getImageUrl(item);\n if (!imageUrl) {\n return null;\n }\n\n const x = imageInfo?.Width || 1800;\n const y = imageInfo?.Height;\n\n const resolution = _.extend({x}, (imageAttrs && imageAttrs.resolution));\n if (y) {\n resolution.y = y;\n resolution.fixed = true; // special parameter for formatImageSrcParams to maintain aspect ratio\n }\n\n return constructImageSrc(imageUrl, _.extend({}, imageAttrs, {resolution}));\n};\n\n\n/**\n * Image src for og:image meta tag.\n */\nexport const getMetaImageSrc = function (item) {\n if (!item) {\n return '';\n }\n const imageUrl = getImageUrl(item);\n if (imageUrl?.match(/^http/)) {\n return imageUrl;\n }\n else if (imageUrl) {\n const attrs = {resolution: {x: 800}, missingImage: 'Redirect'};\n return constructImageSrc(imageUrl, attrs);\n }\n};\n\n\n/**\n * Calculate background-position for given focus point [x, y] on scale of -50 ... 50.\n * Near the edges the position is adjusted closer to the edge, so that at,\n * eg. point of - from top of large banner would not clip part of the focus point itself.\n *\n * -50 ... -30 move focus closer to the edge\n * -30 ... +30 pass actual focus point\n * +30 ... +50 move focus closer to the edge\n *\n * @returns Array [x, y] for css background-position: %\n */\nexport const getBackgroundPositionByFocusPoint = function (focusPoint) {\n if (focusPoint) {\n\n // get css background-position % from FocusPoint value -50 ... +50\n const getBgPosFromPointValue = (value) => {\n\n let pos = value + 50; // translate to percentage 0 ... 100\n\n // distance from 20 and 80\n // eg. 19% => 19 - 1 = 18%\n // 15% => 15 - 5 = 10%\n // 85% => 85 + 5 = 90%\n if (pos < 20) {\n const d = 20 - pos;\n pos -= d;\n }\n else if (pos > 80) {\n const d = pos - 80;\n pos += d;\n }\n\n return _.clamp(pos, 0, 100);\n };\n\n const point = [ getBgPosFromPointValue(focusPoint[0]), getBgPosFromPointValue(focusPoint[1]) ];\n return point;\n }\n else {\n return [50, 50]; // default\n }\n};\n\n\n/**\n * Background-image url and background-position by FocusPoint.\n * For FocusPoint, param `imageInfo` is preferred, but deduced from item.ImageInfo or item.FocusPoint otherwise.\n */\nexport const getBackgroundImageStyle = function (imageSrc, item, imageInfo) {\n let style = '';\n if (imageSrc) {\n style += `background-image: url(\"${imageSrc}\");`;\n\n let _imageInfo = imageInfo;\n if (!_imageInfo && item) {\n _imageInfo = getImageInfo(item, true); // FIXME: ImageInfo, CoverImageInfo, IngressImageInfo?\n }\n // take FocusPoint from imageInfo or item\n const focusPoint = _imageInfo?.FocusPoint || item?.FocusPoint;\n if (focusPoint) {\n const bgPos = getBackgroundPositionByFocusPoint(focusPoint);\n style += `background-position: ${bgPos[0]}% ${bgPos[1]}%;`;\n }\n }\n return style;\n};\n\n\n/**\n * Collection / Organization / Actor / Event banner.\n * Favourable to use with ImageBannerMixin.\n */\nexport const getBannerImageStyle = function (item, doEdit, useIngressImage, minHeight, imageAttrs) {\n if (!item) {\n return '';\n }\n\n const _imageAttrs = _.extend({resolution: {x: '100vw', y: 640}, missingImage: 'Redirect', cacheBust: doEdit}, imageAttrs);\n const imageSrc = useIngressImage ?\n getIngressImageSrc(item, _imageAttrs)\n : getCoverImageSrc(item, _imageAttrs);\n\n // apply FocusPoint\n let style = getBackgroundImageStyle(imageSrc, item);\n\n // min-height\n if (typeof minHeight === 'undefined') {\n minHeight = '400px';\n }\n if (minHeight) {\n const mhunit = (typeof minHeight === 'number' ? 'px' : '');\n style += `min-height: min(${minHeight}${mhunit}, 65vh);`;\n }\n\n return style;\n};\n\n\nexport const getPaletteColorsBackgroundStyle = function (imageInfo, defaultColor) {\n let style = '';\n if (imageInfo) {\n // set background color\n if (imageInfo.PaletteColors?.length) {\n const palette = imageInfo.PaletteColors;\n if (palette.length === 1) {\n // one color\n style += `background-color: ${palette[0].Color};`;\n }\n else {\n // gradient\n let pct = 0;\n const colors = palette.reduce((acc, color) => {\n // for sharp transitions, each color comes twice, eg. \", green 0%, green 50%, blue 50%, blue 100%\" (ENL FTW)\n // const pctStart = pct;\n // pct += color.Cover * 100; // accumulate this\n // return acc + `, ${color.Color} ${pctStart.toFixed(2)}%, ${color.Color} ${pct.toFixed(2)}%`;\n\n // smoother gradient, eg. \", green 0%, blue 50%, gray 100%\"\n const pctStart = pct;\n pct += color.Cover * 100; // accumulate this (value)\n return acc + `, ${color.Color} ${pctStart.toFixed(2)}%`; // reduce function accumulator (string)\n }, '');\n const deg = _.sample([0, 45, 90, 145, 180]); // pick random angle\n style += `background: linear-gradient(${deg}deg${colors});`;\n }\n }\n else if (imageInfo.DominantColor) {\n style += `background-color: ${imageInfo.DominantColor};`;\n }\n else if (defaultColor) {\n style += `background-color: ${defaultColor};`;\n }\n }\n return style;\n};\n\n\n/**\n * Get Width, Height for styling image box to get sharp images without wasting bandwidth.\n *\n * ImageBox may often be used to style with these values, giving only resolution.x most of the time.\n * ImageInfo is used to calculate ratio to get the missing dimension.\n * Screen resolution is used to limit the maximum with optimised behaviour.\n *\n * In views and components, this usually should be a computed value, calculated before rendering.\n * For automatic detection, this would need to set a data- attribute for run-time to pick up on\n * and resolve the image source.\n *\n * With param `resolution`:\n * x = 500 ; number ; the value will be used, (missing) y is calculated from ratio\n * x = 'auto' ; string ; the value will likewise be used, same with y\n * x = '100vw' ; string ; vw and vh are detected and relative width and height and calculated from client innerWidth/Height\n * x ? ; falsy ; show maximum resolution image for client screen, if also y is undefined\n *\n * For `resolution.y` values it behaves likewise.\n * If no resolution, or ImageInfo is found, returned values are 'inherit'.\n *\n * Param `step`, when true, will step up CanvasX to the nearest pre-rendered X resolution.\n *\n */\nexport const getImageWidthHeightOptimised = function (item, resolution, step) {\n if (!resolution) {\n resolution = {};\n }\n\n let width;\n let height;\n\n\n // number value is used as is\n if (typeof resolution.x === 'number') {\n width = resolution.x;\n }\n if (typeof resolution.y === 'number') {\n width = resolution.y;\n }\n\n\n // string value can be anything, except \"vw\", \"vh\" are parsed for numeric value\n if (typeof resolution.x === 'string') {\n const vp = getViewportResolution(resolution.x);\n if (vp.height) {\n width = vp.height;\n }\n else if (vp.width) {\n // add some leeway for margin to upscale image res\n width = vp.width + 90;\n }\n else {\n width = resolution.x; // plain string\n }\n }\n if (typeof resolution.y === 'string') {\n const vp = getViewportResolution(resolution.y);\n if (vp.height) {\n height = vp.height;\n }\n else if (vp.width) {\n height = vp.width;\n }\n else {\n height = resolution.y; // plain string\n }\n }\n\n\n // calculate missing height or width by ratio\n const ratio = getImageAspectRatio(item);\n if (ratio) {\n if (typeof width === 'number' && typeof height === 'undefined') {\n height = width / ratio;\n }\n else if (typeof width === 'undefined' && typeof height === 'number') {\n width = height * ratio;\n }\n }\n\n\n // max width should not exceed client display resolution.\n // limit width and height to client innerWidth/Height\n if (typeof width === 'number' && width > (innerWidth - 105)) {\n width = innerWidth;\n height = width / ratio;\n }\n else if (typeof height === 'number' && height > innerHeight) {\n height = innerHeight;\n width = height * ratio;\n }\n\n\n // maximum resolution image for client screen\n if (typeof width === 'undefined' && typeof height === 'undefined') {\n width = getCanvasXStep(innerWidth);\n height = width / ratio;\n }\n else if (typeof width === 'undefined') {\n width = '100%'; // height (non-numeric) is set, width was not\n }\n else if (typeof height === 'undefined') {\n height = 'inherit'; // width (non-numeric) is set, height was not\n }\n\n\n // limit to CanvasX steps\n if (typeof width === 'number') {\n width = getCanvasXStep(width);\n if (typeof height === 'number') {\n height = width / ratio;\n }\n }\n else if (typeof height === 'number') {\n // pre-rendered images are for CanvasX, so this is calculated a bit differently\n height = getCanvasXStep(height * ratio) / ratio;\n width = height * ratio;\n }\n\n\n // round to integer\n if (typeof width === 'number') {\n width = Math.round(width);\n }\n if (typeof height === 'number') {\n height = Math.round(height);\n }\n\n\n return { width, height };\n};\n\n\n/**\n * Get style for image using width and height from `getImageWidthHeightOptimised`.\n */\nexport const getImageWidthHeightOptimisedStyle = function (item, resolution) {\n let { width, height } = getImageWidthHeightOptimised(item, resolution, true);\n\n if (typeof width === 'number') {\n width = width + 'px';\n }\n if (typeof height === 'number') {\n height = height + 'px';\n }\n\n return `width: ${width}; height: ${height};`;\n};\n","/**\n * Helpers for image info and meta data\n */\n/* eslint import/order: [\"warn\", {\"newlines-between\": \"always-and-inside-groups\"}] */\nimport {\n formatImageSrcParams,\n getCanvasXStep,\n getCanvasYStep\n} from '@/helpers/masonry.js';\n\nimport {\n getBaseUrl\n} from '@/helpers/index.js';\n\nimport {\n getCoverImageSrc,\n getIngressImageSrc\n} from '@/helpers/image-resources.js';\n\n\nexport const getCoverImageInfo = function (item) {\n return item?.CoverImageInfo\n || item?.VideoPlayer?.CoverImageInfo\n || item?.AudioPlayer?.CoverImageInfo;\n};\n\n\nexport const getIngressImageInfo = function (item) {\n return item?.IngressImageInfo\n || item?.VideoPlayer?.IngressImageInfo\n || item?.AudioPlayer?.IngressImageInfo;\n};\n\n\n/**\n * Get ImageInfo or CoverImageInfo or IngressImageInfo.\n * TODO: deprecate `useAnyImageInfo`, fix callers to specify ImageInfo source.\n */\nexport const getImageInfo = function (item, useAnyImageInfo) {\n if (!useAnyImageInfo) {\n return item?.ImageInfo;\n }\n else {\n return item && (\n item.ImageInfo\n || getCoverImageInfo(item)\n || getIngressImageInfo(item));\n }\n};\n\n\n/**\n * Get Width, Height from ImageInfo\n */\nexport const getImageWidthHeight = function (item) {\n const imageInfo = getImageInfo(item, true); // FIXME: ImageInfo, CoverImageInfo, IngressImageInfo?\n const width = imageInfo && imageInfo.Width;\n const height = imageInfo && imageInfo.Height;\n return { width, height };\n};\n\n\nexport const getViewportResolution = function (vwvhString) {\n\n const screenWidth = (process.client && window.innerWidth) || 1024;\n const screenHeight = (process.client && window.innerHeight) || 768;\n const pixelRatio = (process.client && window.devicePixelRatio) || 1;\n\n const value = {};\n if (vwvhString.search('vh|vw') > 0) {\n // parse viewport w / h\n const mh = vwvhString.match(/(.*)vh/);\n const vh = mh && parseInt(mh[1], 10);\n const mw = vwvhString.match(/(.*)vw/);\n const vw = mw && parseInt(mw[1], 10);\n // calculate pixels from the percentage, also account for device pixel ratio\n if (vh) {\n value.height = Math.round((vh / 100.0) * screenHeight * pixelRatio);\n }\n else if (vw) {\n value.width = Math.round((vw / 100.0) * screenWidth * pixelRatio);\n }\n }\n return value;\n};\n\n\n/**\n * Get Image aspect ratio from ImageInfo Width / Height.\n */\nexport const getImageAspectRatio = function (item) {\n const { width, height } = getImageWidthHeight(item);\n\n if (typeof width !== 'number' || typeof height !== 'number') {\n return null;\n }\n\n return width / height;\n};\n\n\n/**\n * Returns whether `item` image is `portrait` or `landscape`.\n * Prefers `item.ImageInfo` / `IngressImageInfo` / `CoverImageInfo` to `resolution`.\n */\nexport const getImageOrientation = function (item, resolution) {\n let orientation = '';\n\n let ratio = getImageAspectRatio(item);\n if (!ratio && resolution && resolution.x && resolution.y) {\n ratio = resolution.x / resolution.y;\n }\n\n if (ratio) {\n if (ratio <= 0.5) {\n orientation = 'portrait narrow';\n }\n else if (ratio <= 1) {\n orientation = 'portrait';\n }\n else if (ratio <= 2) {\n orientation = 'landscape';\n }\n else {\n orientation = 'landscape wide';\n }\n }\n\n return orientation;\n};\n\n\nexport const getImageCaption = function (item) {\n const imageInfo = getImageInfo(item);\n return imageInfo?.Caption || item?.ImageCaption;\n};\n\n\nexport const getImageCreditLine = function (item) {\n const imageInfo = getImageInfo(item);\n return imageInfo?.CreditLine || item?.ImageCreditLine;\n};\n\n\nexport const getImageCopyright = function (item) {\n const imageInfo = getImageInfo(item);\n return imageInfo?.Copyright || item?.ImageCopyright;\n};\n\n\nexport const getImageLicense = function (item) {\n const imageInfo = getImageInfo(item);\n return imageInfo?.License || item?.ImageLicense;\n};\n\n\n/**\n * Get the character \"?\" or \"&\" that leads the image url for parameters.\n */\nexport const getImageUrlParamChar = function (imageUrl) {\n return (imageUrl && imageUrl.match(/\\?[^/]*$/)) ? '&' : '?'; // does the image url have ? already or should there be '&'\n};\n\n\n/**\n * Combine image url (path) with image attributes to contruct complete src.\n */\nexport const constructImageSrc = function (imageUrl, imageAttrs) {\n if (imageUrl) {\n const { resolution, format, zoom, viewerZoom, ratio, urlParams, cacheBust, zoomMode, missingImage } = imageAttrs;\n const params = formatImageSrcParams(resolution, format, zoom, viewerZoom, ratio, urlParams, cacheBust, zoomMode, missingImage);\n const baseUrl = getBaseUrl();\n const joinChar = getImageUrlParamChar(imageUrl);\n let src = '';\n if (!(imageUrl.match(/^http/))) {\n src += baseUrl;\n }\n src += `${imageUrl}${joinChar}${params}`;\n return src;\n }\n};\n\n\n/**\n * Combine image url (path) with image attributes.\n * Adds url params to the given `imageUrl`.\n * Takes device screen geometry into account for `imageAttrs` vw and vh resolution.\n * Refactored merge of `constructImageSrc`, `formatImageSrcParams`, and `getMasonryCanvasResolution` helpers.\n */\nexport const constructImageSrc2 = function (imageUrl, imageAttrs) {\n if (!imageUrl) {\n return;\n }\n\n const { format, zoom, ratio, urlParams, cacheBust, zoomMode, missingImage } = imageAttrs;\n const screenWidth = (process.client && window.innerWidth) || 1024;\n\n // set default X resolution, if neither is given\n const resolution = _.extend({x: 500}, imageAttrs.resolution);\n\n // Parse \"vh\" and \"vw\" from resolution string.\n // String value can be anything, except \"vw\", \"vh\" are parsed for numeric value.\n // resolution.x and .y are modified in place from string to number.\n if (typeof resolution.x === 'string') {\n const vp = getViewportResolution(resolution.x);\n if (vp.height) {\n resolution.x = vp.height;\n }\n else if (vp.width) {\n resolution.x = vp.width;\n\n // given that \"50vw\" may in mobile view show the image screen-wide\n if (screenWidth < 576 && resolution.x < 500) {\n resolution.x = 500;\n }\n else if (screenWidth < 769 && resolution.x < 800) {\n resolution.x = 800;\n }\n else {\n // add some leeway for margin to upscale image resolution\n resolution.x += 90;\n }\n }\n }\n if (typeof resolution.y === 'string') {\n const vp = getViewportResolution(resolution.y);\n if (vp.height) {\n resolution.y = vp.height;\n }\n else if (vp.width) {\n resolution.y = vp.width;\n }\n // Y can be a percentage, but it will be accounted for after X resolution step is calculated\n }\n\n // Set resolution limits --\n // Resolution can be anything, but for cache optimisation,\n // the image is queried from backend in resolution steps.\n // When resolution.fixed is set, no step adjustment is made.\n let x;\n if (resolution.x && !resolution.fixed) {\n x = getCanvasXStep(resolution.x);\n }\n else {\n x = resolution.x;\n }\n\n let y;\n if (typeof resolution.y === 'number') {\n y = resolution.y;\n\n // calculate new height\n if (ratio) {\n y = Math.round(x * ratio);\n }\n }\n // Y can be a percentage\n else if (typeof resolution.y === 'string' && resolution.y.match(/\\d+%/)) {\n const perc = parseInt(resolution.y.replace('%', ''), 10) / 100;\n if (typeof x === 'number') {\n y = Math.round(x * perc);\n }\n }\n // get Y step, unless resolution.fixed is set\n if (y && !resolution.fixed) {\n y = getCanvasYStep(y);\n }\n\n\n // construct image url params\n const params = [];\n if (format) {\n // default format is always jpg\n params.push(`Format=${format}`);\n }\n if (x) {\n params.push(`CanvasX=${x}`);\n }\n if (y) {\n params.push(`CanvasY=${y}`);\n }\n if (zoom) {\n params.push(`Zoom=${zoom}`);\n }\n if (urlParams) {\n params.push(urlParams);\n }\n if (zoomMode) {\n params.push(`ZoomMode=${zoomMode}`);\n }\n if (missingImage) {\n params.push(`MissingImage=${missingImage}`);\n }\n if (cacheBust) {\n params.push(getCacheBustParam(true));\n }\n const paramsStr = _.compact(params).join('&');\n\n const baseUrl = getBaseUrl();\n const joinChar = getImageUrlParamChar(imageUrl);\n let src = '';\n if (!(imageUrl.match(/^http/))) {\n src += baseUrl;\n }\n src += `${imageUrl}${joinChar}${paramsStr}`;\n return src;\n};\n\n\n/**\n * Image url (path), without base.\n\n ImageRequest Parameters:\n\n CanvasX\n CanvasY\n CanvasXMin\n CanvasYMin\n CanvasXMax\n CanvasYMax\n ClipX\n ClipY\n CornerRadius\n RotateDegrees\n OffsetX\n OffsetY\n Resolution\n Zoom\n BorderColor\n BackgroundColor\n\n */\nexport const getImageUrl = function (item) {\n if (!item) {\n return null;\n }\n let imageUrl = '';\n // try ImageInfo, from item or Artwork wrapper\n let imageInfo = getImageInfo(item, true); // FIXME: ImageInfo, CoverImageInfo, IngressImageInfo?\n if (!imageInfo && item.Artwork) {\n imageInfo = getImageInfo(item.Artwork);\n }\n // prefer ImageInfo.Url\n if (imageInfo?.Url) {\n imageUrl = imageInfo.Url;\n }\n // then, if this is FeatureArticle ImagePart\n else if (typeof item.Caption !== 'undefined' && item.Id) {\n imageUrl = `/svc/images/${item.Id}`;\n }\n // then try _links.image\n else if (item._links?.image?.href) {\n imageUrl = item._links.image.href;\n }\n // cover image\n if (!imageUrl) {\n imageUrl = getCoverImageSrc(item);\n }\n // ingress image\n if (!imageUrl) {\n imageUrl = getIngressImageSrc(item);\n }\n // video thumbnail from external video service\n if (!imageUrl && item.VideoPlayer) {\n imageUrl = item.VideoPlayer.VideoInfo?.ThumbnailUrl;\n }\n // finally try deprecated ImageUrl\n if (!imageUrl && item.ImageUrl) {\n imageUrl = item.ImageUrl;\n }\n\n return imageUrl;\n};\n\n\n/**\n * Full image src, including base and query parameters\n */\nexport const getImageSrc = function (item, imageAttrs) {\n const imageUrl = getImageUrl(item);\n\n if (!imageUrl) {\n return '';\n }\n if (!imageUrl.match('/svc')) {\n return imageUrl;\n }\n\n const ratio = imageAttrs?.ratio || getImageAspectRatio(item);\n const attrs = _.extend({}, imageAttrs, {ratio});\n\n return constructImageSrc(imageUrl, attrs);\n};\n\n\n/**\n * Get timestamp into the future when to bust browser image cache by updating the timestamp.\n */\nexport const getCacheBustParam = function (editMode) {\n if (!editMode) {\n return '';\n }\n const ts = 'ts=' + new Date().getMilliseconds();\n return ts;\n};\n","/**\n * Helpers for date and time operations\n */\n\n/**\n * Return localized date string from `date` param, which can be String or Date object.\n */\nexport const toLocaleDateString = (date, locale, options) => {\n try {\n const d =\n typeof date === 'object' ?\n date\n : new Date(date);\n\n const defaultOptions = { month: \"numeric\", day: \"numeric\", year: \"numeric\" };\n return d ?\n new Intl.DateTimeFormat(locale, options || defaultOptions).format(d)\n : '';\n }\n catch (error) {\n console.debug(error);\n return '';\n }\n};\n\n/**\n * Gets the item's first DateEdited.\n */\nexport const getFirstDateEdited = function (item) {\n const editor = item?.Editors?.length && item.Editors[0];\n return editor && editor.DateEdited;\n};\n\nexport default {\n toLocaleDateString,\n getFirstDateEdited\n};\n","/**\n * Helpers index\n */\n/* eslint import/order: [\"warn\", {\"newlines-between\": \"always-and-inside-groups\"}] */\nimport {\n getImageInfo,\n getImageWidthHeight,\n getImageAspectRatio,\n getImageOrientation,\n getImageCaption,\n getImageCreditLine,\n getImageCopyright,\n getImageLicense,\n getImageUrl,\n getImageSrc,\n constructImageSrc,\n constructImageSrc2,\n getCacheBustParam\n} from '@/helpers/image.js';\n\nimport {\n getMasonryWidthHeight,\n getMasonryWidthHeightStyle,\n formatImageSrcParams,\n getMasonryClass\n} from '@/helpers/masonry.js';\n\nimport {\n getDefaultImageSrc,\n getCoverImageSrc,\n getIngressImageSrc,\n getArticleIngressImageSrc,\n getActorIngressImageSrc,\n getUserProfileImageSrc,\n getFullscreenImageSrc,\n getMetaImageSrc,\n getBackgroundPositionByFocusPoint,\n getBackgroundImageStyle,\n getBannerImageStyle,\n getPaletteColorsBackgroundStyle,\n getImageWidthHeightOptimised,\n getImageWidthHeightOptimisedStyle\n} from '@/helpers/image-resources.js';\n\nimport {\n toLocaleDateString,\n getFirstDateEdited\n} from '@/helpers/datetime.js';\n\n\n// scheduler is needed to flush promise queue\nconst scheduler = typeof setImmediate === 'function' ? setImmediate : setTimeout;\n\n\n/**\n * Site base url.\n */\nexport const getBaseUrl = function () {\n return process.env.API_URL || (process.client && window.location.origin);\n};\n\n\n/**\n * Map lowercase \"_links\" resource (eg. artworks) to uppercase singular (eg. Artwork)\n */\nexport const getResourceKey = function (resource) {\n let key;\n switch (resource) {\n case 'actors':\n key = 'Actor';\n break;\n case 'artworks':\n key = 'Artwork';\n break;\n case 'audios':\n key = 'Audio';\n break;\n case 'collections':\n key = 'Collection';\n break;\n case 'events':\n key = 'Event';\n break;\n case 'featurearticles':\n key = 'FeatureArticle';\n break;\n case 'organizations':\n key = 'Organization';\n break;\n case 'videos':\n key = 'Video';\n break;\n }\n return key;\n};\n\n\n/**\n * Detects the resource type (ResourcePath) of item.\n * (actors, artworks, collections etc)\n */\nexport const getItemResourceType = function (item) {\n if (!item) {\n return;\n }\n else if (item.ResourcePath) {\n return item.ResourcePath;\n }\n // the rest is to support resources without ResourcePath (there should not be any)\n let resource;\n if (item._links && item._links.self) {\n const href = item._links && item._links.self && item._links.self.href;\n const match = href && href.match(/\\/svc\\/(.*)\\//);\n resource = match && match[1];\n }\n if (item.ActorType) {\n resource = 'actors';\n }\n if (item.Makers || item.MakersShort) {\n resource = 'artworks';\n }\n return resource;\n};\n\n\n/**\n * Return the card component (artwork-card, etc) for item by type (ResourcePath).\n */\nexport const getItemCardType = function (item) {\n const resourceType = getItemResourceType(item);\n switch (resourceType) {\n case 'actors':\n return 'actor-card';\n case 'artworks':\n return 'artwork-card';\n case 'audios':\n return 'audio-card';\n case 'collections':\n return 'collection-card';\n case 'events':\n return 'event-card';\n case 'exhibitions':\n return 'event-card';\n case 'featurearticles':\n return 'feature-article-card';\n case 'organizations':\n return 'organization-card';\n case 'videos':\n return 'video-card';\n default:\n console.warn(\"Unknown resource type\", resourceType);\n return '';\n }\n};\n\n\n/**\n* Return Actors as string.\n*/\nexport const getMakersShort = function (item) {\n if (item && item.MakersShort) {\n return item.MakersShort;\n }\n else if (item && item.Makers) {\n return _.map(item.Makers, 'Name').join(' & ');\n }\n else {\n return '';\n }\n};\n\n\n/**\n* Return Actor lifetime as string (\"BirthYear – \" or \"BirthYear – DeathYear\")\n*/\nexport const getActorLifetime = function (actor) {\n if (!actor || !actor.BirthYear || actor.BirthYear === 0) {\n return \"\";\n }\n let years = actor.BirthYear + ' – ';\n if (actor.DeathYear) {\n years += actor.DeathYear;\n }\n return years;\n};\n\n\n/**\n * Return highest bitrate video url from given `videoInfo`\n */\nexport const getEncodedVideoUrl = function (videoInfo) {\n // here are various resolutions, take the first (probably with highest bitrate)\n const video = videoInfo.EncodedVideos && _.head(videoInfo.EncodedVideos);\n\n // ensure the source protocol is https\n return video && video.Url && video.Url.replace(/^http:/, 'https:');\n};\n\n\n/**\n * Cleanup query Text param.\n * Remove * and ?, replace - with space\n */\nexport const cleanupQueryText = function (text) {\n if (!text) {\n return '';\n }\n return text\n .replace(/\\*/g, '')\n .replace(/\\?/g, '')\n .replace(/-/g, ' ');\n};\n\n\n/**\n * Artwork geometric dimensions string formatter\n */\nexport const stringifyDimension = function (dimension) {\n return `${dimension.Type} ${dimension.Value} ${dimension.Unit}`;\n};\n\n\n/**\n * FileLibrary upload url.\n */\nexport const getFileLibraryUploadUrl = function (fileLibrary) {\n return fileLibrary && fileLibrary.Id &&\n `${getBaseUrl()}/svc/filelibraries/${fileLibrary.Id}`;\n};\n\n\nexport const filterByImageUrl = function (items) {\n return _.filter(items, (item) => {\n const src = getImageUrl(item);\n return (typeof src === 'string' && src.length > 0);\n });\n};\n\n\n/**\n** Set and return domain cookie\n**/\nexport const setCookie = function (cname, cvalue, exMins) {\n if (!process.client) {\n return;\n }\n\n const d = new Date();\n d.setTime(d.getTime() + (exMins * 60 * 1000));\n const expires = \"expires=\" + d.toUTCString();\n const domain = \"domain=\" + window.location.hostname;\n const cookie = `${cname}=${cvalue};${domain};${expires};path=/`;\n\n document.cookie = cookie;\n};\n\n\n/**\n * Full locale with territory.\n */\nexport const getFullLocale = function (locale) {\n switch (locale) {\n case 'en':\n return 'en_US';\n case 'fi':\n return 'fi_FI';\n case 'sv':\n return 'sv_SE';\n default:\n return 'en_US';\n }\n};\n\n\nexport const hexToRGB = function (hex, alpha) {\n const r = parseInt(hex.slice(1, 3), 16);\n const g = parseInt(hex.slice(3, 5), 16);\n const b = parseInt(hex.slice(5, 7), 16);\n\n if (alpha) {\n return \"rgba(\" + r + \", \" + g + \", \" + b + \", \" + alpha + \")\";\n }\n else {\n return \"rgb(\" + r + \", \" + g + \", \" + b + \")\";\n }\n};\n\n\nexport const flushPromises = function (timeout) {\n return new Promise((resolve) => {\n scheduler(resolve, timeout || 0);\n });\n};\n\n\nexport const logErrorTrace = /* istanbul ignore next */ function (error, showStackTrace) {\n const status = error?.response?.data?.ResponseStatus;\n\n // open stack group\n if (showStackTrace) {\n console.group((error.message || error.name), (error.isAxiosError && error.config?.url) || '');\n }\n\n // ResponseStatus.Errors from the backend\n if (status?.Errors) {\n const errors = _.map(status.Errors, (err) => {\n return `${err.ErrorCode}, ${err.FieldName}: ${err.Message}`;\n });\n showStackTrace ?\n console.error(status.Message, errors, status.StackTrace, error.config || '')\n : console.error((error.message || error.name), status.Message, errors);\n }\n // generic error\n else if (error) {\n showStackTrace ?\n console.error(error, error.response?.status || '', error.config || '')\n : console.error((error.message || error.name), error.response?.status, error);\n }\n\n // end stack group\n if (showStackTrace) {\n error.response && console.info(error.response.data);\n console.groupEnd();\n }\n};\n\n\nexport default {\n\n getBaseUrl,\n\n getResourceKey,\n getItemResourceType,\n getItemCardType,\n getBackgroundPositionByFocusPoint,\n getBackgroundImageStyle,\n getBannerImageStyle,\n getMakersShort,\n getActorLifetime,\n cleanupQueryText,\n stringifyDimension,\n getFileLibraryUploadUrl,\n getEncodedVideoUrl,\n filterByImageUrl,\n setCookie,\n getFullLocale,\n hexToRGB,\n flushPromises,\n logErrorTrace,\n\n // imported from image-*\n getImageInfo,\n getImageUrl,\n getImageSrc,\n constructImageSrc,\n constructImageSrc2,\n getFullscreenImageSrc,\n getMetaImageSrc,\n getIngressImageSrc,\n getArticleIngressImageSrc,\n getActorIngressImageSrc,\n getUserProfileImageSrc,\n getCoverImageSrc,\n getDefaultImageSrc,\n getImageWidthHeight,\n getImageWidthHeightOptimised,\n getImageWidthHeightOptimisedStyle,\n getPaletteColorsBackgroundStyle,\n getImageAspectRatio,\n getImageOrientation,\n getImageCaption,\n getImageCreditLine,\n getImageCopyright,\n getImageLicense,\n getCacheBustParam,\n\n // imported from masonry\n getMasonryWidthHeight,\n getMasonryWidthHeightStyle,\n formatImageSrcParams,\n getMasonryClass,\n\n // imported from datetime.js\n toLocaleDateString,\n getFirstDateEdited\n\n};\n","/**\n * Helpers to control Masonry layout with various image and screen sizes.\n */\nimport {\n getImageAspectRatio,\n getViewportResolution,\n getCacheBustParam\n} from '@/helpers/image.js';\n\n\n// wide items should take more screen space, this number is the aspect ratio\n// 1.5 == image width should be over 150% of its height\nconst ratioMasonryWidth2 = 1.5;\nconst ratioMasonryWidth3 = 2.5;\nconst ratioMasonryWidth4 = 3.5;\nconst ratioMasonryWidth5 = 5.0;\n\n\n// for caching purposes, CanvasX is set to pre-defined resolutions\nconst xResolutions = [\n 120, 280, 500, 800, 1200, 1800\n];\n// also CanvasY resolutions\nconst yResolutions = [\n 120, 280, 320, 640, 800, 1200, 1500, 1800\n];\n\n\n/**\n * Get Width, Height for masonry tiles\n */\nexport const getMasonryWidthHeight = function (resolution, item) {\n if (!resolution) {\n resolution = {};\n }\n\n let width = resolution.x ? resolution.x : 'inherit';\n let height = resolution.y ? resolution.y : 'auto';\n\n\n // parse \"vh\" and \"vw\" from resolution string\n // string value can be anything, except \"vw\", \"vh\" are parsed for numeric value\n if (typeof resolution.x === 'string') {\n const vp = getViewportResolution(resolution.x);\n if (vp.height) {\n width = vp.height;\n }\n else if (vp.width) {\n // add some leeway for margin to upscale image res\n width = vp.width + 90;\n }\n }\n if (typeof resolution.y === 'string') {\n const vp = getViewportResolution(resolution.y);\n if (vp.height) {\n height = vp.height;\n }\n else if (vp.width) {\n height = vp.width;\n }\n }\n\n\n // calculate ratio from original item ImageInfo (optional)\n const ratio = getImageAspectRatio(item);\n\n // masonry tiles can take width--2 (or width--3 etc)\n // resolution needs to be 2x (etc)\n // max width should not exceed client display resolution\n if (ratio) {\n const margin = 20; // allow for margin (1em = 16px)\n const screenWidth = (process.client && window.innerWidth) || 1024;\n if (typeof width === 'number') {\n if (ratio > ratioMasonryWidth5 && screenWidth > width * 6) {\n width = (width * 5) + (margin * 4);\n }\n else if (ratio > ratioMasonryWidth4 && screenWidth > width * 5) {\n width = (width * 4) + (margin * 3);\n }\n else if (ratio > ratioMasonryWidth3 && screenWidth > width * 4) {\n width = (width * 3) + (margin * 2);\n }\n else if (ratio > ratioMasonryWidth2 && screenWidth > ((width * 2) + margin)) {\n width = (width * 2) + margin;\n }\n }\n\n // maximum width depends on screen width (minus page margin),\n // then height must be adjust according to ratio\n if (width > (screenWidth - 90)) {\n width = screenWidth - 90;\n height = width / ratio;\n }\n else if (typeof height === 'number') {\n if (ratio > ratioMasonryWidth5 && screenWidth > width * 6) {\n height = (height * 5) + (margin * 4);\n }\n else if (ratio > ratioMasonryWidth4 && screenWidth > width * 5) {\n height = (height * 4) + (margin * 3);\n }\n else if (ratio > ratioMasonryWidth3 && screenWidth > width * 4) {\n height = (height * 3) + (margin * 2);\n }\n else if (ratio > ratioMasonryWidth2 && screenWidth > ((width * 2) + margin)) {\n height = (height * 2) + margin;\n }\n }\n else if (height === 'auto' && typeof width === 'number') {\n // calculate height from ratio\n height = width / ratio;\n }\n }\n\n\n // round to integer\n if (typeof width === 'number') {\n width = Math.round(width);\n }\n if (typeof height === 'number') {\n height = Math.round(height);\n }\n\n\n return { width, height };\n};\n\n\nexport const getMasonryWidthHeightStyle = function (resolution, item) {\n let { width, height } = getMasonryWidthHeight(resolution, item);\n\n if (typeof width === 'number') {\n width = width + 'px';\n }\n if (typeof height === 'number') {\n height = height + 'px';\n }\n\n return `width: ${width}; height: ${height};`;\n};\n\n\nexport const getResolutionStep = function (resolutionSteps, val) {\n return _.find(resolutionSteps, (top) => {\n if (val <= top) {\n return top;\n }\n }) || _.last(resolutionSteps);\n};\n\n\nexport const getCanvasXStep = function (x) {\n return getResolutionStep(xResolutions, x);\n};\n\n\nexport const getCanvasYStep = function (y) {\n return getResolutionStep(yResolutions, y);\n};\n\n\nexport const getMasonryCanvasResolution = function (_resolution, viewerZoom, ratio) {\n // set default X resolution, if neither is given\n let resolution;\n if (_resolution && _resolution.y) {\n resolution = _.extend({}, _resolution);\n }\n else {\n resolution = _.extend({x: 500}, _resolution);\n }\n\n // if viewerZoom (zoom on the client) is given,\n // increase the requested resolution\n if (viewerZoom && resolution.x) {\n resolution.x *= viewerZoom;\n }\n else if (viewerZoom && resolution.y) {\n resolution.y *= viewerZoom;\n }\n\n const screenWidth = (process.client && window.innerWidth) || 1024;\n\n // Parse \"vh\" and \"vw\" from resolution string.\n // String value can be anything, except \"vw\", \"vh\" are parsed for numeric value.\n // resolution.x and .y are modified in place from string to number.\n if (typeof resolution.x === 'string') {\n const vp = getViewportResolution(resolution.x);\n if (vp.height) {\n resolution.x = vp.height;\n }\n else if (vp.width) {\n resolution.x = vp.width;\n\n // given that \"50vw\" may in mobile view show the image screen-wide\n if (screenWidth < 576 && resolution.x < 500) {\n resolution.x = 500;\n }\n else if (screenWidth < 769 && resolution.x < 800) {\n resolution.x = 800;\n }\n else {\n // add some leeway for margin to upscale image resolution\n resolution.x += 90;\n }\n }\n }\n if (typeof resolution.y === 'string') {\n const vp = getViewportResolution(resolution.y);\n if (vp.height) {\n resolution.y = vp.height;\n }\n else if (vp.width) {\n resolution.y = vp.width;\n }\n // Y can be a percentage, but it will be accounted for after X resolution step is calculated\n }\n\n\n // adjust for Masonry width increase\n if (ratio) {\n if (ratio > ratioMasonryWidth5) {\n resolution.x *= 5;\n }\n else if (ratio > ratioMasonryWidth4) {\n resolution.x *= 4;\n }\n else if (ratio > ratioMasonryWidth3) {\n resolution.x *= 3;\n }\n else if (ratio > ratioMasonryWidth2) {\n resolution.x *= 2;\n }\n }\n\n // Set resolution limits --\n // Resolution can be anything, but for cache optimisation,\n // the image is queried from backend in resolution steps.\n // When resolution.fixed is set, no step adjustment is made.\n let x;\n if (resolution.x && !resolution.fixed) {\n x = getCanvasXStep(resolution.x);\n }\n else {\n x = resolution.x;\n }\n\n let y;\n if (typeof resolution.y === 'number') {\n y = resolution.y;\n\n // calculate new height\n if (ratio) {\n y = Math.round(x * ratio);\n }\n }\n // Y can be a percentage\n else if (typeof resolution.y === 'string' && resolution.y.match(/\\d+%/)) {\n const perc = parseInt(resolution.y.replace('%', ''), 10) / 100;\n if (typeof x === 'number') {\n y = Math.round(x * perc);\n }\n }\n // get Y step, unless resolution.fixed is set\n if (y && !resolution.fixed) {\n y = getCanvasYStep(y);\n }\n\n return { x, y };\n};\n\n\nexport const formatImageSrcParams = function (_resolution, format, zoom, viewerZoom, ratio, urlParams, cacheBust, zoomMode, missingImage) {\n\n const { x, y } = getMasonryCanvasResolution(_resolution, viewerZoom, ratio);\n\n // construct image url params\n const params = [];\n if (format) {\n // default format is always jpg\n params.push(`Format=${format}`);\n }\n if (x) {\n params.push(`CanvasX=${x}`);\n }\n if (y) {\n params.push(`CanvasY=${y}`);\n }\n if (zoom) {\n params.push(`Zoom=${zoom}`);\n }\n if (urlParams) {\n params.push(urlParams);\n }\n if (zoomMode) {\n params.push(`ZoomMode=${zoomMode}`);\n }\n if (missingImage) {\n params.push(`MissingImage=${missingImage}`);\n }\n if (cacheBust) {\n params.push(getCacheBustParam(true));\n }\n return _.compact(params).join('&');\n};\n\n\n/**\n * Wide items should have item--width-X css class for Masonry.\n */\nexport const getMasonryClass = function (item) {\n let klass = 'item';\n const ratio = getImageAspectRatio(item);\n if (ratio) {\n if (ratio > ratioMasonryWidth5) {\n klass += \" item--width-5\";\n }\n else if (ratio > ratioMasonryWidth4) {\n klass += \" item--width-4\";\n }\n else if (ratio > ratioMasonryWidth3) {\n klass += \" item--width-3\";\n }\n else if (ratio > ratioMasonryWidth2) {\n klass += \" item--width-2\";\n }\n }\n return klass;\n};\n","/**\n * Helpers for muusa.auth0.com browser redirect\n */\n\n/**\n * Login return url. Which path the auth backend should redirect to.\n * Info pages should return to root.\n */\nexport const loginReturnUrl = function (returnUrl) {\n return returnUrl\n || (process.client && window.location.pathname)\n || '/';\n};\n\n/**\n * Logout return url.\n * Base href (protocol, domain, tld) is added in the html index template.\n */\nexport const logoutReturnUrl = function () {\n return '/loggedout';\n};\n\nexport const loginUrl = function (returnUrl) {\n return `/svc/auth/auth0?ReturnUrl=${loginReturnUrl(returnUrl)}`;\n};\n\nexport const logoutUrl = function () {\n return `/svc/auth/logout?ReturnUrl=${logoutReturnUrl()}`;\n};\n\n/**\n * Register url, will lead to auth0. No ReturnUrl (to /verifyemail) needed here.\n */\nexport const registerUrl = function () {\n return `/svc/auth/auth0?screen_hint=signup`;\n};\n\nexport const register = function () {\n const url = registerUrl();\n if (process.client) {\n // push Mouseflow event\n // pushMFQ([\"setVariable\", \"register\", true]);\n // pushMFQ([\"tag\", \"register-started\"]);\n\n // open url\n window.location.assign(url);\n }\n};\n","/**\n * Check store for timestamped persisted value by module and key with maxAge [msec].\n */\nexport const getPersistedValue = function (storeModule, key, maxAge) {\n if (!process.client) {\n return;\n }\n\n // check the store for value\n const value = storeModule[key];\n if (!value || Object.keys(value).length === 0) {\n // console.log(\"no value found for\", key);\n return null;\n }\n\n const timestamp = storeModule['timestamps'][key];\n // no timestamp, return value\n if (!timestamp) {\n // console.log(\"no timestamp but value ok\", key);\n return value;\n }\n\n // timestamp found, check age\n const age = new Date() - new Date(timestamp);\n if (age < maxAge) {\n // console.log(\"timestamped persisted value ok\", key);\n return value;\n }\n\n // console.log(\"timestamped persisted value expired\", key);\n};\n","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"div\",\n { key: _vm.updateKey, attrs: { id: \"app\" } },\n [\n _c(\"navigation\", { attrs: { \"is-authenticated\": _vm.isAuthenticated } }),\n _c(\n \"div\",\n { staticClass: \"container\" },\n [\n _c(\n \"keep-alive\",\n { attrs: { include: _vm.keepAliveInclude } },\n [_c(\"router-view\")],\n 1\n ),\n _c(\"site-footer\"),\n ],\n 1\n ),\n !_vm.isGdprAccepted ? _c(\"gdpr-notification\") : _vm._e(),\n _c(\"slideshow-ctrl\"),\n _c(\"search-overlay\"),\n _c(\"back-to-top\"),\n _vm.isAuthenticated\n ? _c(\"modal-terms-of-service\", {\n ref: \"modalTermsOfService\",\n attrs: { show: _vm.showModalTermsOfService, \"accept-button\": true },\n on: {\n accept: _vm.onAcceptTermsOfService,\n close: function ($event) {\n _vm.showModalTermsOfService = false\n },\n },\n })\n : _vm._e(),\n _vm.isAuthenticated ? _c(\"modal-unsaved-changes\") : _vm._e(),\n _vm.isAuthenticated ? _c(\"modal-save-pending\") : _vm._e(),\n _vm.error\n ? _c(\"modal-error-message\", {\n attrs: { error: _vm.error },\n on: {\n close: function ($event) {\n _vm.error = null\n },\n },\n })\n : _vm._e(),\n !_vm.isAuthenticated ? _c(\"modal-login-required\") : _vm._e(),\n !_vm.isAuthenticated ? _c(\"modal-login-expired\") : _vm._e(),\n !_vm.isAuthenticated\n ? _c(\"anon-login-prompt\", { ref: \"anonLoginPrompt\" })\n : _vm._e(),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","export * from \"-!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../node_modules/pug-plain-loader/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=template&id=67883bb6&lang=pug\"","/**\n * User session helpers for main App.\n */\nimport { setCookie } from '@/helpers';\nimport { loginUrl, logoutUrl } from '@/helpers/muusa';\nimport {\n phaseAnonymous,\n phaseExpired,\n phaseAuthenticated\n} from '@/store/ux';\nimport { TribeCommunityUrl } from '@/plugins/tribe.client.js';\n\nexport default {\n methods: {\n /**\n ** Get user session by requesting /svc/hello\n **/\n getUserSession: async function (force) {\n let session = this.$store.getters['user/getSession'];\n\n // current status\n const anonymous = this.$store.getters['user/isAnonymous'];\n // new status\n const _isAuthenticated = this.isUserSessionAuthenticated(session);\n\n return new Promise((resolve, reject) => {\n\n if (force || (!_isAuthenticated && !anonymous) || this.isUserSessionAboutToExpire(session)) {\n\n // request from server\n this.$store.dispatch('user/fetchUserSession')\n .then((userInfo) => {\n session = this.setUserSession(userInfo);\n // console.log(\"session\", userInfo, userInfo.Info);\n if (session) {\n // set loginPhase to authenticated, if phase was lower\n if (this.$store.getters['ux/getLoginPhase'] < phaseAuthenticated) {\n this.$store.commit('ux/setLoginPhase', phaseAuthenticated);\n }\n resolve(session);\n }\n else {\n reject(new Error(\"session expired\"));\n }\n })\n .catch(() => {\n this.expireUserSession();\n reject(new Error(\"session expired\"));\n });\n }\n // unless forced, read cached copy from vuex store\n else if (_isAuthenticated) {\n this.$eventBus.$emit('auth-change', {authenticated: true});\n\n // set loginPhase to authenticated, if phase was lower\n if (this.$store.getters['ux/getLoginPhase'] < phaseAuthenticated) {\n this.$store.commit('ux/setLoginPhase', phaseAuthenticated);\n }\n if (session && session.UserId) {\n // update to store only when forced, or store value is unset\n if (force || this.$store.getters['user/getUserId'] !== session.UserId) {\n this.$store.commit('user/setUserId', session.UserId);\n }\n }\n resolve(session);\n }\n else {\n reject(new Error(\"not authenticated\"));\n }\n });\n },\n\n /**\n ** Set session expiration time.\n ** User info is saved into global vuex store (using sessionStore persistence layer).\n **/\n setUserSession: function (userInfo) {\n // set Tribe flags\n if (this.$store.getters['ux/getCommunityAllowAnon'] !== userInfo.CommunityAllowAnon) {\n this.$store.commit('ux/setCommunityAllowAnon', userInfo.CommunityAllowAnon);\n }\n if (this.$store.getters['ux/getCommunityShowNavigation'] !== userInfo.CommunityShowNavigation) {\n this.$store.commit('ux/setCommunityShowNavigation', userInfo.CommunityShowNavigation);\n }\n\n if (!userInfo || !userInfo.UserId || !userInfo.Info || (userInfo.Info.search(/IsAuthenticated/) === -1)) {\n this.expireUserSession();\n return false;\n }\n\n // check if UserId changed, reset user store\n const oldUserId = this.$store.getters['user/getUserId'];\n if (oldUserId && oldUserId !== userInfo.UserId) {\n this.$store.commit('user/RESET');\n }\n\n // save the session to vuex store\n try {\n // commit session to store, if changed\n if (!_.isEqual(userInfo, this.$store.getters['user/getSession'])) {\n this.$store.commit('user/setSession', userInfo);\n }\n if (oldUserId !== userInfo.UserId) {\n this.$store.commit('user/setUserId', userInfo.UserId);\n }\n\n // if profile is not yet fetched, change membership level > 0 to indicate user is not going to be anon\n if (this.$store.getters['user/getMembershipLevel'] === 0) {\n // authentication in process - real membership level will be will be set in user store\n this.$store.commit('user/setMembershipLevel', 500);\n }\n\n // hide registration tooltip (until next store reset)\n this.$store.commit('ux/setShowRegistrationInfo', false); // hide tooltip\n\n this.$eventBus.$emit('auth-change', {authenticated: true});\n return userInfo;\n }\n catch (error) {\n // browser has no session storage?\n return false;\n }\n },\n\n /**\n * Main App relies on this to track `isAuthenticated` state.\n */\n isUserSessionAuthenticated: function (session) {\n if (!process.client) {\n // render only anonymous view in nuxt server environment\n return false;\n }\n if (!session) {\n session = this.$store.getters['user/getSession'];\n }\n if (!session || !session.UserId || !session.SessionExpires) {\n return false;\n }\n // Check whether the current time is past the access token's expiry time\n const expiresAt = new Date(session.SessionExpires);\n if (!expiresAt) {\n return false;\n }\n const now = new Date().getTime();\n if (expiresAt > now) {\n return true;\n }\n return false;\n },\n\n /**\n * Checks if session should be renewed.\n * This would be 15 minutes before expiry with 9 minute check interval.\n * Returns false in all other cases.\n */\n isUserSessionAboutToExpire: function (session) {\n if (!process.client) {\n return false;\n }\n if (!session || !session.UserId || !session.SessionExpires) {\n return false;\n }\n // Check whether the current time is past the access token's expiry time\n const expiresAt = new Date(session.SessionExpires);\n if (!expiresAt) {\n return false;\n }\n const now = new Date().getTime();\n const minutesLeft = (now - expiresAt) / -60000;\n // console.log(`This session will expire at ${expiresAt.toISOString()} * T-${minutesLeft.toFixed(1)} min`);\n if (minutesLeft < 15) {\n return true;\n }\n return false;\n },\n\n /**\n ** Clear session storage and cookies\n **/\n clearUserSession: function () {\n // first delete Tribe community cookie\n // this.clearTribeSession();\n\n // clear user data\n if (this.$store.getters['user/getUserId']\n || this.$store.getters['user/getSession']\n || this.$store.getters['user/getProfile']\n ) {\n this.$store.commit('user/RESET');\n }\n\n // clear ux data, but retain session expired info, setting default phase to anonymous\n const loginPhase = (this.$store.getters['ux/getLoginPhase'] === phaseExpired) ? phaseExpired : phaseAnonymous;\n this.$store.commit('ux/RESET');\n this.$store.commit('ux/setLoginPhase', loginPhase);\n\n // delete cookies on logout\n setCookie('.ASPXAUTH', '', 0);\n setCookie('ss-id', '', 0);\n setCookie('ss-pid', '', 0);\n },\n\n /**\n * Clear Tribe community cookies.\n */\n clearTribeSession: function () {\n this.$axios\n .delete(`${TribeCommunityUrl}/api/v1/sessions`)\n // .then((response) => {\n // console.log(response);\n // })\n .catch((error) => {\n console.warn(error);\n });\n },\n\n /**\n ** Expire session and clear user profile information from localStorages.\n **/\n expireUserSession: function () {\n // first delete Tribe community cookie\n // this.clearTribeSession();\n\n // clear user data\n if (this.$store.getters['user/getUserId']\n || this.$store.getters['user/getSession']\n || this.$store.getters['user/getProfile']\n ) {\n this.$store.commit('user/RESET');\n }\n\n if (this.$store.getters['ux/getLoginPhase'] < phaseAuthenticated) {\n // anonymous / expired user - do nothing\n return;\n }\n\n this.$store.commit('ux/setLoginPhase', phaseExpired);\n\n // emit signal to hide authorized content\n this.$eventBus.$emit('auth-change', {authenticated: false});\n },\n\n /**\n * Login by pointing the browser to /login.\n * The backend gives the user session cookies.\n * Save note that the user is logging in (via ext service) to store.\n * Login path ReturnUrl param will be based on current route.\n * Info pages should return to root. Router can set this meta data.\n */\n onLogin: async function () {\n // direct to /svc/auth/auth0 to let muusa handle authentication.\n const meta = this.$route && this.$route.meta;\n const url = loginUrl(meta && meta.loginReturnUrl);\n url && window.location.assign(url);\n },\n\n /**\n * Note that at logout, before entering the new url, and the browser navigates\n * within the app, new session is fetched before SVC backend invalidates the cookies.\n * This would lead to the user being \"logged in\" with invalid cookies.\n */\n onLogout: function () {\n this.clearUserSession();\n const url = logoutUrl();\n // this.$eventBus.$emit('auth-change', {authenticated: false});\n url && window.location.replace(url);\n }\n }\n};\n","/**\n * Localisation event bus listener for main App.\n */\nimport Vue from 'vue';\n// import { locale as dxLocale } from 'devextreme/localization';\n\nimport { checkLocaleSupport, getMessagesAsync } from '@/helpers/i18n.js';\n\nexport default {\n\n created: function () {\n // use stored locale if available\n const locale = this.$store.getters['ux/getLocale'];\n this.onLocaleChange(locale);\n },\n\n beforeMount: function () {\n this.$eventBus.$on('locale-change', this.onLocaleChange);\n },\n\n beforeDestroy: function () {\n this.$eventBus.$off('locale-change', this.onLocaleChange);\n },\n\n methods: {\n /**\n * App event listener for locale change\n **/\n onLocaleChange: function (locale) {\n // limit change to available locales\n if (!checkLocaleSupport(locale)) {\n return new Error(`Locale \"${locale}\" is not supported!`);\n }\n\n return getMessagesAsync(this.$i18n, locale)\n .then(this.setI18nLanguage)\n .catch(console.error);\n },\n\n setI18nLanguage: function (locale) {\n // set vue-i18n locale\n this.$i18n.locale = locale;\n\n // set locale to \n document.querySelector('html').setAttribute('lang', locale);\n\n // devextreme locale is set in plugins/dev-extreme\n window.dxLocale && window.dxLocale(locale);\n\n // Uppy uses its own localisation strings which are\n // configured in the components that use Uppy\n\n // moment.js (DEPRECATED)\n //Vue.prototype.$moment.locale(locale);\n\n // axios Accept-Language header (PreferredLocale param is handled in api/svc)\n if (this.$axios.defaults?.headers?.common) {\n Vue.prototype.$axios.defaults.headers.common['Accept-Language'] = locale;\n }\n\n // during initial load locale is the stored value\n if (this.$store.getters['ux/getLocale'] !== locale) {\n // save locale to store\n this.$store.commit('ux/setLocale', locale);\n\n // reset locale-sensitive stores.\n // pages re-fetch triggered from SvcPagesMixin.\n this.$store.commit('pages/RESET');\n this.$store.commit('profileArticles/RESET');\n\n // refresh App and the displayed page\n this.$eventBus.$emit('page-update');\n }\n else {\n this.$eventBus.$emit('page-refresh');\n }\n\n return Promise.resolve();\n }\n }\n};\n","\n\n\n\n\n","import mod from \"-!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=67883bb6&lang=pug\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=67883bb6&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport Router from 'vue-router';\nVue.use(Router);\n\nconst router = new Router({\n mode: 'history',\n routes: [\n /** Home, front page */\n {\n path: '/',\n alias: '/etusivu',\n name: 'fi.Home',\n component: () => import(/* webpackPrefetch: true */'@/views/Home'),\n props: true,\n meta: {\n loginReturnUrl: '/',\n scroll: 'top',\n navbarClassName: 'dark transparent absolute'\n }\n },\n {\n path: '/',\n alias: '/home',\n name: 'en.Home',\n component: () => import(/* webpackPrefetch: true */'@/views/Home'),\n props: true,\n meta: {\n loginReturnUrl: '/',\n scroll: 'top',\n navbarClassName: 'dark transparent absolute'\n }\n },\n {\n path: '/',\n alias: '/hem',\n name: 'sv.Home',\n component: () => import(/* webpackPrefetch: true */'@/views/Home'),\n props: true,\n meta: {\n loginReturnUrl: '/',\n scroll: 'top',\n navbarClassName: 'dark transparent absolute'\n }\n },\n\n\n /** User profile */\n {\n path: '/userprofile/:section?',\n name: 'UserProfile',\n component: () => import('@/views/UserProfile'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n\n /** Global search */\n {\n path: '/haku',\n name: 'fi.Search',\n component: () => import('@/views/IndexSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/search',\n name: 'en.Search',\n component: () => import('@/views/IndexSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/s%C3%B6k',\n name: 'sv.Search',\n component: () => import('@/views/IndexSearch'),\n meta: {\n scroll: 'top'\n }\n },\n\n /** Events aka \"exhibitions\" */\n {\n path: '/nayttelyt/luo/:parentId?/:contentgroupTags?',\n alias: '/n%C3%A4yttelyt/luo/:parentId?/:contentgroupTags?',\n name: 'fi.EventCreate',\n component: () => import('@/views/EventPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/exhibitions/create/:parentId?/:contentgroupTags?',\n name: 'en.EventCreate',\n component: () => import('@/views/EventPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/utst%C3%A4llningar/skapa/:parentId?/:contentgroupTags?',\n name: 'sv.EventCreate',\n component: () => import('@/views/EventPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/nayttelyt/haku',\n alias: '/n%C3%A4yttelyt/haku',\n name: 'fi.EventsSearch',\n component: () => import('@/views/EventsSearch'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/exhibitions/search',\n name: 'en.EventsSearch',\n component: () => import('@/views/EventsSearch'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/utst%C3%A4llningar/s%C3%B6k',\n name: 'sv.EventsSearch',\n component: () => import('@/views/EventsSearch'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/nayttelyt/:id/:urlName?/:section?',\n alias: '/n%C3%A4yttelyt/:id/:urlName?/:section?',\n name: 'fi.EventPage',\n component: () => import(/* webpackPrefetch: true */'@/views/EventPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/exhibitions/:id/:urlName?/:section?',\n name: 'en.EventPage',\n component: () => import(/* webpackPrefetch: true */'@/views/EventPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/utst%C3%A4llningar/:id/:urlName?/:section?',\n name: 'sv.EventPage',\n component: () => import(/* webpackPrefetch: true */'@/views/EventPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/nayttelyt',\n alias: '/n%C3%A4yttelyt',\n name: 'fi.Events',\n component: () => import('@/views/EventsIndex')\n },\n {\n path: '/exhibitions',\n name: 'en.Events',\n component: () => import('@/views/EventsIndex')\n },\n {\n path: '/utst%C3%A4llningar',\n name: 'sv.Events',\n component: () => import('@/views/EventsIndex')\n },\n\n /** Collections */\n {\n path: '/kokoelmat/haku',\n name: 'fi.CollectionsSearch',\n component: () => import('@/views/CollectionsSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/collections/search',\n name: 'en.CollectionsSearch',\n component: () => import('@/views/CollectionsSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/kollektioner/s%C3%B6k',\n name: 'sv.CollectionsSearch',\n component: () => import('@/views/CollectionsSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/kokoelmat/:id/:urlName?/:section?',\n name: 'fi.CollectionPage',\n component: () => import('@/views/CollectionPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/collections/:id/:urlName?/:section?',\n name: 'en.CollectionPage',\n component: () => import('@/views/CollectionPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/kollektioner/:id/:urlName?/:section?',\n name: 'sv.CollectionPage',\n component: () => import('@/views/CollectionPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/kokoelmat',\n name: 'fi.Collections',\n component: () => import('@/views/CollectionsIndex')\n },\n {\n path: '/collections',\n name: 'en.Collections',\n component: () => import('@/views/CollectionsIndex')\n },\n {\n path: '/kollektioner',\n name: 'sv.Collections',\n component: () => import('@/views/CollectionsIndex')\n },\n\n /** Galleries\n {\n path: '/galleriat',\n name: 'fi.Galleries',\n component: () => import('@/views/GalleriesIndex')\n },\n {\n path: '/galleries',\n name: 'en.Galleries',\n component: () => import('@/views/GalleriesIndex')\n },\n {\n path: '/gallerier',\n name: 'sv.Galleries',\n component: () => import('@/views/GalleriesIndex')\n },\n {\n path: '/galleriat/:id/:urlName?/:section?',\n name: 'fi.GalleryPage',\n component: () => import('@/views/GalleryPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/galleries/:id/:urlName?/:section?',\n name: 'en.GalleryPage',\n component: () => import('@/views/GalleryPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/gallerier/:id/:urlName?/:section?',\n name: 'sv.GalleryPage',\n component: () => import('@/views/GalleryPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n }, */\n\n /** Actors aka \"artists\" */\n {\n path: '/taiteilijat/haku',\n name: 'fi.ActorsSearch',\n component: () => import('@/views/ActorsSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/artists/search',\n name: 'en.ActorsSearch',\n component: () => import('@/views/ActorsSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/artister/s%C3%B6k',\n name: 'sv.ActorsSearch',\n component: () => import('@/views/ActorsSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/taiteilijat/:id/:urlName?/:section?',\n name: 'fi.ActorPage',\n component: () => import('@/views/ActorPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/artists/:id/:urlName?/:section?',\n name: 'en.ActorPage',\n component: () => import('@/views/ActorPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/artister/:id/:urlName?/:section?',\n name: 'sv.ActorPage',\n component: () => import('@/views/ActorPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/taiteilijat',\n name: 'fi.Actors',\n component: () => import(/* webpackPrefetch: true */'@/views/ActorsIndex')\n },\n {\n path: '/artists',\n name: 'en.Actors',\n component: () => import(/* webpackPrefetch: true */'@/views/ActorsIndex')\n },\n {\n path: '/artister',\n name: 'sv.Actors',\n component: () => import(/* webpackPrefetch: true */'@/views/ActorsIndex')\n },\n\n /** Artworks */\n {\n path: '/teokset/haku',\n name: 'fi.ArtworksSearch',\n component: () => import(/* webpackPrefetch: true */'@/views/ArtworksSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/artworks/search',\n name: 'en.ArtworksSearch',\n component: () => import(/* webpackPrefetch: true */'@/views/ArtworksSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/konstverk/s%C3%B6k',\n name: 'sv.ArtworksSearch',\n component: () => import(/* webpackPrefetch: true */'@/views/ArtworksSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/teokset/:id/:urlName?',\n name: 'fi.ArtworkPage',\n component: () => import('@/views/ArtworkPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/artworks/:id/:urlName?',\n name: 'en.ArtworkPage',\n component: () => import('@/views/ArtworkPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/konstverk/:id/:urlName?',\n name: 'sv.ArtworkPage',\n component: () => import('@/views/ArtworkPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/teokset',\n name: 'fi.Artworks',\n component: () => import('@/views/ArtworksIndex')\n },\n {\n path: '/artworks',\n name: 'en.Artworks',\n component: () => import('@/views/ArtworksIndex')\n },\n {\n path: '/konstverk',\n name: 'sv.Artworks',\n component: () => import('@/views/ArtworksIndex')\n },\n\n /** Organizations */\n {\n path: '/yhteisot',\n alias: '/yhteis%C3%B6t',\n name: 'fi.Organizations',\n component: () => import('@/views/OrganizationsIndex')\n },\n {\n path: '/organizations',\n name: 'en.Organizations',\n component: () => import('@/views/OrganizationsIndex')\n },\n {\n path: '/organisationer',\n name: 'sv.Organizations',\n component: () => import('@/views/OrganizationsIndex')\n },\n {\n path: '/yhteisot/haku',\n alias: '/yhteis%C3%B6t/haku',\n name: 'fi.OrganizationsSearch',\n component: () => import('@/views/OrganizationsSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/organizations/search',\n name: 'en.OrganizationsSearch',\n component: () => import('@/views/OrganizationsSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/organisationer/s%C3%B6k',\n name: 'sv.OrganizationsSearch',\n component: () => import('@/views/OrganizationsSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/yhteisot/:id/:urlName?/:section?/:hunk?',\n alias: '/yhteis%C3%B6t/:id/:urlName?/:section?/:hunk?',\n name: 'fi.OrganizationPage',\n component: () => import('@/views/OrganizationPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/organizations/:id/:urlName?/:section?/:hunk?',\n name: 'en.OrganizationPage',\n component: () => import('@/views/OrganizationPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/organisationer/:id/:urlName?/:section?/:hunk?',\n name: 'sv.OrganizationPage',\n component: () => import('@/views/OrganizationPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n\n /** Articles */\n {\n path: '/artikkelit/luo/:parentId?/:contentgroupTags?',\n name: 'fi.ArticleCreate',\n component: () => import('@/views/ArticlePage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/articles/create/:parentId?/:contentgroupTags?',\n name: 'en.ArticleCreate',\n component: () => import('@/views/ArticlePage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/skrifter/skapa/:parentId?/:contentgroupTags?',\n alias: '/artiklar/skapa/:parentId?/:contentgroupTags?',\n name: 'sv.ArticleCreate',\n component: () => import('@/views/ArticlePage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/artikkelit/:id/:urlName?/:parentId?',\n name: 'fi.ArticlePage',\n component: () => import('@/views/ArticlePage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/articles/:id/:urlName?/:parentId?',\n name: 'en.ArticlePage',\n component: () => import('@/views/ArticlePage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/skrifter/:id/:urlName?/:parentId?',\n alias: '/artiklar/:id/:urlName?/:parentId?',\n name: 'sv.ArticlePage',\n component: () => import('@/views/ArticlePage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/artikkelit',\n name: 'fi.Articles',\n component: () => import('@/views/ArticlesIndex')\n },\n {\n path: '/articles',\n name: 'en.Articles',\n component: () => import('@/views/ArticlesIndex')\n },\n {\n path: '/skrifter',\n alias: '/artiklar',\n name: 'sv.Articles',\n component: () => import('@/views/ArticlesIndex')\n },\n\n /** Videos */\n {\n path: '/videot/haku',\n name: 'fi.VideosSearch',\n component: () => import('@/views/VideosSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/videos/search',\n name: 'en.VideosSearch',\n component: () => import('@/views/VideosSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/videoklipp/s%C3%B6k',\n name: 'sv.VideosSearch',\n component: () => import('@/views/VideosSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/videot/:id/:urlName?',\n name: 'fi.VideoPage',\n component: () => import('@/views/VideoPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/videos/:id/:urlName?',\n name: 'en.VideoPage',\n component: () => import('@/views/VideoPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/videoklipp/:id/:urlName?',\n name: 'sv.VideoPage',\n component: () => import('@/views/VideoPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/videot',\n name: 'fi.Videos',\n component: () => import('@/views/VideosIndex')\n },\n {\n path: '/videos',\n name: 'en.Videos',\n component: () => import('@/views/VideosIndex')\n },\n {\n path: '/videoklipp',\n name: 'sv.Videos',\n component: () => import('@/views/VideosIndex')\n },\n\n /** Podcast audios */\n {\n path: '/podcastit/haku',\n name: 'fi.AudiosSearch',\n component: () => import('@/views/AudiosSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/podcasts/search',\n name: 'en.AudiosSearch',\n component: () => import('@/views/AudiosSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/podcaster/s%C3%B6k',\n name: 'sv.AudiosSearch',\n component: () => import('@/views/AudiosSearch'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/podcastit/:id/:urlName?',\n name: 'fi.AudioPage',\n component: () => import('@/views/AudioPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/podcasts/:id/:urlName?',\n name: 'en.AudioPage',\n component: () => import('@/views/AudioPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/podcaster/:id/:urlName?',\n name: 'sv.AudioPage',\n component: () => import('@/views/AudioPage'),\n props: true,\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/podcastit',\n name: 'fi.Audios',\n component: () => import('@/views/AudiosIndex')\n },\n {\n path: '/podcasts',\n name: 'en.Audios',\n component: () => import('@/views/AudiosIndex')\n },\n {\n path: '/podcaster',\n name: 'sv.Audios',\n component: () => import('@/views/AudiosIndex')\n },\n\n /** misc */\n {\n path: '/osuuskunta',\n name: 'fi.Cooperative',\n component: () => import('@/views/CooperativePage'),\n meta: {\n noSessionCheck: true,\n scroll: 'top'\n }\n },\n {\n path: '/cooperative',\n name: 'en.Cooperative',\n component: () => import('@/views/CooperativePage'),\n meta: {\n noSessionCheck: true,\n scroll: 'top'\n }\n },\n {\n path: '/kooperativ',\n name: 'sv.Cooperative',\n component: () => import('@/views/CooperativePage'),\n meta: {\n noSessionCheck: true,\n scroll: 'top'\n }\n },\n {\n path: '/terms',\n name: 'TermsOfService',\n component: () => import('@/views/TermsOfServicePage'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/privacy',\n name: 'PrivacyPolicy',\n component: () => import('@/views/PrivacyPolicyPage'),\n meta: {\n scroll: 'top'\n }\n },\n {\n path: '/loggedout',\n name: 'LoggedOut',\n component: () => import('@/views/LoggedOutPage'),\n meta: {\n loginReturnUrl: '/',\n scroll: 'top'\n }\n },\n {\n path: '/exit',\n name: 'Exit',\n component: () => import('@/views/ExitPage'),\n meta: {\n loginReturnUrl: '/',\n scroll: 'top'\n }\n },\n {\n path: '/verifyemail',\n name: 'VerifyEmail',\n component: () => import('@/views/VerifyEmail'),\n meta: {\n loginReturnUrl: '/',\n noSessionCheck: true,\n navbarClassName: 'dark fixed transparent no-items'\n }\n },\n {\n path: '/emailverified',\n name: 'EmailVerified',\n component: () => import('@/views/EmailVerified'),\n meta: {\n loginReturnUrl: '/user',\n noSessionCheck: true,\n navbarClassName: 'dark fixed transparent no-items'\n }\n },\n {\n path: '/passwordchanged',\n name: 'PasswordChanged',\n component: () => import('@/views/InfoMessagePage'),\n meta: {\n loginReturnUrl: '/user',\n noSessionCheck: true,\n navbarClassName: 'dark fixed transparent no-items'\n }\n },\n {\n path: '/pleaselogin',\n name: 'PleaseLogin',\n component: () => import('@/views/InfoMessagePage'),\n meta: {\n loginReturnUrl: '/user',\n noSessionCheck: true,\n navbarClassName: 'dark fixed transparent no-items no-login no-register no-logo'\n }\n },\n {\n path: '/accountunblocked',\n name: 'AccountUnblocked',\n component: () => import('@/views/InfoMessagePage'),\n meta: {\n loginReturnUrl: '/user',\n noSessionCheck: true,\n navbarClassName: 'dark fixed transparent no-items'\n }\n },\n {\n path: '/register/info',\n name: 'RegistrationInfo',\n component: () => import('@/views/RegisterInfoPage'),\n meta: {\n loginReturnUrl: '/',\n noSessionCheck: true\n }\n },\n {\n path: '/register/:secret?',\n name: 'Register',\n component: () => import('@/views/RegisterPage'),\n meta: {\n loginReturnUrl: '/',\n noSessionCheck: true,\n navbarClassName: 'dark fixed transparent no-items'\n }\n },\n {\n path: '/kiitos',\n name: 'fi.ThankYouForContacting',\n component: () => import('@/views/InfoMessagePage'),\n meta: {\n navbarClassName: 'dark fixed transparent'\n }\n },\n {\n path: '/thank-you',\n name: 'en.ThankYouForContacting',\n component: () => import('@/views/InfoMessagePage'),\n meta: {\n navbarClassName: 'dark fixed transparent'\n }\n },\n {\n path: '/tack',\n name: 'sv.ThankYouForContacting',\n component: () => import('@/views/InfoMessagePage'),\n meta: {\n navbarClassName: 'dark fixed transparent'\n }\n },\n {\n path: '/error',\n name: 'Error',\n component: () => import('@/views/ErrorPage'),\n meta: {\n loginReturnUrl: '/',\n scroll: 'top'\n }\n },\n\n /** Tribe playground for testing */\n {\n path: '/playground/tribe',\n name: 'TribePlayground',\n component: () => import('@/views/Tribe2Page'),\n props: true\n },\n /** Tribe community routes */\n {\n path: '/yhteiso',\n alias: '/yhteis%C3%B6',\n name: 'fi.Community',\n component: () => import('@/views/CommunityHome')\n },\n {\n path: '/community',\n name: 'en.Community',\n component: () => import('@/views/CommunityHome')\n },\n {\n path: '/gemenskap',\n name: 'sv.Community',\n component: () => import('@/views/CommunityHome')\n },\n // admin\n {\n path: '/admin',\n name: 'Admin',\n component: () => import('@/views/Tribe1Page'),\n meta: {\n scroll: 'top'\n }\n },\n // embed\n {path: '/embed/*', name: 'embed', component: () => import('@/views/Tribe1Page')},\n // topics\n {path: '/topics/:id?', name: 'topics', component: () => import('@/views/Tribe1Page')},\n // groups\n {path: '/groups/:id?', name: 'groups', component: () => import('@/views/Tribe1Page')},\n // user\n {path: '/user/:id?', name: 'user', component: () => import('@/views/Tribe1Page')},\n // settings\n {path: '/settings/:section?', name: 'settings', component: () => import('@/views/Tribe1Page')},\n // auth/\n {path: '/auth/:authtype', name: 'auth', component: () => import('@/views/Tribe1Page')},\n // home/questions\n {path: '/home/questions/:id?', name: 'home-questions', component: () => import('@/views/Tribe1Page')},\n // home/discussions\n {path: '/home/discussions/:id?', name: 'home-discussions', component: () => import('@/views/Tribe1Page')},\n // home/posts\n {path: '/home/posts/:id?', name: 'home-posts', component: () => import('@/views/Tribe1Page')},\n // group/\n {path: '/group/:id', name: 'group', component: () => import('@/views/Tribe1Page')},\n // post/\n {path: '/post/:id', name: 'post', component: () => import('@/views/Tribe1Page')},\n // question/\n {path: '/question/:id', name: 'question', component: () => import('@/views/Tribe1Page')},\n\n // questions\n // discussions\n // shortposts\n // posts\n\n /** Default route */\n {\n path: '*',\n redirect: '/',\n meta: {\n loginReturnUrl: '/',\n scroll: 'top',\n navbarClassName: 'dark transparent absolute'\n }\n }\n ],\n\n scrollBehavior: function (to, from, savedPosition) {\n\n // console.log(\"scrollBehavior\", to, savedPosition);\n\n // accept saved position\n if (savedPosition) {\n return savedPosition;\n }\n\n // accept query param scroll=keep\n if (to.query && to.query.scroll && to.query.scroll === 'keep') {\n return savedPosition;\n }\n // accept route meta scroll: keep\n if (to.meta && to.meta.scroll && to.meta.scroll === 'keep') {\n return savedPosition;\n }\n\n // scroll to top when navigating from Home\n if (from && from.name && from.name.match('Home')) {\n return { x: 0, y: 0 };\n }\n\n // if route changed because pagination component changed ?p param in query, keep position\n if (to.query && to.query.p) {\n return false;\n }\n\n let element;\n\n // scroll to submenu with OrganizatioPage visitor links\n if (to.params.section === 'visitor') {\n element = '.submenu.navbar';\n }\n // no scroll if navigating in subsections within same Id\n else if (to.params.section && (to.params.id === from.params.id)) {\n return false;\n }\n // scroll quirks\n else if (to.meta && typeof to.meta.scroll !== 'undefined') {\n const scroll = to.meta.scroll;\n if (scroll === false) {\n // if meta.scroll is explicitly set to false, no scroll\n return false;\n }\n else if (typeof scroll === 'string') {\n // scroll to 'auto' or a set element on the page?\n element = scroll;\n if (scroll === 'auto') {\n if (from.name === to.name && !to.path.match('info')) {\n // if navigating within one \"EntityPage\", scroll to submenu.navbar\n // except info page, it scrolls to top\n element = '.submenu.navbar';\n }\n else {\n // scroll to main container\n element = 'div.container';\n }\n }\n else if (scroll === 'top') {\n // scroll to top\n return { x: 0, y: 0 };\n }\n }\n else if (typeof scroll === 'object') {\n return scroll;\n }\n }\n\n if (element) {\n // scroll to given container top offset (with a small margin)\n const el = document.querySelector(element);\n const y = (el && el.offsetTop - 10) || 0;\n return {x: 0, y: y};\n }\n else {\n // no scroll!\n return false;\n }\n }\n});\n\n\nexport default router;\n","/**\n * Vue site data\n */\nimport {\n isProdSite,\n isTestEnv\n} from '@/helpers/deployment';\n\nexport const plugin = {\n name: 'site',\n\n pluginProperties: {\n site: 'taide.art',\n isProdSite,\n isTestEnv\n },\n\n install (Vue) {\n Vue.prototype.$site = this.pluginProperties.site;\n\n // deployment variables\n Vue.prototype.isProdSite = isProdSite;\n Vue.prototype.isTestEnv = isTestEnv;\n\n // init global TAIDEART object, this may be injected into on server side\n window.TAIDEART = window.TAIDEART || {};\n }\n};\n\nexport default plugin;\n","/**\n * Facets store\n */\nimport { getPersistedValue } from '@/helpers/store.js';\n\nconst maxAge = 345600000; // 96 hours (4 days) [msec]\n\nconst initialState = () => ({\n artworksFacetsPublicOnly: {},\n artworksFacetsViewAll: {},\n timestamps: {}\n});\n\nconst createStore = (Vue) => {\n\n const state = initialState;\n\n const getters = {\n getArtworksFacetsPublicOnly (state) {\n return state.artworksFacetsPublicOnly;\n },\n\n getArtworksFacetsViewAll (state) {\n return state.artworksFacetsViewAll;\n }\n };\n\n const actions = {\n async fetchArtworksFacetsPublicOnly ({ commit, state }) {\n // check persisted localStorage\n const value = getPersistedValue(state, 'artworksFacetsPublicOnly', maxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n const params = {\n AutoWildcards: false,\n EnableFacetedSearch: true,\n // ArtworkFacets: '[Classification,SubClassification,PublishedKeeperSorted,ArtistSorted,ProductionAtmostBeginYear,Colors]',\n ArtworkFacets: '[Classification,SubClassification,ProductionAtmostBeginYear,Colors]',\n PageSize: 1,\n UseProfile: 'PublicOnly',\n Template: {\n PrimaryProperties: false,\n IndexProperties: false,\n ObjectProperties: false,\n IngressProperties: false,\n CuratorProperties: false,\n ArtworkProperties: false,\n DetailProperties: false\n }\n };\n\n // fetch\n return new Promise((resolve, reject) => {\n // query fresh artworks facets\n Vue.prototype.$SVC.queryArtworks(params)\n .then((response) => {\n const facets = response && response.data && response.data.FacetResults;\n commit('setArtworksFacetsPublicOnly', facets);\n resolve(facets);\n })\n .catch(reject);\n });\n },\n\n async fetchArtworksFacetsViewAll ({ commit, state }) {\n // check persisted localStorage\n const value = getPersistedValue(state, 'artworksFacetsViewAll', maxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n const params = {\n AutoWildcards: false,\n EnableFacetedSearch: true,\n // ArtworkFacets: '[Classification,SubClassification,PublishedKeeperSorted,ArtistSorted,ProductionAtmostBeginYear,Colors]',\n ArtworkFacets: '[Classification,SubClassification,ProductionAtmostBeginYear,Colors]',\n PageSize: 1,\n UseProfile: 'ViewAll',\n Template: {\n PrimaryProperties: false,\n IndexProperties: false,\n ObjectProperties: false,\n IngressProperties: false,\n CuratorProperties: false,\n ArtworkProperties: false,\n DetailProperties: false\n }\n };\n\n // fetch\n return new Promise((resolve, reject) => {\n // query fresh artworks facets\n Vue.prototype.$SVC.queryArtworks(params)\n .then((response) => {\n const facets = response && response.data && response.data.FacetResults;\n commit('setArtworksFacetsViewAll', facets);\n resolve(facets);\n })\n .catch(reject);\n });\n }\n };\n\n const mutations = {\n RESET (state) {\n const newState = initialState();\n Object.keys(newState).forEach((key) => {\n state[key] = newState[key];\n });\n },\n\n setArtworksFacetsPublicOnly (state, value) {\n state.artworksFacetsPublicOnly = value || {};\n state.timestamps.artworksFacetsPublicOnly = new Date();\n },\n\n setArtworksFacetsViewAll (state, value) {\n state.artworksFacetsViewAll = value || {};\n state.timestamps.artworksFacetsViewAll = new Date();\n }\n };\n\n return {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n };\n};\n\nexport default app => createStore(app);\n","/**\n * Artvault store\n */\nimport { getPersistedValue } from '@/helpers/store.js';\n\nconst maxAge = 345600000; // 96 hours (4 days) [msec]\n\nconst initialState = () => ({\n workspaces: [],\n workspacesArtworks: {}, // Workspace Id is the key\n fileLibraries: [],\n fileLibrariesFolders: {}, // FileLibrary Id is the key\n\n myFileLibrary: {}, // DEPRECATED\n myFileLibraryItems: [], // DEPRECATED\n myWorkspace: {}, // DEPRECATED\n myWorkspaceItems: [], // DEPRECATED\n\n timestamps: {}\n});\n\nconst createStore = (Vue) => {\n\n const state = initialState;\n\n const getters = {\n\n getWorkspaces (state) {\n return state.workspaces;\n },\n\n getWorkspaceArtworks (state, id) {\n return state.workspacesArtworks[id] || [];\n },\n\n getFileLibraries (state) {\n return state.fileLibraries;\n },\n\n getFileLibraryFolders (state, id) {\n return state.fileLibrariesFolders[id] || [];\n },\n\n getMyFileLibrary (state) { // DEPRECATED\n return state.myFileLibrary;\n },\n\n /**\n * This is called from the context of pagination-tiles\n */\n getMyFileLibraryItems (state) { // DEPRECATED\n const response = {\n data: {\n Results: state.myFileLibraryItems || []\n }\n };\n return response;\n },\n\n getMyWorkspace (state) { // DEPRECATED\n return state.myWorkspace;\n },\n\n getMyWorkspaceItems (state) { // DEPRECATED\n return state.myWorkspaceItems;\n }\n };\n\n const actions = {\n async fetchWorkspaces ({ commit, state }) {\n // check persisted localStorage\n const value = getPersistedValue(state, 'workspaces', maxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch\n return new Promise((resolve, reject) => {\n Vue.prototype.$SVC.getWorkspaces()\n .then((response) => {\n const items = response && response.data && response.data.Results;\n commit('setWorkspaces', items);\n resolve(items);\n })\n .catch(reject);\n });\n },\n\n async fetchWorkspaceArtworks ({ commit, state }, workspaceId) {\n if (!workspaceId) {\n return Promise.reject(new Error('No Workspace Id'));\n }\n\n // check persisted localStorage\n const workspacesArtworks = getPersistedValue(state, 'workspacesArtworks', maxAge);\n const value = workspacesArtworks && workspacesArtworks[workspaceId];\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch\n return new Promise((resolve, reject) => {\n Vue.prototype.$SVC.getWorkspaceArtworks(workspaceId)\n .then((response) => {\n const items = response && response.data && response.data.Results;\n commit('updateWorkspacesArtworks', {[workspaceId]: items}); // ES6 dynamic key\n resolve(items);\n })\n .catch(reject);\n });\n },\n\n async fetchFileLibraries ({ commit, state }) {\n // check persisted localStorage\n const value = getPersistedValue(state, 'fileLibraries', maxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch\n return new Promise((resolve, reject) => {\n Vue.prototype.$SVC.getFileLibraries()\n .then((response) => {\n const items = response && response.data && response.data.Results;\n commit('setFileLibraries', items);\n resolve(items);\n })\n .catch(reject);\n });\n },\n\n /**\n * Fetch FileLibraryFolders.\n * Param `folders` is an object, {Name: ''}\n */\n async fetchFileLibraryFolders ({ commit, state }, fileLibrary) {\n if (!fileLibrary) {\n return Promise.reject(new Error('No FileLibrary'));\n }\n\n const fileLibraryId = fileLibrary.Id;\n const folders = fileLibrary.SubFolders;\n\n // check persisted localStorage\n const fileLibrariesFolders = getPersistedValue(state, 'fileLibrariesFolders', maxAge) || {};\n const value = fileLibrariesFolders && fileLibrariesFolders[fileLibraryId];\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch Folders (with ES6 \"for\" construct)\n const errors = [];\n const fileLibraryFolders = []; // Folders for this FileLib\n for (const subFolder of folders) {\n await Vue.prototype.$SVC.getFileLibraryFolder(fileLibraryId, subFolder.Name)\n .then((response) => {\n const result = (response && response.data && response.data.Result) || [];\n\n // update Name into result\n if (result && !result.Name) {\n result.Name = subFolder.Name;\n }\n\n // update array\n let index = folders.indexOf(subFolder);\n if (index < 0) {\n // Folders for this FileLibrary not found in store, append\n index = folders.length;\n }\n fileLibraryFolders[index] = result;\n })\n .catch((error) => {\n errors.push(error);\n });\n }\n // the above ES6 construct allows to \"await\" for the async folders to complete\n\n if (!errors.length) {\n commit('updateFileLibrariesFolders', {[fileLibraryId]: fileLibraryFolders}); // ES6 dynamic key (use Id, not string \"fileLibraryId\")\n return Promise.resolve(fileLibraryFolders);\n }\n else {\n return Promise.reject(errors[0]);\n }\n },\n\n async fetchMyFileLibraryId () { // DEPRECATED\n return new Promise((resolve, reject) => {\n Vue.prototype.$store.dispatch('user/fetchUserProfile', null, {root: true})\n .then((profile) => {\n try {\n const id = profile._links.filelibrary.href.replace('/svc/filelibraries/', '');\n resolve(id);\n }\n catch (error) {\n resolve(null);\n }\n })\n .catch(reject);\n });\n },\n\n async fetchMyFileLibrary ({ commit, state }) { // DEPRECATED\n // check persisted localStorage\n const value = getPersistedValue(state, 'myFileLibrary', maxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch\n return new Promise((resolve, reject) => {\n Vue.prototype.$store.dispatch('artvault/fetchMyFileLibraryId')\n .then((id) => {\n if (!id) {\n return resolve(null); // no MyFileLibrary\n }\n Vue.prototype.$SVC.getFileLibrary(id)\n .then((response) => {\n const myFileLibrary = response && response.data && response.data.Result;\n // NOTE: FileLibrary response could contain Id\n if (!myFileLibrary.Id) {\n myFileLibrary.Id = id;\n }\n commit('setMyFileLibrary', myFileLibrary);\n resolve(myFileLibrary);\n })\n .catch(reject);\n })\n .catch(reject);\n });\n },\n\n async fetchMyFileLibraryItems ({ commit, state }) { // DEPRECATED\n // check persisted localStorage\n const value = getPersistedValue(state, 'myFileLibraryItems', maxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch\n return new Promise((resolve, reject) => {\n Vue.prototype.$store.dispatch('artvault/fetchMyFileLibrary')\n .then((fileLibrary) => {\n if (!fileLibrary) {\n return resolve(null);\n }\n\n // imitate SVC API\n const items = _.map(fileLibrary.Files, (file, index) => {\n if (file.MediaType === 'Image' && file.ImageInfo) {\n return {\n Id: 'Files' + index,\n ImageUrl: file.ImageInfo.Url\n };\n }\n });\n commit('setMyFileLibraryItems', items);\n resolve(items);\n\n // const folderId = 1;\n // const subFolders = 1;\n // Vue.prototype.$SVC.getFileLibraryFolder(fileLibraryId, folderId, subFolders)\n // .then((response) => {\n // const folder = response && response.data && response.data.Results;\n // resolve(folder.Files);\n // })\n // .catch(reject);\n })\n .catch(reject);\n });\n },\n\n async fetchMyWorkspaceId () { // DEPRECATED\n return new Promise((resolve, reject) => {\n Vue.prototype.$store.dispatch('user/fetchUserProfile', null, {root: true})\n .then((profile) => {\n try {\n const id = profile._links.workspace.href.replace('/svc/workspaces/', '');\n resolve(id);\n }\n catch (error) {\n resolve(null);\n }\n })\n .catch(reject);\n });\n },\n\n async fetchMyWorkspace ({ commit, state }) { // DEPRECATED\n // check persisted localStorage\n const value = getPersistedValue(state, 'myWorkspace', maxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch\n return new Promise((resolve, reject) => {\n Vue.prototype.$store.dispatch('artvault/fetchMyWorkspaceId')\n .then((id) => {\n if (!id) {\n return resolve(null); // no MyWorkspace\n }\n Vue.prototype.$SVC.getWorkspace(id)\n .then((response) => {\n const workspace = response && response.data && response.data.Result;\n commit('setMyWorkspace', workspace);\n resolve(workspace);\n })\n .catch(reject);\n })\n .catch(reject);\n });\n },\n\n async fetchMyWorkspaceItems ({ commit, state }) { // DEPRECATED\n // check persisted localStorage\n const value = getPersistedValue(state, 'myWorkspaceItems', maxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch\n return new Promise((resolve, reject) => {\n Vue.prototype.$store.dispatch('artvault/fetchMyWorkspace')\n .then((workspace) => {\n if (!workspace) {\n return resolve(null);\n }\n // imitate SVC API\n // const items = _.map(fileLibrary.Files, (file, index) => {\n // if (file.MediaType === 'Image' && file.ImageInfo) {\n // return {\n // Id: 'Files' + index,\n // ImageUrl: file.ImageInfo.Url\n // };\n // }\n // });\n\n const items = [];\n commit('setMyWorkspaceItems', items);\n resolve(items);\n\n // const folderId = 1;\n // const subFolders = 1;\n // Vue.prototype.$SVC.getFileLibraryFolder(fileLibraryId, folderId, subFolders)\n // .then((response) => {\n // const folder = response && response.data && response.data.Results;\n // resolve(folder.Files);\n // })\n // .catch(reject);\n })\n .catch(reject);\n });\n }\n };\n\n const mutations = {\n RESET (state) {\n const newState = initialState();\n Object.keys(newState).forEach((key) => {\n state[key] = newState[key];\n });\n },\n\n setFileLibraries (state, value) {\n state.fileLibraries = value || [];\n state.timestamps.fileLibraries = new Date();\n },\n\n setWorkspaces (state, value) {\n state.workspaces = value || [];\n state.timestamps.workspaces = new Date();\n },\n\n updateWorkspacesArtworks (state, value) {\n state.workspacesArtworks = _.extend({}, state.workspacesArtworks, value);\n // store only the oldest date\n if (!state.timestamps.workspacesArtworks) {\n state.timestamps.workspacesArtworks = new Date();\n }\n },\n\n updateFileLibrariesFolders (state, value) {\n state.fileLibrariesFolders = _.extend({}, state.fileLibrariesFolders, value);\n // store only the oldest date\n if (!state.timestamps.fileLibrariesFolders) {\n state.timestamps.fileLibrariesFolders = new Date();\n }\n },\n\n setMyFileLibrary (state, value) {\n state.myFileLibrary = value || {};\n state.timestamps.myFileLibrary = new Date();\n },\n\n setMyFileLibraryItems (state, value) {\n state.myFileLibraryItems = value || [];\n state.timestamps.myFileLibraryItems = new Date();\n },\n\n setMyWorkspace (state, value) {\n state.myWorkspace = value || {};\n state.timestamps.myWorkspace = new Date();\n },\n\n setMyWorkspaceItems (state, value) {\n state.myWorkspaceItems = value || [];\n state.timestamps.myWorkspaceItems = new Date();\n }\n };\n\n return {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n };\n};\n\nexport default app => createStore(app);\n","/**\n * Pages store\n */\nimport { getPersistedValue } from '@/helpers/store.js';\n\nconst maxAge = 28800000; // 8 hours [msec]\n\nconst initialState = () => ({\n pagesPublicOnly: {}, // from index '/'\n // pagesAll: {},\n timestamps: {}\n});\n\nconst createStore = (Vue) => {\n\n const state = initialState;\n\n const getters = {\n getPagesPublicOnly (state) {\n return state.pagesPublicOnly;\n }\n\n // getPagesAll (state) {\n // return state.pagesAll;\n // }\n };\n\n const actions = {\n async fetchPagesPublicOnly ({ commit, state }) {\n // check persisted localStorage\n const value = getPersistedValue(state, 'pagesPublicOnly', maxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n const params = {\n UseProfile: 'PublicOnly'\n };\n\n // fetch\n return new Promise((resolve, reject) => {\n Vue.prototype.$SVC.getPages('', params)\n .then((response) => {\n const pages = response && response.data;\n commit('setPagesPublicOnly', pages);\n resolve(pages);\n })\n .catch(reject);\n });\n }\n\n // svc/pages for \"All\" UseProfile are deprecated\n // async fetchPagesAll ({ commit, state }) {\n // // check persisted localStorage\n // const value = getPersistedValue(state, 'pagesAll', maxAge);\n // if (value) {\n // return Promise.resolve(value);\n // }\n\n // const params = {\n // UseProfile: 'All'\n // };\n\n // // fetch\n // return new Promise((resolve, reject) => {\n // Vue.prototype.$SVC.getPages('', params)\n // .then((response) => {\n // const pages = response && response.data;\n // commit('setPagesAll', pages);\n // resolve(pages);\n // })\n // .catch(reject);\n // });\n // }\n };\n\n const mutations = {\n RESET (state) {\n const newState = initialState();\n Object.keys(newState).forEach((key) => {\n state[key] = newState[key];\n });\n },\n\n setPagesPublicOnly (state, value) {\n state.pagesPublicOnly = value || {};\n state.timestamps.pagesPublicOnly = new Date();\n }\n\n // setPagesAll (state, value) {\n // state.pagesAll = value || {};\n // state.timestamps.pagesAll = new Date();\n // }\n };\n\n return {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n };\n};\n\nexport default app => createStore(app);\n","/**\n * Profile Articles store\n */\nimport { getPersistedValue } from '@/helpers/store.js';\n\nconst maxAge = 172800000; // 48 hours (2 days) [msec]\n\nconst initialState = () => ({\n published: [],\n preliminary: [],\n archived: [],\n timestamps: {}\n});\n\nconst createStore = (Vue) => {\n\n const state = initialState;\n\n const getters = {\n getProfileArticles (state) {\n return {\n published: state.published || [],\n preliminary: state.preliminary || [],\n archived: state.archived || []\n };\n }\n };\n\n const actions = {\n\n /**\n * Fetch User Profile Articles, three categories.\n */\n async fetchProfileArticles ({ commit, state }) {\n // check persisted localStorage\n let published = getPersistedValue(state, 'published', maxAge);\n let preliminary = getPersistedValue(state, 'preliminary', maxAge);\n let archived = getPersistedValue(state, 'archived', maxAge);\n\n if (!published) {\n await Vue.prototype.$SVC.getProfileFeatureArticles('published')\n .then((response) => {\n published = response && response.data && response.data.Results;\n commit('setPublished', published);\n })\n .catch(Promise.reject);\n }\n\n if (!preliminary) {\n await Vue.prototype.$SVC.getProfileFeatureArticles('preliminary', {UseScope: 'IncludePrereleaseAndBin'})\n .then((response) => {\n preliminary = response && response.data && response.data.Results;\n commit('setPreliminary', preliminary);\n })\n .catch(Promise.reject);\n }\n\n if (!archived) {\n await Vue.prototype.$SVC.getProfileFeatureArticles('archived')\n .then((response) => {\n archived = response && response.data && response.data.Results;\n commit('setArchived', archived);\n })\n .catch(Promise.reject);\n }\n\n const value = {published, preliminary, archived};\n return Promise.resolve(value);\n }\n };\n\n const mutations = {\n RESET (state) {\n const newState = initialState();\n Object.keys(newState).forEach((key) => {\n state[key] = newState[key];\n });\n },\n\n setPublished (state, value) {\n state.published = value;\n state.timestamps.published = new Date();\n },\n\n setPreliminary (state, value) {\n state.preliminary = value;\n state.timestamps.preliminary = new Date();\n },\n\n setArchived (state, value) {\n state.archived = value;\n state.timestamps.archived = new Date();\n }\n };\n\n return {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n };\n};\n\nexport default app => createStore(app);\n","/**\n * Global vuex store.\n * This store is saved into sessionStorage and contains volatile data\n * that should disappear after logging out / closing the browser.\n */\nimport { Store } from 'vuex';\n\nimport ux from './ux.js';\nimport user from './user.js';\nimport facets from './facets.js';\nimport artvault from './artvault.js';\nimport pages from './pages.js';\n// import organizations from './organizations.js';\nimport profileArticles from './profileArticles.js';\n// import statistics from './statistics.js';\n\nconst createStore = (app, options) => {\n return new Store(\n Object.assign({\n modules: {\n ux: ux(app),\n user: user(app),\n facets: facets(app),\n artvault: artvault(app),\n pages: pages(app),\n // organizations,\n profileArticles: profileArticles(app)\n // statistics\n }\n }, options)\n );\n};\n\nexport default createStore;\n","/**\n * Vuex store modules\n */\nimport Vuex from 'vuex';\nimport createLogger from 'vuex/dist/logger.js';\nimport createPersistedState from 'vuex-persistedstate';\nimport SecureLS from 'secure-ls';\n\nimport createStore from '@/store/index.js';\nimport { isProdSite, isLocalHost, isTestEnv } from '@/helpers/deployment.js';\n\nexport const plugin = {\n name: 'vuex store',\n\n pluginProperties: {\n store: null\n },\n\n install (Vue) {\n Vue.use(Vuex);\n\n const plugins = [];\n let storage;\n\n // encrypt localStorage in production\n // https://github.com/softvar/secure-ls\n if (isProdSite) {\n const secureStorage = new SecureLS({ isCompression: true });\n storage = {\n getItem: key => secureStorage.get(key),\n setItem: (key, value) => secureStorage.set(key, value),\n removeItem: key => secureStorage.remove(key)\n };\n }\n\n if (!isTestEnv) {\n plugins.push(\n /**\n * Vuex store persistence to localStorage\n */\n createPersistedState({\n // key : The key to store the persisted state under. (default: vuex)\n key: 'main',\n // paths : An array of any paths to partially persist the state. If no paths are given, the complete state is persisted. Paths must be specified using dot notation. If using modules, include the module name. eg: \"auth.user\" (default: [])\n // reducer : A function that will be called to reduce the state to persist based on the given paths. Defaults to include the values.\n // subscriber : A function called to setup mutation subscription. Defaults to store => handler => store.subscribe(handler)\n // storage : Instead for (or in combination with) getState and setState. Defaults to localStorage.\n storage\n // getState : A function that will be called to rehydrate a previously persisted state. Defaults to using storage.\n // setState : A function that will be called to persist the given state. Defaults to using storage.\n // filter : A function that will be called to filter any mutations which will trigger setState on storage eventually. Defaults to () => true\n // arrayMerger : A function for merging arrays when rehydrating state. Defaults to function (store, saved) { return saved } (saved state replaces supplied state).\n // rehydrated : A function that will be called when the rehydration is finished. Useful when you are using Nuxt.js, which the rehydration of the persisted state happens asynchronously. Defaults to store => {}\n })\n );\n }\n\n // add logger for development\n if (isLocalHost) {\n plugins.push(createLogger());\n }\n\n this.pluginProperties.store = createStore(Vue, {\n plugins,\n strict: isLocalHost // not in production!\n });\n\n // store is passed to Vue app constructor and made global\n }\n};\n\nexport default plugin;\n","/**\n * Vue global event bus\n */\nexport const plugin = {\n name: 'event bus',\n\n pluginProperties: {\n eventBus: null\n },\n\n install (Vue) {\n this.pluginProperties.eventBus = new Vue();\n Vue.prototype.$eventBus = this.pluginProperties.eventBus;\n }\n};\n\nexport default plugin;\n","/**\n * Vue Axios HTTP library\n */\nimport 'whatwg-fetch';\n// abortcontroller polyfill for fetch is for wavesurfer audio visualisation\nimport 'abortcontroller-polyfill/dist/polyfill-patch-fetch.js';\n\nimport axios from 'axios';\n\nif (process.env.API_URL) {\n axios.defaults.baseURL = process.env.API_URL;\n}\naxios.defaults.crossDomain = false;\naxios.defaults.withCredentials = true;\n\nexport const plugin = {\n name: 'axios',\n\n pluginProperties: {\n axios\n },\n\n install (Vue) {\n Vue.prototype.$axios = axios;\n }\n};\n\nexport default plugin;\n","/**\n * SVC API\n * https:///svc/metadata\n *\n * Common resource GET/POST/PUT/PATCH template:\n\n getFoo (id, params, config) {\n return this.$axios\n .get(`/svc/foos/${id}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n queryFoos (params, config) {\n return this.$axios\n .post(`/svc/foos/query`, this.getData(params, false), config)\n .catch(this.handleError);\n }\n\n postFoo (data, config) {\n return this.$axios\n .post(`/svc/foos`, data, config)\n .catch(this.handleError);\n }\n\n putFoo (id, payload, config) {\n return this.$axios\n .put(`/svc/foos/${id}`, payload, config)\n .catch(this.handleError);\n }\n\n patchFoo (id, payload, config) {\n return this.$axios\n .patch(`/svc/foos/${id}`, payload, config)\n .catch(this.handleError);\n }\n */\n/* eslint no-multiple-empty-lines: [1, { max: 4} ] */\nimport { logErrorTrace } from '@/helpers';\nimport { isProdSite } from '@/helpers/deployment';\n\nexport default class SVC {\n\n constructor (ctx) {\n this.$axios = ctx.axios;\n this.$store = ctx.store;\n }\n\n resetCache () {} // no axios-extensions cache\n\n handleError (error) {\n // no error trace when request is canceled\n if (error && !error.__CANCEL__) {\n logErrorTrace(error, !isProdSite);\n }\n throw error;\n }\n\n /** Auth0 ----------------------------------------- */\n\n getAuth0 (code) {\n return this.$axios\n .get(`/svc/auth/auth0`, {\n // params: {code: code},\n maxRedirects: 0,\n withCredentials: true,\n headers: {\n Accept: '*/*'\n }\n })\n .catch(() => {\n // maxRedirects does not seem to work.\n // if the request redirects to muusa (and fails),\n // but session is still ok.\n });\n }\n\n\n\n\n /** Hello and User Profile ------------------------ */\n\n getHello () {\n return this.$axios\n .get(`/svc/hello`)\n .catch(this.handleError);\n }\n\n getProfile () {\n return this.$axios\n .get(`/svc/profile`)\n .catch(this.handleError);\n }\n\n patchProfile (payload) {\n return this.$axios\n .patch(`/svc/profile`, payload)\n .catch(this.handleError);\n }\n\n /** Profile Item, GET.\n * - type: saved, liked, followed, shared\n * */\n getProfileItems (type, params, config) {\n return this.$axios\n .get(`/svc/profile/items/${type}`, _.extend({params}, config))\n .catch(this.handleError);\n }\n\n /** Profile Item, POST query.\n * - type: saved, liked, followed, shared\n * */\n queryProfileItems (type, params, config) {\n return this.$axios\n .post(`/svc/profile/items/${type}/query`, _.extend({\n EnableFacetedSearch: true,\n UseProfile: 'ViewAll',\n PageSize: 250,\n Template: {\n PrimaryProperties: true,\n IndexProperties: true,\n ObjectProperties: true,\n IngressProperties: false,\n ArtworkProperties: true,\n DetailProperties: false,\n ImageInfoExtended: true,\n AuxMediaProperties: false,\n MakersProperties: 'MakersActorSimple'\n }\n }, params), config)\n .catch(this.handleError);\n }\n\n /** Profile FeatureArticles\n * - state: published, preliminary, archived, deleted\n * */\n\n getProfileFeatureArticles (resourceState, params, config) {\n return this.$axios\n .get(`/svc/profile/featurearticles/${resourceState || ''}`, _.extend({params}, config))\n .catch(this.handleError);\n }\n\n /** Profile Invites */\n\n getProfileInvites (params, config) {\n return this.$axios\n .get(`/svc/profile/invites`, _.extend({params}, config))\n .catch(this.handleError);\n }\n\n postProfileInvite (data, config) {\n return this.$axios\n .post(`/svc/profile/invites`, data, config)\n .catch(this.handleError);\n }\n\n deleteProfileInvite (id, config) {\n return this.$axios\n .delete(`/svc/profile/invites`, config)\n .catch(this.handleError);\n }\n\n /** Profile Accounts & Account Subcriptions */\n\n getMyAccount (accountId, params, config) {\n return this.$axios\n .get(`/svc/profile/accounts/${accountId}`, _.extend({params}, config))\n .catch(this.handleError);\n }\n\n getMyAccounts (params, config) {\n return this.$axios\n .get(`/svc/profile/accounts`, _.extend({params}, config))\n .catch(this.handleError);\n }\n\n getMyAccountSubscriptions (accountId, params, config) {\n return this.$axios\n .get(`/svc/profile/accounts/${accountId}/subscriptions`, _.extend({params}, config))\n .catch(this.handleError);\n }\n\n getMyAccountSubscriptionWorkspaces (accountId, subscriptionId, params, config) {\n return this.$axios\n .get(`/svc/profile/accounts/${accountId}/subscriptions/${subscriptionId}`, _.extend({params}, config))\n .catch(this.handleError);\n }\n\n /** Profile Subscriptions */\n\n getMySubscription (subscriptionId, params, config) {\n return this.$axios\n .get(`/svc/profile/subscriptions/${subscriptionId}`, _.extend({params}, config))\n .catch(this.handleError);\n }\n\n getMySubscriptions (params, config) {\n return this.$axios\n .get(`/svc/profile/subscriptions`, _.extend({params}, config))\n .catch(this.handleError);\n }\n\n /** Profile Offers */\n\n getMyOffers (params, config) {\n return this.$axios\n .get(`/svc/profile/offers`, _.extend({params}, config))\n .catch(this.handleError);\n }\n\n postRequestOffer (data, config) {\n return this.$axios\n .post(`/svc/profile/offers`, data, config)\n .catch(this.handleError);\n }\n\n postUseOffer (offerId, data, config) {\n return this.$axios\n .post(`/svc/profile/offers/${offerId}`, data, config)\n .catch(this.handleError);\n }\n\n\n\n\n /** Generic item ---------------------------------- */\n\n getItem (id, params, config) { // id or slug both work\n return this.$axios\n .get(`/svc/items/${id}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n\n\n\n /** Generic resource article ---------------------- */\n\n getResourceArticle (resource, id, params, config) {\n return this.$axios\n .get(`/svc/${resource}/${id}/article`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n putResourceArticle (resource, id, payload) {\n return this.$axios\n .put(`/svc/${resource}/${id}/article`, payload)\n .catch(this.handleError);\n }\n\n patchResourceArticle (resource, id, payload) {\n return this.$axios\n .patch(`/svc/${resource}/${id}/article`, payload)\n .catch(this.handleError);\n }\n\n\n\n\n /** ArtImage -------------------------------------- */\n\n patchArtImage (id, payload) {\n return this.$axios\n .patch(`/svc/artimages/${id}`, payload)\n .catch(this.handleError);\n }\n\n\n\n\n /** Artwork --------------------------------------- */\n\n getArtwork (id, params, config) {\n return this.$axios\n .get(`/svc/artworks/${id}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n queryArtworks (params, config) {\n return this.$axios\n .post('/svc/artworks/query', this.getData(params, true), config)\n .catch(this.handleError);\n }\n\n patchArtwork (id, payload) {\n return this.$axios\n .patch(`/svc/artworks/${id}`, payload)\n .catch(this.handleError);\n }\n\n\n\n\n /** Actors ---------------------------------------- */\n\n getActor (id, params, config) {\n return this.$axios\n .get(`/svc/actors/${id}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n getActorArtworks (id, params, config) {\n return this.$axios\n .get(`/svc/actors/${id}/artworks`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n /**\n * Actor Artworks query.\n */\n queryActorArtworks (id, params, config) {\n return this.$axios\n .post('/svc/artworks/query', this.getData(_.extend({ProductionCarriedOutById: id}, params), true), config)\n .catch(this.handleError);\n }\n\n queryActorExhibitions (id, params, config) {\n return this.$axios\n .post('/svc/events/query', this.getData(_.extend({ArtistId: id}, params), true), config)\n .catch(this.handleError);\n }\n\n queryActors (params, config) {\n return this.$axios\n .post('/svc/actors/query', this.getData(params, false), config)\n .catch(this.handleError);\n }\n\n patchActor (id, payload) {\n return this.$axios\n .patch(`/svc/actors/${id}`, payload)\n .catch(this.handleError);\n }\n\n\n\n\n /** Collections ----------------------------------- */\n\n getCollection (id, params, config) {\n return this.$axios\n .get(`/svc/collections/${id}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n getCollectionArtworks (id, params, config) {\n return this.$axios\n .get(`/svc/collections/${id}/artworks`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n /**\n * Collection Artworks query.\n */\n queryCollectionArtworks (id, params, config) {\n return this.$axios\n .post('/svc/artworks/query', this.getData(_.extend({CollectionId: id}, params), true), config)\n .catch(this.handleError);\n }\n\n queryCollections (params, config) {\n return this.$axios\n .post('/svc/collections/query', this.getData(params, false), config)\n .catch(this.handleError);\n }\n\n patchCollection (id, payload) {\n return this.$axios\n .patch(`/svc/collections/${id}`, payload)\n .catch(this.handleError);\n }\n\n\n\n\n /** Organizations --------------------------------- */\n\n getOrganization (id, params, config) {\n return this.$axios\n .get(`/svc/organizations/${id}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n queryOrganizations (params, config) {\n return this.$axios\n .post('/svc/organizations/query', this.getData(params, false), config)\n .catch(this.handleError);\n }\n\n patchOrganization (id, payload) {\n return this.$axios\n .patch(`/svc/organizations/${id}`, payload)\n .catch(this.handleError);\n }\n\n /** Organization Collections */\n\n getOrganizationCollections (id, params, config) {\n return this.$axios\n .get(`/svc/organizations/${id}/collections`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n /** Organization Artworks query */\n\n queryOrganizationArtworks (id, params, config) {\n return this.$axios\n .post('/svc/artworks/query', this.getData(_.extend({PublishedKeeperId: id}, params), true), config)\n .catch(this.handleError);\n }\n\n\n /** Organization ContactDepartments\n * NOTE: API calls ContactDepartment as OrganizationContact with contactId\n */\n\n getOrganizationContactDepartments (organizationId, params, config) {\n return this.$axios\n .get(`/svc/organizations/${organizationId}/departments`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n postOrganizationContactDepartment (organizationId, data, config) {\n return this.$axios\n .post(`/svc/organizations/${organizationId}/departments`, data, config)\n .catch(this.handleError);\n }\n\n putOrganizationContactDepartment (organizationId, departmentId, payload, config) {\n return this.$axios\n .put(`/svc/organizations/${organizationId}/departments/${departmentId}`, payload, config)\n .catch(this.handleError);\n }\n\n deleteOrganizationContactDepartment (organizationId, departmentId, config) {\n return this.$axios\n .delete(`/svc/organizations/${organizationId}/departments/${departmentId}`, config)\n .catch(this.handleError);\n }\n\n /** Organization ContactPersonnels\n * NOTE: API calls ContactPersonnel as OrganizationContactPersonnelContact with personnelId\n */\n\n getOrganizationContactPersonnels (organizationId, departmentId, params, config) {\n return this.$axios\n .get(`/svc/organizations/${organizationId}/departments/${departmentId}/personnelcontacts`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n getOrganizationContactPersonnel (organizationId, departmentId, personnelId, params, config) {\n return this.$axios\n .get(`/svc/organizations/${organizationId}/departments/${departmentId}/personnelcontacts/${personnelId}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n postOrganizationContactPersonnel (organizationId, departmentId, data, config) {\n return this.$axios\n .post(`/svc/organizations/${organizationId}/departments/${departmentId}/personnelcontacts`, data, config)\n .catch(this.handleError);\n }\n\n putOrganizationContactPersonnel (organizationId, departmentId, personnelId, payload, config) {\n return this.$axios\n .put(`/svc/organizations/${organizationId}/departments/${departmentId}/personnelcontacts/${personnelId}`, payload, config)\n .catch(this.handleError);\n }\n\n deleteOrganizationContactPersonnel (organizationId, departmentId, personnelId, config) {\n return this.$axios\n .delete(`/svc/organizations/${organizationId}/departments/${departmentId}/personnelcontacts/${personnelId}`, config)\n .catch(this.handleError);\n }\n\n /** Organization EntryDescriptions */\n\n getOrganizationEntryDescriptions (organizationId, params, config) {\n return this.$axios\n .get(`/svc/organizations/${organizationId}/entrydescriptions`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n getOrganizationEntryDescription (organizationId, id, params, config) {\n return this.$axios\n .get(`/svc/organizations/${organizationId}/entrydescriptions/${id}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n queryOrganizationEntryDescriptions (organizationId, params, config) {\n return this.$axios\n .post(`/svc/organizations/${organizationId}/entrydescriptions/query`, this.getData(params, false), config)\n .catch(this.handleError);\n }\n\n postOrganizationEntryDescription (organizationId, data, config) {\n return this.$axios\n .post(`/svc/organizations/${organizationId}/entrydescriptions`, data, config)\n .catch(this.handleError);\n }\n\n putOrganizationEntryDescription (organizationId, id, payload, config) {\n return this.$axios\n .put(`/svc/organizations/${organizationId}/entrydescriptions/${id}`, payload, config)\n .catch(this.handleError);\n }\n\n patchOrganizationEntryDescription (organizationId, id, payload, config) {\n return this.$axios\n .patch(`/svc/organizations/${organizationId}/entrydescriptions/${id}`, payload, config)\n .catch(this.handleError);\n }\n\n deleteOrganizationEntryDescription (organizationId, id, config) {\n return this.$axios\n .delete(`/svc/organizations/${organizationId}/entrydescriptions/${id}`, config)\n .catch(this.handleError);\n }\n\n\n\n\n /** Feature Articles ------------------------------ */\n\n getFeatureArticle (id, params, config) {\n return this.$axios\n .get(`/svc/featurearticles/${id}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n getFeatureArticleRevision (id, locale, publicationState, revision, params, config) {\n const _locale = locale || 'all';\n return this.$axios\n .get(`/svc/featurearticles/${id}/${_locale}/${publicationState}/${revision}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n queryFeatureArticles (params, config) {\n return this.$axios\n .post('/svc/featurearticles/query', this.getData(params, false), config)\n .catch(this.handleError);\n }\n\n postFeatureArticle (data, newResourceState, config) {\n return this.$axios\n .post(`/svc/featurearticles/${newResourceState}`, data, config)\n .catch(this.handleError);\n }\n\n putFeatureArticle (id, payload, config) {\n return this.$axios\n .put(`/svc/featurearticles/${id}`, payload, config)\n .catch(this.handleError);\n }\n\n patchFeatureArticle (id, payload, config) {\n return this.$axios\n .patch(`/svc/featurearticles/${id}`, payload, config)\n .catch(this.handleError);\n }\n\n deleteFeatureArticle (id, params, config) {\n const _params = _.extend({UseProfile: 'EditAll'}, params);\n return this.$axios\n .delete(`/svc/featurearticles/${id}`, this.getConfig(_params, config))\n .catch(this.handleError);\n }\n\n /** Linked FeatureArticles */\n\n getLinkedFeatureArticles (resource, id, params, config) {\n return this.$axios\n .get(`/svc/${resource}/${id}/featurearticles/linked`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n\n\n\n /** Revisions ------------------------------------- */\n\n getRevisions (resource, id, params, config) {\n return this.$axios\n .get(`/svc/${resource}/${id}/revisions`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n postRevision (resource, id, locale, revision, data, config) {\n const _locale = locale || 'all';\n return this.$axios\n .post(`/svc/${resource}/${id}/revisions/${_locale}/${revision}`, data, config)\n .catch(this.handleError);\n }\n\n\n\n\n /** Events ---------------------------------------- */\n\n getEvent (id, params, config) {\n return this.$axios\n .get(`/svc/events/${id}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n queryEvents (params, config) {\n return this.$axios\n .post('/svc/events/query', this.getData(params, false), config)\n .catch(this.handleError);\n }\n\n postEvent (data, config) {\n return this.$axios\n .post(`/svc/events`, data, config)\n .catch(this.handleError);\n }\n\n putEvent (id, payload, config) {\n return this.$axios\n .put(`/svc/events/${id}`, payload, config)\n .catch(this.handleError);\n }\n\n patchEvent (id, payload, config) {\n return this.$axios\n .patch(`/svc/events/${id}`, payload, config)\n .catch(this.handleError);\n }\n\n /** Event Artworks */\n\n getEventArtworks (id, params, config) {\n return this.$axios\n .get(`/svc/events/${id}/artworks`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n /** Event EntryDescription */\n\n getEventEntryDescription (eventId, params, config) {\n return this.$axios\n .get(`/svc/events/${eventId}/entrydescription`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n putEventEntryDescription (eventId, payload, config) {\n return this.$axios\n .put(`/svc/events/${eventId}/entrydescription`, payload, config)\n .catch(this.handleError);\n }\n\n patchEventEntryDescription (eventId, payload, config) {\n return this.$axios\n .patch(`/svc/events/${eventId}/entrydescription`, payload, config)\n .catch(this.handleError);\n }\n\n deleteEventEntryDescription (eventId, config) {\n return this.$axios\n .delete(`/svc/events/${eventId}/entrydescription`, config)\n .catch(this.handleError);\n }\n\n\n\n\n /** Workspaces ------------------------------------ */\n\n getWorkspace (id, params, config) {\n const _params = _.extend({UseProfile: 'All'}, params);\n return this.$axios\n .get(`/svc/workspaces/${id}`, this.getConfig(_params, config))\n .catch(this.handleError);\n }\n\n getWorkspaces (params, config) {\n const _params = _.extend({UseProfile: 'All'}, params);\n return this.$axios\n .get(`/svc/workspaces`, this.getConfig(_params, config))\n .catch(this.handleError);\n }\n\n getWorkspaceArtworks (id, params) {\n return this.$axios\n .get(`/svc/workspaces/${id}/artworks`, params)\n .catch(this.handleError);\n }\n\n postWorkspaceArtwork (id, data, config) {\n return this.$axios\n .post(`/svc/workspaces/${id}/artworks`, data, config)\n .catch(this.handleError);\n }\n\n\n\n\n /** Pages (front page) ---------------------------- */\n\n getPages (route, params, config) {\n // UseProfile should not be set here\n const _config = this.getConfig(params, config);\n delete _config.UseProfile;\n return this.$axios\n .get(`/svc/pages/${route ? '/' + route : ''}`, _config)\n .catch(this.handleError);\n }\n\n\n\n /** Items ----------------------------------------- */\n\n queryItems (params, config) {\n return this.$axios\n .post(`/svc/items/query`, this.getData(params, false), config)\n .catch(this.handleError);\n }\n\n /** Recommendations */\n\n getRecommendations (contentFilter, params, config) {\n return this.$axios\n .get(`/svc/items/recommend?ContentClassesFilter=${contentFilter}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n\n\n\n /** Social actions -------------------------------- */\n\n /**\n * PUT operation.\n * - follow, unfollow\n * - heart, unheart\n * - save, unsave\n * - share\n *\n * eg. /svc/artworks/1234/log/heart\n */\n putOperation (resource, id, operation) {\n return this.$axios\n .put(`/svc/${resource}/${id}/log/${operation}`)\n .catch(this.handleError);\n }\n\n\n\n\n /** Tags ------------------------------------------ */\n\n getTag (id, params, config) {\n return this.$axios\n .get(`/svc/tags/${id}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n putTag (resource, id, payload) {\n return this.$axios\n .put(`/svc/${resource}/${id}/tag`, payload)\n .catch(this.handleError);\n }\n\n queryTags (params, config) {\n return this.$axios\n .post(`/svc/tags/query`, this.getData(params, false), config)\n .catch(this.handleError);\n }\n\n\n\n\n /** Shared ---------------------------------------- */\n\n queryShared (params, config) {\n return this.$axios\n .post(`/svc/shares/query`, this.getData(params, false), config)\n .catch(this.handleError);\n }\n\n\n\n\n /** Videos ---------------------------------------- */\n\n getVideo (id, params, config) {\n return this.$axios\n .get(`/svc/artvideos/${id}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n queryVideos (params, config) {\n return this.$axios\n .post('/svc/artvideos/query', this.getData(params, false), config)\n .catch(this.handleError);\n }\n\n patchVideo (id, payload) {\n return this.$axios\n .patch(`/svc/artvideos/${id}`, payload)\n .catch(this.handleError);\n }\n\n\n\n\n /** Audios ---------------------------------------- */\n\n getAudio (id, params, config) {\n return this.$axios\n .get(`/svc/artaudios/${id}`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n getAudioInfo (id, params, config) {\n return this.$axios\n .get(`/svc/artaudios/${id}/info`, this.getConfig(params, config))\n .catch(this.handleError);\n }\n\n queryAudios (params, config) {\n return this.$axios\n .post('/svc/artaudios/query', this.getData(params, false), config)\n .catch(this.handleError);\n }\n\n patchAudio (id, payload) {\n return this.$axios\n .patch(`/svc/artaudios/${id}`, payload)\n .catch(this.handleError);\n }\n\n\n\n\n /** File Archives & Folders ----------------------- */\n\n getFileLibraries (params, config) {\n const _params = _.extend({UseProfile: 'All'}, params);\n return this.$axios\n .get(`/svc/filelibraries`, this.getConfig(_params, config))\n .catch(this.handleError);\n }\n\n getFileLibrary (fileLibraryId, params, config) {\n const _params = _.extend({UseProfile: 'All'}, params);\n return this.$axios\n .get(`/svc/filelibraries/${fileLibraryId}`, this.getConfig(_params, config))\n .catch(this.handleError);\n }\n\n getFileLibraryFolder (fileLibraryId, folderId, subFolders, params, config) {\n const _params = _.extend({UseProfile: 'All'}, params);\n return this.$axios\n .get(`/svc/filelibraries/${fileLibraryId}/${folderId}/${subFolders || ''}`, this.getConfig(_params, config))\n .catch(this.handleError);\n }\n\n updateFileLibraryFolder (fileLibraryId, folderId, subFolders, data, config) {\n return this.$axios\n .post(`/svc/filelibraries/${fileLibraryId}/${folderId}/${subFolders || ''}`, data, config)\n .catch(this.handleError);\n }\n\n\n\n\n /** OSM - Open Street Map objects ----------------- */\n\n osmAddressSearch (data, config) {\n return this.$axios\n .post(`/svc/osmobjects/lookup`, data, config)\n .catch(this.handleError);\n }\n\n osmForwardSearch (queryString, data, config) {\n return this.$axios\n .post(`/svc/osmobjects/search/${queryString}`, data, config)\n .catch(this.handleError);\n }\n\n osmReverseSearch (data, config) {\n return this.$axios\n .post(`/svc/osmobjects/reverse`, data, config)\n .catch(this.handleError);\n }\n\n\n\n\n /** LawDocs: Terms of Service --------------------- */\n\n lawDocsTermsOfService () {\n return this.$axios\n .get('/svc/lawdocs/tos', {params: this.getPreferredLocaleParams()})\n .catch(this.handleError);\n }\n\n /** LawDocs: Privacy Policy ----------------------- */\n\n lawDocsPrivacyPolicy () {\n return this.$axios\n .get('/svc/lawdocs/privacy', {params: this.getPreferredLocaleParams()})\n .catch(this.handleError);\n }\n\n\n\n /** Helpers --------------------------------------- */\n\n /**\n * The \"Template\" parameter specifies the \"fatness\" of query response.\n *\n * IndexProperties - boolean -\n * ObjectProperties - boolean - includes fields not in IndexProperties\n * Dimensions - boolean -\n * MakersProperties - string - ['NoMakers', 'Makers', 'MakersActorSimple', 'MakersActorFull']\n * ImageInfoExtended - boolean -\n * AuxMedia - boolean -\n * Collections - boolean -\n */\n getTemplateParams (params) {\n return {\n Template: _.extend({\n IndexProperties: true,\n ObjectProperties: false,\n Dimensions: false,\n MakersProperties: 'NoMakers',\n ImageInfoExtended: false,\n AuxMedia: false,\n Collections: false\n }, params)\n };\n }\n\n /**\n * The \"UseProfile\" request param to switch view scope. \"View\" prefix is optional.\n *\n * AnonymousOnly\n * RegisteredOnly\n * ProRegisteredOnly\n * PublicOnly (= includes all of the above)\n * PrivateOnly\n * All\n *\n * ViewAll (= All)\n * ViewPublicOnly (= PublicOnly)\n *\n * With combination of \"Edit\" prefix is in edit mode.\n *\n * EditPublicOnly\n * EditAll\n * ... etc\n *\n */\n getUseProfileParams () {\n let useProfile = this.$store.getters['ux/getUseProfile'];\n if (this.$store.getters['ux/getEditMode']) {\n // support ViewPublicOnly and PublicOnly\n if (useProfile.match('View')) {\n useProfile = useProfile.replace('View', 'Edit');\n }\n else if (!useProfile.match('Edit')) {\n useProfile = 'Edit' + useProfile;\n }\n }\n return useProfile ? {UseProfile: useProfile} : {};\n }\n\n /**\n * Preferred locale.\n * \"en\", \"fi\", etc\n */\n getPreferredLocaleParams () {\n const locale = this.$store.getters['ux/getLocale'];\n return {PreferredLocale: locale};\n }\n\n stringifyQueryParams (params) {\n // \"stringify\" without spaces\n const values = _.map(Object.keys(params), (key) => {\n return `${key}:${params[key]}`;\n });\n return '{' + values.join(',') + '}';\n }\n\n /**\n * Merge GET params and axios config.\n */\n getConfig (params, config) {\n const _params = _.extend(\n this.getUseProfileParams(),\n this.getPreferredLocaleParams(),\n params);\n return _.extend({params: _params}, config);\n }\n\n /**\n * Merge POST/PUT query params with the defaults.\n */\n getData (params, includeTemplate) {\n let data = _.extend(\n {\n AutoWildcards: false,\n EnableFacetedSearch: false\n },\n this.getUseProfileParams(),\n this.getPreferredLocaleParams(),\n params\n );\n if (includeTemplate) {\n data = _.extend(data, this.getTemplateParams(params && params.Template));\n }\n return data;\n }\n\n}\n","/**\n * Vue backend SVC API\n */\nimport SVC from '@/api/svc';\n\nexport const plugin = {\n name: 'SVC API',\n\n pluginProperties: {\n SVC: null\n },\n\n install (Vue, options) {\n const { axios, store } = options;\n this.pluginProperties.SVC = new SVC({ axios, store });\n Vue.prototype.$SVC = this.pluginProperties.SVC;\n }\n};\n\nexport default plugin;\n","/**\n * Vue i18n localisation\n **/\nimport VueI18n from 'vue-i18n';\n\nexport const plugin = {\n name: 'i18n',\n\n pluginProperties: {\n i18n: null\n },\n\n install (Vue, options) {\n Vue.use(VueI18n);\n\n const { store } = options;\n const locale = store.getters['ux/getLocale']; // getDefaultLocale();\n\n // init i18n with locale and messages\n this.pluginProperties.i18n = new VueI18n({\n locale,\n fallbackLocale: 'en',\n messages: {\n // bundle English translations\n en: require('@/translations/locale-en.json')\n }\n });\n\n // loads messages and listens to locale change in AppLocalisationMixin\n }\n};\n\nexport default plugin;\n","/**\n * Vue global helper functions\n */\nimport helpers from '@/helpers';\n\nexport const plugin = {\n name: 'helpers',\n\n pluginProperties: {\n helpers\n },\n\n install (Vue) {\n Vue.prototype.$helpers = helpers;\n }\n};\n\nexport default plugin;\n","import VueMatomo from 'vue-matomo';\nimport { getMatomoSiteId } from '@/helpers/deployment';\n\nexport const plugin = {\n name: 'matomo',\n pluginProperties: {\n },\n\n install (Vue) {\n Vue.use(VueMatomo, {\n // router: this.$router,\n host: 'https://taideart.matomo.cloud/',\n enableHeartBeatTimer: true,\n siteId: getMatomoSiteId() // Replace with your site ID in Matomo Analytics\n });\n }\n};\n\nexport default plugin;\n\n","/* */\n /** Vue BasePlugins.\n * Plugins loaded here enter into the `Vue.prototype` singleton-type global scope.\n *\n *//* ~ The \"base\" plugins are loaded before App mounts. ~\n / ~~ (also async \"base\" import()s are used) ~~\n*//* ~ \"Lazy\" plugins enter the global Vue scope just a bit later. ~\n\\*/\nimport SitePlugin from '@/plugins/site.js';\nimport StorePlugin from '@/plugins/vuex-store.js';\nimport EventBusPlugin from '@/plugins/event-bus.js';\nimport AxiosPlugin from '@/plugins/axios.js';\nimport SVCPlugin from '@/plugins/svc.js';\nimport I18nPlugin from '@/plugins/i18n.js';\nimport HelpersPlugin from '@/plugins/helpers.js';\nimport MatomoPlugin from '@/plugins/matomo.js';\n// import MetaPlugin from '@/plugins/meta.js';\n// import ObserveVisibilityPlugin from '@/plugins/observe-visibility.client.js';\n// import IconsPlugin from '@/plugins/icons.js';\n// import ComponentsPlugin from '@/plugins/components.js';\n// import KeepScrollPositionPlugin from '@/plugins/keep-scroll-position.client.js';\n\nexport const BasePlugins = {\n name: 'base-plugins',\n\n globalProperties: {},\n\n async install (Vue) {\n\n // set site (taide.art)\n // site = SitePlugin.pluginProperties.site;\n // ====================================\n // const SitePlugin = await require('@/plugins/site.js').plugin;\n Vue.use(SitePlugin);\n Object.assign(this.globalProperties, SitePlugin.pluginProperties);\n\n // import vuex stores\n // store = StorePlugin.pluginProperties.store;\n // ====================================\n // const StorePlugin = await require('@/plugins/vuex-store.js').plugin;\n Vue.use(StorePlugin);\n Object.assign(this.globalProperties, StorePlugin.pluginProperties);\n\n // create global event bus\n // eventBus = EventBusPlugin.pluginProperties.eventBus;\n // ====================================\n // const EventBusPlugin = require('@/plugins/event-bus.js').plugin;\n Vue.use(EventBusPlugin);\n Object.assign(this.globalProperties, EventBusPlugin.pluginProperties);\n\n // axios HTTP library\n // axios = AxiosPlugin.pluginProperties.axios;\n // NOTE: https://danlevy.net/you-may-not-need-axios/\n // ====================================\n // const AxiosPlugin = await require('@/plugins/axios.js').plugin;\n Vue.use(AxiosPlugin);\n Object.assign(this.globalProperties, AxiosPlugin.pluginProperties);\n\n // SVC backend API\n // SVC = SVCPlugin.pluginProperties.SVC;\n // ====================================\n // const SVCPlugin = await require('@/plugins/svc.js').plugin;\n Vue.use(SVCPlugin, this.globalProperties);\n Object.assign(this.globalProperties, SVCPlugin.pluginProperties);\n\n // localization\n // i18n = I18nPlugin.pluginProperties.i18n;\n // ====================================\n // const I18nPlugin = await require('@/plugins/i18n.js').plugin;\n Vue.use(I18nPlugin, this.globalProperties);\n Object.assign(this.globalProperties, I18nPlugin.pluginProperties);\n\n // helper functions\n // helpers = HelpersPlugin.pluginProperties.helpers;\n // ====================================\n // const HelpersPlugin = require('@/plugins/helpers.js').plugin;\n Vue.use(HelpersPlugin);\n Object.assign(this.globalProperties, HelpersPlugin.pluginProperties);\n\n\n Vue.use(MatomoPlugin);\n Object.assign(this.globalProperties, MatomoPlugin.pluginProperties);\n\n // vue-meta for dynamic meta tags\n // ====================================\n // const MetaPlugin = await require('@/plugins/meta.js').plugin;\n // Vue.use(MetaPlugin);\n import('@/plugins/meta.js')\n .then((esModule) => { Vue.use(esModule.plugin); })\n .catch((error) => { throw error; });\n\n // vue-observe-visibility\n // ====================================\n // const ObserveVisibilityPlugin = require('@/plugins/observe-visibility.client.js').plugin;\n // Vue.use(ObserveVisibilityPlugin);\n import('@/plugins/observe-visibility.client')\n .then((esModule) => { Vue.use(esModule.plugin); })\n .catch((error) => { throw error; });\n\n // vue2-touch-events\n // ====================================\n // const TouchEventsPlugin = require('@/plugins/touch-events.client.js').plugin;\n // Vue.use(TouchEventsPlugin);\n import('@/plugins/touch-events.client.js')\n .then((esModule) => { Vue.use(esModule.plugin); })\n .catch((error) => { throw error; });\n\n // icons\n // ====================================\n // const IconsPlugin = await require('@/plugins/icons.js').plugin;\n // Vue.use(IconsPlugin);\n import('@/plugins/icons.js')\n .then((esModule) => { Vue.use(esModule.plugin); })\n .catch((error) => { throw error; });\n\n // oruga-ui\n // ====================================\n // const OrugaPlugin = require('@/plugins/oruga-ui.js').plugin;\n // Vue.use(OrugaPlugin);\n import('@/plugins/oruga-ui.js')\n .then((esModule) => { Vue.use(esModule.plugin); })\n .catch((error) => { throw error; });\n\n // local components\n // ====================================\n // const ComponentsPlugin = require('@/plugins/components.js').plugin;\n // Vue.use(ComponentsPlugin);\n import('@/plugins/components.js')\n .then((esModule) => { Vue.use(esModule.plugin); })\n .catch((error) => { throw error; });\n\n // v-keep-scroll-position directive\n // ====================================\n // const KeepScrollPositionPlugin = require('@/plugins/keep-scroll-position.client.js').plugin;\n // Vue.use(KeepScrollPositionPlugin);\n import('@/plugins/keep-scroll-position.client.js')\n .then((esModule) => { Vue.use(esModule.plugin); })\n .catch((error) => { throw error; });\n\n // console.debug(\"Base pluginProperties\", this.globalProperties);\n }\n};\n\n/**\n * LazyPlugins are loaded after the App has mounted.\n */\nconst LazyPluginLoaders = [\n () => import(/* webpackPreload: true */'@/plugins/dev-extreme.js'),\n () => import('@/plugins/iframe-resizer.js'),\n () => import('@/plugins/browser-check.client.js'),\n () => import('@/plugins/trackers.client.js')\n // () => import('@/plugins/masonry.js'),\n // () => import('@/plugins/infinite-loading.client.js'),\n // () => import('@/plugins/buefy.js'),\n];\n\n/**\n * ES module loader for the plugins.\n */\nexport const loadLazyPlugins = async (Vue, options) => {\n for (const loader of LazyPluginLoaders) {\n\n const esModule =\n await loader()\n .catch(console.error);\n\n Vue.use(esModule.plugin, options);\n }\n return Promise.resolve(Vue);\n};\n\n/**\n * Vue plugin wrapper to install them all.\n */\nexport const LazyPlugins = {\n name: 'lazy-plugins',\n\n install (Vue, options) {\n loadLazyPlugins(Vue, options)\n .then(() => {\n // console.debug(\"Plugins init complete!\");\n return true;\n })\n .catch((error) => {\n console.error(\"Error loading async plugins!\", error);\n });\n }\n};\n\nexport default {\n BasePlugins,\n LazyPlugins\n};\n","/**\n * Vue2 main App init.\n*/\nimport Vue from 'vue';\nimport VueMatomo from 'vue-matomo';\nimport App from '@/App.vue';\nimport router from '@/router/index.js';\nimport { BasePlugins, LazyPlugins } from '@/plugins/index.js';\nimport GmapVue from 'gmap-vue';\nimport { getGoogleMapsAPI } from 'gmap-vue';\n// global Vue config\n// ====================================\nVue.config.productionTip = false;\nVue.config.performance = false;\nVue.config.ignoredElements = [\n /^icon-/,\n 'vue-agile'\n];\nprocess.client = true;\n\n\n// install plugins to global Vue scope\n// ====================================\nVue.use(BasePlugins);\n\n\n// collect global properties from the plugins\n// ====================================\nconst {\n i18n,\n store\n} = BasePlugins.globalProperties;\n\n\n// create app instance\n// ====================================\nexport const app = new Vue({\n el: '#app',\n router,\n i18n,\n store,\n components: { App },\n template: ''\n});\n\n\n// mount app and load async plugins\n// ====================================\nrouter.onReady(() => {\n app.$mount('#app');\n Vue.use(\n LazyPlugins,\n BasePlugins.globalProperties\n );\n});\n\n// Listen for route changes and send page view events to Matomo\nrouter.afterEach((to, from) => {\n window._paq.push(['trackPageView', to.fullPath]);\n // Vue.$matomo.trackPage(to.fullPath);\n});\n\n\n\nVue.use(GmapVue, {\n load: {\n // [REQUIRED] This is the unique required value by Google Maps API\n key: 'AIzaSyAhiNXd547vAbysPgPQ9SL26eLmTGcIaGY',\n // [OPTIONAL] This is required if you use the Autocomplete plugin\n // OR: libraries: 'places,drawing'\n // OR: libraries: 'places,drawing,visualization'\n // (as you require)\n libraries: 'places',\n // [OPTIONAL] If you want to set the version, you can do so:\n //v: '3.26',\n\n // This option was added on v3.0.0 but will be removed in the next major release.\n // If you already have an script tag that loads Google Maps API and you want to use it set you callback\n // here and our callback `GoogleMapsCallback` will execute your custom callback at the end; it must attached\n // to the `window` object, is the only requirement.\n //customCallback: 'MyCustomCallback',\n },\n\n // [OPTIONAL] If you intend to programmatically custom event listener code\n // (e.g. `this.$refs.gmap.$on('zoom_changed', someFunc)`)\n // instead of going through Vue templates (e.g. ``)\n // you might need to turn this on.\n autoBindAllEvents: false,\n\n // [OPTIONAL] If you want to manually install components, e.g.\n // import {GmapMarker} from 'gmap-vue/src/components/marker'\n // Vue.component('GmapMarker', GmapMarker)\n // then set installComponents to 'false'.\n // If you want to automatically install all the components this property must be set to 'true':\n installComponents: true,\n\n // Load the Google Maps API dynamically, if you set this to `true` the plugin doesn't load the Google Maps API\n dynamicLoad: false,\n })\n\nexport default {\n app\n}\n//export default app;\n","/**\n * Tribe community widgets.\n * https://docs.tribe.so/#widgets\n */\nimport { isProdSite, isRcSite, isDevSite, isLocalHost } from '@/helpers/deployment.js';\n\n// static Tribe community url\nexport const TribeCommunityUrl =\n\n /** //dev.taide*, //localhost\n **/\n ((isDevSite || isLocalHost)\n && 'https://taidedev.tribe.so')\n\n\n /** //taide.art/, //rc.taide*, //testi.taide*\n **/\n || ((isProdSite || isRcSite)\n && 'https://community.taide.art');\n\n\nexport const TribePlugin = {\n name: 'tribe',\n\n TribeCommunityUrl,\n\n install (Vue) {\n /**\n * Vue component wrapper for window.Tribe.\n */\n Vue.component('tribe-widget', () => import('@/components/Tribe/TribeWidget.vue'));\n }\n};\n\nexport default TribePlugin;\n","/**\n * User store\n */\nimport { getPersistedValue } from '@/helpers/store.js';\nimport { getUserMembershipLevel } from '@/components/Base/UserMixin.js';\n\nconst sessionMaxAge = 7200000; // 2 hours [msec]\nconst itemsMaxAge = 129600000; // 36 hours (1.5 days) [msec]\n\n/**\n MembershipLevel for User privileges\n\n 0 Anonymous not registered\n 500 SemiAuthenticated authentication in process\n 1000 BasicUser registered, unverified, no privileges\n 5000 RegisteredUser registered, base privileges, access to Use userProfile\n 9000 ProUser registered, edit privileges\n*/\nexport const levelAnonymous = 0;\nexport const levelSemiAuthenticated = 500;\nexport const levelBasicUser = 1000;\nexport const levelRegisteredUser = 5000;\nexport const levelProUser = 9000;\n\nconst initialState = () => ({\n\n userId: 0,\n session: null,\n profile: null,\n accounts: [],\n subscriptions: [],\n offers: [],\n membershipLevel: levelAnonymous,\n saved: [],\n savedTotalCount: 0,\n liked: [],\n likedTotalCount: 0,\n followed: [],\n followedTotalCount: 0,\n shared: [],\n sharedTotalCount: 0,\n timestamps: {}\n});\n\nconst removeItemFromState = (value, values) => {\n const key = _.head(Object.keys(value));\n const id = key && value[key] && value[key].Id;\n if (id) {\n _.remove(values, (item) => { return (item[key] && item[key].Id) === id; });\n }\n};\n\nconst createStore = (Vue) => {\n\n const state = initialState;\n\n const getters = {\n\n isAnonymous (state) {\n return !state.session || state.membershipLevel === 0;\n },\n\n isAuthenticated (state) {\n return !!(state.session && state.membershipLevel >= levelBasicUser);\n },\n\n getTermsOfServiceAccepted (state) {\n return !!(state.profile && state.profile.TermsOfServiceAccepted);\n },\n\n getUserId (state) {\n return state.userId;\n },\n\n getSession (state) {\n return state.session;\n },\n\n getProfile (state) {\n return state.profile;\n },\n\n getAccounts (state) {\n return state.accounts;\n },\n\n getSubscriptions (state) {\n return state.subscriptions;\n },\n\n getOffers (state) {\n return state.offers;\n },\n\n getMembershipLevel (state) {\n return state.membershipLevel;\n },\n\n getMemberships (state) {\n return (state.profile && state.profile.Memberships) || [];\n },\n\n getUserTools (state) {\n return (state.profile && state.profile.UserTools) || [];\n },\n\n getSaved (state) {\n return state.saved || [];\n },\n\n getLiked (state) {\n return state.liked || [];\n },\n\n getFollowed (state) {\n return state.followed || [];\n },\n\n getShared (state) {\n return state.shared || [];\n }\n };\n\n const actions = {\n\n /**\n * Requests user session from svc/hello.\n */\n async fetchUserSession ({ commit, state }) {\n // check persisted localStorage\n // const value = getPersistedValue(state, 'session', sessionMaxAge);\n // if (value) {\n // return value;\n // }\n\n // fetch\n return Vue.prototype.$SVC.getHello()\n .then((response) => {\n const userInfo = response?.data?.Result;\n // no commit! session will be evaluated and commited to store later\n // commit('setSession', session);\n return userInfo;\n })\n .catch((error) => {\n commit('clearSession');\n throw error;\n });\n },\n\n /**\n * Requests profile Accounts.\n */\n async fetchAccounts ({ commit, state }) {\n // check persisted localStorage\n const value = getPersistedValue(state, 'accounts', itemsMaxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch\n return new Promise((resolve, reject) => {\n Vue.prototype.$SVC.getMyAccounts()\n .then((response) => {\n const items = response && response.data && response.data.Results;\n commit('setAccounts', items);\n resolve(items);\n })\n .catch((error) => {\n commit('setAccounts', []);\n reject(error);\n });\n });\n },\n\n /**\n * Requests profile Subscriptions.\n */\n async fetchSubscriptions ({ commit, state }) {\n // check persisted localStorage\n const value = getPersistedValue(state, 'subscriptions', itemsMaxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch\n return new Promise((resolve, reject) => {\n Vue.prototype.$SVC.getMySubscriptions()\n .then((response) => {\n const items = response && response.data && response.data.Results;\n commit('setSubscriptions', items);\n resolve(items);\n })\n .catch((error) => {\n commit('setSubscriptions', []);\n reject(error);\n });\n });\n },\n\n\n /**\n * Fetch \"offers\"\n */\n async fetchOffers ({ commit, state }) {\n // check persisted localStorage\n const value = getPersistedValue(state, 'offers', itemsMaxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch\n return new Promise((resolve, reject) => {\n Vue.prototype.$SVC.getMyOffers()\n .then((response) => {\n const items = (response && response.data && response.data.Results) || [];\n commit('setOffers', items);\n resolve(items);\n })\n .catch((error) => {\n commit('setOffers', []);\n reject(error);\n });\n });\n },\n\n\n /**\n * Requests profile and profile/items and saves them to store.\n */\n async fetchUserProfile ({ commit, state }) {\n // check persisted localStorage\n const value = getPersistedValue(state, 'profile', sessionMaxAge);\n if (value) {\n // set membership level, if not already set\n if (getUserMembershipLevel(value) !== state.membershipLevel) {\n commit('setCurrentMembershiplevel', value);\n }\n return Promise.resolve(value);\n }\n\n // fetch\n return new Promise((resolve, reject) => {\n // load user profile for Memberships and Tools (Muusa groups)\n Vue.prototype.$SVC.getProfile()\n .then((response) => {\n const profile = response && response.data && response.data.Result;\n commit('setProfile', profile);\n resolve(profile);\n })\n .catch((error) => {\n commit('clearProfile');\n reject(error);\n });\n });\n },\n\n /**\n * Query user profile items from /svc/profile/items.\n */\n async fetchUserProfileItems ({ dispatch, commit, state }) {\n await dispatch('fetchSaved');\n await dispatch('fetchLiked');\n await dispatch('fetchFollowed');\n return Promise.resolve({\n saved: state.saved,\n liked: state.liked,\n followed: state.followed\n });\n },\n\n async fetchSaved ({ commit, state }) {\n // check persisted localStorage\n const value = getPersistedValue(state, 'saved', itemsMaxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch\n Vue.prototype.$SVC.getProfileItems('saved')\n .then((response) => {\n const items = response && response.data && response.data.Results;\n const count = response && response.data && response.data.TotalCount;\n commit('setSavedItems', {items, count});\n });\n },\n\n async fetchLiked ({ commit, state }) {\n // check persisted localStorage\n const value = getPersistedValue(state, 'liked', itemsMaxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch\n return Vue.prototype.$SVC.queryProfileItems('liked')\n .then((response) => {\n const items = response && response.data && response.data.Results;\n const count = response && response.data && response.data.TotalCount;\n commit('setLikedItems', {items, count});\n });\n },\n\n async fetchFollowed ({ commit, state }) {\n // check persisted localStorage\n const value = getPersistedValue(state, 'followed', itemsMaxAge);\n if (value) {\n return Promise.resolve(value);\n }\n\n // fetch\n return Vue.prototype.$SVC.queryProfileItems('followed')\n .then((response) => {\n const items = response && response.data && response.data.Results;\n const count = response && response.data && response.data.TotalCount;\n commit('setFollowedItems', {items, count});\n });\n }\n };\n\n const mutations = {\n RESET (state) {\n const newState = initialState();\n Object.keys(newState).forEach((key) => {\n state[key] = newState[key];\n });\n },\n\n setUserId (state, value) {\n state.userId = value;\n },\n\n /**\n * User Session from /svc/hello\n */\n setSession (state, value) {\n state.session = value;\n if (state.membershipLevel === 0) {\n state.membershipLevel = levelSemiAuthenticated; // waiting for full user profile and Memberships\n }\n state.timestamps.session = new Date();\n },\n\n clearSession (state) {\n state.session = null;\n state.profile = null;\n state.membershipLevel = levelAnonymous;\n state.userId = 0;\n delete state.timestamps.session;\n delete state.timestamps.profile;\n },\n\n setProfile (state, value) {\n state.profile = value;\n\n // Do not set default SiteHandle from user.DisplayName (hello response)\n // if (!state.profile.SiteHandle && state.session && state.session.DisplayName) {\n // state.profile.SiteHandle = state.session.DisplayName;\n // }\n\n // user account memberships are used to deduce the level of privileges\n state.membershipLevel = getUserMembershipLevel(value);\n\n state.timestamps.profile = new Date();\n },\n\n clearProfile (state) {\n state.profile = null;\n delete state.timestamps.profile;\n },\n\n /**\n * Save as `setProfile()`, except without updating timestamp.\n */\n setCurrentMembershiplevel (state) {\n state.membershipLevel = getUserMembershipLevel(state.profile);\n },\n\n setAccounts (state, value) {\n state.accounts = value;\n },\n\n setSubscriptions (state, value) {\n state.subscriptions = value;\n },\n\n setOffers (state, value) {\n state.offers = value;\n },\n\n setMembershipLevel (state, value) {\n state.membershipLevel = value;\n },\n\n // SAVED --------------------------------\n setSavedItems (state, value) {\n const { items, count } = value;\n state.saved = items || [];\n state.savedTotalCount = count || 0;\n state.timestamps.saved = new Date();\n },\n\n addSavedItem (state, value) {\n state.saved.push(value);\n state.savedTotalCount += 1;\n },\n\n removeSavedItem (state, value) {\n removeItemFromState(value, state.saved);\n if (state.savedTotalCount > 0) {\n state.savedTotalCount -= 1;\n }\n },\n\n // LIKED --------------------------------\n setLikedItems (state, value) {\n const { items, count } = value;\n state.liked = items || [];\n state.likedTotalCount = count || 0;\n state.timestamps.liked = new Date();\n },\n\n addLikedItem (state, value) {\n state.liked.push(value);\n state.likedTotalCount += 1;\n },\n\n removeLikedItem (state, value) {\n removeItemFromState(value, state.liked);\n if (state.likedTotalCount > 0) {\n state.likedTotalCount -= 1;\n }\n },\n\n // FOLLOWED -----------------------------\n setFollowedItems (state, value) {\n const { items, count } = value;\n state.followed = items || [];\n state.followedTotalCount = count || 0;\n state.timestamps.followed = new Date();\n },\n\n addFollowedItem (state, value) {\n state.followed.push(value);\n state.followedTotalCount += 1;\n },\n\n removeFollowedItem (state, value) {\n removeItemFromState(value, state.followed);\n if (state.followedTotalCount > 0) {\n state.followedTotalCount -= 1;\n }\n },\n\n // SHARED -------------------------------\n setSharedItems (state, value) {\n const { items, count } = value;\n state.shared = items || [];\n state.sharedTotalCount = count || 0;\n state.timestamps.shared = new Date();\n },\n\n addSharedItem (state, value) {\n state.shared.push(value);\n state.sharedTotalCount += 1;\n },\n\n removeSharedItem (state, value) {\n removeItemFromState(value, state.shared);\n if (state.sharedTotalCount > 0) {\n state.sharedTotalCount -= 1;\n }\n }\n };\n\n return {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n };\n};\n\nexport default app => createStore(app);\n","/**\n * UX store (user interface settings and other temporary data)\n */\nimport { getDefaultLocale, checkLocaleSupport } from '@/helpers/i18n.js';\nimport { isTestEnv } from '@/helpers/deployment.js';\n\nexport const phaseInitial = -1;\nexport const phaseAnonymous = 0;\nexport const phaseEmailUnverified = 15;\nexport const phaseEmailVerified = 25;\nexport const phaseExpired = 50;\nexport const phaseBusy = 250;\nexport const phaseAuthenticated = 500;\nexport const phaseTOSUpdate = 750;\nexport const phaseProfile = 1000;\nexport const phaseComplete = 5000;\n\nconst initialState = () => ({\n\n /**\n * UI version tag\n */\n uiTag: null,\n\n /**\n LoginPhase\n\n -1 Initial anonymous, first visit on the site\n 0 Anonymous anonymous\n 15 EmailUnverified registration email sent, email not verified, not logged in\n 25 EmailVerified email verified, not logged in\n 50 Expired login expired\n 250 Busy logging process initiated, waiting for user to return from auth0\n 500 Authenticated authenticated, waiting for further profile data\n 750 TOSUpdate TOS update, needs user review (user profile available)\n 1000 Profile user profile available, TOS accepted\n 5000 Complete user profile items available\n\n */\n loginPhase: phaseInitial,\n\n locale: getDefaultLocale(),\n\n /**\n * Site theme.\n */\n theme: 'light',\n\n editMode: false,\n hasUnsavedEdits: false,\n\n /**\n * The \"UseProfile\" request param to switch view scope.\n *\n * As enabling edit mode will also switch UseProfile,\n * the previous state is also stored.\n */\n useProfile: 'ViewPublicOnly',\n previousUseProfile: 'ViewPublicOnly',\n\n /**\n * Home front-page loop and cover indices\n */\n frontPageHeroIndex: 0,\n frontPageHeroIndexTime: new Date().getTime(),\n frontPageCoverIndex: 0,\n\n /**\n * User might see in interesting artwork and click on it,\n * but the resulting page does not display it anymore.\n * This store value is used to save the clicked image.\n */\n contextArtwork: null,\n\n showRegistrationInfo: true,\n\n communityAllowAnon: false,\n communityShowNavigation: false\n\n});\n\nconst createStore = (app) => {\n\n const state = initialState;\n\n const getters = {\n\n getUiTag (state) {\n return state.uiTag;\n },\n\n getCommunityAllowAnon (state) {\n return state.communityAllowAnon;\n },\n\n getCommunityShowNavigation (state) {\n return state.communityShowNavigation;\n },\n\n getLocale (state) {\n return state.locale;\n },\n\n getTheme (state) {\n return state.theme;\n },\n\n getLoginPhase (state) {\n return state.loginPhase;\n },\n\n getEditMode (state) {\n return state.editMode;\n },\n\n getHasUnsavedEdits (state) {\n return state.hasUnsavedEdits;\n },\n\n getUseProfile (state) {\n return state.useProfile;\n },\n\n getFrontPageHeroIndex (state) {\n return state.frontPageHeroIndex;\n },\n\n getFrontPageHeroIndexTime (state) {\n return state.frontPageHeroIndexTime;\n },\n\n getFrontPageCoverIndex (state) {\n return state.frontPageCoverIndex;\n },\n\n getContextArtwork (state) {\n return state.contextArtwork;\n },\n\n getShowRegistrationInfo (state) {\n return state.showRegistrationInfo;\n }\n };\n\n const actions = {\n\n /**\n * True when store was initialised with current frontend ui version tag.\n * Throws error when stores ought to be cleared.\n */\n checkUiTag ({ commit, state }, currentUiTag) {\n if (state.uiTag === currentUiTag || !state.uiTag || !currentUiTag || isTestEnv) {\n if (state.uiTag !== currentUiTag) {\n commit('setUiTag', currentUiTag);\n }\n // no full localStorage reset\n return Promise.resolve();\n }\n else {\n // App should reset the stores\n return Promise.reject(new Error(\"Outdated uiTag\"));\n }\n }\n };\n\n const mutations = {\n\n RESET (state) {\n const newState = initialState();\n Object.keys(newState).forEach((key) => {\n state[key] = newState[key];\n });\n },\n\n setUiTag (state, value) {\n state.uiTag = value;\n },\n\n setCommunityAllowAnon (state, value) {\n state.communityAllowAnon = value;\n },\n\n setCommunityShowNavigation (state, value) {\n state.communityShowNavigation = value;\n },\n\n /**\n * Set locale only if supported\n */\n setLocale (state, value) {\n if (checkLocaleSupport(value)) {\n state.locale = value;\n }\n },\n\n resetLocale (state) {\n state.locale = getDefaultLocale();\n },\n\n setTheme (state, value) {\n state.theme = value;\n },\n\n setLoginPhase (state, value) {\n state.loginPhase = value;\n if (state.showRegistrationInfo && value > phaseAnonymous) {\n state.showRegistrationInfo = false;\n }\n },\n\n setEditMode (state, value) {\n state.editMode = value;\n },\n\n setHasUnsavedEdits (state, value) {\n state.hasUnsavedEdits = value;\n },\n\n setUseProfile (state, value) {\n state.previousUseProfile = state.useProfile;\n state.useProfile = value;\n },\n\n restoreUseProfile (state) {\n state.useProfile = state.previousUseProfile;\n },\n\n setFrontPageHeroIndex (state, value) {\n state.frontPageHeroIndex = value;\n },\n\n setFrontPageHeroIndexTime (state, value) {\n state.frontPageHeroIndexTime = value;\n },\n\n setFrontPageCoverIndex (state, value) {\n state.frontPageCoverIndex = value;\n },\n\n setContextArtwork (state, value) {\n state.contextArtwork = value;\n },\n\n setShowRegistrationInfo (state, value) {\n state.showRegistrationInfo = value;\n }\n };\n\n return {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n };\n};\n\nexport default app => createStore(app);\n","var map = {\n\t\"./locale-en.json\": [\n\t\t39748\n\t],\n\t\"./locale-fi.json\": [\n\t\t53190,\n\t\t3660\n\t],\n\t\"./locale-sv.json\": [\n\t\t21526,\n\t\t5500\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 77493;\nmodule.exports = webpackAsyncContext;"],"names":["createNamespacedHelpers","levelAnonymous","levelBasicUser","levelRegisteredUser","levelProUser","_createNamespacedHelp","mapState","hasAccessToGlobalWebEditor","groups","_","find","GroupName","hasAccessToEdit","filter","group","match","length","hasAccessToUseProfile","upGroups","getUserMembershipLevel","userProfile","membershipLevel","Memberships","computed","_objectSpread","userSession","state","session","profile","data","hasUserAccessToEdit","hasUserAccessToUseProfile","isUserWebEditor","created","getUserAccessToEdit","getUserAccessToUseProfile","getUserAccessToWebEditor","watch","methods","getUserId","$store","getters","getUserGroup","groupId","memberships","GroupId","getUserGroupByName","groupName","getUserGroupByDisplayName","groupDisplayName","GroupDisplayName","isUserInGroups","acceptTermsOfService","$SVC","patchProfile","TermsOfServiceAccepted","acceptPrivacyPolicy","PrivacyPolicyAccepted","setSharingToRegistered","value","SharingToRegistered","isProdSite","window","location","hostname","isRcSite","isDevSite","process","env","NODE_ENV","isWebSite","isTestEnv","isLocalHost","getMatomoSiteId","SUPPORTED_LOCALES","checkLocaleSupport","locale","indexOf","getDefaultLocale","navigator","language","substring","console","warn","concat","getMessages","locales","messages","loadedLanguages","getMessagesAsync","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","i18n","main","wrap","_callee$","_context","prev","next","includes","then","setLocaleMessage","default","catch","error","sent","push","abrupt","Promise","resolve","stop","_x","_x2","apply","arguments","getImageInfo","getImageAspectRatio","getViewportResolution","getCoverImageInfo","getIngressImageInfo","constructImageSrc","getImageUrl","getCanvasXStep","getDefaultImageSrc","item","href","_links","self","Id","getCoverImageSrc","imageAttrs","imageUrl","coverImageInfo","Url","coverimage","AudioPlayer","CoverImageUrl","VideoPlayer","player","imageInfo","resolution","x","attrs","extend","zoom","viewerZoom","ratio","missingImage","getIngressImageSrc","ingressImageInfo","IngressImageUrl","ingressimage","getArticleIngressImageSrc","_item$IngressImageInf","_item$_links","_item$_links2","src","IngressImageInfo","_part$ImagePart","part","head","Sections","ImagePart","Images","getActorIngressImageSrc","_item$IngressImageInf2","ActorId","format","y","fixed","zoomMode","getUserProfileImageSrc","_userProfile$ProfileI","ProfileImageInfo","AvatarImageUrl","getFullscreenImageSrc","Width","Height","getMetaImageSrc","getBackgroundPositionByFocusPoint","focusPoint","getBgPosFromPointValue","pos","d","clamp","point","getBackgroundImageStyle","imageSrc","style","_imageInfo2","_imageInfo","FocusPoint","bgPos","getBannerImageStyle","doEdit","useIngressImage","minHeight","_imageAttrs","cacheBust","mhunit","getPaletteColorsBackgroundStyle","defaultColor","_imageInfo$PaletteCol","PaletteColors","palette","Color","pct","colors","reduce","acc","color","pctStart","Cover","toFixed","deg","sample","DominantColor","getImageWidthHeightOptimised","step","width","height","vp","innerWidth","innerHeight","Math","round","getImageWidthHeightOptimisedStyle","_getImageWidthHeightO","formatImageSrcParams","getCanvasYStep","getBaseUrl","_item$VideoPlayer","_item$AudioPlayer","CoverImageInfo","_item$VideoPlayer2","_item$AudioPlayer2","useAnyImageInfo","ImageInfo","getImageWidthHeight","vwvhString","screenWidth","client","screenHeight","pixelRatio","devicePixelRatio","search","mh","vh","parseInt","mw","vw","_getImageWidthHeight","getImageOrientation","orientation","getImageCaption","Caption","ImageCaption","getImageCreditLine","CreditLine","ImageCreditLine","getImageCopyright","Copyright","ImageCopyright","getImageLicense","License","ImageLicense","getImageUrlParamChar","urlParams","params","baseUrl","joinChar","constructImageSrc2","perc","replace","getCacheBustParam","paramsStr","compact","join","Artwork","image","_item$VideoPlayer$Vid","VideoInfo","ThumbnailUrl","ImageUrl","getImageSrc","editMode","ts","Date","getMilliseconds","toLocaleDateString","date","options","_typeof","defaultOptions","month","day","year","Intl","DateTimeFormat","debug","getFirstDateEdited","_item$Editors","editor","Editors","DateEdited","getMasonryWidthHeight","getMasonryWidthHeightStyle","getMasonryClass","scheduler","setImmediate","setTimeout","API_URL","origin","getResourceKey","resource","key","getItemResourceType","ResourcePath","ActorType","Makers","MakersShort","getItemCardType","resourceType","getMakersShort","map","getActorLifetime","actor","BirthYear","years","DeathYear","getEncodedVideoUrl","videoInfo","video","EncodedVideos","cleanupQueryText","text","stringifyDimension","dimension","Type","Value","Unit","getFileLibraryUploadUrl","fileLibrary","filterByImageUrl","items","setCookie","cname","cvalue","exMins","setTime","getTime","expires","toUTCString","domain","cookie","document","getFullLocale","hexToRGB","hex","alpha","r","slice","g","b","flushPromises","timeout","logErrorTrace","showStackTrace","_error$response","status","response","ResponseStatus","_error$config","message","name","isAxiosError","config","url","Errors","errors","err","ErrorCode","FieldName","Message","StackTrace","_error$response2","_error$response3","info","groupEnd","ratioMasonryWidth2","ratioMasonryWidth3","ratioMasonryWidth4","ratioMasonryWidth5","xResolutions","yResolutions","margin","_getMasonryWidthHeigh","getResolutionStep","resolutionSteps","val","top","last","getMasonryCanvasResolution","_resolution","_getMasonryCanvasReso","klass","loginReturnUrl","returnUrl","pathname","logoutReturnUrl","loginUrl","logoutUrl","registerUrl","register","assign","getPersistedValue","storeModule","maxAge","Object","keys","timestamp","age","render","_vm","_c","_self","updateKey","id","isAuthenticated","staticClass","include","keepAliveInclude","isGdprAccepted","_e","ref","show","showModalTermsOfService","on","accept","onAcceptTermsOfService","close","$event","staticRenderFns","_withStripped","phaseAnonymous","phaseExpired","phaseAuthenticated","TribeCommunityUrl","getUserSession","_getUserSession","force","_this","anonymous","_isAuthenticated","isUserSessionAuthenticated","reject","isUserSessionAboutToExpire","dispatch","userInfo","setUserSession","commit","Error","expireUserSession","$eventBus","$emit","authenticated","UserId","CommunityAllowAnon","CommunityShowNavigation","Info","oldUserId","isEqual","SessionExpires","expiresAt","now","minutesLeft","clearUserSession","loginPhase","clearTribeSession","$axios","delete","onLogin","_onLogin","_callee2","meta","_callee2$","_context2","$route","onLogout","Vue","onLocaleChange","beforeMount","$on","beforeDestroy","$off","$i18n","setI18nLanguage","_this$$axios$defaults","querySelector","setAttribute","dxLocale","defaults","headers","common","prototype","UserSessionMixin","AppLocalisationMixin","phaseProfile","phaseComplete","keepAliveComponents","mixins","components","Navigation","SiteFooter","BackToTop","SlideshowCtrl","SearchOverlay","ModalLoginExpired","ModalLoginRequired","AnonLoginPrompt","ModalTermsOfService","ModalUnsavedChanges","ModalSavePending","ModalErrorMessage","GdprNotification","hasInitialSession","initItem","debouncedDetectRoute","debounce","detectRoute","trailing","debouncedResetKeepAlive","resetKeepAlive","clone","ready","checkInitItemLocalUrl","setTheme","initBusEvents","getGdprCookie","addEventListener","onVisibilityChange","iframeEvent","mounted","clearBusEvents","cancel","removeEventListener","event","onUseProfileChange","onUpdate","onAuthChange","onReady","onRefresh","onError","onOpenTermsModal","initUserSession","CurrentUiTag","checkUiTag","$nextTick","fetchUserProfileData","finally","checkAuthenticationState","closeSplash","_window$TAIDEART","TAIDEART","getInitItem","_window$location$path","LocalUrl","_detectRoute","_this$$route$meta","setUseProfileByQuery","query","setLanguageByQuery","setLanguageFromInitItem","noSessionCheck","path","_fetchUserProfileData","_callee4","_this2","_this$$route$name","_navigator","delay","timeoutProfileItemsRef","_callee4$","_context4","connection","downlink","_callee3","_callee3$","_context3","currentUiTag","localStorage","clear","reload","_document","useProfile","UseProfile","up","history","replaceState","title","lang","_window$TAIDEART2","PreferredLocale","theme","navigation","$helpers","splash","className","_this$item","onClearKeepAlive","_auth","visibilityState","_onAcceptTermsOfService","_callee5","_this3","_callee5$","_context5","Router","use","router","mode","routes","alias","component","props","scroll","navbarClassName","redirect","scrollBehavior","to","from","savedPosition","p","element","section","el","offsetTop","plugin","pluginProperties","site","install","$site","initialState","artworksFacetsPublicOnly","artworksFacetsViewAll","timestamps","createStore","getArtworksFacetsPublicOnly","getArtworksFacetsViewAll","actions","fetchArtworksFacetsPublicOnly","AutoWildcards","EnableFacetedSearch","ArtworkFacets","PageSize","Template","PrimaryProperties","IndexProperties","ObjectProperties","IngressProperties","CuratorProperties","ArtworkProperties","DetailProperties","queryArtworks","facets","FacetResults","fetchArtworksFacetsViewAll","_ref2","mutations","RESET","newState","forEach","setArtworksFacetsPublicOnly","setArtworksFacetsViewAll","namespaced","app","workspaces","workspacesArtworks","fileLibraries","fileLibrariesFolders","myFileLibrary","myFileLibraryItems","myWorkspace","myWorkspaceItems","getWorkspaces","getWorkspaceArtworks","getFileLibraries","getFileLibraryFolders","getMyFileLibrary","getMyFileLibraryItems","Results","getMyWorkspace","getMyWorkspaceItems","fetchWorkspaces","fetchWorkspaceArtworks","workspaceId","_defineProperty","fetchFileLibraries","_ref3","fetchFileLibraryFolders","_ref4","fileLibraryId","folders","fileLibraryFolders","_iterator","_step","_loop","SubFolders","_createForOfIteratorHelper","subFolder","_loop$","getFileLibraryFolder","Name","result","Result","index","s","n","done","delegateYield","t1","e","f","finish","fetchMyFileLibraryId","_context6","root","filelibrary","fetchMyFileLibrary","_ref5","_callee6","_callee6$","_context7","getFileLibrary","fetchMyFileLibraryItems","_ref6","_callee7","_callee7$","_context8","Files","file","MediaType","fetchMyWorkspaceId","_callee8","_callee8$","_context9","workspace","fetchMyWorkspace","_ref7","_callee9","_callee9$","_context10","getWorkspace","fetchMyWorkspaceItems","_ref8","_callee10","_callee10$","_context11","setFileLibraries","setWorkspaces","updateWorkspacesArtworks","updateFileLibrariesFolders","setMyFileLibrary","setMyFileLibraryItems","setMyWorkspace","setMyWorkspaceItems","pagesPublicOnly","getPagesPublicOnly","fetchPagesPublicOnly","getPages","pages","setPagesPublicOnly","published","preliminary","archived","getProfileArticles","fetchProfileArticles","getProfileFeatureArticles","UseScope","setPublished","setPreliminary","setArchived","Store","ux","user","artvault","profileArticles","modules","Vuex","createLogger","createPersistedState","SecureLS","store","plugins","storage","secureStorage","isCompression","getItem","get","setItem","set","removeItem","remove","strict","eventBus","axios","baseURL","crossDomain","withCredentials","SVC","ctx","_classCallCheck","_createClass","resetCache","handleError","__CANCEL__","getAuth0","code","maxRedirects","Accept","getHello","getProfile","payload","patch","getProfileItems","type","queryProfileItems","post","ImageInfoExtended","AuxMediaProperties","MakersProperties","resourceState","getProfileInvites","postProfileInvite","deleteProfileInvite","getMyAccount","accountId","getMyAccounts","getMyAccountSubscriptions","getMyAccountSubscriptionWorkspaces","subscriptionId","getMySubscription","getMySubscriptions","getMyOffers","postRequestOffer","postUseOffer","offerId","getConfig","getResourceArticle","putResourceArticle","put","patchResourceArticle","patchArtImage","getArtwork","getData","patchArtwork","getActor","getActorArtworks","queryActorArtworks","ProductionCarriedOutById","queryActorExhibitions","ArtistId","queryActors","patchActor","getCollection","getCollectionArtworks","queryCollectionArtworks","CollectionId","queryCollections","patchCollection","getOrganization","queryOrganizations","patchOrganization","getOrganizationCollections","queryOrganizationArtworks","PublishedKeeperId","getOrganizationContactDepartments","organizationId","postOrganizationContactDepartment","putOrganizationContactDepartment","departmentId","deleteOrganizationContactDepartment","getOrganizationContactPersonnels","getOrganizationContactPersonnel","personnelId","postOrganizationContactPersonnel","putOrganizationContactPersonnel","deleteOrganizationContactPersonnel","getOrganizationEntryDescriptions","getOrganizationEntryDescription","queryOrganizationEntryDescriptions","postOrganizationEntryDescription","putOrganizationEntryDescription","patchOrganizationEntryDescription","deleteOrganizationEntryDescription","getFeatureArticle","getFeatureArticleRevision","publicationState","revision","_locale","queryFeatureArticles","postFeatureArticle","newResourceState","putFeatureArticle","patchFeatureArticle","deleteFeatureArticle","_params","getLinkedFeatureArticles","getRevisions","postRevision","getEvent","queryEvents","postEvent","putEvent","patchEvent","getEventArtworks","getEventEntryDescription","eventId","putEventEntryDescription","patchEventEntryDescription","deleteEventEntryDescription","postWorkspaceArtwork","route","_config","queryItems","getRecommendations","contentFilter","putOperation","operation","getTag","putTag","queryTags","queryShared","getVideo","queryVideos","patchVideo","getAudio","getAudioInfo","queryAudios","patchAudio","folderId","subFolders","updateFileLibraryFolder","osmAddressSearch","osmForwardSearch","queryString","osmReverseSearch","lawDocsTermsOfService","getPreferredLocaleParams","lawDocsPrivacyPolicy","getTemplateParams","Dimensions","AuxMedia","Collections","getUseProfileParams","stringifyQueryParams","values","includeTemplate","VueI18n","fallbackLocale","en","require","helpers","VueMatomo","host","enableHeartBeatTimer","siteId","SitePlugin","StorePlugin","EventBusPlugin","AxiosPlugin","SVCPlugin","I18nPlugin","HelpersPlugin","MatomoPlugin","BasePlugins","globalProperties","esModule","LazyPluginLoaders","loadLazyPlugins","_i","_LazyPluginLoaders","loader","LazyPlugins","App","GmapVue","getGoogleMapsAPI","productionTip","performance","ignoredElements","_BasePlugins$globalPr","template","$mount","afterEach","_paq","fullPath","load","libraries","autoBindAllEvents","installComponents","dynamicLoad","TribePlugin","sessionMaxAge","itemsMaxAge","levelSemiAuthenticated","userId","accounts","subscriptions","offers","saved","savedTotalCount","liked","likedTotalCount","followed","followedTotalCount","shared","sharedTotalCount","removeItemFromState","isAnonymous","getTermsOfServiceAccepted","getSession","getAccounts","getSubscriptions","getOffers","getMembershipLevel","getMemberships","getUserTools","UserTools","getSaved","getLiked","getFollowed","getShared","fetchUserSession","_response$data","fetchAccounts","fetchSubscriptions","fetchOffers","fetchUserProfile","fetchUserProfileItems","fetchSaved","count","TotalCount","fetchLiked","fetchFollowed","_ref9","setUserId","setSession","clearSession","setProfile","clearProfile","setCurrentMembershiplevel","setAccounts","setSubscriptions","setOffers","setMembershipLevel","setSavedItems","addSavedItem","removeSavedItem","setLikedItems","addLikedItem","removeLikedItem","setFollowedItems","addFollowedItem","removeFollowedItem","setSharedItems","addSharedItem","removeSharedItem","phaseInitial","phaseEmailUnverified","phaseEmailVerified","phaseBusy","phaseTOSUpdate","uiTag","hasUnsavedEdits","previousUseProfile","frontPageHeroIndex","frontPageHeroIndexTime","frontPageCoverIndex","contextArtwork","showRegistrationInfo","communityAllowAnon","communityShowNavigation","getUiTag","getCommunityAllowAnon","getCommunityShowNavigation","getLocale","getTheme","getLoginPhase","getEditMode","getHasUnsavedEdits","getUseProfile","getFrontPageHeroIndex","getFrontPageHeroIndexTime","getFrontPageCoverIndex","getContextArtwork","getShowRegistrationInfo","setUiTag","setCommunityAllowAnon","setCommunityShowNavigation","setLocale","resetLocale","setLoginPhase","setEditMode","setHasUnsavedEdits","setUseProfile","restoreUseProfile","setFrontPageHeroIndex","setFrontPageHeroIndexTime","setFrontPageCoverIndex","setContextArtwork","setShowRegistrationInfo"],"sourceRoot":""}