Skip to content

Commit 388844b

Browse files
committed
add country flag
1 parent 997bfe5 commit 388844b

File tree

2 files changed

+58
-37
lines changed

2 files changed

+58
-37
lines changed

live-demo/app/resources/apartments.ts

Lines changed: 40 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,46 @@ export default {
4747
showIn: ['list', 'create', 'edit', 'filter', 'show'], // all available options
4848
maxLength: 255, // you can set max length for string fields
4949
minLength: 3, // you can set min length for string fields
50+
},
51+
{
52+
name: 'country',
53+
components: {
54+
list: '@/renderers/CountryFlag.vue'
55+
},
56+
enum: [{
57+
value: 'US',
58+
label: 'United States'
59+
}, {
60+
value: 'DE',
61+
label: 'Germany'
62+
}, {
63+
value: 'FR',
64+
label: 'France'
65+
}, {
66+
value: 'GB',
67+
label: 'United Kingdom'
68+
}, {
69+
value:'NL',
70+
label: 'Netherlands'
71+
}, {
72+
value: 'IT',
73+
label: 'Italy'
74+
}, {
75+
value: 'ES',
76+
label: 'Spain'
77+
}, {
78+
value: 'DK',
79+
label: 'Denmark'
80+
}, {
81+
value: 'PL',
82+
label: 'Poland'
83+
}, {
84+
value: 'UA',
85+
label: 'Ukraine'
86+
}, {
87+
value: null,
88+
label: 'Not defined'
89+
}],
5090
},
5191
{
5292
name: 'apartment_image',
@@ -89,43 +129,6 @@ export default {
89129
sortable: false,
90130
showIn: ['show', 'edit', 'create', 'filter'],
91131
},
92-
{
93-
name: 'country',
94-
enum: [{
95-
value: 'US',
96-
label: 'United States'
97-
}, {
98-
value: 'DE',
99-
label: 'Germany'
100-
}, {
101-
value: 'FR',
102-
label: 'France'
103-
}, {
104-
value: 'GB',
105-
label: 'United Kingdom'
106-
}, {
107-
value:'NL',
108-
label: 'Netherlands'
109-
}, {
110-
value: 'IT',
111-
label: 'Italy'
112-
}, {
113-
value: 'ES',
114-
label: 'Spain'
115-
}, {
116-
value: 'DK',
117-
label: 'Denmark'
118-
}, {
119-
value: 'PL',
120-
label: 'Poland'
121-
}, {
122-
value: 'UA',
123-
label: 'Ukraine'
124-
}, {
125-
value: null,
126-
label: 'Not defined'
127-
}],
128-
},
129132
{
130133
name: 'listed',
131134
required: true, // will be required on create/edit

live-demo/app/resources/translations.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ import CompletionAdapterOpenAIChatGPT from "@adminforth/completion-adapter-open-
44
import I18nPlugin from "@adminforth/i18n";
55
import { v1 as uuid } from "uuid";
66

7+
const blockDemoUsers = async ({ record, adminUser, resource }) => {
8+
if (adminUser.dbUser && adminUser.dbUser.role !== 'superadmin') {
9+
return { ok: false, error: "You can't do this on demo.adminforth.dev" }
10+
}
11+
return { ok: true };
12+
}
713

814
export default {
915
dataSource: "maindb",
@@ -12,6 +18,17 @@ export default {
1218
label: "Translations",
1319

1420
recordLabel: (r: any) => `✍️ ${r.en_string}`,
21+
hooks: {
22+
delete: {
23+
beforeSave: blockDemoUsers,
24+
},
25+
edit: {
26+
beforeSave: blockDemoUsers,
27+
},
28+
create: {
29+
beforeSave: blockDemoUsers,
30+
},
31+
},
1532
plugins: [
1633
new I18nPlugin({
1734
supportedLanguages: ['en', 'uk', 'ja', 'fr'],
@@ -48,6 +65,7 @@ export default {
4865
],
4966
options: {
5067
listPageSize: 30,
68+
5169
},
5270
columns: [
5371
{

0 commit comments

Comments
 (0)