UNPKG

six-favorites-widget

Version:

SIX Favorites Widget

1 lines 4.15 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e},i=function(){function r(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,i){return t&&r(e.prototype,t),i&&r(e,i),e}}(),r=require("react"),l=y(r),e=require("prop-types"),t=y(e),n=require("six-widget-support/lib/context-provider"),a=y(n),u=require("six-tabs"),f=require("six-widget-support"),o=require("six-widget-support/lib/sorting"),d=y(o),c=require("./favorites"),p=require("./meta-version"),v=y(p),b=require("./editButtons"),m=y(b);function y(e){return e&&e.__esModule?e:{default:e}}function w(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function h(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function _(e,t){for(var i=0;i<e.length;i++)if(e[i].id===t)return e[i].id;for(var r=0;r<e.length;r++)if(e[r].isDefault)return e[r].id;return null}var x=function(e){function t(i){w(this,t);var r=g(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,i));return r.state={listName:"",newListId:""},r.selectDefaultTab=function(){r.tabView&&r.tabView.selectTab("default")},r.tabButtonClicked=function(){var e,t=r.props||i;t.session._internal.managers&&t.session._internal.managers.favorites&&t.session._internal.managers.favorites.createFavoriteList((e="New List",r.props.context.translator.translate(e))).then(function(e){e.id&&r.setState({newListId:e.id})})},r}return h(t,r.Component),i(t,[{key:"render",value:function(){var t=this,e=(this.props.favoriteLists&&this.props.favoriteLists.items||[]).slice();(0,d.default)([{field:"name",direction:"ASC"}],e);var i,r=_(e,this.state.newListId),n=_(e,this.props.favoriteId),a=r||n||e[0]&&e[0].id,o=this.props.displayMode&&this.props.displayMode.element.current;return l.default.createElement("div",{className:"six-widget six-favorite-tabs-widget "+(0,f.getDisplayClass)(o)},l.default.createElement(u.TabView,{ref:function(e){t.tabView=e},initialSelect:a},e.map(function(e){return l.default.createElement(u.Tab,{key:"tab_"+e.id,viewId:e.id},l.default.createElement(m.default,{item:e,session:t.props.session,onRemoveList:t.selectDefaultTab,onSetDefaultList:t.selectDefaultTab}))}),l.default.createElement(u.TabButton,{viewId:"addTab",onClicked:this.tabButtonClicked},l.default.createElement("span",{className:"six-icon six-icon-plus"},(i="Add list",t.props.context.translator.translate(i)))),e.map(function(e){return l.default.createElement(u.TabPanel,{key:"panel_"+e.id,viewId:e.id},l.default.createElement(c.Favorites,s({},t.props,{favoriteId:e.id})))})))}}]),t}();x.displayVersion=v.default.version,x.displayName="six-favorite-tabs-widget",x.propTypes={favoriteId:t.default.string,favoriteLists:t.default.object,onBuyButtonClick:t.default.func,onSellButtonClick:t.default.func,onListingClick:t.default.func,displayMode:t.default.object,session:t.default.object.isRequired,analysis:t.default.func,context:t.default.object.isRequired},x.defaultProps={favoriteId:"default",favoriteLists:void 0,onBuyButtonClick:void 0,onSellButtonClick:void 0,onListingClick:void 0,displayMode:void 0,analysis:void 0};var C=(0,f.withData)(function(e){var t={};return e.session._internal.managers&&e.session._internal.managers.favorites&&(t.favoriteLists="/favorites/"+e.session._internal.managers.favorites.userId),t})((0,f.resizeAware)(x)),L=function(t){return l.default.createElement(a.default.Consumer,null,function(e){return l.default.createElement(C,s({},t,{context:e}))})};exports.default=(0,f.widget)(L);