{"version":3,"file":"FilesSelectionMixin-JLsUiKnU.chunk.mjs","sources":["../src/services/TiledLayout.ts","../src/components/TiledLayout/TiledLayout.vue","../src/components/VirtualScrolling.vue","../src/components/FilesListViewer.vue","../src/mixins/FilesSelectionMixin.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport type TiledItem = {\n\tid: string // Unique id for the item.\n\twidth: number // Real width of the item.\n\theight: number // Real height of the item.\n\tratio: number // The aspect ratio of the item.\n}\n\nexport type Section = {\n\tid: string // Unique id for the section.\n\titems: TiledItem[] // Real width of the item.\n}\n\nexport type TiledRow = {\n\titems: TiledItem[] // List of item in the row.\n\theight: number // Height of the row.\n\tkey: string // Unique key for the row.\n}\n\nexport type TiledSection = Section & {\n\tkey: string // Unique key for the section.\n\trows: TiledRow[] // Real width of the item.\n\theight: number // Height of the section.\n}\n\n/**\n * Split items in rows of equal width.\n * The last row will not be forced to match containerWidth.\n *\n * @param items\n * @param containerWidth\n * @param baseHeight\n */\nexport function splitItemsInRows(items: TiledItem[], containerWidth: number, baseHeight: number = 200): TiledRow[] {\n\tif (containerWidth === 0) {\n\t\treturn []\n\t}\n\n\tconst rows: TiledRow[] = []\n\tlet rowNumber = 0\n\tlet currentItem = 0\n\n\twhile (currentItem < items.length) {\n\t\tconst rowItems: TiledItem[] = []\n\n\t\t// Fill the row with new items as long as the width is less than containerWidth.\n\t\tdo {\n\t\t\trowItems.push(items[currentItem++])\n\t\t} while (\n\t\t\tcurrentItem < items.length\n\t\t\t&& computeRowWidth([...rowItems, items[currentItem]], baseHeight) <= containerWidth\n\t\t)\n\n\t\tconst rowHeight = computeRowHeight(\n\t\t\trowItems,\n\t\t\tcontainerWidth,\n\t\t\titems.length === currentItem,\n\t\t\tbaseHeight,\n\t\t)\n\n\t\trows[rowNumber] = {\n\t\t\titems: rowItems.map((item) => ({ ...item, width: rowHeight * item.ratio, height: rowHeight })),\n\t\t\t// Key to help vue to keep track of the row in VirtualScrolling.\n\t\t\theight: rowHeight,\n\t\t\tkey: rowItems.map((item) => item.id).join('-'),\n\t\t}\n\n\t\trowNumber += 1\n\t}\n\n\treturn rows\n}\n\n/**\n *\n * @param items\n * @param baseHeight\n */\nfunction computeRowWidth(items: TiledItem[], baseHeight: number): number {\n\treturn items\n\t\t.map((item) => baseHeight * item.ratio)\n\t\t.reduce((sum, itemWidth) => sum + itemWidth)\n}\n\n/**\n * Compute the row height based on its items and on the container's width.\n *\n * Math time !\n * With Rn the aspect ratio of item n\n * Wn the width of item n\n * Hn the height of item n\n * Wc the width of the container\n * Hr the height of the row\n * For n items we want: Wc = W1 + W2 + ... + Wn\n * We know Rn = Wn / Hn\n * So Wn = Rn * Hn\n * So Wc = (R1 * H1) + (R2 * H2) + ... + (Rn * Hn)\n * But we also want Hr === H1 === H2 === ... === Hn\n * So Wc = (R1 * Hr) + (R2 * Hr) + ... + (Rn * Hr)\n * So Wc = Hr * (R1 + R2 + ... + Rn)\n * So Hr = Wc / (R1 + R2 + ... + Rn)\n *\n * @param items\n * @param containerWidth\n * @param isLastRow\n * @param baseHeight\n */\nfunction computeRowHeight(items: TiledItem[], containerWidth: number, isLastRow: boolean, baseHeight: number): number {\n\tconst sumOfItemsRatio = items\n\t\t.map((item) => item.ratio)\n\t\t.reduce((sum, itemRatio) => sum + itemRatio)\n\n\tlet rowHeight = containerWidth / sumOfItemsRatio\n\n\t// Exception 1: there is only one item which is larger than containerWidth.\n\t// Limit its height so that itemWidth === containerWidth\n\tif (items.length === 1 && items[0].width > containerWidth) {\n\t\trowHeight = containerWidth / items[0].ratio\n\t}\n\n\t// Exception 2: we reached the last row.\n\t// Force the items width to match containerWidth, and limit their height to baseHeight + 20.\n\tif (isLastRow) {\n\t\trowHeight = Math.min(baseHeight + 20, rowHeight)\n\t}\n\n\treturn rowHeight\n}\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n\tname: 'FilesSelectionMixin',\n\n\tdata() {\n\t\treturn {\n\t\t\tselection: {} as Record,\n\t\t}\n\t},\n\n\twatch: {\n\t\t$route() {\n\t\t\tthis.resetSelection()\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonFileSelectToggle({ id, value }): void {\n\t\t\tthis.$set(this.selection, id, value)\n\t\t},\n\n\t\tonUncheckFiles(filesIds: string[]): void {\n\t\t\tfilesIds.forEach((filesId: string) => this.$set(this.selection, filesId, false))\n\t\t},\n\n\t\tresetSelection(): void {\n\t\t\tthis.selection = {}\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tselectedFileIds(): string[] {\n\t\t\treturn Object.keys(this.selection).filter((fileId) => this.selection[fileId])\n\t\t},\n\t},\n})\n"],"names":["splitItemsInRows","items","containerWidth","baseHeight","rows","rowNumber","currentItem","rowItems","computeRowWidth","rowHeight","computeRowHeight","item","sum","itemWidth","isLastRow","sumOfItemsRatio","itemRatio","_sfc_main$2","TiledRows","logger","section","row","totalHeight","entries","entry","cr","_sfc_main$1","containerHeight","containerTop","containerBottom","currentRowTop","currentRowBottom","visibleSections","visibleRows","distance","visibleItems","usedTokens","key","unusedTokens","finalMapping","id","sectionHeight","paddingTop","buffer","value","currentRowTopDistanceFromTop","_sfc_main","PackageVariant","NcEmptyContent","NcLoadingIcon","TiledLayout","VirtualScrolling","_","index","width","fileId","sectionId","total","length","subscribe","unsubscribe","file","fileid","fetchedFile","fetchFile","FilesSelectionMixin","defineComponent","filesIds","filesId"],"mappings":"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"}