@paris-ias/trees 1.8.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/LICENSE +679 -0
  2. package/dist/form/action.js +83 -0
  3. package/dist/form/affiliation.js +178 -0
  4. package/dist/form/apps.js +132 -0
  5. package/dist/form/disciplines.js +30 -0
  6. package/dist/form/events.js +836 -0
  7. package/dist/form/fellowships.js +1307 -0
  8. package/dist/form/files.js +30 -0
  9. package/dist/form/mailing.js +43 -0
  10. package/dist/form/news.js +252 -0
  11. package/dist/form/people.js +658 -0
  12. package/dist/form/projects.js +338 -0
  13. package/dist/form/publications.js +364 -0
  14. package/dist/form/tags.js +38 -0
  15. package/dist/form/users.js +576 -0
  16. package/dist/graphql/client/action/query.get.action.gql +22 -0
  17. package/dist/graphql/client/action/query.list.action.gql +32 -0
  18. package/dist/graphql/client/affiliation/query.get.affiliations.gql +37 -0
  19. package/dist/graphql/client/affiliation/query.list.affiliations.gql +43 -0
  20. package/dist/graphql/client/apps/query.get.apps.gql +33 -0
  21. package/dist/graphql/client/apps/query.list.apps.gql +43 -0
  22. package/dist/graphql/client/events/query.get.events.gql +119 -0
  23. package/dist/graphql/client/events/query.list.events.gql +40 -0
  24. package/dist/graphql/client/fellowships/query.get.fellowships.gql +163 -0
  25. package/dist/graphql/client/fellowships/query.list.fellowships.gql +49 -0
  26. package/dist/graphql/client/files/query.get.files.gql +24 -0
  27. package/dist/graphql/client/files/query.list.files.gql +37 -0
  28. package/dist/graphql/client/mailing/query.get.mailing.gql +24 -0
  29. package/dist/graphql/client/mailing/query.list.mailing.gql +23 -0
  30. package/dist/graphql/client/misc/apex.mutations.delete.gql +0 -0
  31. package/dist/graphql/client/misc/apex.mutations.upsert.gql +0 -0
  32. package/dist/graphql/client/misc/apex.queries.login.gql +0 -0
  33. package/dist/graphql/client/misc/query.get.disciplines.gql +17 -0
  34. package/dist/graphql/client/misc/query.get.tags.gql +13 -0
  35. package/dist/graphql/client/misc/query.list.disciplines.gql +23 -0
  36. package/dist/graphql/client/misc/query.list.tags.gql +23 -0
  37. package/dist/graphql/client/news/query.get.news.gql +128 -0
  38. package/dist/graphql/client/news/query.list.news.gql +35 -0
  39. package/dist/graphql/client/people/query.get.people.gql +173 -0
  40. package/dist/graphql/client/people/query.get.users.gql +0 -0
  41. package/dist/graphql/client/people/query.list.people.gql +55 -0
  42. package/dist/graphql/client/people/query.list.users.gql +31 -0
  43. package/dist/graphql/client/projects/query.get.projects.gql +166 -0
  44. package/dist/graphql/client/projects/query.list.projects.gql +33 -0
  45. package/dist/graphql/client/publications/query.get.publications.gql +169 -0
  46. package/dist/graphql/client/publications/query.list.publications.gql +35 -0
  47. package/dist/graphql/schemas/apex-resolvers-list.json +45 -0
  48. package/dist/graphql/schemas/schema.apex.graphql +946 -0
  49. package/dist/graphql/schemas/schema.website.graphql +794 -0
  50. package/dist/graphql/schemas/website-resolvers-list.json +22 -0
  51. package/dist/list/action.js +133 -0
  52. package/dist/list/affiliation.js +133 -0
  53. package/dist/list/apps.js +133 -0
  54. package/dist/list/disciplines.js +132 -0
  55. package/dist/list/events.js +186 -0
  56. package/dist/list/fellowships.js +149 -0
  57. package/dist/list/files.js +132 -0
  58. package/dist/list/mailing.js +132 -0
  59. package/dist/list/news.js +135 -0
  60. package/dist/list/people.js +176 -0
  61. package/dist/list/projects.js +135 -0
  62. package/dist/list/publications.js +152 -0
  63. package/dist/list/tags.js +133 -0
  64. package/dist/list/users.js +176 -0
  65. package/index.ts +63 -0
  66. package/lib/README.md +206 -0
  67. package/lib/buildClientGraphQL.ts +342 -0
  68. package/lib/buildDefaults.ts +0 -0
  69. package/lib/buildSchemas.ts +109 -0
  70. package/lib/generate.ts +505 -0
  71. package/lib/generateAll.ts +231 -0
  72. package/lib/utils.ts +24 -0
  73. package/package.json +34 -0
  74. package/readme.md +116 -0
  75. package/src/LICENSE +661 -0
  76. package/src/action/graphql/client/query.get.action.gql +22 -0
  77. package/src/action/graphql/client/query.list.action.gql +32 -0
  78. package/src/action/graphql/server/apex.types.action.graphql +15 -0
  79. package/src/action/models/action.ts +147 -0
  80. package/src/affiliation/graphql/client/query.get.affiliations.gql +37 -0
  81. package/src/affiliation/graphql/client/query.list.affiliations.gql +43 -0
  82. package/src/affiliation/graphql/server/shared.types.affiliations.graphql +20 -0
  83. package/src/affiliation/models/affiliation.ts +130 -0
  84. package/src/affiliation/models/member.ts +11 -0
  85. package/src/affiliation/models/partner.ts +9 -0
  86. package/src/apps/graphql/client/query.get.apps.gql +33 -0
  87. package/src/apps/graphql/client/query.list.apps.gql +43 -0
  88. package/src/apps/models/apps.ts +195 -0
  89. package/src/events/graphql/client/query.get.events.gql +119 -0
  90. package/src/events/graphql/client/query.list.events.gql +40 -0
  91. package/src/events/graphql/server/shared.inputs.events.graphql +24 -0
  92. package/src/events/models/eventSlot.ts +73 -0
  93. package/src/events/models/events.ts +569 -0
  94. package/src/fellowships/graphql/client/query.get.fellowships.gql +163 -0
  95. package/src/fellowships/graphql/client/query.list.fellowships.gql +49 -0
  96. package/src/fellowships/graphql/server/apex.inputs.fellowshipDetails.graphql +13 -0
  97. package/src/fellowships/graphql/server/shared.types.fellowshipDetails.graphql +13 -0
  98. package/src/fellowships/graphql/server/shared.types.fellowships.graphql +38 -0
  99. package/src/fellowships/models/fellowshipDetails.ts +145 -0
  100. package/src/fellowships/models/fellowships.ts +341 -0
  101. package/src/files/graphql/client/query.get.files.gql +24 -0
  102. package/src/files/graphql/client/query.list.files.gql +37 -0
  103. package/src/files/graphql/server/apex.inputs.files.graphql +7 -0
  104. package/src/files/graphql/server/apex.inputs.video.graphql +9 -0
  105. package/src/files/graphql/server/apex.types.files.graphql +4 -0
  106. package/src/files/graphql/server/shared.inputs.image.graphql +9 -0
  107. package/src/files/graphql/server/shared.types.files.graphql +15 -0
  108. package/src/files/graphql/server/shared.types.image.graphql +9 -0
  109. package/src/files/graphql/server/shared.types.video.graphql +9 -0
  110. package/src/files/models/files.ts +113 -0
  111. package/src/files/models/gallery.ts +11 -0
  112. package/src/files/models/image.ts +159 -0
  113. package/src/files/models/video.ts +166 -0
  114. package/src/form.ts +52 -0
  115. package/src/index.ts +98 -0
  116. package/src/list.ts +34 -0
  117. package/src/mailing/graphql/client/query.get.mailing.gql +24 -0
  118. package/src/mailing/graphql/client/query.list.mailing.gql +23 -0
  119. package/src/mailing/graphql/server/apex.types.mailing.graphql +13 -0
  120. package/src/mailing/models/mailing.ts +123 -0
  121. package/src/misc/graphql/client/apex.mutations.delete.gql +0 -0
  122. package/src/misc/graphql/client/apex.mutations.upsert.gql +0 -0
  123. package/src/misc/graphql/client/apex.queries.login.gql +0 -0
  124. package/src/misc/graphql/client/query.get.disciplines.gql +17 -0
  125. package/src/misc/graphql/client/query.get.tags.gql +13 -0
  126. package/src/misc/graphql/client/query.list.disciplines.gql +23 -0
  127. package/src/misc/graphql/client/query.list.tags.gql +23 -0
  128. package/src/misc/graphql/server/apex.inputs.misc.graphql +13 -0
  129. package/src/misc/graphql/server/apex.inputs.socials.graphql +12 -0
  130. package/src/misc/graphql/server/apex.mutations.graphql +23 -0
  131. package/src/misc/graphql/server/apex.queries.graphql +36 -0
  132. package/src/misc/graphql/server/apex.types.disciplines.graphql +4 -0
  133. package/src/misc/graphql/server/apex.types.tags.graphql +4 -0
  134. package/src/misc/graphql/server/shared.enums.graphql +112 -0
  135. package/src/misc/graphql/server/shared.inputs.misc.graphql +101 -0
  136. package/src/misc/graphql/server/shared.queries.graphql +35 -0
  137. package/src/misc/graphql/server/shared.types.disciplines.graphql +8 -0
  138. package/src/misc/graphql/server/shared.types.events.graphql +39 -0
  139. package/src/misc/graphql/server/shared.types.location.graphql +17 -0
  140. package/src/misc/graphql/server/shared.types.misc.graphql +120 -0
  141. package/src/misc/graphql/server/shared.types.related.graphql +10 -0
  142. package/src/misc/graphql/server/shared.types.relatedAffiliation.graphql +7 -0
  143. package/src/misc/graphql/server/shared.types.relatedEvent.graphql +7 -0
  144. package/src/misc/graphql/server/shared.types.relatedFellowships.graphql +7 -0
  145. package/src/misc/graphql/server/shared.types.relatedNews.graphql +7 -0
  146. package/src/misc/graphql/server/shared.types.relatedPeople.graphql +6 -0
  147. package/src/misc/graphql/server/shared.types.relatedProject.graphql +7 -0
  148. package/src/misc/graphql/server/shared.types.relatedPublications.graphql +6 -0
  149. package/src/misc/graphql/server/shared.types.socials.graphql +22 -0
  150. package/src/misc/graphql/server/shared.types.tags.graphql +11 -0
  151. package/src/misc/graphql/server/website.mutations.graphql +4 -0
  152. package/src/misc/models/disciplines.ts +116 -0
  153. package/src/misc/models/location.ts +136 -0
  154. package/src/misc/models/organizers.ts +13 -0
  155. package/src/misc/models/related.ts +123 -0
  156. package/src/misc/models/relatedEvents.ts +16 -0
  157. package/src/misc/models/relatedFellowships.ts +7 -0
  158. package/src/misc/models/relatedNews.ts +13 -0
  159. package/src/misc/models/relatedPeople.ts +8 -0
  160. package/src/misc/models/relatedProject.ts +14 -0
  161. package/src/misc/models/relatedPublications.ts +14 -0
  162. package/src/misc/models/socials.ts +133 -0
  163. package/src/misc/models/sponsor.ts +13 -0
  164. package/src/misc/models/tags.ts +116 -0
  165. package/src/misc/models/taxonomy.ts +1 -0
  166. package/src/model.ts +7 -0
  167. package/src/news/graphql/client/query.get.news.gql +128 -0
  168. package/src/news/graphql/client/query.list.news.gql +35 -0
  169. package/src/news/graphql/server/share.types.news.graphql +27 -0
  170. package/src/news/models/news.ts +257 -0
  171. package/src/people/graphql/client/query.get.people.gql +173 -0
  172. package/src/people/graphql/client/query.get.users.gql +0 -0
  173. package/src/people/graphql/client/query.list.people.gql +55 -0
  174. package/src/people/graphql/client/query.list.users.gql +31 -0
  175. package/src/people/graphql/server/apex.inputs.consent.graphql +9 -0
  176. package/src/people/graphql/server/apex.inputs.groups.graphql +8 -0
  177. package/src/people/graphql/server/apex.inputs.vintage.graphql +6 -0
  178. package/src/people/graphql/server/shared.types.consent.graphql +9 -0
  179. package/src/people/graphql/server/shared.types.groups.graphql +8 -0
  180. package/src/people/graphql/server/shared.types.people.graphql +29 -0
  181. package/src/people/graphql/server/shared.types.position.graphql +6 -0
  182. package/src/people/graphql/server/shared.types.users.graphql +17 -0
  183. package/src/people/graphql/server/shared.types.vintage.graphql +6 -0
  184. package/src/people/models/consent.ts +82 -0
  185. package/src/people/models/discussants.ts +9 -0
  186. package/src/people/models/experiences.ts +38 -0
  187. package/src/people/models/fellows.ts +12 -0
  188. package/src/people/models/groups.ts +58 -0
  189. package/src/people/models/people.ts +244 -0
  190. package/src/people/models/position.ts +62 -0
  191. package/src/people/models/speakers.ts +9 -0
  192. package/src/people/models/users.ts +252 -0
  193. package/src/people/models/vintage.ts +124 -0
  194. package/src/projects/graphql/client/query.get.projects.gql +166 -0
  195. package/src/projects/graphql/client/query.list.projects.gql +33 -0
  196. package/src/projects/graphql/server/shared.types.projects.graphql +29 -0
  197. package/src/projects/models/projects.ts +249 -0
  198. package/src/publications/graphql/client/query.get.publications.gql +169 -0
  199. package/src/publications/graphql/client/query.list.publications.gql +35 -0
  200. package/src/publications/graphql/server/shared.types.publications.graphql +34 -0
  201. package/src/publications/models/article.ts +262 -0
  202. package/src/publications/models/publications.ts +306 -0
