{"version":3,"file":"bfae62cf4663cc7d1c1e67778be90a51740a081d-9c63790e210ecfa8d4f7.js","mappings":"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","sources":["webpack://acaba/./src/components/card/change/CardChange.tsx","webpack://acaba/./src/components/card/change/Exchange.tsx","webpack://acaba/./src/components/card/change/styled.ts","webpack://acaba/./src/components/card/collection/CardCollection.tsx","webpack://acaba/./src/components/card/collection/CollectionName.tsx","webpack://acaba/./src/components/card/collection/styled.ts","webpack://acaba/./src/compose/img/AvatarCompose.tsx","webpack://acaba/./src/model/Date.model.ts","webpack://acaba/./src/model/UserChange.model.ts","webpack://acaba/./src/model/UserExchange.model.ts","webpack://acaba/./src/model/UserInfoEx.model.ts","webpack://acaba/./src/model/mapper.ts"],"sourcesContent":["import React, { FC, memo } from 'react';\nimport icons from 'components/theme/icons';\n\nimport { IChildrenOpt } from 'utils/interface';\nimport { ActionWrapper, CardBlockStyled } from '../styled';\n\nimport {\n CardHeaderChangeStyled,\n CardBodyStyled,\n CardFooterStyled,\n ChatChangeStyled,\n DateChangeStyled,\n IconStyled,\n InfoWrapperStyled,\n StateStyled,\n} from './styled';\nimport { NameWrapper } from 'components/common/NameWrapper';\n\n\nexport interface IChangeCard extends IChildrenOpt {\n name?: string;\n date?: string;\n stateActual?: string;\n chat?: string;\n avatar: React.ReactNode;\n hideIcon?: boolean;\n}\n\nconst CardChangeMemo: FC = ({\n name = '',\n chat = '',\n avatar = '',\n date = '',\n stateActual = '',\n children = '',\n hideIcon = false\n}) => {\n return (\n \n \n \n {avatar}\n \n {stateActual}\n {date}\n { name }\n \n { !hideIcon && }\n \n { chat &&\n \n {chat}\n \n }\n \n \n {children}\n \n \n );\n};\n\nexport const CardChange = memo(CardChangeMemo);\n","import React, { FC } from 'react'\nimport { ExchangeBadge, ExchangeIcon } from './styled'\n\ninterface IExchangeProps {\n className?: string;\n labelMine?: string;\n labelHis?: string;\n mine: number;\n his: number;\n}\nexport const Exchange: FC = ({ mine, labelMine, his, labelHis, className }) => (\n \n \n {labelMine}\n {mine}\n \n \n \n {labelHis}\n {his}\n \n \n)","import styled from 'styled-components';\n\nimport {\n ChatStyled,\n DateStyled,\n} from '../styled'\n\nimport { blackColor, infoColor, roseColor } from 'components/theme/constants';\nimport { Avatar } from 'components/core';\nimport { Badge, Icon } from 'components/styled';\nimport icons from 'components/theme/icons';\nimport { EllipsisStyled, EllipsisParentStyled } from 'components/common/common.styled';\nimport { ButtonClearStyled } from 'components/button/styled';\n\n\nexport const ButtonAvatarChangeStyled = styled(ButtonClearStyled)`\n .MuiAvatar-root {\n width: 2rem;\n height: 2rem;\n }\n\n position: absolute;\n`\nexport const ButtonAvatarChangeVStyled = styled(ButtonClearStyled)`\n width: 3rem;\n height: 3rem;\n margin: 0 0.5rem 0 0;\n`\nexport const AvatarCollectionStyled = styled(Avatar)`\n width: 1.5rem;\n height: 1.5rem;\n margin: 0 0.2rem 0 0;\n`\nexport const ButtonAvatarStyled = styled(ButtonClearStyled)`\n display: flex;\n`\nexport const CardAvatarWrapper = styled.div`\n min-width: 0;\n display: flex;\n margin-bottom: 0.5rem;\n`\nexport const CardFooterStyled = styled.div`\n padding: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n font-size: 11px;\n font-weight: bold;\n width: 100%;\n color: ${roseColor[0]};\n`\nexport const CardBodyStyled = styled.div`\n overflow: hidden;\n height: 2.3rem;\n margin: 0;\n`\nexport const CardHeaderStyled = styled.div`\n color: #FFF;\n margin: 0;\n padding: .5rem;\n position: relative;\n font-size: 0.7rem;\n background: ${blackColor};\n border-radius: 4px 4px 0 0;\n`\nexport const CardHeaderChangeStyled = styled(CardHeaderStyled)`\n`\nexport const StateStyled = styled.div`\n font-size: 0.6rem;\n`\nexport const DateChangeStyled = styled(DateStyled)`\n font-size: 0.6rem;\n padding-left: 0.4rem;\n display: inline;\n`\n\nexport const NameCollectionStyled = styled(EllipsisStyled)`\n color: ${blackColor};\n font-size: 0.6rem;\n margin-bottom: -0.2rem;\n width: 100%;\n text-align: left;\n font-weight: normal;\n`\nexport const InfoWrapperStyled = styled(EllipsisParentStyled)`\n display: grid;\n width: 100%;\n text-align: right;\n`\nexport const IconStyled = styled(Icon)`\n position: absolute;\n right: .5rem;\n bottom: .5rem;\n`\nexport const ChatChangeStyled = styled(ChatStyled)`\n padding: 0.2rem;\n font-size: 0.6rem;\n line-height: 0.8rem;\n height: 2.1rem;\n overflow: hidden;\n`\nexport const ExchangeStyled = styled.div`\n padding: 0.1rem 0.2rem;\n width: 100%;\n display: grid;\n grid-template-columns: 1.7rem 1fr;\n`\nexport const ExchangeBadge = styled.span`\n font-size: 0.6rem;\n & span {\n font-size: 0.7rem;\n padding: 0 0 0 0.1rem;\n }\n`\nexport const ExchangeIcon = styled(Icon).attrs(props => ({\n icon: icons.exchange\n}))`\n padding: 0 .3rem 0 .2rem;\n font-size: 1.2rem;\n vertical-align: middle;\n color: inherit;\n`\n\nexport const ExchangeWrapperStyled = styled.div`\n display: flex;\n flex-direction: column;\n align-items: baseline;\n width: 100%;\n overflow: hidden;\n color: ${infoColor[0]};\n`\n\nexport const StateBadge = styled(Badge) `\n margin: 0.2rem;\n padding: 0.2rem 0.4rem;\n text-transform: lowercase;\n`\n","import { ImageStyled } from 'components/img/styled';\nimport React, { FC, memo } from 'react';\nimport { IChildrenOpt } from 'utils/interface';\nimport { ActionWrapper } from '../styled';\nimport CollectionName from './CollectionName';\n\nimport {\n AvatarCollectionStyled,\n CardFooterStyled,\n CardCategoryWhite,\n InfoWrapperCollectionStyled,\n} from './styled';\n\nexport interface ICardCollection extends IChildrenOpt {\n image: string;\n name: string;\n fav?: boolean;\n sleep?: boolean;\n select: (key: number) => void;\n}\n\n\nconst CardCollectionMemo: FC = ({\n image,\n name,\n fav,\n sleep,\n children = ''\n}) => {\n\n return (\n \n \n \n \n \n \n \n {children}\n \n \n \n );\n};\n\nexport const CardCollection = memo(CardCollectionMemo);\n","import { Icon } from 'components/styled';\nimport React, { FC } from 'react';\nimport icons from 'components/theme/icons';\n\nimport {\n NameStyled,\n IconDataStyled,\n NameVStyled,\n} from './styled';\n\n\ninterface ICollectionName {\n name?: string;\n fav?: boolean;\n sleep?: boolean;\n className?: string;\n variant?: 'horizontal' | 'vertical';\n}\nconst CollectionName: FC = ({\n name = '',\n fav,\n sleep,\n className,\n variant\n}) => {\n\n const Wrapper = {\n horizontal: NameStyled,\n vertical: NameVStyled\n }[variant || 'horizontal']\n\n return (\n \n { (fav || sleep) &&\n \n \n { fav && }\n { sleep && }\n \n \n }\n {name}\n \n )\n}\n\nexport default CollectionName","import styled from 'styled-components'\n\nimport {\n ActionWrapper,\n CardBlockStyled,\n FooterOverlayStyled,\n InfoWrapperStyled\n} from '../styled'\n\nimport { blackColor, whiteColor } from 'components/theme/constants'\nimport { Icon, Paragraph } from 'components/styled'\nimport { AvatarImage } from 'components/img/AvatarImage'\nimport { EllipsisStyled } from 'components/common/common.styled'\n\n\nexport const ActionBlockWrapper = styled (ActionWrapper)`\n width: 100%;\n height: 5rem;\n margin: 0;\n line-height: .8rem;\n padding: 0.3rem;\n display: grid;\n`\n\nexport const AdditionalDataStyled = styled.div`\n margin: 0.3rem 0;\n min-height: 1.5rem;\n`\nexport const AdditionalGridStyled = styled.div`\n margin: 0 0 0.3rem 0;\n display: grid;\n padding: 0.2rem;\n grid-template-columns: 1fr 1fr;\n grid-auto-flow: column;\n & p {\n text-align: left;\n margin: 0 0 0 0.5rem;\n }\n`\nexport const AdditionalParagraphStyled = styled(Paragraph)`\n font-weight: bold;\n \n margin: 0 auto;\n`\nexport const AvatarCollectionStyled = styled(AvatarImage).attrs(props => ({\n shadow: true\n}))`\n height: 8rem;\n width: auto;\n border-radius: 10px;\n`\nexport const AvatarCollectionVStyled = styled(AvatarImage).attrs(props => ({\n shadow: true\n}))`\n width: 5rem;\n height: 4.8rem;\n margin: 0 0.5rem 0 0;\n border-radius: 5px;\n`\nexport const CardCollectionBlockStyled = styled(CardBlockStyled)`\n height: 3rem;\n`\nexport const CardFooterStyled = styled(FooterOverlayStyled)`\n width: 100%;\n margin: 0;\n position: relative;\n margin-top: -3.5rem;\n`\nexport const CardCategoryWhite = styled.div`\n color: ${whiteColor};\n margin: 0;\n font-size: 0.6rem;\n margin-top: 0;\n margin-bottom: 0;\n width: 100%;\n`\nexport const CardWrapperV = styled.div`\n display: flex;\n`\n\nexport const IconStyled = styled(Icon)`\n overflow: unset;\n font-size: 12px;\n`\nexport const IconDataStyled = styled.span`\n margin-right: 0.2rem;\n`\nexport const NameStyled = styled.span`\n font-size: ${({ size }) => size > 50 ? 0.4 : (size > 30 ? 0.5 : 0.6)}rem;\n color: ${({ color }) => color};\n & span {\n font-size: 0.6rem;\n }\n`\nexport const NameEllipsisStyled = styled(EllipsisStyled)`\n font-size: ${({ size }) => size > 50 ? 0.5 : (size > 30 ? 0.6 : 0.7)}rem;\n color: ${({ color }) => color};\n & span {\n font-size: 0.6rem;\n }\n`\nexport const NameVStyled = styled(NameStyled)`\n color: ${blackColor};\n font-size: 0.7rem;\n font-weight: bold;\n margin: 0.25rem 0.25rem 0.3rem;\n display: block;\n`\n\nexport const InfoWrapperCollectionStyled = styled(InfoWrapperStyled)`\n height: 1rem;\n margin-bottom: 0.8rem;\n flex-direction: row;\n justify-content: center;\n`","import React, { FC } from 'react'\n\nimport { useModalUser } from 'use/modal/useModal'\nimport { AvatarImage } from 'components/img/AvatarImage'\nimport { ButtonClearStyled } from 'components/button/styled'\nimport { AvatarBadgeStyled } from 'components/img/styled'\nimport icons from 'components/theme/icons'\nimport { Icon } from 'components/styled'\nimport UserInfoExModel, { IUserInfoExModel } from 'model/UserInfoEx.model'\nimport { TRefetch } from 'use/fetch/interface'\n\ninterface IProps {\n user: IUserInfoExModel;\n hideBadge?: boolean;\n button?: any;\n refetch?: TRefetch;\n}\n\nexport const AvatarCompose: FC = ({\n user,\n hideBadge = false,\n button: Button = ButtonClearStyled,\n refetch\n}) => {\n const { open } = useModalUser()\n const { avatar, username, likes, numChangesNok, mine } = user\n const image = UserInfoExModel.getAvatar(avatar)\n // const dislikes = ? ` - ${numChangesNok}` : ''\n // const num = `${likes}${dislikes}`\n const num = likes - numChangesNok\n const className = likes - numChangesNok < 0\n ? 'unlike'\n : (mine ? 'mine': '')\n const onClick = e => {numChangesNok\n e.stopPropagation();\n open(user, refetch && { refetch })\n }\n\n if (hideBadge) {\n return \n } else {\n return (\n \n )\n }\n}\n\n\n","import moment from 'moment'\n\n\nexport enum IDateFormat {\n short = 'D MMM YYYY',\n long = 'D [de] MMMM [de] YYYY',\n db = 'YYYY-MM-DD'\n}\nexport default class DateModel {\n static format = (dateStr: string| number, format = IDateFormat.short) => moment(dateStr).format(format)\n\n static dateDiff = (dateStr: string | number, showHours = false) => {\n const now = moment()\n const months = now.diff(dateStr, 'months')\n if (isNaN(months)) {\n return ''\n }\n if (months < 2) {\n const days = now.diff(dateStr, 'days')\n if (days < 2) {\n if (showHours) {\n return now.diff(dateStr, 'hours') + ' horas'\n } else {\n if (days < 1) {\n return 'hoy'\n } else {\n return 'ayer'\n }\n }\n }\n return days + ' días'\n } else {\n if (months < 12) {\n return months + ' meses'\n }\n const years = Math.floor(months / 12)\n return `${years} año${years > 1 ? 's' : ''}`\n }\n }\n\n static dateDiffUnit = (dateStr: string | number, unit: moment.unitOfTime.Diff) => {\n const now = moment()\n const diff = now.diff(dateStr, unit)\n return diff\n }\n}","import DateModel from \"model/Date.model\"\n\nexport enum ChangeState {\n PROGRESS = 'PROGRESS',\n COMPLETE = 'COMPLETE',\n CANCELLED = 'CANCELLED'\n}\n\nexport const StatesInProgress = [1,2,3,4,5,6]\nexport const StatesCompleted = [7,8,9]\nexport const StatesCancelled = [10,11,12,13]\n\nexport const ChangeStateIds = {\n NEW: 0,\n INIT: 1,\n READ: 2,\n ACCEPTED: 3,\n RECEIVED1: 5,\n RECEIVED2: 6,\n COMPLETE: 7,\n NOT_RECEIVED1: 8,\n NOT_RECEIVED2: 9,\n CANCELLED: 10,\n REJECTED: 11,\n CANCELLED2: 12,\n CANCELLED3: 13\n}\n\nexport enum ChangeStateIndex {\n NEW = 'NEW',\n INIT = 'INIT',\n ACCEPTED = 'ACCEPTED',\n RECEIVED = 'RECEIVED',\n NOT_RECEIVED = 'NOT_RECEIVED',\n FINISHED = 'FINISHED',\n CANCELLED = 'CANCELLED',\n}\nexport enum ChangeOffer {\n FILLED = 'FILLED',\n EMPTY = 'EMPTY'\n}\nexport enum ChangeAction {\n ACCEPT = 'Acep',\n CANCEL = 'Canc',\n CHAT = 'Chat',\n HIDE = 'Ocul',\n MODIFY = 'Modi',\n NEW = 'NEW',\n NOT_RECEIVED = 'NORe',\n RECEIVED = 'Reci',\n RECEIVED_WRONG = 'RecM',\n REJECT = 'Rech',\n}\n\nexport enum ChangeFilter {\n SORT = 'sort',\n SEARCH = 'search',\n STATE = 'state',\n COLLECTOR = 'user',\n COLLECTION = 'collection'\n}\n\nexport enum NewChangeFilter {\n SORT = 'sort',\n SEARCH = 'search',\n OFFER = 'offer',\n COLLECTION = 'collection',\n COLLECTOR = 'user',\n FAV_COLLECTOR = 'favCollector',\n NUM_ITEMS = 'numItems'\n}\nexport interface IChangeChat {\n date?: string;\n text: string;\n name?: string;\n}\n\nexport interface IUserChangeModel {\n id: string; // IdCamb\n chat: string; // Chat\n stateId: number; // Estado\n changeState?: string; // ChangeState\n startDate: Date; // FechaInicio\n endDate: Date; // Fechafin\n lastUpdater: number; // ModR\n him: boolean; // N or R\n}\n\nexport default class UserChangeModel {\n \n static getState(stateId: number) {\n return {\n 0: ChangeStateIndex.NEW,\n 1: ChangeStateIndex.INIT,\n 3: ChangeStateIndex.ACCEPTED,\n 5: ChangeStateIndex.RECEIVED,\n 6: ChangeStateIndex.RECEIVED,\n 7: ChangeStateIndex.FINISHED,\n 8: ChangeStateIndex.NOT_RECEIVED,\n 9: ChangeStateIndex.NOT_RECEIVED,\n 10: ChangeStateIndex.CANCELLED,\n 11: ChangeStateIndex.CANCELLED,\n 12: ChangeStateIndex.CANCELLED,\n 13: ChangeStateIndex.CANCELLED,\n 14: ChangeStateIndex.CANCELLED\n }[stateId]\n }\n\n static isSelf = (change: IUserChangeModel, otherUserId: number) => {\n const { stateId, him, lastUpdater } = change\n let self = [6, 9].indexOf(stateId) === -1 ? !him : him;\n // switch self depending on last modifier\n if (stateId === 1) {\n self = lastUpdater !== otherUserId;\n }\n return self\n }\n static parseChatItem = (item: string):IChangeChat => {\n if (!item) {\n return {\n date: '',\n text: ''\n }\n }\n const isMessage = item.indexOf('>') !== -1\n if (isMessage) {\n const [ info, text ] = item.split('>')\n const lastIndex = info.lastIndexOf('-')\n const date = info.slice(0, lastIndex)\n const name = info.slice(lastIndex + 1, info.length)\n \n return {\n date: DateModel.dateDiff(date), text, name\n }\n } else {\n const [ text, date ] = item.split('(')\n return {\n date: DateModel.dateDiff(date.split(')')[0]), text\n }\n }\n }\n static parseChat = (chat: string):IChangeChat => {\n if (!chat) {\n return {\n date: '',\n text: ''\n }\n }\n \n const twoLast = chat.split('
').slice(-2)\n let last = twoLast.slice(-1)[0]\n const isComenta = last.indexOf('Comenta:') !== -1\n if (isComenta) {\n const [ name, text ] = last.split(' Comenta: ')\n return {\n name,\n text\n }\n } else {\n return this.parseChatItem(last)\n }\n }\n/*\n {\n Chat: \"\"\n CodigoC: 8\n Comentarios: \"comentario\"\n Estado: \"10\"\n FechaF: 0\n FechaI: 1515804418\n FechaInicio: \"2018-01-12 19:46:58\"\n Fechafin: \"2018-01-22 19:14:28\"\n IdCamb: 16\n IduserN: 73\n IduserR: 22\n ModN: \"\"\n ModR: 0\n croENP: \"\"\n repotroENP: \"\"\n }\n*/\n}\n","import { IChangeCollectionListProps } from 'compose/popup/change/ChangeCollection'\nimport SortUtility from 'use/filter/SortUtility'\nimport { TElement } from 'utils/interface'\nimport { ICollectionModel } from './Collection.model'\nimport { IUserChangeModel } from './UserChange.model'\nimport { mapArrayBy } from 'utils/helpers'\nimport { IUserInfoExModel } from './UserInfoEx.model'\nexport interface IExchangeData {\n collection: ICollectionModel;\n mine: [string];\n his: [string];\n}\nexport interface IUserExchangeModel {\n change: IUserChangeModel;\n user: IUserInfoExModel;\n exchanges: [IExchangeData];\n}\nexport default class UserExchangeModel {\n\n static serializeCols = (\n cols: IChangeCollectionListProps[]\n ): string => {\n const serial = cols.reduce((arr, col) => {\n if (col.selected.length) {\n arr.push([col.code, col.selected.join(',')].join(':'))\n }\n return arr\n }, []).join(';')\n return serial\n }\n static joinCols = (\n prev: IChangeCollectionListProps[],\n update: IChangeCollectionListProps[]\n ): IChangeCollectionListProps[] => {\n const result = {}\n const getUpdated = (\n prev: IChangeCollectionListProps,\n upd?: IChangeCollectionListProps): IChangeCollectionListProps =>\n ({\n code: prev.code,\n name: prev.name,\n selected: upd && upd.selected ? prev.selected.concat(upd.selected) : prev.selected,\n unselected: upd && upd.unselected ? prev.unselected.concat(upd.unselected) : prev.unselected,\n })\n\n prev.forEach(cols => {\n result[cols.code] = getUpdated(cols)\n })\n update.forEach(cols => {\n const prevCols = result[cols.code]\n result[cols.code] = getUpdated(cols, prevCols)\n })\n return Object.values(result)\n }\n static getTotal = (exchanges: IExchangeData[]) => {\n return exchanges.reduce((tot, exchange: IExchangeData) => {\n tot.mine += exchange.mine.length\n tot.his += exchange.his.length\n return tot\n },{ mine: 0, his: 0 })\n }\n\n static exchangesProccess = (\n exchanges: IExchangeData[] = [],\n key: string,\n isNew: boolean\n ): IChangeCollectionListProps[] => {\n return exchanges\n .map(exchange => {\n const items = exchange[key]\n\n let selected = []\n let unselected = []\n if (isNew) {\n unselected = items\n } else {\n selected = items\n }\n return {\n code: exchange.collection.code,\n name: exchange.collection.name,\n selected,\n unselected\n }})\n .filter(o => o.selected.length || o.unselected.length)\n }\n\n static parseTotal = (arr: Partial[]): number => {\n return arr.reduce(\n (tot, acc: IChangeCollectionListProps) => {\n tot += acc.selected.length\n return tot\n }, 0)\n }\n\n static sort = (list: TElement[]): TElement[] => {\n return list.filter(Boolean)\n .sort(SortUtility.compare.digits).reverse()\n }\n\n static auto = (\n off: IChangeCollectionListProps[], \n req: IChangeCollectionListProps[]\n ): IChangeCollectionListProps[][] => {\n const totalOff = getTotalItems(off)\n const totalReq = getTotalItems(req)\n const num = Math.min(totalOff, totalReq)\n const randomOff = processList(off || [], totalOff, num)\n const randomReq = processList(req || [], totalReq, num)\n \n return [ randomOff, randomReq ]\n }\n\n static sortAll = (list: IChangeCollectionListProps[]) =>\n list.map(ob => ({\n ...ob,\n ...{\n selected: UserExchangeModel.sort(ob.selected),\n unselected: UserExchangeModel.sort(ob.unselected)\n }\n }))\n\n static getCodes = (\n exchanges: IExchangeData[]\n ) => Object.keys(mapArrayBy(exchanges, 'collection.code'))\n .map(Number)\n}\n\nconst getNumItems = (col: IChangeCollectionListProps) => col.selected.length + col.unselected.length\nconst getTotalItems = (list: IChangeCollectionListProps[]) =>\n list.reduce((tot, col) => tot + getNumItems(col), 0)\n\nconst randomValues = (list: string | any[], l: any) => {\n var arr = shuffle(list.length)\n\n return arr.slice(0, l).map(function (i: string | number) {\n return list[i]\n })\n}\n\nconst processList = (\n list: IChangeCollectionListProps[],\n total: number,\n num: number\n): IChangeCollectionListProps[] => {\n const sort = SortUtility.compare.number\n const randData: number[] = randomValues(range(total), num).sort(sort).reverse()\n const selection: IChangeCollectionListProps[] = []\n\n const next = (x: number) => {\n const flatcol = list[x].selected.concat(list[x].unselected)\n return {\n flatcol,\n len: flatcol.length,\n }\n }\n\n const push = ( \n selected: TElement[],\n all: TElement[],\n col: IChangeCollectionListProps\n ): IChangeCollectionListProps => {\n const selectedCodes = selected.reduce((tot, item) => {\n tot[item] = true\n return tot\n }, {})\n return {\n code: col.code,\n name: col.name,\n selected,\n unselected: all.filter(item => !selectedCodes[item])\n }\n }\n let n = 0\n let ob = next(n)\n let offset = 0\n let selected: TElement[] = []\n\n randData.forEach(function (index, i) {\n const isNextCollection = index >= ob.len + offset\n if (isNextCollection) {\n selection.push(push(selected, ob.flatcol, list[n]))\n\n n++\n offset += ob.flatcol.length\n ob = next(n)\n selected = []\n }\n selected.push(ob.flatcol[index - offset])\n })\n selection.push(push(selected, ob.flatcol, list[n]))\n return selection\n}\n\nfunction range(i: number): number[] {\n return i <= 0 ? [] : range(i-1).concat(i-1)\n}\n\nfunction shuffle(len: number) {\n const array = range(len)\n let top = array.length\n let tmp: any\n let current: number\n if(top) while(--top) {\n current = Math.floor(Math.random() * (top + 1))\n tmp = array[current]\n array[current] = array[top]\n array[top] = tmp\n }\n return array\n}\n","\nimport productionEnv from 'setup/environments/production'\n\nexport interface IUserInfoExModel {\n iduser: number; // iduser\n username: string; // users.username\n avatar: string; // UserInfo.Avatar\n numCollections: number;\n numChangesStarted: number;\n numChangesFinished: number;\n numChangesWith: number;\n numChangesNok: number;\n lastChange: number;\n lastChangeFinished: number;\n lastLogin: number; // users.last_login\n likes: number;\n mine: number;\n unanswered: number; // SinRepuesta\n}\n\nexport default class UserInfoExModel {\n/*\n iduser: Int!\n username: String\n avatar: String\n numCollections: Int\n numChangesStarted: Int\n numChangesFinished: Int\n numChangesWith: Int\n lastChange: Int\n lastChangeFinished: Int\n lastLogin: Int\n likes: Int\n mine: Int\n unanswered: Int\n */\n static getAvatar = (avatar: string) => avatar && `${productionEnv.path.uploads}${avatar}`\n}\n","import { ICollectionModel } from \"model/Collection.model\";\nimport { IUserCollectionModel } from \"model/UserCollection.model\";\n\nimport { ISearchCollectionModel } from \"./SearchCollection.model\";\nimport { IUserCollectionExModel } from \"./UserCollectionEx.model\";\nimport { IUserExchangeModel } from \"./UserExchange.model\";\n\nexport const mapperHomeTopCollections = (item: ISearchCollectionModel): ISearchCollectionModel => item\nexport const mapperHomeLastCollections = (item: ICollectionModel): ISearchCollectionModel => ({\n collection: item,\n collectors: null\n})\nexport const mapperHomeChanges = (item: IUserExchangeModel): IUserExchangeModel => item \nexport const mapperDashboardActiveChanges = (item: IUserExchangeModel): IUserExchangeModel => item\nexport const mapperDashboardCollections = (item: IUserCollectionExModel): IUserCollectionExModel => item"],"names":["CardChangeMemo","name","chat","avatar","date","stateActual","children","hideIcon","icon","icons","CardChange","memo","Exchange","mine","labelMine","his","labelHis","className","ButtonAvatarChangeStyled","styled","ButtonClearStyled","ButtonAvatarChangeVStyled","AvatarCollectionStyled","Avatar","CardAvatarWrapper","CardFooterStyled","roseColor","CardBodyStyled","CardHeaderStyled","blackColor","CardHeaderChangeStyled","StateStyled","DateChangeStyled","DateStyled","NameCollectionStyled","EllipsisStyled","InfoWrapperStyled","EllipsisParentStyled","IconStyled","Icon","ChatChangeStyled","ChatStyled","ExchangeStyled","ExchangeBadge","ExchangeIcon","attrs","props","ExchangeWrapperStyled","infoColor","StateBadge","Badge","CardCollectionMemo","image","fav","sleep","src","alt","CardCollection","variant","Wrapper","horizontal","NameStyled","vertical","NameVStyled","size","length","ActionBlockWrapper","ActionWrapper","AdditionalDataStyled","AdditionalGridStyled","AdditionalParagraphStyled","Paragraph","AvatarImage","shadow","AvatarCollectionVStyled","CardBlockStyled","FooterOverlayStyled","CardCategoryWhite","whiteColor","CardWrapperV","IconDataStyled","color","InfoWrapperCollectionStyled","AvatarCompose","user","hideBadge","button","Button","refetch","open","useModalUser","username","likes","numChangesNok","UserInfoExModel","num","onClick","e","stopPropagation","badgeContent","IDateFormat","DateModel","format","dateStr","short","moment","dateDiff","showHours","now","months","diff","isNaN","days","years","Math","floor","dateDiffUnit","unit","ChangeState","ChangeStateIndex","ChangeOffer","ChangeAction","ChangeFilter","NewChangeFilter","StatesInProgress","StatesCompleted","StatesCancelled","ChangeStateIds","NEW","INIT","READ","ACCEPTED","RECEIVED1","RECEIVED2","COMPLETE","NOT_RECEIVED1","NOT_RECEIVED2","CANCELLED","REJECTED","CANCELLED2","CANCELLED3","UserChangeModel","getState","stateId","RECEIVED","FINISHED","NOT_RECEIVED","isSelf","change","otherUserId","him","lastUpdater","self","indexOf","parseChatItem","item","text","split","info","lastIndex","lastIndexOf","slice","parseChat","last","UserExchangeModel","serializeCols","cols","reduce","arr","col","selected","push","code","join","joinCols","prev","update","result","getUpdated","upd","concat","unselected","forEach","prevCols","Object","values","getTotal","exchanges","tot","exchange","exchangesProccess","key","isNew","map","items","collection","filter","o","parseTotal","acc","sort","list","Boolean","SortUtility","reverse","auto","off","req","totalOff","getTotalItems","totalReq","min","processList","sortAll","ob","getCodes","keys","mapArrayBy","Number","getNumItems","randomValues","l","len","tmp","current","array","range","top","random","shuffle","i","total","randData","selection","next","x","flatcol","all","selectedCodes","n","offset","index","getAvatar","productionEnv","mapperHomeTopCollections","mapperHomeLastCollections","collectors","mapperHomeChanges","mapperDashboardActiveChanges","mapperDashboardCollections"],"sourceRoot":""}