@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,173 @@
1
+ query getPeople($appId: ID = "iea", $itemId: ID = "", $lang: String = "en") {
2
+ getPeople(appId: $appId, itemId: $itemId, lang: $lang) {
3
+ affiliations {
4
+ affiliation {
5
+ image {
6
+ alt
7
+ backgroundColor
8
+ caption
9
+ copyright
10
+ license
11
+ licenseUrl
12
+ url
13
+ }
14
+ location {
15
+ alt
16
+ city
17
+ country
18
+ details
19
+ geocode {
20
+ lat
21
+ lng
22
+ }
23
+ name
24
+ street
25
+ zip
26
+ }
27
+ name
28
+ ror
29
+ url
30
+ }
31
+ positions {
32
+ department
33
+ role
34
+ start
35
+ stop
36
+ }
37
+ }
38
+ biography
39
+ firstname
40
+ groups {
41
+ board
42
+ fellows
43
+ sab
44
+ sponsor
45
+ team
46
+ vintage {
47
+ name
48
+ theme
49
+ url
50
+ year
51
+ }
52
+ }
53
+ image {
54
+ url
55
+ license
56
+ copyright
57
+ caption
58
+ backgroundColor
59
+ alt
60
+ licenseUrl
61
+ }
62
+ lastname
63
+ socials {
64
+ idRef
65
+ instagram
66
+ linkedin
67
+ mendeley
68
+ orcid
69
+ researchgate
70
+ scholar
71
+ twitter
72
+ website
73
+ wikipedia
74
+ }
75
+ video {
76
+ url
77
+ alt
78
+ caption
79
+ copyright
80
+ license
81
+ licenseUrl
82
+ backgroundColor
83
+ }
84
+ slug
85
+ appId
86
+ consent {
87
+ data
88
+ diffusion
89
+ email
90
+ fellowshipnewsletter
91
+ newsletter
92
+ publication
93
+ record
94
+ }
95
+ disciplines {
96
+ createdAt
97
+ description
98
+ icon
99
+ name
100
+ updatedAt
101
+ }
102
+ related {
103
+ events {
104
+ description
105
+ image {
106
+ alt
107
+ backgroundColor
108
+ caption
109
+ copyright
110
+ license
111
+ licenseUrl
112
+ url
113
+ }
114
+ name
115
+ url
116
+ slug
117
+ }
118
+ news {
119
+ description
120
+ slug
121
+ id
122
+ image {
123
+ alt
124
+ backgroundColor
125
+ caption
126
+ copyright
127
+ license
128
+ licenseUrl
129
+ url
130
+ }
131
+ name
132
+ url
133
+ }
134
+ people {
135
+ firstname
136
+ slug
137
+ id
138
+ image {
139
+ alt
140
+ backgroundColor
141
+ caption
142
+ copyright
143
+ license
144
+ licenseUrl
145
+ url
146
+ }
147
+ lastname
148
+ }
149
+ projects {
150
+ description
151
+ slug
152
+ id
153
+ image {
154
+ alt
155
+ backgroundColor
156
+ caption
157
+ copyright
158
+ license
159
+ licenseUrl
160
+ url
161
+ }
162
+ name
163
+ url
164
+ }
165
+ publications {
166
+ id
167
+ slug
168
+ name
169
+ url
170
+ }
171
+ }
172
+ }
173
+ }
File without changes
@@ -0,0 +1,55 @@
1
+ query listPeople(
2
+ $appId: ID = "iea"
3
+ $lang: String = "en"
4
+ $options: ListInput = {}
5
+ ) {
6
+ listPeople(options: $options, appId: $appId, lang: $lang) {
7
+ items {
8
+ slug
9
+ biography
10
+ firstname
11
+ summary
12
+ disciplines {
13
+ name
14
+ }
15
+ tags {
16
+ name
17
+ }
18
+ groups {
19
+ board
20
+ fellows
21
+ sab
22
+ sponsor
23
+ team
24
+ vintage {
25
+ name
26
+ theme
27
+ url
28
+ year
29
+ }
30
+ }
31
+ image {
32
+ url
33
+ license
34
+ copyright
35
+ caption
36
+ backgroundColor
37
+ alt
38
+ }
39
+ lastname
40
+ socials {
41
+ idRef
42
+ instagram
43
+ linkedin
44
+ mendeley
45
+ orcid
46
+ researchgate
47
+ scholar
48
+ twitter
49
+ website
50
+ wikipedia
51
+ }
52
+ }
53
+ total
54
+ }
55
+ }
@@ -0,0 +1,31 @@
1
+ query listUsers(
2
+ $appId: ID = "iea"
3
+ $lang: String = "en"
4
+ $options: ListInput = {}
5
+ ) {
6
+ listUsers(appId: $appId, lang: $lang, options: $options) {
7
+ items {
8
+ admin
9
+ createdAt
10
+ email
11
+ profile {
12
+ country
13
+ firstname
14
+ image
15
+ lastname
16
+ linkedin
17
+ position
18
+ presentation
19
+ references
20
+ twitter
21
+ wikipedia
22
+ }
23
+ role
24
+ settings {
25
+ lang
26
+ }
27
+ status
28
+ }
29
+ total
30
+ }
31
+ }
@@ -0,0 +1,9 @@
1
+ input ConsentInput {
2
+ data: Boolean!
3
+ record: Boolean!
4
+ diffusion: Boolean!
5
+ publication: Boolean!
6
+ email: Boolean!
7
+ newsletter: Boolean!
8
+ fellowshipnewsletter: Boolean!
9
+ }
@@ -0,0 +1,8 @@
1
+ input GroupsInput {
2
+ team: Boolean
3
+ sab: Boolean
4
+ board: Boolean
5
+ fellows: Boolean
6
+ sponsor: Boolean
7
+ vintage: [VintageInput]
8
+ }
@@ -0,0 +1,6 @@
1
+ input VintageInput {
2
+ name: String
3
+ year: Int
4
+ theme: String
5
+ url: AWSURL
6
+ }
@@ -0,0 +1,9 @@
1
+ type Consent {
2
+ data: Boolean!
3
+ record: Boolean!
4
+ diffusion: Boolean!
5
+ publication: Boolean!
6
+ email: Boolean!
7
+ newsletter: Boolean!
8
+ fellowshipnewsletter: Boolean!
9
+ }
@@ -0,0 +1,8 @@
1
+ type Groups {
2
+ team: Boolean
3
+ sab: Boolean
4
+ board: Boolean
5
+ fellows: Boolean
6
+ sponsor: Boolean
7
+ vintage: [Vintage]
8
+ }
@@ -0,0 +1,29 @@
1
+ type People {
2
+ appId: String
3
+ firstname: String!
4
+ lastname: String!
5
+ affiliations: [AffiliationWithPositions]
6
+ image: Image
7
+ socials: Socials
8
+ biography: String
9
+ consent: Consent!
10
+ summary: String
11
+ groups: Groups!
12
+ disciplines: [Disciplines]
13
+ related: Related
14
+ video: [Video]
15
+ slug: AWSJSON
16
+ tags: [Tag]
17
+ }
18
+
19
+ type PeopleFilters {
20
+ disciplines: [String]
21
+ vintage: [String]
22
+ fellowships: [String]
23
+ members: [String]
24
+ }
25
+
26
+ type PeopleList {
27
+ total: Int!
28
+ items: [People]
29
+ }
@@ -0,0 +1,6 @@
1
+ type Position {
2
+ role: String!
3
+ department: String
4
+ start: AWSDateTime
5
+ stop: AWSDateTime
6
+ }
@@ -0,0 +1,17 @@
1
+ type User {
2
+ admin: Boolean
3
+ apps: [AppRole]
4
+ createdAt: AWSDateTime!
5
+ email: AWSEmail!
6
+ profile: Profile
7
+ settings: Settings
8
+ status: Int
9
+ role: Int
10
+ branch: [String]
11
+ slug: AWSJSON
12
+ }
13
+
14
+ type UserList {
15
+ total: Int!
16
+ items: [User!]!
17
+ }
@@ -0,0 +1,6 @@
1
+ type Vintage {
2
+ name: String
3
+ year: Int
4
+ theme: String
5
+ url: AWSURL
6
+ }
@@ -0,0 +1,82 @@
1
+ import { Form, formType } from "../../form"
2
+
3
+ export interface Consent {
4
+ //data consent (display info about me)
5
+ data: boolean
6
+ // record consent (record my activity, droit à l'image)
7
+ record: boolean
8
+ // broadcast consent (broadcast my activity, diffusion de contenus)
9
+ diffusion: boolean
10
+ // publication consent (publish my content, generate DOIs)
11
+ publication: boolean
12
+ // email communications (including newsletter)
13
+ email: boolean
14
+ // IEA newsletter
15
+ newsletter: boolean
16
+ // news about IEA fellowship
17
+ fellowshipnewsletter: boolean
18
+ }
19
+
20
+ export interface ConsentForm {
21
+ form: Record<string, Form>
22
+ }
23
+ const defaultConfig: ConsentForm = {
24
+ form: {
25
+ data: {
26
+ label: "data",
27
+ component: "Checkbox",
28
+ type: formType.Primitive,
29
+ default: false,
30
+ hint: "My profile will be showcased on the Paris IAS websites",
31
+ meta: "data", // item type on schema.org
32
+ },
33
+ record: {
34
+ label: "record",
35
+ component: "Checkbox",
36
+ type: formType.Primitive,
37
+ default: false,
38
+ hint: "Necessary if you appear in a video or audio recording",
39
+ meta: "record", // item type on schema.org
40
+ },
41
+ diffusion: {
42
+ label: "diffusion",
43
+ component: "Checkbox",
44
+ type: formType.Primitive,
45
+ default: false,
46
+ hint: "To make available my video and audio recordings in publicaitons, news, events...",
47
+ meta: "diffusion", // item type on schema.org
48
+ },
49
+ publication: {
50
+ label: "publication",
51
+ component: "Checkbox",
52
+ type: formType.Primitive,
53
+ default: false,
54
+ hint: "To be officially published as an academic author and provide your content with a DOI",
55
+ meta: "publication", // item type on schema.org
56
+ },
57
+ email: {
58
+ label: "email",
59
+ component: "Checkbox",
60
+ type: formType.Primitive,
61
+ default: false,
62
+ hint: "To allow us to send you email communications in general (including newsletter)",
63
+ meta: "email", // item type on schema.org
64
+ },
65
+ newsletter: {
66
+ label: "newsletter",
67
+ component: "Checkbox",
68
+ type: formType.Primitive,
69
+ default: false,
70
+ meta: "newsletter", // item type on schema.org
71
+ },
72
+ fellowshipnewsletter: {
73
+ label: "fellowshipnewsletter",
74
+ component: "Checkbox",
75
+ type: formType.Primitive,
76
+ default: false,
77
+ meta: "fellowshipnewsletter", // item type on schema.org
78
+ },
79
+ },
80
+ }
81
+
82
+ export default defaultConfig
@@ -0,0 +1,9 @@
1
+ import configPeople, { People } from "./people"
2
+ import Model from "../../model"
3
+
4
+ export interface Discussants extends People {}
5
+ const defaultConfig: Model = {
6
+ aliases: ["people"],
7
+ ...configPeople,
8
+ }
9
+ export default defaultConfig
@@ -0,0 +1,38 @@
1
+ import { Form, formType } from "../../form"
2
+
3
+ export interface Experiences {
4
+ affiliation: any // Document reference
5
+ positions: any[] // Array of Position templates
6
+ }
7
+
8
+ export interface ExperiencesForm {
9
+ form: Record<string, Form>
10
+ }
11
+
12
+ const defaultConfig: ExperiencesForm = {
13
+ form: {
14
+ affiliation: {
15
+ label: "affiliation",
16
+ component: "DocumentPicker",
17
+ type: formType.Document,
18
+ meta: "affiliation",
19
+ rules: {
20
+ required: true,
21
+ },
22
+ },
23
+ positions: {
24
+ label: "positions",
25
+ component: "CollectionContainerPanel",
26
+ type: formType.Array,
27
+ meta: "positions",
28
+ items: {
29
+ label: "position",
30
+ component: "ObjectContainerPanel",
31
+ type: formType.Template,
32
+ meta: "position",
33
+ },
34
+ },
35
+ },
36
+ }
37
+
38
+ export default defaultConfig
@@ -0,0 +1,12 @@
1
+ import Model from "../../model"
2
+ import configPeople, { People } from "./people"
3
+
4
+ export interface Fellows extends People {
5
+ vintage: number[]
6
+ }
7
+
8
+ const defaultConfig: Model = {
9
+ aliases: ["people"],
10
+ ...configPeople,
11
+ }
12
+ export default defaultConfig
@@ -0,0 +1,58 @@
1
+ import { Form, formType } from "../../form"
2
+ import { Vintage } from "./vintage"
3
+
4
+ export interface Groups {
5
+ team?: boolean
6
+ sab?: boolean
7
+ board?: boolean
8
+ fellows?: boolean
9
+ sponsor?: boolean
10
+ vintage?: Vintage[]
11
+ }
12
+
13
+ export interface GroupsForm {
14
+ form: Record<string, Form>
15
+ }
16
+
17
+ const defaultConfig: GroupsForm = {
18
+ form: {
19
+ team: {
20
+ label: "team",
21
+ component: "Checkbox",
22
+ type: formType.Primitive,
23
+ meta: "team",
24
+ },
25
+ sab: {
26
+ label: "sab",
27
+ component: "Checkbox",
28
+ type: formType.Primitive,
29
+ meta: "sab",
30
+ },
31
+ board: {
32
+ label: "board",
33
+ component: "Checkbox",
34
+ type: formType.Primitive,
35
+ meta: "board",
36
+ },
37
+ fellows: {
38
+ label: "fellows",
39
+ component: "Checkbox",
40
+ type: formType.Primitive,
41
+ meta: "fellow",
42
+ },
43
+ sponsor: {
44
+ label: "sponsor",
45
+ component: "Checkbox",
46
+ type: formType.Primitive,
47
+ meta: "sponsor",
48
+ },
49
+ vintage: {
50
+ label: "vintage",
51
+ component: "CollectionContainerPanel",
52
+ type: formType.Template,
53
+ meta: "vintage",
54
+ },
55
+ },
56
+ }
57
+
58
+ export default defaultConfig