Andrew 2 månader sedan
förälder
incheckning
773238b3d9

+ 2
- 2
app/Filament/Resources/AlbumCategoryResource.php Visa fil

40
                     ->actions([
40
                     ->actions([
41
                         app(DeepLService::class)->createTranslationAction("Main", ["name"])
41
                         app(DeepLService::class)->createTranslationAction("Main", ["name"])
42
                     ])->columnSpan(5),
42
                     ])->columnSpan(5),
43
-                    TextInput::make('order')->label("排序")->integer()->default(0)->columnSpan(1)
44
                 ])->columns(4)
43
                 ])->columns(4)
45
             ]);
44
             ]);
46
     }
45
     }
66
                     Tables\Actions\DeleteBulkAction::make(),
65
                     Tables\Actions\DeleteBulkAction::make(),
67
                 ]),
66
                 ]),
68
             ])
67
             ])
69
-            ->defaultSort('order', 'desc');
68
+            ->reorderable('order')
69
+            ->defaultSort('order');
70
     }
70
     }
71
 
71
 
72
     public static function getRelations(): array
72
     public static function getRelations(): array

+ 15
- 14
app/Filament/Resources/AlbumResource.php Visa fil

66
                     FileUpload::make('news_img_mobile')->label('列表圖(mobile)')
66
                     FileUpload::make('news_img_mobile')->label('列表圖(mobile)')
67
                         ->directory('album/img')
67
                         ->directory('album/img')
68
                         ->acceptedFileTypes(['image/jpeg', 'image/jpg', 'image/png', 'image/webp'])->required()->imageEditor(),
68
                         ->acceptedFileTypes(['image/jpeg', 'image/jpg', 'image/png', 'image/webp'])->required()->imageEditor(),
69
-                    Translate::make()->schema(fn (string $locale) => [
69
+                    Translate::make()->schema(fn(string $locale) => [
70
                         TextInput::make('title')
70
                         TextInput::make('title')
71
                             ->label('標題')
71
                             ->label('標題')
72
                             ->columnSpan(1),
72
                             ->columnSpan(1),
84
                         ])->columnSpanFull()->default(1)->live(),
84
                         ])->columnSpanFull()->default(1)->live(),
85
                         Group::make()->schema([
85
                         Group::make()->schema([
86
                             TextInput::make('link_video')->label('網址')->nullable(),
86
                             TextInput::make('link_video')->label('網址')->nullable(),
87
-                        ])->visible(fn (Get $get): bool => $get('upload_type') == 1)->columnSpanFull(),
87
+                        ])->visible(fn(Get $get): bool => $get('upload_type') == 1)->columnSpanFull(),
88
                         Group::make()->schema([
88
                         Group::make()->schema([
89
                             FileUpload::make('link_upload')->label('')->directory('album/video')
89
                             FileUpload::make('link_upload')->label('')->directory('album/video')
90
                                 ->acceptedFileTypes(['video/mp4', 'video/mpeg', 'video/quicktime', 'video/x-msvideo', 'video/x-ms-wmv'])
90
                                 ->acceptedFileTypes(['video/mp4', 'video/mpeg', 'video/quicktime', 'video/x-msvideo', 'video/x-ms-wmv'])
91
                                 ->helperText('建議影片寬高限制為:1920*1080px,出血寬度720px,大小限制為:100M以下')
91
                                 ->helperText('建議影片寬高限制為:1920*1080px,出血寬度720px,大小限制為:100M以下')
92
                                 ->maxSize(102400)->nullable(),
92
                                 ->maxSize(102400)->nullable(),
93
-                        ])->visible(fn (Get $get): bool => $get('upload_type') == 2)->columnSpanFull(),
93
+                        ])->visible(fn(Get $get): bool => $get('upload_type') == 2)->columnSpanFull(),
94
                     ])->columnSpanFull(),
94
                     ])->columnSpanFull(),
95
                     Toggle::make('on_top')->inline()->label('置頂輪播')->columnSpanFull(),
95
                     Toggle::make('on_top')->inline()->label('置頂輪播')->columnSpanFull(),
96
                     Toggle::make('homepage_top')->inline()->label('在首頁輪播')->columnSpanFull(),
96
                     Toggle::make('homepage_top')->inline()->label('在首頁輪播')->columnSpanFull(),
97
-                    TextInput::make('order')->label('排序')->integer()->default(0),
98
                 ])->columns(3),
97
                 ])->columns(3),
99
             ]);
