{"version":3,"file":"static/js/2514.5324e980.js","mappings":"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","sources":["webpack://finnish-art/./src/components/Base/HyperlinkMixin.js","webpack://finnish-art/./src/components/Base/IntersectionObserverMixin.js","webpack://finnish-art/./src/components/Home/HeroMixin.js","webpack://finnish-art/./src/components/Home/Actors.vue","webpack://finnish-art/./src/components/Home/Actors.vue?c1e5","webpack://finnish-art/src/components/Home/Actors.vue","webpack://finnish-art/./src/components/Home/Actors.vue?ae09"],"sourcesContent":["/**\n * Methods for linking between views.\n */\nexport default {\n methods: {\n /**\n * Item name as slug for url.\n */\n getSlugUrlName: function (item) {\n let urlName = '-';\n if (item && item.Name) {\n urlName = item.Name\n // convert all whitespaces to \"-\"\n .replace(/\\s/g, '-')\n .replace('&', '_')\n .replace(/[^\\w-åäöÅÄÖ]+/g, '')\n // remove all non-wordchars and some exceptions\n .replace(/\\u00BF-\\u1FFF\\u2C00-\\uD7FF\\w/gi, ''); // this one is from stackoverflow\n }\n return urlName;\n },\n\n /**\n * Get route to an item.\n * The complex way.\n */\n getRoute: function (item, params, itemType) {\n let pathName = this.$store.getters['ux/getLocale'];\n const useProfile = this.$store.getters['ux/getUseProfile'];\n switch (itemType) {\n case 'Actor':\n pathName += '.ActorPage';\n break;\n case 'Actors':\n pathName += '.Actors';\n break;\n case 'FeatureArticle':\n pathName += '.ArticlePage';\n break;\n case 'FeatureArticles':\n pathName += '.Articles';\n break;\n case 'Artwork':\n pathName += '.ArtworkPage';\n break;\n case 'Artworks':\n pathName += '.Artworks';\n break;\n case 'Audio':\n pathName += '.AudioPage';\n // audio resource wrappers may not always carry Id, in which case route is impossible to format\n if (!item || !item.Id) {\n return {};\n }\n break;\n case 'Audios':\n pathName += '.Audios';\n break;\n case 'Collection':\n pathName += '.CollectionPage';\n break;\n case 'Collections':\n pathName += '.Collections';\n break;\n case 'Event':\n pathName += '.EventPage';\n break;\n case 'Events':\n pathName += '.Events';\n break;\n case 'Gallery':\n pathName += '.GalleryPage';\n break;\n case 'Galleries':\n pathName += '.Galleries';\n break;\n case 'Museum':\n pathName += '.MuseumPage';\n break;\n case 'Museums':\n pathName += '.Museums';\n break;\n case 'Organization':\n pathName += '.OrganizationPage';\n break;\n case 'Organizations':\n pathName += '.Organizations';\n break;\n case 'Video':\n pathName += '.VideoPage';\n // video resource wrappers may not always carry Id, in which case route is impossible to format\n if (!item || !item.Id) {\n return {};\n }\n break;\n case 'Videos':\n pathName += '.Videos';\n break;\n case 'Community':\n pathName += '.CommunityHome';\n break;\n default:\n // TODO: use the parameter as path name itself\n pathName = itemType;\n }\n\n let route;\n if (item) {\n const urlName = this.getSlugUrlName(item);\n\n // - displayed section can be a combination of different subpages\n // - given params override these defaults\n route = {\n name: pathName,\n params: _.extend({}, { // path params\n id: (item.Id || item.ActorId),\n urlName: urlName\n }, params),\n query: { // other url params (?...&...)\n UseProfile: useProfile\n }\n };\n }\n else {\n route = { name: pathName };\n }\n return route;\n },\n\n\n /**\n * Get route to an item.\n * The simple way.\n */\n getLocalizedRoute: function (view, locale, query = {}, params = {}) {\n let route = {};\n if (view && locale) {\n route = { name: `${locale}.${view}`, params, query };\n }\n return route;\n }\n }\n};\n","export default {\n\n props: {\n disableIntersectionObserver: { type: Boolean }\n },\n\n data: function () {\n const intersectionOptions = {\n rootMargin: '400px 200px',\n threshold: 0\n };\n return {\n observeVisibilityOptions: {\n callback: this.visibilityChanged,\n throttle: 300,\n throttleOptions: {leading: 'visible'},\n intersection: intersectionOptions\n },\n isIntersectionVisible: false,\n intersectionRemainsVisible: false,\n intersectionHideTimeout: 5000,\n intersectionOptions, // for customized components using the defaults\n debouncedHide: null\n };\n },\n\n created: function () {\n if (this.disableIntersectionObserver\n || this.isTestEnv) {\n\n this.isIntersectionVisible = true;\n }\n },\n\n mounted: function () {\n this.debouncedHide = _.debounce(this.onIntersectHide, this.intersectionHideTimeout, {trailing: true});\n },\n\n beforeDestroy: function () {\n this.debouncedHide.cancel();\n this.debouncedHide = null;\n },\n\n methods: {\n visibilityChanged: function (isVisible, entry) {\n if (this.disableIntersectionObserver) {\n return;\n }\n\n /**\n * was hidden, now shown\n */\n if (!this.isIntersectionVisible && isVisible && this.intersectionOptions) {\n this.debouncedHide.cancel();\n\n this.isIntersectionVisible = isVisible; // set before onIntersectShow\n this.onIntersectShow(entry);\n\n // if intersection should remain visible, v-observe-visibility options can be set to false\n if (this.intersectionRemainsVisible) {\n this.intersectionOptions = false; // basically should halt the v-observe-visibility\n }\n }\n /**\n * was shown, now hidden\n */\n else if (this.isIntersectionVisible && !isVisible && !this.intersectionRemainsVisible) {\n this.isIntersectionVisible = isVisible;\n this.debouncedHide(entry);\n }\n else {\n this.isIntersectionVisible = isVisible;\n }\n },\n\n onIntersectShow: function (entry) {\n // console.log(`${this.$vnode && this.$vnode.tag} returning visible`);\n },\n\n onIntersectHide: function (entry) {\n // console.log(`${this.$vnode && this.$vnode.tag} turning invisible`);\n }\n }\n};\n","import IntersectionObserverMixin from '@/components/Base/IntersectionObserverMixin';\nimport HyperlinkMixin from '@/components/Base/HyperlinkMixin';\n\nexport default {\n\n props: {\n items: { type: Array[Object] }\n },\n\n mixins: [ IntersectionObserverMixin, HyperlinkMixin ],\n\n data: function () {\n return {\n ready: true,\n error: null\n };\n },\n\n mounted: function () {\n this.initSection();\n },\n\n watch: {\n items: function () {\n this.initSection();\n }\n },\n\n methods: {\n initSection: function () {\n this.ready = (this.items && this.items.length);\n },\n\n getLocalizedSearchRoute: function (view, query = {}) {\n return this.getLocalizedRoute(view, this.$i18n.locale, query);\n }\n }\n};\n","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"observe-visibility\",\n rawName: \"v-observe-visibility\",\n value: _vm.observeVisibilityOptions,\n expression: \"observeVisibilityOptions\",\n },\n ],\n staticClass: \"home-actors\",\n },\n [\n _vm.highlights.length && _vm.isIntersectionVisible\n ? _c(\"actor-highlights\", {\n ref: \"actorHighlights\",\n attrs: { items: _vm.highlights, title: _vm.$t(\"home.actors\") },\n })\n : _vm._e(),\n _vm.otherActors.length && _vm.isIntersectionVisible\n ? _c(\n \"div\",\n { staticClass: \"columns other-actors\" },\n [\n _c(\"slick-slides\", {\n attrs: { options: _vm.slickOptions1, items: _vm.otherActors },\n scopedSlots: _vm._u(\n [\n {\n key: \"slide-card\",\n fn: function (slotScope) {\n return [\n _c(\"actor-card\", {\n attrs: {\n item: slotScope.item,\n \"link-to\": true,\n \"image-as-background\": false,\n social: false,\n },\n }),\n ]\n },\n },\n ],\n null,\n false,\n 924326540\n ),\n }),\n ],\n 1\n )\n : _vm._e(),\n !_vm.ready && !_vm.error ? _c(\"loading-spinner\") : _vm._e(),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Actors.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!./Actors.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./Actors.vue?vue&type=template&id=0e873126&lang=pug&\"\nimport script from \"./Actors.vue?vue&type=script&lang=js&\"\nexport * from \"./Actors.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Actors.vue?vue&type=style&index=0&id=0e873126&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"],"names":["methods","getSlugUrlName","item","urlName","Name","replace","getRoute","params","itemType","route","pathName","this","$store","getters","useProfile","Id","name","_","extend","id","ActorId","query","UseProfile","getLocalizedRoute","view","locale","props","disableIntersectionObserver","type","Boolean","data","intersectionOptions","rootMargin","threshold","observeVisibilityOptions","callback","visibilityChanged","throttle","throttleOptions","leading","intersection","isIntersectionVisible","intersectionRemainsVisible","intersectionHideTimeout","debouncedHide","created","isTestEnv","mounted","debounce","onIntersectHide","trailing","beforeDestroy","cancel","isVisible","entry","onIntersectShow","items","Array","Object","mixins","IntersectionObserverMixin","HyperlinkMixin","ready","error","initSection","watch","length","getLocalizedSearchRoute","$i18n","render","_vm","_c","_self","directives","rawName","value","expression","staticClass","highlights","ref","attrs","title","$t","_e","otherActors","options","slickOptions1","scopedSlots","_u","key","fn","slotScope","social","_withStripped","components","ActorHighlights","slidesToShow","slidesToScroll","rows","arrows","variableWidth","adaptiveHeight","autoplay","autoplaySpeed","speed","responsive","breakpoint","settings","infinite","dots","slickOptions2"],"sourceRoot":""}