Skip to content

Commit ad0ee6c

Browse files
committed
update
1 parent 1f3ca2d commit ad0ee6c

4 files changed

Lines changed: 63 additions & 12 deletions

File tree

Gallery.Server/ServiceModel/Talent.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,11 @@ public class JobApplication
9393
public int ContactId { get; set; }
9494

9595
[Reference]
96+
[Format(FormatMethods.Hidden)]
9697
public Job Position { get; set; }
9798

9899
[Reference]
100+
[Format(FormatMethods.Hidden)]
99101
public Contact Applicant { get; set; }
100102

101103
[Reference]

Gallery.Server/wwwroot/css/app.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { inject, ref } from "vue"
2+
import { app } from "app"
3+
import { QueryCoupons } from "/types/mjs"
4+
5+
const BookingGrid = {
6+
template:/*html*/`
7+
<div>
8+
<h1 class="py-8 text-center text-3xl text-indigo-700 font-semibold">Custom Bookings AutoQueryGrid</h1>
9+
<AutoQueryGrid type="Booking" selected-columns="id,name,cost,bookingStartDate,bookingEndDate,discount">
10+
<template #discount="{ discount }">
11+
<TextLink v-if="discount" class="flex items-end" @click.stop="showCoupon(discount.id)" :title="discount.id">
12+
<Icon class="w-5 h-5 mr-1" type="Coupon" />
13+
<PreviewFormat :value="discount.description" />
14+
</TextLink>
15+
</template>
16+
</AutoQueryGrid>
17+
<AutoEditForm v-if="coupon" type="UpdateCoupon" v-model="coupon" @done="close" @save="close" />
18+
</div>
19+
`,
20+
props:['type'],
21+
setup() {
22+
const client = inject('client')
23+
const coupon = ref()
24+
async function showCoupon(id) {
25+
const api = await client.api(new QueryCoupons({ id }))
26+
if (api.succeeded) {
27+
coupon.value = api.response.results[0]
28+
}
29+
}
30+
const close = () => coupon.value = null
31+
return { coupon, showCoupon, close }
32+
}
33+
}
34+
35+
app.components({ BookingGrid })