@@ -0,0 +1,262 @@
1
+ import { Image } from "../../files/models/image"
2
+ import { People } from "../../people/models/people"
3
+ import { Disciplines } from "../../misc/models/disciplines"
4
+ import { Video } from "../../files/models/video"
5
+ import { Tag } from "../../misc/models/tags"
6
+ import Model from "../../model"
7
+ // define format from set of articles formats offered by PIAS (i.e. Zenodo api)import { formType } from "./form"
8
+ import { formType } from "../../form"
9
+ export interface Article {
10
+ name: string
11
+ abstract: string
12
+ image?: Image
13
+ video?: Video
14
+ needDOI: boolean
15
+ DOI?: string
16
+ Zid?: string
17
+ highlight: boolean
18
+ date?: Date
19
+ authors: People[]
20
+ issue?: string
21
+ lang: string
22
+ disciplines?: Disciplines[]
23
+ //format: Format[]
24
+ tags?: Tag[]
25
+ }
26
+
27
+ const defautConfig: Model = {
28
+ path: "content/article", // path to the folder where the content is stored
29
+ list: {
30
+ create: true, // allow to create new items
31
+ filters: {
32
+ year: {
33
+ type: "Select",
34
+ items: "",
35
+ },
36
+ },
37
+ sort: {
38
+ // sort options
39
+ nameasc: {
40
+ // by name from a to z
41
+ icon: "sort-alphabetical-ascending",
42
+ text: "by-name-from-a-to-z",
43
+ value: ["name", 1],
44
+ },
45
+ namedesc: {
46
+ // by name from z to a
47
+ icon: "sort-alphabetical-descending",
48
+ text: "by-name-from-z-to-a",
49
+ value: ["name", -1],
50
+ },
51
+ dateasc: {
52
+ // by date from most recent to oldest
53
+ icon: "sort-calendar-descending",
54
+ text: "by-date-most-recent-first",
55
+ value: ["date", -1],
56
+ default: true,
57
+ },
58
+ datedesc: {
59
+ // by date from oldest to most recent
60
+ icon: "sort-calendar-ascending",
61
+ text: "by-date-oldest-first",
62
+ value: ["date", 1],
63
+ },
64
+ },
65
+ views: {
66
+ rows: {
67
+ name: "rows",
68
+ icon: "view-list",
69
+ perPage: {
70
+ options: [9, 12, 16],
71
+ default: 9,
72
+ },
73
+ },
74
+ dense: {
75
+ default: true,
76
+ name: "dense",
77
+ icon: "land-rows-horizontal",
78
+ perPage: {
79
+ options: [20, 40, 60, 80, 100],
80
+ default: 20,
81
+ },
82
+ },
83
+ tiles: {
84
+ name: "tiles",
85
+ icon: "view-quilt",
86
+ },
87
+ grid: {
88
+ name: "grid",
89
+ icon: "view-day",
90
+ },
91
+ },
92
+ },
93
+ form: {
94
+ name: {
95
+ label: "name",
96
+ component: "TextField",
97
+ type: formType.Primitive,
98
+
99
+ rules: {
100
+ required: true,
101
+ min: 5,
102
+ max: 200,
103
+ },
104
+ meta: "name",
105
+ },
106
+ abstract: {
107
+ label: "abstract",
108
+ component: "TextArea",
109
+ type: formType.Primitive,
110
+
111
+ rules: {
112
+ required: true,
113
+ min: 5,
114
+ max: 2000,
115
+ },
116
+ meta: "abstract",
117
+ },
118
+ image: {
119
+ label: "image",
120
+ component: "ImagePicker",
121
+ type: formType.Document,
122
+
123
+ rules: {
124
+ required: true,
125
+ },
126
+ meta: "image",
127
+ },
128
+ video: {
129
+ label: "video",
130
+ component: "ObjectContainerPanel",
131
+ type: formType.Template,
132
+
133
+ rules: {
134
+ required: true,
135
+ },
136
+ meta: "video",
137
+ },
138
+ needDOI: {
139
+ label: "needDOI",
140
+ component: "Checkbox",
141
+ type: formType.Primitive,
142
+
143
+ rules: {
144
+ required: true,
145
+ },
146
+ meta: "needDOI",
147
+ },
148
+ DOI: {
149
+ label: "DOI",
150
+ component: "TextField",
151
+ type: formType.Primitive,
152
+
153
+ rules: {
154
+ required: true,
155
+ DOI: true,
156
+ },
157
+ meta: "DOI",
158
+ },
159
+ Zid: {
160
+ label: "Zid",
161
+ component: "TextField",
162
+ type: formType.Primitive,
163
+
164
+ rules: {
165
+ required: true,
166
+ // TODO add a Zenodo Id validation regex
167
+ },
168
+ meta: "Zid",
169
+ },
170
+ highlight: {
171
+ label: "highlight",
172
+ component: "Checkbox",
173
+ type: formType.Primitive,
174
+
175
+ rules: {
176
+ required: true,
177
+ },
178
+ meta: "highlight",
179
+ },
180
+ date: {
181
+ label: "date",
182
+ component: "DatePicker", // TODO create the date picker
183
+ type: formType.Primitive,
184
+
185
+ rules: {
186
+ required: true,
187
+ date: true,
188
+ },
189
+ meta: "date",
190
+ },
191
+ authors: {
192
+ label: "authors",
193
+ component: "CollectionContainerPanel",
194
+ type: formType.Template,
195
+
196
+ rules: {
197
+ required: true,
198
+ },
199
+ meta: "authors",
200
+ },
201
+ issue: {
202
+ label: "issue",
203
+ component: "TextField",
204
+ type: formType.Primitive,
205
+
206
+ rules: {
207
+ required: true,
208
+ },
209
+ meta: "issue",
210
+ },
211
+ lang: {
212
+ label: "lang",
213
+ component: "TextField",
214
+ type: formType.Primitive,
215
+
216
+ rules: {
217
+ required: true,
218
+ },
219
+ meta: "lang",
220
+ },
221
+ disciplines: {
222
+ label: "disciplines",
223
+ component: "DisciplinePicker",
224
+ type: formType.Document,
225
+
226
+ rules: {
227
+ required: true,
228
+ },
229
+ meta: "disciplines",
230
+ },
231
+ // format: {
232
+ // // TODO define inline @Antoine
233
+ // label: "format",
234
+ // component: "CollectionContainerPanel",
235
+ // type: formType.Array,
236
+
237
+ // //
238
+ // rules: {
239
+ // required: true,
240
+ // },
241
+ // show: {
242
+ // default: true,
243
+ // switchIf: [],
244
+ // disjonctive: false,
245
+ // },
246
+ // meta: "format",
247
+ // },
248
+ tags: {
249
+ label: "tag",
250
+ component: "TagPicker",
251
+ type: formType.Document,
252
+ rules: {
253
+ required: true,
254
+ min: 5,
255
+ max: 200,
256
+ },
257
+ meta: "tag",
258
+ },
259
+ },
260
+ }
261
+
262
+ export default defautConfig
@@ -0,0 +1,306 @@
1
+ import { Image } from "../../files/models/image"
2
+ import { Affiliation } from "../../affiliation/models/affiliation"
3
+ import { Files } from "../../files/models/files"
4
+ import { Video } from "../../files/models/video"
5
+ import Model from "../../model"
6
+ import { Related } from "../../misc/models/related"
7
+ import { Tag } from "../../misc/models/tags"
8
+ import { eventCategories } from "../../events/models/events"
9
+ import { Disciplines } from "../../misc/models/disciplines"
10
+ import { formType } from "../../form"
11
+ export interface Publications {
12
+ name: string
13
+ subtitle?: string
14
+ description?: string
15
+ summary?: string
16
+ url?: URL
17
+ affiliations?: Affiliation[]
18
+ related?: Related[]
19
+ gallery?: Image[]
20
+ image?: Image
21
+ video?: Video
22
+ tags?: Tag[]
23
+ disciplines?: Disciplines[]
24
+ files?: Files[]
25
+ color?: string
26
+ date?: Date
27
+ type: publicationType
28
+ eventCategories: eventCategories
29
+ }
30
+
31
+ export enum publicationType {
32
+ Article = "ARTICLE",
33
+ ConferencePaper = "CONFERENCE_PAPER",
34
+ Book = "BOOK",
35
+ BookChapter = "BOOK_CHAPTER",
36
+ Thesis = "THESIS",
37
+ Report = "REPORT",
38
+ Software = "SOFTWARE",
39
+ Data = "DATA",
40
+ Video = "VIDEO",
41
+ Audio = "AUDIO",
42
+ Podcast = "PODCAST",
43
+ }
44
+ const defaultConfig: Model = {
45
+ list: {
46
+ create: true, // allow to create new items
47
+ filters: {
48
+ affiliations: {
49
+ type: "Select",
50
+ items: [],
51
+ multiple: true,
52
+ },
53
+ tags: {
54
+ type: "Select",
55
+ multiple: true,
56
+ },
57
+ disciplines: {
58
+ type: "AutoComplete",
59
+ items: [],
60
+ multiple: true,
61
+ },
62
+ type: {
63
+ type: "Select",
64
+ items: publicationType,
65
+ multiple: true,
66
+ },
67
+ },
68
+ sort: {
69
+ // sort options
70
+ nameasc: {
71
+ // by name from a to z
72
+ icon: "sort-alphabetical-ascending",
73
+ text: "by-name-from-a-to-z",
74
+ value: ["name", 1],
75
+ },
76
+ namedesc: {
77
+ // by name from z to a
78
+ icon: "sort-alphabetical-descending",
79
+ text: "by-name-from-z-to-a",
80
+ value: ["name", -1],
81
+ },
82
+ dateasc: {
83
+ // by date from most recent to oldest
84
+ icon: "sort-calendar-descending",
85
+ text: "by-date-most-recent-first",
86
+ value: ["date", -1],
87
+ default: true,
88
+ },
89
+ datedesc: {
90
+ // by date from oldest to most recent
91
+ icon: "sort-calendar-ascending",
92
+ text: "by-date-oldest-first",
93
+ value: ["date", 1],
94
+ },
95
+ },
96
+ views: {
97
+ rows: {
98
+ name: "rows",
99
+ icon: "view-list",
100
+ perPage: {
101
+ options: [9, 12, 16],
102
+ default: 9,
103
+ },
104
+ },
105
+ dense: {
106
+ default: true,
107
+ name: "dense",
108
+ icon: "land-rows-horizontal",
109
+ perPage: {
110
+ options: [20, 40, 60, 80, 100],
111
+ default: 20,
112
+ },
113
+ } /*
114
+ expanded: {
115
+ name: "expanded",
116
+ icon: "arrow-expand-vertical",
117
+ }, */,
118
+ },
119
+ },
120
+ form: {
121
+ name: {
122
+ label: "name",
123
+ component: "TextField",
124
+ type: formType.Primitive,
125
+
126
+ i18n: true,
127
+ rules: {
128
+ required: true,
129
+ min: 5,
130
+ max: 200,
131
+ },
132
+ meta: "name", // item type on schema.org
133
+ },
134
+ subtitle: {
135
+ label: "subtitle",
136
+ component: "TextArea",
137
+ type: formType.Primitive,
138
+ i18n: true,
139
+ rules: {
140
+ required: true,
141
+ min: 5,
142
+ max: 200,
143
+ },
144
+ meta: "subtitle", // item type on schema.org
145
+ },
146
+ description: {
147
+ label: "description",
148
+ component: "TextArea",
149
+ type: formType.Primitive,
150
+ i18n: true,
151
+ rules: {
152
+ required: true,
153
+ min: 5,
154
+ max: 2000,
155
+ },
156
+ meta: "description", // item type on schema.org
157
+ },
158
+ summary: {
159
+ label: "summary",
160
+ component: "TextArea",
161
+ type: formType.Primitive,
162
+ i18n: true,
163
+ rules: {
164
+ required: true,
165
+ min: 5,
166
+ max: 2000,
167
+ },
168
+ meta: "summary", // item type on schema.org
169
+ },
170
+ url: {
171
+ label: "url",
172
+ component: "TextField",
173
+ type: formType.Primitive,
174
+
175
+ rules: {
176
+ required: true,
177
+ url: true,
178
+ },
179
+ meta: "url", // item type on schema.org
180
+ },
181
+ affiliations: {
182
+ label: "affiliations",
183
+ component: "AffiliationPicker",
184
+ type: formType.Document,
185
+
186
+ meta: "affiliations",
187
+ },
188
+ eventCategories: {
189
+ label: "eventCategories",
190
+ component: "ListSelect",
191
+ type: formType.Primitive,
192
+
193
+ rules: {
194
+ required: true,
195
+ },
196
+ meta: "eventCategories",
197
+ },
198
+ type: {
199
+ label: "type",
200
+ component: "ListSelect",
201
+ type: formType.Primitive,
202
+
203
+ rules: {
204
+ required: true,
205
+ },
206
+ meta: "type",
207
+ },
208
+ related: {
209
+ label: "related",
210
+ component: "ObjectContainerPanel",
211
+ type: formType.Template,
212
+
213
+ rules: {
214
+ required: true,
215
+ min: 5,
216
+ max: 200,
217
+ },
218
+ meta: "related",
219
+ },
220
+ disciplines: {
221
+ label: "disciplines",
222
+ component: "DisciplinePicker",
223
+ type: formType.Document,
224
+
225
+ rules: {
226
+ required: true,
227
+ min: 5,
228
+ max: 200,
229
+ },
230
+ meta: "disciplines",
231
+ },
232
+ image: {
233
+ label: "image",
234
+ component: "ImagePicker",
235
+ type: formType.Document,
236
+
237
+ rules: {
238
+ required: true,
239
+ min: 5,
240
+ max: 200,
241
+ },
242
+ meta: "image",
243
+ },
244
+ gallery: {
245
+ label: "gallery",
246
+ component: "ImagePicker",
247
+ type: formType.Document,
248
+ multiple: true,
249
+ meta: "gallery",
250
+ },
251
+ video: {
252
+ label: "video",
253
+ component: "ObjectContainerPanel",
254
+ type: formType.Template,
255
+
256
+ meta: "video",
257
+ },
258
+ tags: {
259
+ label: "tags",
260
+ component: "TagPicker",
261
+ type: formType.Document,
262
+ rules: {
263
+ required: true,
264
+ },
265
+ meta: "tags",
266
+ },
267
+ files: {
268
+ label: "files",
269
+ component: "FilePicker",
270
+ type: formType.Document,
271
+
272
+ meta: "files",
273
+ },
274
+ color: {
275
+ label: "color",
276
+ component: "ColorPicker",
277
+ type: formType.Primitive,
278
+ rules: {
279
+ required: true,
280
+ color: true,
281
+ },
282
+ meta: "color",
283
+ },
284
+ date: {
285
+ label: "date",
286
+ component: "DatePicker",
287
+ type: formType.Primitive,
288
+ rules: {
289
+ required: true,
290
+ date: true,
291
+ },
292
+ meta: "date",
293
+ },
294
+ featured: {
295
+ label: "featured",
296
+ component: "DatePicker",
297
+ type: formType.Primitive,
298
+ rules: {
299
+ required: true,
300
+ date: true,
301
+ },
302
+ meta: "featured",
303
+ },
304
+ },
305
+ }
306
+ export default defaultConfig