98
             ]);
100
     }
99
     }
109
                 TextColumn::make('post_date')->date()->alignCenter(),
108
                 TextColumn::make('post_date')->date()->alignCenter(),
110
                 ImageColumn::make('news_img_pc')->alignCenter(),
109
                 ImageColumn::make('news_img_pc')->alignCenter(),
111
                 TextColumn::make('list_audit_state')->label('狀態')->badge()
110
                 TextColumn::make('list_audit_state')->label('狀態')->badge()
112
-                    ->color(fn (string $state): string => match ($state) {
111
+                    ->color(fn(string $state): string => match ($state) {
113
                         '暫存' => 'warning',
112
                         '暫存' => 'warning',
114
                         '已發佈' => 'success',
113
                         '已發佈' => 'success',
115
                     }),
114
                     }),
120
                 SelectFilter::make('post_date')->label('年份')
119
                 SelectFilter::make('post_date')->label('年份')
121
                     ->options(Album::select(DB::raw("DATE_FORMAT(post_date, '%Y') as year"))->whereNotNull('post_date')->distinct()->pluck('year', 'year')->toArray())
120
                     ->options(Album::select(DB::raw("DATE_FORMAT(post_date, '%Y') as year"))->whereNotNull('post_date')->distinct()->pluck('year', 'year')->toArray())
122
                     ->query(
121
                     ->query(
123
-                        fn (array $data, Builder $query): Builder => $query->when(
122
+                        fn(array $data, Builder $query): Builder => $query->when(
124
                             $data['value'],
123
                             $data['value'],
125
-                            fn (Builder $query, $value): Builder => $query->where('post_date', 'like', $data['value'].'%')
124
+                            fn(Builder $query, $value): Builder => $query->where('post_date', 'like', $data['value'] . '%')
126
                         )
125
                         )
127
                     ),
126
                     ),
128
                 SelectFilter::make('album_category_id')->label('分類')
127
                 SelectFilter::make('album_category_id')->label('分類')
129
                     ->relationship('albumCategory', 'name')
128
                     ->relationship('albumCategory', 'name')
130
-                    ->getOptionLabelFromRecordUsing(fn ($record, $livewire) => $record->getTranslation('name', 'zh_TW')),
129
+                    ->getOptionLabelFromRecordUsing(fn($record, $livewire) => $record->getTranslation('name', 'zh_TW')),
131
                 SelectFilter::make('visible')->label('狀態')
130
                 SelectFilter::make('visible')->label('狀態')
132
                     ->options([
131
                     ->options([
133
                         0 => '暫存',
132
                         0 => '暫存',
134
                         1 => '已發佈',
133
                         1 => '已發佈',
135
                     ])
134
                     ])
136
                     ->query(
135
                     ->query(
137
-                        fn (array $data, Builder $query): Builder => $query->when(
136
+                        fn(array $data, Builder $query): Builder => $query->when(
138
                             $data['value'],
137
                             $data['value'],
139
-                            fn (Builder $query, $value): Builder => $query->where('visible', $data['value'])
138
+                            fn(Builder $query, $value): Builder => $query->where('visible', $data['value'])
140
                         )
139
                         )
141
                     ),
140
                     ),
142
             ])
141
             ])
144
                 Tables\Actions\EditAction::make(),
143
                 Tables\Actions\EditAction::make(),
145
                 Tables\Actions\DeleteAction::make(),
144
                 Tables\Actions\DeleteAction::make(),
146
                 \Filament\Tables\Actions\Action::make('audit')
145
                 \Filament\Tables\Actions\Action::make('audit')
147
-                    ->label(fn ($record) => match ($record->visible) {
146
+                    ->label(fn($record) => match ($record->visible) {
148
                         0 => '發佈',
147
                         0 => '發佈',
149
                         1 => '下架',
148
                         1 => '下架',
150
                     })
149
                     })
151
-                    ->color(fn ($record) => match ($record->visible) {
150
+                    ->color(fn($record) => match ($record->visible) {
152
                         0 => 'warning',
151
                         0 => 'warning',
153
                         1 => 'gray',
152
                         1 => 'gray',
154
                     })
153
                     })
155
-                    ->icon(fn ($record) => match ($record->visible) {
154
+                    ->icon(fn($record) => match ($record->visible) {
156
                         0 => 'heroicon-m-chevron-double-up',
155
                         0 => 'heroicon-m-chevron-double-up',
157
                         1 => 'heroicon-m-chevron-double-down',
156
                         1 => 'heroicon-m-chevron-double-down',
158
                     })
157
                     })
