@europeana/portal
Version:
Europeana Portal
2 lines • 7.36 kB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{1106:function(t,e,n){"use strict";n.r(e);var o=n(16),d=n(6),r=(n(21),n(42),n(22),n(82)),l=n(255),c=n(254);function h(object,t){var e=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(object,t).enumerable}))),e.push.apply(e,n)}return e}var m={name:"UserButtons",components:{AddItemToSetModal:()=>n.e(95).then(n.bind(null,1058)),SetFormModal:()=>n.e(8).then(n.bind(null,1097)),ItemPinModal:()=>n.e(108).then(n.bind(null,1116))},mixins:[l.a,c.a],props:{identifier:{type:String,required:!0},entities:{type:Array,default:()=>[]},showPins:{type:Boolean,default:!1},showMove:{type:Boolean,default:!1},buttonVariant:{type:String,default:"outline-light"},buttonText:{type:Boolean,default:!1}},data(){return{addItemToSetModalId:"add-item-to-set-modal-".concat(this.identifier),setFormModalId:"set-form-modal-".concat(this.identifier),likeLimitModalId:"like-limit-modal-".concat(this.identifier),pinModalId:"pin-modal-".concat(this.identifier),pinnedLimitModalId:"pinned-limit-modal-".concat(this.identifier),showFormModal:!1,newSetCreated:!1}},computed:function(t){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?h(Object(source),!0).forEach((function(e){Object(d.a)(t,e,source[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(source)):h(Object(source)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(source,e))}))}return t}({liked(){return this.$store.getters["set/isLiked"](this.identifier)},likesId(){return this.$store.state.set.likesId},pinned(){return this.$store.getters["entity/isPinned"](this.identifier)},pinButtonText(){return this.buttonText?this.pinned?this.$t("statuses.pinned"):this.$t("actions.pin"):""},likeButtonText(){return this.buttonText?this.liked?this.$t("statuses.liked"):this.$t("actions.like"):""}},Object(r.b)({entity:"entity/id",featuredSet:"entity/featuredSetId"})),methods:{clickCreateSet(){!1===this.showFormModal&&(this.showFormModal=!0,this.newSetCreated=!1,this.$bvModal.hide(this.addItemToSetModalId),this.$bvModal.show(this.setFormModalId))},setCreatedOrUpdated(){this.showFormModal=!1,this.newSetCreated=!0,this.$bvModal.show(this.addItemToSetModalId)},refreshSet(){this.showFormModal||this.$store.dispatch("set/refreshSet")},toggleLiked(){var t=this;return Object(o.a)((function*(){t.$auth.loggedIn?yield t.liked?t.unlike():t.like():t.keycloakLogin()}))()},goToPins(){var path=this.$path("/set/".concat(this.featuredSet));this.$goto(path)},like(){var t=this;return Object(o.a)((function*(){null===t.likesId&&(yield t.$store.dispatch("set/createLikes"));try{yield t.$store.dispatch("set/like",t.identifier),t.$emit("like",t.identifier),t.$matomo&&t.$matomo.trackEvent("Item_like","Click like item button",t.identifier)}catch(e){if("100 likes"!==e.message)throw e;t.$bvModal.show(t.likeLimitModalId)}}))()},unlike(){var t=this;return Object(o.a)((function*(){yield t.$store.dispatch("set/unlike",t.identifier),t.$emit("unlike",t.identifier)}))()},addToSet(){this.$auth.loggedIn?(this.$bvModal.show(this.addItemToSetModalId),this.$emit("add",this.identifier),this.$matomo&&this.$matomo.trackEvent("Item_add","Click add item button",this.identifier)):this.keycloakLogin()},pin(){var t=this;return Object(o.a)((function*(){null===t.featuredSet&&(yield t.$store.dispatch("entity/createFeaturedSet"));try{yield t.$store.dispatch("entity/pin",t.identifier),t.makeToast(t.$t("entity.notifications.pinned",{entity:t.$store.getters["entity/englishPrefLabel"]}))}catch(e){if("too many pins"!==e.message)throw e;t.$bvModal.show("pinned-limit-modal-".concat(t.identifier))}}))()},unpin(){var t=this;return Object(o.a)((function*(){yield t.$store.dispatch("entity/unpin",t.identifier),t.makeToast(t.$t("entity.notifications.unpinned"))}))()},pinAction(){var t=this;return Object(o.a)((function*(){t.entity||t.featuredSet?yield t.togglePin():yield t.$bvModal.show(t.pinModalId)}))()},togglePin(){var t=this;return Object(o.a)((function*(){t.pinned?yield t.unpin():yield t.pin()}))()}}},f=m,v=n(40),component=Object(v.a)(f,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"user-buttons",attrs:{"data-qa":"user buttons"}},[n("b-button",{directives:[{name:"show",rawName:"v-show",value:t.showPins,expression:"showPins"}],staticClass:"pin-button text-uppercase",class:{"button-icon-only":!t.buttonText},attrs:{variant:t.buttonVariant,pressed:t.pinned,"data-qa":"pin button","aria-label":t.$t("entity.actions.pin")},on:{click:t.pinAction}},[n("span",{staticClass:"icon-push-pin"}),t._v("\n "+t._s(t.pinButtonText)+"\n ")]),t._v(" "),t.showMove?n("b-button",{staticClass:"move-button text-uppercase d-inline-flex align-items-center",class:{"button-icon-only":!t.buttonText},attrs:{"data-qa":"add button",variant:t.buttonVariant,"aria-label":t.$t("actions.move")}},[n("span",{staticClass:"icon-ic-move-xy"}),t._v("\n "+t._s(t.buttonText?t.$t("actions.move"):"")+"\n ")]):t._e(),t._v(" "),n("b-button",{staticClass:"add-button text-uppercase d-inline-flex align-items-center",class:{"button-icon-only":!t.buttonText},attrs:{"data-qa":"add button",variant:t.buttonVariant,"aria-label":t.$t("set.actions.addTo")},on:{click:t.addToSet}},[n("span",{staticClass:"icon-ic-add"}),t._v("\n "+t._s(t.buttonText?t.$t("actions.save"):"")+"\n ")]),t._v(" "),n("b-button",{staticClass:"like-button text-uppercase d-inline-flex align-items-center",class:{"button-icon-only":!t.buttonText},attrs:{pressed:t.liked,variant:t.buttonVariant,"data-qa":"like button","aria-label":t.$t("actions.like")},on:{click:t.toggleLiked}},[n("span",{staticClass:"icon-heart"}),t._v("\n "+t._s(t.likeButtonText)+"\n ")]),t._v(" "),t.$auth.loggedIn?[n("AddItemToSetModal",{attrs:{"data-qa":"add item to set modal","modal-id":t.addItemToSetModalId,"item-id":t.identifier,"new-set-created":t.newSetCreated},on:{clickCreateSet:t.clickCreateSet,hideModal:t.refreshSet}}),t._v(" "),n("SetFormModal",{attrs:{"modal-id":t.setFormModalId,"item-context":t.identifier},on:{response:t.setCreatedOrUpdated}}),t._v(" "),n("b-modal",{attrs:{id:t.likeLimitModalId,title:t.$t("set.notifications.likeLimit.title"),"hide-footer":""}},[n("p",[t._v(t._s(t.$t("set.notifications.likeLimit.body")))])]),t._v(" "),t.showPins&&t.entity?n("b-modal",{attrs:{id:t.pinnedLimitModalId,title:t.$t("entity.notifications.pinLimit.title"),"hide-footer":"","hide-header-close":""}},[t._v("\n "+t._s(t.$t("entity.notifications.pinLimit.body"))+"\n "),n("div",{staticClass:"modal-footer"},[n("b-button",{attrs:{variant:"outline-primary","data-qa":"cancel button"},on:{click:function(e){return t.$bvModal.hide(t.pinnedLimitModalId)}}},[t._v("\n "+t._s(t.$t("actions.close"))+"\n ")]),t._v(" "),n("b-button",{attrs:{variant:"primary"},on:{click:t.goToPins}},[t._v("\n "+t._s(t.$t("entity.actions.viewPinned"))+"\n ")])],1)]):t._e(),t._v(" "),t.showPins&&t.identifier&&t.entities.length>0?n("ItemPinModal",{attrs:{identifier:t.identifier,"modal-id":t.pinModalId,entities:t.entities,"data-qa":"pin item to entities modal"}}):t._e()]:t._e()],2)}),[],!1,null,null,null);e.default=component.exports}}]);
//# sourceMappingURL=b15baae.modern.js.map