@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,569 @@
1
+ import { Location } from "../../misc/models/location"
2
+ import { Image } from "../../files/models/image"
3
+ import { EventSlot } from "./eventSlot"
4
+ import { Disciplines } from "../../misc/models/disciplines"
5
+ import { Tag } from "../../misc/models/tags"
6
+ import { People } from "../../people/models/people"
7
+ import { Affiliation } from "../../affiliation/models/affiliation"
8
+ import { Files } from "../../files/models/files"
9
+ import { Related } from "../../misc/models/related"
10
+ import Model from "../../model"
11
+ import { formType } from "../../form"
12
+
13
+ export interface Events {
14
+ affiliations?: Affiliation[] // 3 - Server & Client - //Bottom left Document
15
+ appId: string // 0 - Server & Client -
16
+ availableSlots: number // 0 - Server & Client - ? => Claire
17
+ bookingState: bookingState // 0 - Server & Client -
18
+ category: eventCategories // 0 - Server & Client -
19
+ createdAt?: Date // 0 - Server & Client -
20
+ dateText: string // 0 - Server & Client -
21
+ delay?: number // 0 - Server & Client -
22
+ description: string // 0 - Server & Client -
23
+ details: String // 0 - Server & Client -
24
+ disciplines?: Disciplines[] // 3 - Server & Client //Inside=> Presentation
25
+ discussants?: People[] // 0 - Server & Client -
26
+ files?: Files[] // 3 - Server & Client -
27
+ lang: string[]
28
+ image?: Image // 3 - Server & Client -
29
+ gallery?: Image[]
30
+ name: string // 0 - Server & Client -
31
+ eventSlot?: EventSlot[] //// 3 - Server -
32
+ organizers: People[] | Affiliation[] // 3 - Server & Client -
33
+ outside: boolean // 0 - Server & Client - // Near inscription
34
+ location: Location // 0 - Server & Client -
35
+ organiserType: organiserType // server & client - 0 = IAS, 1 = member, 2 = fellow, 3 = external
36
+ program: String // 0 - Server & Client -
37
+ related: Related
38
+ // slots?: EventSlot[]; //// 3 - Server
39
+ speakers?: People[] // 3 - Server & Client -
40
+ start: string // 0 - Server & Client - A verifier string ? string[]
41
+ state: eventState // 0 - Server & Client -
42
+ stop: string // 0 - Server & Client - A verifier string ? string[]
43
+ stream?: string // 0 - Server & Client -
44
+ subtitle?: string // 0 - Server &
45
+ summary?: string // 0 - Server & Client -
46
+ tags?: Tag[] // 3 - Server & Client - Inside=> Presentation
47
+ totalSlots: number // 0 - Server & Client
48
+ eventType: eventType // 0 : online, 1: physical, 2: hybrid// 0 - Server & Client -
49
+ updatedAt: Date // 0 - Server & Client -
50
+ url?: URL // 0 - Server & Client -
51
+ }
52
+ export enum eventState {
53
+ Draft = "DRAFT",
54
+ Published = "PUBLISHED",
55
+ Removed = "REMOVED",
56
+ Finished = "FINISHED",
57
+ Cancelled = "CANCELLED",
58
+ Postponed = "POSTPONED",
59
+ Rescheduled = "RESCHEDULED",
60
+ }
61
+ export enum bookingState {
62
+ Open = "OPEN",
63
+ Full = "FULL",
64
+ Closed = "CLOSED",
65
+ }
66
+ export enum eventType {
67
+ Online = "ONLINE",
68
+ Physical = "PHYSICAL",
69
+ Hybrid = "HYBRID",
70
+ }
71
+ export enum organiserType {
72
+ Ias = "IAS",
73
+ Member = "MEMBER",
74
+ Fellow = "FELLOW",
75
+ External = "EXTERNAL",
76
+ }
77
+
78
+ export enum eventCategories {
79
+ Seminar = "SEMINAR",
80
+ Workshop = "WORKSHOP",
81
+ Conference = "CONFERENCE",
82
+ ConferenceCycle = "CONFERENCE_CYCLE",
83
+ Lecture = "LECTURE",
84
+ Symposium = "SYMPOSIUM",
85
+ Meeting = "MEETING",
86
+ Colloquium = "COLLOQUIUM",
87
+ Forum = "FORUM",
88
+ RoundTable = "ROUND_TABLE",
89
+ Panel = "PANEL",
90
+ Webinar = "WEBINAR",
91
+ FellowPresentation = "FELLOW_PRESENTATION",
92
+ Other = "OTHER",
93
+ }
94
+ const defaultConfig: Model = {
95
+ source: "gql",
96
+ // markdown related keys
97
+ //Features related keys
98
+ list: {
99
+ create: true, // allow to create new items
100
+
101
+ filters: {
102
+ category: {
103
+ type: "Select",
104
+ items: eventCategories,
105
+ multiple: true,
106
+ },
107
+ status: {
108
+ type: "Select",
109
+ items: bookingState,
110
+ },
111
+ organiserCategory: {
112
+ type: "Select",
113
+ items: organiserType,
114
+ multiple: true,
115
+ },
116
+ tags: {
117
+ type: "AutoComplete",
118
+ items: [],
119
+ multiple: true,
120
+ },
121
+ disciplines: {
122
+ type: "AutoComplete",
123
+ items: [],
124
+ multiple: true,
125
+ },
126
+ fellowship: {
127
+ type: "AutoComplete",
128
+ items: [],
129
+ multiple: true,
130
+ },
131
+ online: {
132
+ type: "Checkbox",
133
+ items: false,
134
+ },
135
+ outside: {
136
+ type: "Checkbox",
137
+ items: false,
138
+ },
139
+ past: {
140
+ type: "Checkbox",
141
+ items: false,
142
+ },
143
+ },
144
+ sort: {
145
+ // sort options
146
+ nameasc: {
147
+ // by name from a to z
148
+ icon: "sort-alphabetical-ascending",
149
+ text: "by-name-from-a-to-z",
150
+ value: ["name", 1],
151
+ },
152
+ namedesc: {
153
+ // by name from z to a
154
+ icon: "sort-alphabetical-descending",
155
+ text: "by-name-from-z-to-a",
156
+ value: ["name", -1],
157
+ },
158
+ dateasc: {
159
+ // by date from most recent to oldest
160
+ icon: "sort-calendar-descending",
161
+ text: "by-date-most-recent-first",
162
+ value: ["start", -1],
163
+ default: true,
164
+ },
165
+ datedesc: {
166
+ // by date from oldest to most recent
167
+ icon: "sort-calendar-ascending",
168
+ text: "by-date-oldest-first",
169
+ value: ["start", 1],
170
+ },
171
+ },
172
+ views: {
173
+ rows: {
174
+ name: "rows",
175
+ icon: "view-list",
176
+ perPage: {
177
+ options: [9, 12, 16],
178
+ default: 9,
179
+ },
180
+ },
181
+ dense: {
182
+ default: true,
183
+ name: "dense",
184
+ icon: "land-rows-horizontal",
185
+ perPage: {
186
+ options: [20, 40, 60, 80, 100],
187
+ default: 20,
188
+ },
189
+ } /*
190
+ expanded: {
191
+ name: "expanded",
192
+ icon: "arrow-expand-vertical",
193
+ }, */,
194
+ },
195
+ },
196
+ form: {
197
+ name: {
198
+ label: "name",
199
+ component: "TextField",
200
+ type: formType.Primitive,
201
+
202
+ i18n: true,
203
+ rules: {
204
+ required: true,
205
+ min: 5,
206
+ max: 200,
207
+ },
208
+ meta: "name",
209
+ },
210
+
211
+ start: {
212
+ label: "start",
213
+ component: "DatePicker",
214
+ type: formType.Primitive,
215
+
216
+ rules: {
217
+ required: true,
218
+ date: true,
219
+ },
220
+ meta: "start",
221
+ },
222
+
223
+ stop: {
224
+ label: "stop",
225
+ component: "DatePicker",
226
+ type: formType.Primitive,
227
+
228
+ rules: {
229
+ required: true,
230
+ date: true,
231
+ },
232
+ meta: "stop",
233
+ },
234
+ subtitle: {
235
+ label: "subtitle",
236
+ component: "TextArea",
237
+ i18n: true,
238
+ type: formType.Primitive,
239
+
240
+ rules: {
241
+ required: true,
242
+ min: 5,
243
+ max: 200,
244
+ },
245
+ meta: "subtitle",
246
+ },
247
+ summary: {
248
+ label: "summary",
249
+ component: "TextArea",
250
+ type: formType.Primitive,
251
+ i18n: true,
252
+ rules: {
253
+ required: true,
254
+ min: 5,
255
+ max: 200,
256
+ },
257
+ meta: "summary",
258
+ },
259
+ category: {
260
+ label: "category",
261
+ component: "Select",
262
+ type: formType.Primitive,
263
+ rules: {
264
+ required: true,
265
+ },
266
+ items: eventCategories,
267
+ meta: "category", // item type on schema.org
268
+ },
269
+ eventType: {
270
+ label: "eventType",
271
+ component: "Select",
272
+ type: formType.Primitive,
273
+
274
+ rules: {
275
+ required: true,
276
+ },
277
+ items: eventType,
278
+ meta: "eventType",
279
+ },
280
+ description: {
281
+ label: "description",
282
+ component: "TextArea",
283
+ type: formType.Primitive,
284
+ i18n: true,
285
+ rules: {
286
+ required: true,
287
+ min: 5,
288
+ max: 200,
289
+ },
290
+ meta: "description",
291
+ },
292
+ details: {
293
+ label: "details",
294
+ component: "TextArea",
295
+ type: formType.Primitive,
296
+
297
+ i18n: true,
298
+ rules: {
299
+ required: true,
300
+ min: 5,
301
+ max: 200,
302
+ },
303
+ meta: "details",
304
+ },
305
+ program: {
306
+ label: "program",
307
+ component: "TextArea",
308
+ type: formType.Primitive,
309
+
310
+ i18n: true,
311
+ rules: {
312
+ required: true,
313
+ min: 5,
314
+ max: 200,
315
+ },
316
+ meta: "program",
317
+ },
318
+ affiliation: {
319
+ label: "affiliations",
320
+ component: "AffiliationPicker",
321
+ type: formType.Document,
322
+ rules: {
323
+ required: true,
324
+ },
325
+ meta: "affiliations", // item type on schema.org
326
+ },
327
+ appId: {
328
+ label: "appId",
329
+ component: false, // TODO maybe consider multiple appids for a single event
330
+ type: formType.Primitive,
331
+ meta: "appId", // item type on schema.org
332
+ },
333
+ bookingState: {
334
+ label: "bookingState",
335
+ component: false,
336
+ type: formType.Primitive,
337
+ default: 0,
338
+ meta: "bookingState",
339
+ },
340
+
341
+ delay: {
342
+ label: "delay",
343
+ component: false,
344
+ type: formType.Primitive,
345
+ default: 0,
346
+ rules: {
347
+ required: true,
348
+ },
349
+ meta: "delay",
350
+ },
351
+
352
+ dateText: {
353
+ label: "dateText",
354
+ component: "TextArea",
355
+ type: formType.Primitive,
356
+ i18n: true,
357
+ rules: {
358
+ min: 5,
359
+ max: 200,
360
+ },
361
+ meta: "dateText",
362
+ },
363
+
364
+ disciplines: {
365
+ label: "disciplines",
366
+ component: "DisciplinePicker",
367
+ type: formType.Document,
368
+
369
+ rules: {
370
+ required: true,
371
+ min: 5,
372
+ max: 200,
373
+ },
374
+ meta: "disciplines",
375
+ },
376
+ discussants: {
377
+ label: "discussants",
378
+ component: "CollectionContainerPanel",
379
+ type: formType.Document,
380
+
381
+ rules: {
382
+ required: true,
383
+ },
384
+ meta: "discussants",
385
+ },
386
+
387
+ organiserType: {
388
+ label: "organiserType",
389
+ component: "Select",
390
+ type: formType.Primitive,
391
+
392
+ rules: {
393
+ required: true,
394
+ },
395
+ items: organiserType,
396
+ meta: "organiserType",
397
+ },
398
+ lang: {
399
+ label: "lang",
400
+ component: "Select",
401
+ type: formType.Primitive,
402
+
403
+ rules: {
404
+ required: true,
405
+ },
406
+ meta: "lang",
407
+ },
408
+ files: {
409
+ label: "files",
410
+ component: "FilePicker",
411
+ type: formType.Document,
412
+
413
+ rules: {
414
+ required: true,
415
+ },
416
+ meta: "files",
417
+ },
418
+ image: {
419
+ label: "image",
420
+ component: "ImagePicker",
421
+ type: formType.Document,
422
+
423
+ rules: {
424
+ required: true,
425
+ },
426
+ meta: "image",
427
+ },
428
+ gallery: {
429
+ label: "gallery",
430
+ component: "ImagePicker",
431
+ type: formType.Document,
432
+ multiple: true,
433
+ meta: "gallery",
434
+ },
435
+ eventSlot: {
436
+ label: "eventSlot",
437
+ component: "CollectionContainerPanel",
438
+ type: formType.Template, //TODO, create an eventSlot dedicated form to manually add participants from back office
439
+ rules: {
440
+ required: true,
441
+ min: 5,
442
+ max: 200,
443
+ },
444
+ meta: "eventSlot",
445
+ },
446
+ organizers: {
447
+ label: "organizers",
448
+ component: "CollectionContainerPanel",
449
+ type: formType.Template,
450
+ rules: {
451
+ required: true,
452
+ min: 5,
453
+ max: 200,
454
+ },
455
+
456
+ meta: "organizers",
457
+ },
458
+ organizerState: {
459
+ label: "organizerState",
460
+ component: "ListRadio",
461
+ type: formType.Primitive,
462
+
463
+ rules: {
464
+ required: true,
465
+ },
466
+ meta: "organizerState",
467
+ },
468
+ outside: {
469
+ label: "outside",
470
+ component: "Checkbox",
471
+ type: formType.Primitive,
472
+
473
+ rules: {
474
+ required: true,
475
+ min: 5,
476
+ max: 200,
477
+ },
478
+ meta: "outside",
479
+ },
480
+ location: {
481
+ label: "place",
482
+ component: "ObjectContainerPanel",
483
+ type: formType.Template,
484
+
485
+ rules: {
486
+ required: true,
487
+ },
488
+ meta: "place",
489
+ },
490
+
491
+ related: {
492
+ label: "related",
493
+ component: "ObjectContainerPanel",
494
+ type: formType.Template,
495
+
496
+ rules: {
497
+ required: true,
498
+ min: 5,
499
+ max: 200,
500
+ },
501
+ meta: "related",
502
+ },
503
+ speakers: {
504
+ label: "speakers",
505
+ component: "CollectionContainerPanel",
506
+ type: formType.Document,
507
+
508
+ rules: {
509
+ required: true,
510
+ },
511
+ meta: "speakers",
512
+ },
513
+ state: {
514
+ label: "state",
515
+ component: "ListRadio",
516
+ type: formType.Primitive,
517
+
518
+ rules: {
519
+ required: true,
520
+ },
521
+ meta: "state",
522
+ },
523
+ tags: {
524
+ label: "tags",
525
+ component: "TagPicker",
526
+ type: formType.Document,
527
+ rules: {
528
+ required: true,
529
+ },
530
+ meta: "tags",
531
+ },
532
+ totalSlots: {
533
+ label: "totalSlots",
534
+ component: false,
535
+ type: formType.Primitive,
536
+
537
+ rules: {
538
+ required: true,
539
+ min: 5,
540
+ max: 200,
541
+ },
542
+ meta: "totalSlots",
543
+ },
544
+ stream: {
545
+ label: "stream",
546
+ component: "TextField",
547
+ type: formType.Primitive,
548
+
549
+ rules: {
550
+ required: true,
551
+ url: true,
552
+ },
553
+ meta: "stream",
554
+ },
555
+ url: {
556
+ label: "url",
557
+ component: "TextField",
558
+ type: formType.Primitive,
559
+
560
+ rules: {
561
+ required: true,
562
+ url: true,
563
+ },
564
+ meta: "url",
565
+ },
566
+ },
567
+ }
568
+
569
+ export default defaultConfig
@@ -0,0 +1,163 @@
1
+ query getFellowship(
2
+ $appId: ID = "iea"
3
+ $itemId: ID = ""
4
+ $lang: String = "en"
5
+ ) {
6
+ getFellowship(appId: $appId, itemId: $itemId, lang: $lang) {
7
+ action
8
+ applicationStart
9
+ fellowshipStart
10
+ contact
11
+ url
12
+ slug {
13
+ fr
14
+ en
15
+ }
16
+ applicationStop
17
+ fellowshipStop
18
+ publicationDate
19
+ summary
20
+ description
21
+ fellows {
22
+ id
23
+ firstname
24
+ lastname
25
+ image {
26
+ alt
27
+ caption
28
+ backgroundColor
29
+ copyright
30
+ license
31
+ licenseUrl
32
+ url
33
+ }
34
+ }
35
+ fellowshipType
36
+ files {
37
+ createdAt
38
+ file
39
+ fileType
40
+ hash
41
+ id
42
+ image {
43
+ alt
44
+ caption
45
+ backgroundColor
46
+ copyright
47
+ license
48
+ licenseUrl
49
+ url
50
+ }
51
+ name
52
+ path
53
+ size
54
+ thumb
55
+ updatedAt
56
+ url
57
+ }
58
+ gallery {
59
+ alt
60
+ backgroundColor
61
+ caption
62
+ license
63
+ copyright
64
+ licenseUrl
65
+ url
66
+ }
67
+ image {
68
+ url
69
+ licenseUrl
70
+ license
71
+ copyright
72
+ caption
73
+ backgroundColor
74
+ alt
75
+ }
76
+ member {
77
+ name
78
+ ror
79
+ url
80
+ image {
81
+ alt
82
+ backgroundColor
83
+ caption
84
+ copyright
85
+ license
86
+ licenseUrl
87
+ url
88
+ }
89
+ location {
90
+ alt
91
+ city
92
+ country
93
+ details
94
+ geocode {
95
+ lat
96
+ lng
97
+ }
98
+ name
99
+ street
100
+ zip
101
+ }
102
+ }
103
+ name
104
+ video {
105
+ alt
106
+ backgroundColor
107
+ caption
108
+ copyright
109
+ license
110
+ licenseUrl
111
+ url
112
+ }
113
+ disciplines {
114
+ description
115
+ createdAt
116
+ icon
117
+ name
118
+ updatedAt
119
+ }
120
+ appId
121
+ affiliations {
122
+ image {
123
+ alt
124
+ backgroundColor
125
+ caption
126
+ copyright
127
+ license
128
+ licenseUrl
129
+ url
130
+ }
131
+ location {
132
+ alt
133
+ city
134
+ country
135
+ details
136
+ geocode {
137
+ lat
138
+ lng
139
+ }
140
+ name
141
+ street
142
+ zip
143
+ }
144
+ name
145
+ ror
146
+ url
147
+ }
148
+ fellowshipDetails {
149
+ applicationMaterials
150
+ funding
151
+ fundingPeriod
152
+ housing
153
+ location
154
+ meals
155
+ profile
156
+ researchSupport
157
+ selectionProcess
158
+ tasks
159
+ type
160
+ }
161
+ status
162
+ }
163
+ }