File tree Expand file tree Collapse file tree 9 files changed +25
-31
lines changed
Expand file tree Collapse file tree 9 files changed +25
-31
lines changed Original file line number Diff line number Diff line change 77
88 let {
99 type,
10- list,
1110 sorts = $bindable (),
12- groupList,
1311 }: {
1412 type: " members" | " groups"
15- list: DashList <Member | Group >
1613 sorts: Sort []
17- groupList: DashList <Group >
1814 } = $props ()
1915
2016 let sortMode: SortMode | null = $state (null )
3430 sortOrder
3531 )
3632
37- sorts = [ ... sorts , sort ]
33+ sorts . push ( sort )
3834
3935 sortField = " "
4036 sortMode = null
Original file line number Diff line number Diff line change 55 import { IconTrash } from " @tabler/icons-svelte"
66
77 let {
8- group,
9- list,
10- groupList,
8+ group = $bindable (),
9+ list = $bindable (),
1110 }: {
1211 group: FilterGroup
1312 list: DashList <Member | Group >
3736 <button
3837 class =" text-muted hover:text-error hover:scale-110 transition-all focus:text-error focus:scale-110 btn-circle btn-xs"
3938 onclick ={() => {
40- list .filters = list .filters .filter (( g ) => g . id !== group . id )
39+ list .filters . splice ( list .filters .indexOf ( group ), 1 )
4140 }}
4241 aria-label =" Delete filter group" ><IconTrash /></button
4342 >
Original file line number Diff line number Diff line change 1010 import { flip } from " svelte/animate"
1111
1212 let {
13- list,
13+ list = $bindable () ,
1414 memberList,
1515 groupList,
1616 }: {
8484 {/if }
8585 </div >
8686 <ul class =" flex flex-col p-2 rounded-r-lg gap-2 flex-1" >
87- <FilterGroupHeader { list } { group } {groupList } />
87+ <FilterGroupHeader bind: list bind: group={ list . filters [ index ] } {groupList } />
8888 {#if group .filters .length === 0 }
8989 <div class =" text-sm text-muted" >
9090 <span >No filters in this group.</span >
120120 {/if }
121121 </div >
122122 <div class =" flex flex-col p-2 gap-2 flex-1" >
123- <StaticFilterHeader {list } { filter } { group } {groupList } />
124- <FilterInfo { filter } {list } {memberList } {groupList } />
123+ <StaticFilterHeader {list } bind: filter={ list . filters [ index ]. filters [ i ]} bind: group={ list . filters [ index ] } {groupList } />
124+ <FilterInfo bind: filter={ list . filters [ index ]. filters [ i ] } {list } {memberList } {groupList } />
125125 </div >
126126 </li >
127127 {/each }
Original file line number Diff line number Diff line change 1212 import { IconTrash } from " @tabler/icons-svelte"
1313
1414 let {
15- filter,
16- group,
17- list,
18- groupList,
15+ filter = $bindable (),
16+ group = $bindable (),
1917 }: {
2018 filter: Filter
2119 group: FilterGroup
108106 <button
109107 class =" text-muted hover:text-error hover:scale-110 transition-all focus:text-error focus:scale-110 btn-circle btn-xs"
110108 onclick ={() => {
111- group .filters = group .filters .filter (( f ) => f . id !== filter . id )
109+ group .filters . splice ( group .filters .indexOf ( filter ), 1 )
112110 }}
113111 aria-label =" Delete filter"
114112 >
Original file line number Diff line number Diff line change 1111 import Svelecte from " svelecte"
1212
1313 let {
14- filter,
14+ filter = $bindable () ,
1515 list,
1616 groupList,
1717 memberList,
Original file line number Diff line number Diff line change 77 import { flip } from " svelte/animate"
88
99 let {
10- list,
11- groupList,
10+ list = $bindable (),
1211 }: {
1312 list: DashList <Member | Group >
14- groupList: DashList <Group >
1513 } = $props ()
1614
1715 const moveSort = (sort : Sort , shift : 1 | -1 ) => {
7977 <button
8078 class =" text-muted hover:text-error hover:scale-110 transition-all focus:text-error focus:scale-110 btn-circle btn-xs"
8179 onclick ={() => {
82- list .sorts = list .sorts .filter (( s ) => s . id !== sort . id )
80+ list .sorts . splice ( list .sorts .indexOf ( sort ), 1 )
8381 }}
8482 aria-label =" Delete sort"
8583 >
Original file line number Diff line number Diff line change 1111 import { ViewType } from " $lib/dash/settings.svelte"
1212
1313 let {
14- list,
14+ list = $bindable () ,
1515 memberList,
1616 privacyMode,
1717 simpleOnly = false ,
3333 if (dash .settings .display ?.keepOpen && list .settings .view .type === ViewType .COLLAPSE ) {
3434 list .settings .viewType = ViewType .OPEN
3535 }
36+
37+ let filterGroups = $state (list .filters )
38+ let sorts = $state (list .sorts )
3639 </script >
3740
3841<div class =" flex flex-col-reverse sm:flex-row sm:justify-between" >
105108 {privacyMode }
106109 groupList ={list }
107110 {memberList }
108- bind:filterGroups ={ list . filters }
111+ bind:filterGroups
109112 {list }
110113 type =" groups"
111114 />
112115 <FilterGroups groupList ={list } {list } {memberList } />
113116 </div >
114117 <div class =" flex flex-col gap-2" >
115118 <h3 class =" text-xl" >Sort list</h3 >
116- <AddSort groupList ={ list } bind:sorts ={ list . sorts } { list } type =" groups" />
117- <Sorts groupList ={ list } { list } />
119+ <AddSort bind:sorts type =" groups" />
120+ <Sorts bind: list />
118121 </div >
119122 </div >
120123{/if }
Original file line number Diff line number Diff line change 1818>
1919 <div class ={dash .settings .display ?.forceControlsAtTop === true ? " " : " xl:w-1/3" }>
2020 <div class =" box bg-base-100 h-min" >
21- <GroupControls privacyMode ={dash .privacyMode } list ={dash .groups } memberList ={dash .members } wide ={dash .settings .display ?.forceControlsAtTop === true } />
21+ <GroupControls privacyMode ={dash .privacyMode } bind: list ={dash .groups } memberList ={dash .members } wide ={dash .settings .display ?.forceControlsAtTop === true } />
2222 </div >
2323 {#if dash .groups .settings .filterMode === " advanced" }
2424 <CopyPermaLink tab =" groups" />
Original file line number Diff line number Diff line change 118118 {list }
119119 type =" members"
120120 />
121- <FilterGroups {groupList } { list } memberList ={list } />
121+ <FilterGroups {groupList } bind: list memberList ={list } />
122122 </div >
123123 <div class =" flex flex-col gap-2" >
124124 <h3 class =" text-xl" >Sort list</h3 >
125- <AddSort { groupList } bind:sorts { list } type =" members" />
126- <Sorts { groupList } { list } />
125+ <AddSort bind:sorts type =" members" />
126+ <Sorts bind: list />
127127 </div >
128128 </div >
129129{/if }
You can’t perform that action at this time.
0 commit comments