Gallery.Server/wwwroot/tailwind/ServiceStack.Blazor.html

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -644,7 +644,7 @@ <h2 class=@HeadingClass id="slide-over-title">@Title</h2>
644644
{
645645
<QueryPrefs Show=@ShowQueryPrefs Columns="ViewModelColumns" Prefs="ApiPrefs" Done="() => ShowQueryPrefs = false" Save="saveApiPrefs" />
646646
<div class="pl-1 pt-1 flex flex-wrap">
647-
<div class="flex pb-1 sm:pb-0">
647+
<div class="flex mt-1">
648648
@if (ShowPreferences)
649649
{
650650
<button type="button" class="pl-2 text-gray-700 dark:text-gray-300 hover:text-indigo-600 dark:hover:text-indigo-400" title=@($"{typeof(Model).Name} Preferences") @onclick="_ => ShowQueryPrefs = !ShowQueryPrefs">
@@ -673,7 +673,7 @@ <h2 class=@HeadingClass id="slide-over-title">@Title</h2>
673673
</div>
674674
@if (ShowPagingInfo)
675675
{
676-
<div class="flex pb-1 sm:pb-0">
676+
<div class="flex mt-1">
677677
<div class="px-4 text-lg text-black dark:text-white">
678678
@if (apiLoading)
679679
{
@@ -695,18 +695,18 @@ <h2 class=@HeadingClass id="slide-over-title">@Title</h2>
695695
</div>
696696
</div>
697697
}
698-
<div class="flex pb-1 sm:pb-0">
698+
<div class="flex flex-wrap">
699699
@if (ShowRefresh)
700700
{
701-
<div class="pl-2">
701+
<div class="pl-2 mt-1">
702702
<button type="button" @onclick="RefreshAsync" title="Refresh" class=@ToolbarButtonClass>
703703
<svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 20v-5h-5M4 4v5h5m10.938 2A8.001 8.001 0 0 0 5.07 8m-1.008 5a8.001 8.001 0 0 0 14.868 3" /></svg>
704704
</button>
705705
</div>
706706
}
707707
@if (ShowDownloadCsv)
708708
{
709-
<div class="pl-2">
709+
<div class="pl-2 mt-1">
710710
<button type="button" @onclick="downloadCsv" title="Download CSV" class=@ToolbarButtonClass>
711711
<svg class="w-5 h-5 mr-1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M28.781 4.405h-10.13V2.018L2 4.588v22.527l16.651 2.868v-3.538h10.13A1.162 1.162 0 0 0 30 25.349V5.5a1.162 1.162 0 0 0-1.219-1.095zm.16 21.126H18.617l-.017-1.889h2.487v-2.2h-2.506l-.012-1.3h2.518v-2.2H18.55l-.012-1.3h2.549v-2.2H18.53v-1.3h2.557v-2.2H18.53v-1.3h2.557v-2.2H18.53v-2h10.411z" fill="#20744a" fill-rule="evenodd" /><path fill="#20744a" d="M22.487 7.439h4.323v2.2h-4.323z" /><path fill="#20744a" d="M22.487 10.94h4.323v2.2h-4.323z" /><path fill="#20744a" d="M22.487 14.441h4.323v2.2h-4.323z" /><path fill="#20744a" d="M22.487 17.942h4.323v2.2h-4.323z" /><path fill="#20744a" d="M22.487 21.443h4.323v2.2h-4.323z" /><path fill="#fff" fill-rule="evenodd" d="M6.347 10.673l2.146-.123l1.349 3.709l1.594-3.862l2.146-.123l-2.606 5.266l2.606 5.279l-2.269-.153l-1.532-4.024l-1.533 3.871l-2.085-.184l2.422-4.663l-2.238-4.993z" /></svg>
712712
<span class="text-green-900 dark:text-green-100">Excel</span>
@@ -715,7 +715,7 @@ <h2 class=@HeadingClass id="slide-over-title">@Title</h2>
715715
}
716716
@if (ShowCopyApiUrl)
717717
{
718-
<div class="pl-2">
718+
<div class="pl-2 mt-1">
719719
<button type="button" @onclick="copyApiUrl" title="Copy API URL" class=@ToolbarButtonClass>
720720
@if (copiedApiUrl)
721721
{
@@ -725,21 +725,21 @@ <h2 class=@HeadingClass id="slide-over-title">@Title</h2>
725725
{
726726
<svg class="w-5 h-5 mr-1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g fill="none"><path d="M8 4v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7.242a2 2 0 0 0-.602-1.43L16.083 2.57A2 2 0 0 0 14.685 2H10a2 2 0 0 0-2 2z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /><path d="M16 18v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /></g></svg>
727727
}
728-
<span>Copy URL</span>
728+
<span class="whitespace-nowrap">Copy URL</span>
729729
</button>
730730
</div>
731731
}
732732
@if (hasPrefs && ShowResetPreferences)
733733
{
734-
<div class="pl-2">
734+
<div class="pl-2 mt-1">
735735
<button type="button" @onclick="ResetPreferencesAsync" title="Reset Preferences & Filters" class=@ToolbarButtonClass>
736736
<svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M6.78 2.72a.75.75 0 0 1 0 1.06L4.56 6h8.69a7.75 7.75 0 1 1-7.75 7.75a.75.75 0 0 1 1.5 0a6.25 6.25 0 1 0 6.25-6.25H4.56l2.22 2.22a.75.75 0 1 1-1.06 1.06l-3.5-3.5a.75.75 0 0 1 0-1.06l3.5-3.5a.75.75 0 0 1 1.06 0Z" /></svg>
737737
</button>
738738
</div>
739739
}
740740
@if (ShowFiltersView && filtersCount > 0)
741741
{
742-
<div class="pl-2">
742+
<div class="pl-2 mt-1">
743743
<button type="button" @onclick=@(_ => open = open == Features.Filters ? null : Features.Filters) class=@ToolbarButtonClass aria-expanded="false">
744744
<svg class="flex-none w-5 h-5 mr-2 text-gray-400 dark:text-gray-500 group-hover:text-gray-500" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
745745
<path fill-rule="evenodd" d="M3 3a1 1 0 011-1h12a1 1 0 011 1v3a1 1 0 01-.293.707L12 11.414V15a1 1 0 01-.293.707l-2 2A1 1 0 018 17v-5.586L3.293 6.707A1 1 0 013 6V3z" clip-rule="evenodd" />
@@ -764,10 +764,10 @@ <h2 class=@HeadingClass id="slide-over-title">@Title</h2>
764764
}
765765
@if (ShowNewItem && CreateOp != null)
766766
{
767-
<div class="pl-2">
767+
<div class="pl-2 mt-1">
768768
<button type="button" @onclick="OnShowNewItem" title=@($"New {typeof(Model).Name}") class=@ToolbarButtonClass>
769769
<svg class="w-5 h-5 mr-1 text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-50" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" fill="currentColor"></path></svg>
770-
<span>@($"New {typeof(Model).Name}")</span>
770+
<span class="whitespace-nowrap">@($"New {typeof(Model).Name}")</span>
771771
</button>
772772
</div>
773773
}
@@ -853,6 +853,20 @@ <h2 class=@HeadingClass id="slide-over-title">@Title</h2>
853853
}
854854
</ol>
855855
</nav>
856+
@if (Label != null)
857+
{
858+
<span class="flex" title=@Title>
859+
@if (Icon != null)
860+
{
861+
<Icon Image=@Icon Class="w-5 h-5 mr-1" />
862+
}
863+
@Label
864+
</span>
865+
}
866+
else
867+
{
868+
<PreviewFormat Format=@PropType?.Format Value=@Value />
869+
}
856870
@typeparam TValue
857871
@inherits CheckboxInputBase<TValue>
858872
<div class=@ClassNames("relative flex items-start", CssClass())>

0 commit comments

Comments
 (0)