159
                     ->action(function ($record) {
158
                     ->action(function ($record) {
160
-                        $record->visible = ! $record->visible;
159
+                        $record->visible = !$record->visible;
161
                         $record->save();
160
                         $record->save();
162
                     })
161
                     })
163
                     ->outlined()
162
                     ->outlined()
168
                     Tables\Actions\DeleteBulkAction::make(),
167
                     Tables\Actions\DeleteBulkAction::make(),
169
                 ]),
168
                 ]),
170
             ])
169
             ])
170
+            ->reorderable('order')
171
+            ->defaultSort('order')
171
             ->defaultSort('created_at', 'desc');
172
             ->defaultSort('created_at', 'desc');
172
     }
173
     }
173
 
174
 

+ 5
- 3
app/Filament/Resources/BannerResource.php Visa fil

49
                 //
49
                 //
50
                 Section::make('')->schema([
50
                 Section::make('')->schema([
51
                     Group::make()->schema([
51
                     Group::make()->schema([
52
-                        Translate::make()->schema(fn (string $locale) => [
52
+                        Translate::make()->schema(fn(string $locale) => [
53
                             Textarea::make('title')->required($locale == 'zh_TW')->label('大字標題'),
53
                             Textarea::make('title')->required($locale == 'zh_TW')->label('大字標題'),
54
                             Textarea::make('content')->required($locale == 'zh_TW')->label('小字標題'),
54
                             Textarea::make('content')->required($locale == 'zh_TW')->label('小字標題'),
55
                         ])
55
                         ])
63
                                 ->acceptedFileTypes(['image/jpeg', 'image/jpg', 'image/png', 'image/webp'])->required()->imageEditor(),
63
                                 ->acceptedFileTypes(['image/jpeg', 'image/jpg', 'image/png', 'image/webp'])->required()->imageEditor(),
64
                             FileUpload::make('mobile_img')->label('手機板圖片')->directory('banners')->columnSpan(1)
64
                             FileUpload::make('mobile_img')->label('手機板圖片')->directory('banners')->columnSpan(1)
65
                                 ->acceptedFileTypes(['image/jpeg', 'image/jpg', 'image/png', 'image/webp'])->required()->imageEditor(),
65
                                 ->acceptedFileTypes(['image/jpeg', 'image/jpg', 'image/png', 'image/webp'])->required()->imageEditor(),
66
-                            Translate::make()->schema(fn (string $locale) => [
66
+                            Translate::make()->schema(fn(string $locale) => [
67
                                 TextInput::make('img_alt')->required($locale == 'zh_TW')->label('圖片註釋'),
67
                                 TextInput::make('img_alt')->required($locale == 'zh_TW')->label('圖片註釋'),
68
                             ])
68
                             ])
69
                                 ->locales(['zh_TW', 'en'])
69
                                 ->locales(['zh_TW', 'en'])
96
                 Tables\Actions\BulkActionGroup::make([
96
                 Tables\Actions\BulkActionGroup::make([
97
                     Tables\Actions\DeleteBulkAction::make(),
97
                     Tables\Actions\DeleteBulkAction::make(),
98
                 ]),
98
                 ]),
99
-            ])->reorderable('order');
99
+            ])
100
+            ->reorderable('order')
101
+            ->defaultSort('order');
100
     }
102
     }
101
 
103
 
102
     public static function getRelations(): array
104
     public static function getRelations(): array

+ 3
- 4
app/Filament/Resources/NewsCategoryResource.php Visa fil

44
                             app(DeepLService::class)->createTranslationAction("Main", ["name"])
44
                             app(DeepLService::class)->createTranslationAction("Main", ["name"])
45
                         ])->columnSpan(2),
45
                         ])->columnSpan(2),
46
                     ])->columns(4)->columnSpanFull(),
46
                     ])->columns(4)->columnSpanFull(),
47
-                    Group::make()->schema([
48
-                        TextInput::make('order')->label("排序")->integer()->default(0)->columnSpan(1)
49
-                    ])->columnSpanFull()->columns(4),
50
                 ])->columns(4)
47
                 ])->columns(4)
51
             ]);
48
             ]);
52
     }
49
     }
68
                 Tables\Actions\BulkActionGroup::make([
65
                 Tables\Actions\BulkActionGroup::make([
69
                     Tables\Actions\DeleteBulkAction::make(),
66
                     Tables\Actions\DeleteBulkAction::make(),
70
                 ]),
67
                 ]),
