@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,49 @@
1
+ query listFellowships(
2
+ $options: ListInput = {}
3
+ $appId: ID = "iea"
4
+ $lang: String = "en"
5
+ ) {
6
+ listFellowships(options: $options, appId: $appId, lang: $lang) {
7
+ items {
8
+ slug
9
+ applicationStart
10
+ applicationStop
11
+ fellowshipType
12
+ disciplines {
13
+ createdAt
14
+ description
15
+ icon
16
+ name
17
+ updatedAt
18
+ }
19
+ image {
20
+ alt
21
+ backgroundColor
22
+ caption
23
+ copyright
24
+ license
25
+ licenseUrl
26
+ url
27
+ }
28
+ member {
29
+ name
30
+ url
31
+ image {
32
+ url
33
+ licenseUrl
34
+ license
35
+ copyright
36
+ caption
37
+ backgroundColor
38
+ alt
39
+ }
40
+ }
41
+ summary
42
+ name
43
+ url
44
+ publicationDate
45
+ status
46
+ }
47
+ total
48
+ }
49
+ }
@@ -0,0 +1,13 @@
1
+ input FellowshipDetailsInput {
2
+ type: String
3
+ fundingPeriod: String
4
+ profile: String
5
+ tasks: String
6
+ location: String
7
+ funding: String
8
+ housing: String
9
+ meals: String
10
+ applicationMaterials: String
11
+ selectionProcess: String
12
+ researchSupport: String
13
+ }
@@ -0,0 +1,13 @@
1
+ type FellowshipDetails {
2
+ type: String
3
+ fundingPeriod: String
4
+ profile: String
5
+ tasks: String
6
+ location: String
7
+ funding: String
8
+ housing: String
9
+ meals: String
10
+ applicationMaterials: String
11
+ selectionProcess: String
12
+ researchSupport: String
13
+ }
@@ -0,0 +1,38 @@
1
+ type Fellowship {
2
+ appId: String
3
+ action: String
4
+ affiliations: [Affiliation]
5
+ applicationStart: String
6
+ disciplines: [Disciplines]
7
+ fellowshipStart: String
8
+ contact: String
9
+ description: String
10
+ fellowshipDetails: FellowshipDetails!
11
+ fellows: [RelatedPeople]
12
+ url: AWSURL
13
+ applicationStop: String
14
+ fellowshipStop: String
15
+ image: Image
16
+ member: [Affiliation]
17
+ related: Related
18
+ publicationDate: String
19
+ summary: String
20
+ files: [File]
21
+ fellowshipType: [FellowshipType]
22
+ status: FellowshipStatus
23
+ gallery: [Image]
24
+ name: String!
25
+ video: [Video]
26
+ slug: AWSJSON
27
+ }
28
+
29
+ type FellowshipFilters {
30
+ disciplines: [String!]
31
+ affiliations: [String!]
32
+ tags: [String!]
33
+ }
34
+
35
+ type FellowshipList {
36
+ total: Int!
37
+ items: [Fellowship]
38
+ }
@@ -0,0 +1,145 @@
1
+ import { Form, formType } from "../../form"
2
+
3
+ export interface FellowshipDetails {
4
+ type?: string //en groupe, durée courte ou longue, etc.
5
+ fundingPeriod?: string // Dates et détails temporels
6
+ profile?: string // profile, CV, disciplines, expérience, origine
7
+ tasks?: string // obligations type conférences, publications, attendance -seminaire, bureau
8
+ location?: string // texte court sur l’emplacement IEA avec lien vers page dédiée
9
+ funding?: string // texte sur la bourse, minimal
10
+ housing?: string // texte court sur logement avec lien page dédiée CIUP
11
+ meals?: string // texte court repas, forfait, annulations…
12
+ applicationMaterials?: string // liste des éléments à fournir
13
+ selectionProcess?: string // Dates, arbitrages, etc.
14
+ researchSupport?: string // cf les moyens de la recherche
15
+ }
16
+
17
+ export interface FellowshipDetailsForm {
18
+ form: Record<string, Form>
19
+ }
20
+ const configDefault: FellowshipDetailsForm = {
21
+ form: {
22
+ type: {
23
+ label: "type",
24
+ component: "TextArea",
25
+ type: formType.Primitive,
26
+ i18n: true,
27
+ rules: {
28
+ required: true,
29
+ },
30
+ meta: "type", // item type on schema.org
31
+ },
32
+ fundingPeriod: {
33
+ label: "fundingPeriod",
34
+ component: "TextArea",
35
+ type: formType.Primitive,
36
+ i18n: true,
37
+ rules: {
38
+ required: true,
39
+ },
40
+ meta: "fundingPeriod", // item type on schema.org
41
+ },
42
+ profile: {
43
+ label: "profile",
44
+ component: "Checkbox",
45
+ type: formType.Primitive,
46
+ i18n: true,
47
+ rules: {
48
+ required: true,
49
+ },
50
+ meta: "profile", // item type on schema.org
51
+ },
52
+ tasks: {
53
+ label: "tasks",
54
+ component: "TextArea",
55
+ type: formType.Primitive,
56
+ i18n: true,
57
+ rules: {
58
+ required: true,
59
+ },
60
+ meta: "tasks", // item type on schema.org
61
+ },
62
+ location: {
63
+ label: "location",
64
+ component: "TextArea",
65
+ type: formType.Template,
66
+ i18n: true,
67
+ rules: {
68
+ required: true,
69
+ },
70
+ meta: "location", // item type on schema.org
71
+ },
72
+ funding: {
73
+ label: "funding",
74
+ component: "TextArea",
75
+ type: formType.Primitive,
76
+ i18n: true,
77
+ rules: {
78
+ required: true,
79
+ },
80
+ meta: "funding", // item type on schema.org
81
+ },
82
+ housing: {
83
+ label: "housing",
84
+ component: "TextArea",
85
+ type: formType.Primitive,
86
+ i18n: true,
87
+ rules: {
88
+ required: true,
89
+ min: 5,
90
+ max: 200,
91
+ },
92
+ meta: "housing",
93
+ },
94
+ meals: {
95
+ label: "meals",
96
+ component: "TextArea",
97
+ type: formType.Primitive,
98
+ i18n: true,
99
+ rules: {
100
+ required: true,
101
+ min: 5,
102
+ max: 200,
103
+ },
104
+ meta: "meals",
105
+ },
106
+ applicationMaterials: {
107
+ label: "applicationMaterials",
108
+ component: "TextArea",
109
+ type: formType.Primitive,
110
+ i18n: true,
111
+ rules: {
112
+ required: true,
113
+ min: 5,
114
+ max: 200,
115
+ },
116
+ meta: "applicationMaterials",
117
+ },
118
+ selectionProcess: {
119
+ label: "selectionProcess",
120
+ component: "TextArea",
121
+ type: formType.Primitive,
122
+ i18n: true,
123
+ rules: {
124
+ required: true,
125
+ min: 5,
126
+ max: 200,
127
+ },
128
+ meta: "selectionProcess",
129
+ },
130
+ researchSupport: {
131
+ label: "researchSupport",
132
+ component: "TextArea",
133
+ type: formType.Primitive,
134
+ i18n: true,
135
+ rules: {
136
+ required: true,
137
+ min: 5,
138
+ max: 200,
139
+ },
140
+ meta: "researchSupport",
141
+ },
142
+ },
143
+ }
144
+
145
+ export default configDefault
@@ -0,0 +1,341 @@
1
+ import { Image } from "../../files/models/image"
2
+ import { Affiliation } from "../../affiliation/models/affiliation"
3
+ import { FellowshipDetails } from "./fellowshipDetails"
4
+ import { Files } from "../../files/models/files"
5
+ import Model from "../../model"
6
+ import { Video } from "../../files/models/video"
7
+ import { Disciplines } from "../../misc/models/disciplines"
8
+ import { RelatedPeople } from "../../misc/models/relatedPeople"
9
+ import { formType } from "../../form"
10
+ export interface Fellowships {
11
+ action?: string
12
+ affiliations?: Affiliation[] // AKA members behind the fellowships
13
+ applicationStart?: Date
14
+ disciplines?: Disciplines[] // 3 - Server & Client //Inside=> Presentation
15
+ fellowshipStart?: Date
16
+ contact?: string
17
+ description: string
18
+ subtitle: string
19
+ fellowshipDetails: FellowshipDetails
20
+ fellows?: RelatedPeople[]
21
+ url?: URL
22
+ applicationStop?: Date
23
+ fellowshipStop?: Date
24
+ image?: Image
25
+ publicationDate?: Date
26
+ summary?: string
27
+ files?: Files[]
28
+ fellowshipType: [FellowshipType]
29
+ gallery?: Image[]
30
+ name: string
31
+ video?: Video[]
32
+ status: FellowshipStatus
33
+ }
34
+
35
+ export enum FellowshipType {
36
+ ShortStay = "SHORT_STAY",
37
+ LongStay = "LONG_STAY",
38
+ InGroup = "IN_GROUP",
39
+ }
40
+ export enum FellowshipStatus {
41
+ Planned = "PLANNED",
42
+ Ongoing = "ONGOING",
43
+ Finished = "FINISHED",
44
+ Cancelled = "CANCELLED",
45
+ }
46
+
47
+ const defaultConfig: Model = {
48
+ source: "gql",
49
+ list: {
50
+ create: true, // allow to create new items
51
+ filters: {
52
+ status: {
53
+ type: "Select",
54
+ multiple: true,
55
+ items: FellowshipStatus,
56
+ },
57
+ fellowshipType: {
58
+ type: "Select",
59
+ multiple: true,
60
+ items: FellowshipType,
61
+ },
62
+ affiliation: {
63
+ type: "Select",
64
+ multiple: true,
65
+ items: [],
66
+ },
67
+ disciplines: {
68
+ type: "Select",
69
+ multiple: true,
70
+ },
71
+ },
72
+ sort: {
73
+ // sort options
74
+ nameasc: {
75
+ // by name from a to z
76
+ icon: "sort-alphabetical-ascending",
77
+ text: "by-name-from-a-to-z",
78
+ value: ["name", 1],
79
+ },
80
+ namedesc: {
81
+ // by name from z to a
82
+ icon: "sort-alphabetical-descending",
83
+ text: "by-name-from-z-to-a",
84
+ value: ["name", -1],
85
+ },
86
+ dateasc: {
87
+ // by date from most recent to oldest
88
+ icon: "sort-calendar-descending",
89
+ text: "by-date-most-recent-first",
90
+ value: ["applicationStart", -1],
91
+ default: true,
92
+ },
93
+ datedesc: {
94
+ // by date from oldest to most recent
95
+ icon: "sort-calendar-ascending",
96
+ text: "by-date-oldest-first",
97
+ value: ["applicationStart", 1],
98
+ },
99
+ },
100
+ views: {
101
+ rows: {
102
+ name: "rows",
103
+ icon: "view-list",
104
+ perPage: {
105
+ options: [9, 12, 16],
106
+ default: 9,
107
+ },
108
+ },
109
+ dense: {
110
+ default: true,
111
+ name: "dense",
112
+ icon: "land-rows-horizontal",
113
+ perPage: {
114
+ options: [20, 40, 60, 80, 100],
115
+ default: 20,
116
+ },
117
+ } /* /*
118
+ expanded: {
119
+ name: "expanded",
120
+ icon: "arrow-expand-vertical",
121
+ }, */,
122
+ },
123
+ },
124
+ form: {
125
+ name: {
126
+ label: "name",
127
+ component: "TextField",
128
+ i18n: true,
129
+ type: formType.Primitive,
130
+ rules: {
131
+ required: true,
132
+ min: 5,
133
+ max: 200,
134
+ },
135
+ meta: "name",
136
+ },
137
+ subtitle: {
138
+ label: "subtitle",
139
+ component: "TextField",
140
+ i18n: true,
141
+ type: formType.Primitive,
142
+ rules: {
143
+ required: true,
144
+ min: 5,
145
+ max: 200,
146
+ },
147
+ meta: "subtitle",
148
+ },
149
+ summary: {
150
+ label: "summary",
151
+ component: "TextArea",
152
+ type: formType.Primitive,
153
+ i18n: true,
154
+ rules: {
155
+ required: true,
156
+ min: 5,
157
+ max: 200,
158
+ },
159
+ meta: "summary",
160
+ },
161
+ action: {
162
+ label: "action",
163
+ component: "TextField",
164
+ type: formType.Primitive,
165
+ rules: {
166
+ required: true,
167
+ },
168
+ meta: "action", // item type on schema.org
169
+ },
170
+ affiliation: {
171
+ label: "affiliations",
172
+ component: "AffiliationPicker",
173
+ type: formType.Document,
174
+ rules: {
175
+ required: true,
176
+ },
177
+ meta: "affiliations", // item type on schema.org
178
+ },
179
+ applicationStart: {
180
+ label: "applicationStart",
181
+ component: "DatePicker", //TODO
182
+ type: formType.Primitive,
183
+ rules: {
184
+ required: true,
185
+ date: true,
186
+ },
187
+ meta: "applicationStart",
188
+ },
189
+ fellowshipStart: {
190
+ label: "fellowshipStart",
191
+ component: "DatePicker", //TODO
192
+ type: formType.Primitive,
193
+ rules: {
194
+ required: true,
195
+ date: true,
196
+ },
197
+ meta: "fellowshipStart",
198
+ },
199
+ contact: {
200
+ label: "contact",
201
+ component: "TextField",
202
+ type: formType.Primitive,
203
+ rules: {
204
+ required: true,
205
+ email: true,
206
+ },
207
+ meta: "contact",
208
+ },
209
+ description: {
210
+ label: "description",
211
+ component: "TextArea",
212
+ type: formType.Primitive,
213
+ i18n: true,
214
+ rules: {
215
+ required: true,
216
+ min: 5,
217
+ max: 200,
218
+ },
219
+ meta: "description",
220
+ },
221
+ disciplines: {
222
+ label: "disciplines",
223
+ component: "DisciplinePicker",
224
+ type: formType.Document,
225
+ rules: {
226
+ required: true,
227
+ min: 5,
228
+ max: 200,
229
+ },
230
+ meta: "disciplines",
231
+ },
232
+ fellowshipType: {
233
+ label: "fellowshipType",
234
+ component: "Select",
235
+ type: formType.Primitive,
236
+ rules: {
237
+ required: true,
238
+ min: 5,
239
+ max: 200,
240
+ },
241
+ items: FellowshipType,
242
+ meta: "fellowshipType",
243
+ },
244
+ fellowshipDetails: {
245
+ label: "details",
246
+ component: "ObjectContainerPanel",
247
+ type: formType.Template,
248
+ rules: {
249
+ required: true,
250
+ },
251
+ meta: "details",
252
+ },
253
+ fellows: {
254
+ label: "fellows",
255
+ component: "CollectionContainerPanel",
256
+ type: formType.Template,
257
+ rules: {
258
+ required: true,
259
+ min: 5,
260
+ max: 200,
261
+ },
262
+ meta: "fellows",
263
+ },
264
+ gallery: {
265
+ label: "gallery",
266
+ component: "ImagePicker",
267
+ type: formType.Document,
268
+ multiple: true,
269
+ meta: "gallery",
270
+ },
271
+ url: {
272
+ label: "url",
273
+ component: "TextField",
274
+ type: formType.Primitive,
275
+ rules: {
276
+ required: true,
277
+ url: true,
278
+ },
279
+ meta: "url",
280
+ },
281
+ fellowshipStop: {
282
+ label: "fellowshipStop",
283
+ component: "DatePicker",
284
+ type: formType.Primitive,
285
+ rules: {
286
+ required: true,
287
+ date: true,
288
+ },
289
+ meta: "fellowshipStop",
290
+ },
291
+ applicationStop: {
292
+ label: "applicationStop",
293
+ component: "DatePicker",
294
+ type: formType.Primitive,
295
+ rules: {
296
+ required: true,
297
+ date: true,
298
+ },
299
+ meta: "applicationStop",
300
+ },
301
+ image: {
302
+ label: "image",
303
+ component: "ImagePicker",
304
+ type: formType.Document,
305
+ rules: {
306
+ required: true,
307
+ },
308
+ meta: "image",
309
+ },
310
+ publicationDate: {
311
+ label: "publicationDate",
312
+ component: "DatePicker",
313
+ type: formType.Primitive,
314
+ rules: {
315
+ required: true,
316
+ date: true,
317
+ },
318
+ meta: "publicationDate",
319
+ },
320
+
321
+ files: {
322
+ label: "files",
323
+ component: "FilePicker",
324
+ type: formType.Document,
325
+ meta: "files",
326
+ },
327
+ video: {
328
+ label: "video",
329
+ component: "CollectionContainerPanel",
330
+ type: formType.Array,
331
+ meta: "video",
332
+ items: {
333
+ label: "video",
334
+ component: "ObjectContainerPanel",
335
+ type: formType.Template,
336
+ meta: "video",
337
+ },
338
+ },
339
+ },
340
+ }
341
+ export default defaultConfig
@@ -0,0 +1,24 @@
1
+ query getFile($appId: ID = "iea", $itemId: ID = "", $lang: String = "en") {
2
+ getFile(appId: $appId, itemId: $itemId, lang: $lang) {
3
+ createdAt
4
+ file
5
+ fileType
6
+ hash
7
+ image {
8
+ alt
9
+ backgroundColor
10
+ caption
11
+ copyright
12
+ license
13
+ licenseUrl
14
+ url
15
+ }
16
+ name
17
+ path
18
+ size
19
+ thumb
20
+ updatedAt
21
+ url
22
+ slug
23
+ }
24
+ }
@@ -0,0 +1,37 @@
1
+ query listFiles(
2
+ $appId: ID = "iea"
3
+ $lang: String = "en"
4
+ $options: ListInput = {
5
+ skip: 0
6
+ limit: 9
7
+ sortBy: ["start"]
8
+ sortDesc: false
9
+ filters: "{}"
10
+ }
11
+ ) {
12
+ listFiles(options: $options, appId: $appId, lang: $lang) {
13
+ items {
14
+ createdAt
15
+ file
16
+ fileType
17
+ hash
18
+ slug
19
+ image {
20
+ alt
21
+ backgroundColor
22
+ caption
23
+ copyright
24
+ license
25
+ licenseUrl
26
+ url
27
+ }
28
+ name
29
+ path
30
+ size
31
+ thumb
32
+ updatedAt
33
+ url
34
+ }
35
+ total
36
+ }
37
+ }
@@ -0,0 +1,7 @@
1
+ input FileInput {
2
+ name: String!
3
+ url: AWSURL!
4
+ size: Int
5
+ fileType: String
6
+ image: ImageInput
7
+ }
@@ -0,0 +1,9 @@
1
+ input VideoInput {
2
+ url: AWSURL
3
+ alt: String
4
+ caption: String
5
+ copyright: String
6
+ license: String
7
+ licenseUrl: String
8
+ backgroundColor: String
9
+ }
@@ -0,0 +1,4 @@
1
+ type FilesList {
2
+ total: Int!
3
+ items: [File]
4
+ }
@@ -0,0 +1,9 @@
1
+ input ImageInput {
2
+ url: AWSURL
3
+ alt: String
4
+ caption: String
5
+ copyright: String
6
+ license: String
7
+ licenseUrl: String
8
+ backgroundColor: String
9
+ }
@@ -0,0 +1,15 @@
1
+ type File {
2
+ appId: String
3
+ name: String!
4
+ url: AWSURL!
5
+ size: Int!
6
+ fileType: String!
7
+ hash: String!
8
+ path: String!
9
+ file: String!
10
+ image: Image
11
+ thumb: AWSURL!
12
+ createdAt: AWSDateTime!
13
+ updatedAt: AWSDateTime!
14
+ }
15
+