1import{_t as e,h as t}from"./@dayflow-DHZqp7Rg.js";import{r as n}from"./pinia-YL0TXNFu.js";import{W as r,y as i}from"./maintenance-service-B-yNArdO.js";function a(){function e(e){return e.rights.can_download||e.rights.can_move||e.rights.can_edit||e.rights.can_delete}function t(){let e=i();return e.rights?.can_download||e.rights?.can_edit||!1}return{canInteractAlbum:e,canInteractPhoto:t}}function o(i,o,s){let{canInteractAlbum:c,canInteractPhoto:l}=a(),{selectedPhotosIds:u,selectedAlbumsIds:d}=n(s),f=t(()=>u.value.length===1?i.photos.find(e=>e.id===u.value[0])??void 0:void 0),p=t(()=>d.value.length===1?o.selectableAlbums.find(e=>e.id===d.value[0])??void 0:void 0),m=t(()=>i.photos.filter(e=>u.value.includes(e.id))??[]),h=t(()=>o.selectableAlbums?.filter(e=>d.value.includes(e.id))??[]),g=e(void 0),_=e(void 0);function v(e){return u.value.includes(e)}function y(e){return d.value.includes(e)}function b(){return u.value.length>0||d.value.length>0}function x(){d.value=[],u.value=[]}function S(){u.value=u.value.filter(e=>i.photos.some(t=>t.id===e)),d.value=d.value.filter(e=>o.selectableAlbums.some(t=>t.id===e))}function C(e){u.value.includes(e)||u.value.push(e)}function w(e){u.value=u.value.filter(t=>t!==e)}function T(e){d.value.includes(e)||d.value.push(e)}function E(e){d.value=d.value.filter(t=>t!==e)}function D(e){return{isMod:r()===`Meta`?e.metaKey:e.ctrlKey,isShift:e.shiftKey}}function O(e,t){d.value=[];let{isMod:n,isShift:r}=D(t),a=s.is_touch_select_mode;if(!(!n&&!r&&!a)&&(t.preventDefault(),t.stopPropagation(),i.filteredPhotos.length!==0&&l()!==!1)){if(a||n){k(e);return}if(r){A(e);return}}}function k(e){v(e)?w(e):C(e),g.value=e}function A(e){if(m.value.length===0){C(e),g.value=e;return}let t=i.filteredPhotos,n=t.findIndex(t=>t.id===e),r=g.value===void 0?-1:t.findIndex(e=>e.id===g.value);if(n!==-1){if(v(e)){if(r===-1)w(e);else{let e=Math.min(r,n),i=Math.max(r,n);for(let n=e;n<=i;n++)w(t[n].id)}}else if(r===-1)C(e);else{let e=Math.min(r,n),i=Math.max(r,n);for(let n=e;n<=i;n++)C(t[n].id)}g.value=e}}function j(e,t){u.value=[];let{isMod:n,isShift:r}=D(e),i=s.is_touch_select_mode;if(!n&&!r&&!i)return;e.preventDefault(),e.stopPropagation();let a=o.selectableAlbums.find(e=>e.id===t);if(!(!a||c(a)===!1)){if(i||n){M(t);return}if(r){N(t);return}}}function M(e){y(e)?E(e):T(e),_.value=e}function N(e){if(h.value.length===0){T(e),_.value=e;return}let t=o.selectableAlbums,n=t.findIndex(t=>t.id===e),r=_.value===void 0?-1:t.findIndex(e=>e.id===_.value);if(n!==-1){if(y(e)){if(r===-1)E(e);else{let e=Math.min(r,n),i=Math.max(r,n);for(let n=e;n<=i;n++)E(t[n].id)}}else if(r===-1)T(e);else{let e=Math.min(r,n),i=Math.max(r,n);for(let n=e;n<=i;n++)T(t[n].id)}_.value=e}}function P(){let e=i.filteredPhotos;if(u.value.length===e.length&&o.selectableAlbums.length>0){u.value=[],d.value=o.selectableAlbums.filter(c).map(e=>e.id);return}if(d.value.length===o.selectableAlbums.length&&e.length>0){d.value=[],u.value=e.filter(l).map(e=>e.id);return}if(d.value.length>0&&o.selectableAlbums.length>0){d.value=o.selectableAlbums.filter(c).map(e=>e.id);return}if(e.length>0){u.value=e.filter(l).map(e=>e.id);return}o.selectableAlbums.length>0&&(d.value=o.selectableAlbums.filter(c).map(e=>e.id))}return{selectedPhoto:f,selectedAlbum:p,selectedPhotosIds:u,selectedAlbumsIds:d,selectedPhotos:m,selectedAlbums:h,photoSelect:O,albumSelect:j,selectEverything:P,unselect:x,pruneSelection:S,hasSelection:b}}export{a as n,o as t};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.