71
-            ]);
68
+            ])
69
+            ->reorderable('order')
70
+            ->defaultSort('order');
72
     }
71
     }
73
 
72
 
74
     public static function getRelations(): array
73
     public static function getRelations(): array

+ 2
- 1
app/Filament/Resources/NewsResource.php Visa fil

267
                     Tables\Actions\DeleteBulkAction::make(),
267
                     Tables\Actions\DeleteBulkAction::make(),
268
                 ]),
268
                 ]),
269
             ])
269
             ])
270
-            ->defaultSort('order', 'desc')
270
+            ->reorderable('order')
271
+            ->defaultSort('order')
271
             ->defaultSort('created_at', 'desc');
272
             ->defaultSort('created_at', 'desc');
272
     }
273
     }
273
 
274
 

+ 3
- 1
app/Filament/Resources/ProfilePartResource.php Visa fil

90
                 Tables\Actions\BulkActionGroup::make([
90
                 Tables\Actions\BulkActionGroup::make([
91
                     Tables\Actions\DeleteBulkAction::make(),
91
                     Tables\Actions\DeleteBulkAction::make(),
92
                 ]),
92
                 ]),
93
-            ])->reorderable('order');
93
+            ])
94
+            ->reorderable('order')
95
+            ->defaultSort('order');
94
     }
96
     }
95
 
97
 
96
     public static function getRelations(): array
98
     public static function getRelations(): array

+ 3
- 2
app/Filament/Resources/ProjectResource.php Visa fil

70
                         ->acceptedFileTypes(['image/jpeg', 'image/jpg', 'image/png', 'image/webp'])->required()->imageEditor()->multiple()->maxFiles(20),
70
                         ->acceptedFileTypes(['image/jpeg', 'image/jpg', 'image/png', 'image/webp'])->required()->imageEditor()->multiple()->maxFiles(20),
71
                     FileUpload::make('mobile_img_url')->label('手機版圖片')->directory('project')->reorderable()
71
                     FileUpload::make('mobile_img_url')->label('手機版圖片')->directory('project')->reorderable()
72
                         ->acceptedFileTypes(['image/jpeg', 'image/jpg', 'image/png', 'image/webp'])->required()->imageEditor()->multiple()->maxFiles(20),
72
                         ->acceptedFileTypes(['image/jpeg', 'image/jpg', 'image/png', 'image/webp'])->required()->imageEditor()->multiple()->maxFiles(20),
73
-                    TextInput::make('order')->label('排序')->default('0'),
74
                 ]),
73
                 ]),
75
                 Tabs::make()->schema([
74
                 Tabs::make()->schema([
76
                     Tab::make('專案概要')->schema([
75
                     Tab::make('專案概要')->schema([
257
                 Tables\Actions\BulkActionGroup::make([
256
                 Tables\Actions\BulkActionGroup::make([
258
                     Tables\Actions\DeleteBulkAction::make(),
257
                     Tables\Actions\DeleteBulkAction::make(),
259
                 ]),
258
                 ]),
260
-            ]);
259
+            ])
260
+            ->reorderable('order')
261
+            ->defaultSort('order');
261
     }
262
     }
262
 
263
 
263
     public static function getRelations(): array
264
     public static function getRelations(): array

+ 1
- 2
app/Filament/Resources/UploadFileResource.php Visa fil

50
                             FileUpload::make('upload_link')->label('上傳檔案')->directory('uploadFiles')->columnSpan(1),
50
                             FileUpload::make('upload_link')->label('上傳檔案')->directory('uploadFiles')->columnSpan(1),
51
                         ])->columnSpanFull(),
51
                         ])->columnSpanFull(),
52
                         DatePicker::make('award_date')->label('獲得日期'),
52
                         DatePicker::make('award_date')->label('獲得日期'),
53
-                        TextInput::make('order')->label('排序')->default('0'),
54
                     ])->columns(4)->columnSpanFull(),
53
                     ])->columns(4)->columnSpanFull(),
55
                 ]),
54
                 ]),
56
             ]);
55
             ]);
76
                 ]),
75
                 ]),
77
             ])
76
             ])
78
             ->reorderable('order')
77
             ->reorderable('order')
79
-            ->defaultSort('order', 'asc');
78
+            ->defaultSort('order');
80
     }
79
     }
81
 
80
 
82
     public static function getRelations(): array
81
     public static function getRelations(): array