@explorer-1/vue 0.2.35 → 0.2.36

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@explorer-1/vue",
3
- "version": "0.2.35",
3
+ "version": "0.2.36",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -18,6 +18,7 @@ const sizeMap: Attributes = {
18
18
  }
19
19
 
20
20
  interface BasePillProps {
21
+ text?: string
21
22
  variant?: string
22
23
  size?: string
23
24
  contentType?: string
@@ -44,14 +45,16 @@ const metadataAttrs = computed(() => {
44
45
  }
45
46
  return { variant: undefined, label: undefined }
46
47
  })
48
+ const theText = computed(() => {
49
+ return props.text || metadataAttrs.value.label
50
+ })
47
51
  </script>
48
52
  <template>
49
53
  <p
50
54
  :class="`${variantMap[metadataAttrs.variant || props.variant]} ${sizeMap[props.size]}`"
51
55
  class="ThemeVariantLight text-contrast-none inline-block text-white font-bold edu:font-extrabold rounded-full leading-tight m-0 uppercase print:border-none print:px-0"
52
56
  >
53
- <template v-if="metadataAttrs.label"> {{ metadataAttrs.label }} </template>
54
- <template v-else> <slot /></template>
57
+ {{ theText }}
55
58
  <span class="sr-only">.</span>
56
59
  </p>
57
60
  </template>
@@ -47,9 +47,8 @@
47
47
  :class="{ 'mb-2': !large, 'mb-4': large }"
48
48
  size="sm"
49
49
  :content-type="metadataType"
50
- >
51
- {{ (theItem as EventCardObject).eventType }}
52
- </BasePill>
50
+ :text="(theItem as EventCardObject).eventType"
51
+ />
53
52
  </template>
54
53
  <template
55
54
  v-else-if="themeStore.isEdu && theItem.parent?.title && theItem.parent?.title !== 'EDU'"
@@ -117,7 +116,7 @@
117
116
  <MetadataEvent
118
117
  v-if="metadataType === 'EDUEventPage'"
119
118
  :event="theItem"
120
- :show-time="false"
119
+ :show-time="large"
121
120
  :show-location="false"
122
121
  compact
123
122
  />
@@ -20,6 +20,7 @@ const props = withDefaults(defineProps<BlockLinkCardListProps>(), {
20
20
  :class="{ 'pt-3': index !== 0 }"
21
21
  :data="item"
22
22
  size="lg"
23
+ show-calendar-chip
23
24
  />
24
25
  </div>
25
26
  </template>
@@ -9,9 +9,8 @@
9
9
  :variant="pillColor"
10
10
  size="lg"
11
11
  class="mr-3"
12
- >
13
- {{ pillLabel }}
14
- </BasePill>
12
+ :text="pillLabel"
13
+ />
15
14
  </template>
16
15
  <template v-else>
17
16
  <div
@@ -40,9 +40,8 @@
40
40
  size="lg"
41
41
  class="mr-3"
42
42
  :content-type="customPillType"
43
- >
44
- {{ customPill }}
45
- </BasePill>
43
+ :text="customPill"
44
+ />
46
45
  <div
47
46
  v-else-if="label"
48
47
  class="font-secondary text-base font-semibold tracking-wider no-underline uppercase"
@@ -61,9 +61,8 @@
61
61
  size="sm"
62
62
  class="mr-3"
63
63
  :content-type="customPillType"
64
- >
65
- {{ customPill }}
66
- </BasePill>
64
+ :text="customPill"
65
+ />
67
66
  <p
68
67
  v-if="customLabel || feature.label"
69
68
  class="text-subtitle"
@@ -20,10 +20,13 @@
20
20
  startDate,
21
21
  endTime,
22
22
  endDate,
23
+ customDate,
23
24
  location,
24
- eventType: eventType
25
+ eventType: eventType,
26
+ ongoing
25
27
  }
26
28
  }"
29
+ show-calendar-chip
27
30
  />
28
31
  <EventCard
29
32
  v-else-if="isEvents"
@@ -320,6 +323,11 @@ export default defineComponent({
320
323
  required: false,
321
324
  default: undefined
322
325
  },
326
+ customDate: {
327
+ type: String,
328
+ required: false,
329
+ default: undefined
330
+ },
323
331
  location: {
324
332
  type: String,
325
333
  required: false,
@@ -328,6 +336,10 @@ export default defineComponent({
328
336
  pageContentType: {
329
337
  type: String,
330
338
  default: undefined
339
+ },
340
+ ongoing: {
341
+ type: Boolean,
342
+ default: false
331
343
  }
332
344
  },
333
345
  computed: {
@@ -23,10 +23,13 @@
23
23
  :topic="page.topic"
24
24
  :image="page.image"
25
25
  :date="page.date"
26
+ :custom-date="page.customDate"
26
27
  :start-date="page.startDate"
27
28
  :end-date="page.endDate"
28
29
  :start-time="page.startTime"
29
30
  :end-time="page.endTime"
31
+ :event-type="page.eventType"
32
+ :ongoing="page.ongoing"
30
33
  :location="page.location"
31
34
  :title="page.title"
32
35
  :summary="page.summary"
@@ -57,6 +60,7 @@
57
60
  <script lang="ts">
58
61
  import { defineComponent } from 'vue'
59
62
  import type { ElasticSearchPage } from '../../interfaces'
63
+
60
64
  // @ts-ignore
61
65
  import dayjs from 'dayjs'
62
66
  import SearchResultCard from './../SearchResultCard/SearchResultCard.vue'
@@ -131,6 +135,8 @@ export default defineComponent({
131
135
  const pageType = page._source[handle + '__label']
132
136
  if (handle === 'events_eventpage') {
133
137
  date = 'Event date: ' + parseDate(page._source[handle + '__start_datetime'])
138
+ } else if (handle === 'edu_events_edueventpage') {
139
+ date = null
134
140
  } else if (handle === 'missions_mission') {
135
141
  date = page._source.display_date_filter
136
142
  ? 'Launch date: ' + page._source.display_date_filter
@@ -155,13 +161,37 @@ export default defineComponent({
155
161
  page.topic = topic
156
162
  // properties for event's page
157
163
  page.location =
158
- handle === 'events_eventpage' ? page._source[handle + '__location'] : null
164
+ handle === 'events_eventpage' || handle === 'edu_events_edueventpage'
165
+ ? page._source[handle + '__location'] | page._source[handle + '__location_name']
166
+ : null
159
167
  page.startDate =
160
- handle === 'events_eventpage' ? page._source[handle + '__start_datetime'] : null
168
+ handle === 'events_eventpage' || handle === 'edu_events_edueventpage'
169
+ ? page._source[handle + '__start_datetime']
170
+ : null
161
171
  page.endDate =
162
- handle === 'events_eventpage' ? page._source[handle + '__end_datetime'] : null
172
+ handle === 'events_eventpage' || handle === 'edu_events_edueventpage'
173
+ ? page._source[handle + '__end_datetime']
174
+ : null
163
175
  page.startTime =
164
- handle === 'events_eventpage' ? page._source[handle + '__start_time_string'] : null
176
+ handle === 'events_eventpage' || handle === 'edu_events_edueventpage'
177
+ ? page._source[handle + '__start_time_string']
178
+ : null
179
+ page.endTime =
180
+ handle === 'events_eventpage' || handle === 'edu_events_edueventpage'
181
+ ? page._source[handle + '__end_time_string']
182
+ : null
183
+ page.eventType =
184
+ handle === 'edu_events_edueventpage'
185
+ ? page._source.edu_events_edueventpage__event_type_label_filter
186
+ : undefined
187
+ page.customDate =
188
+ handle === 'edu_events_edueventpage'
189
+ ? page._source.edu_events_edueventpage__custom_date
190
+ : undefined
191
+ page.ongoing =
192
+ handle === 'edu_events_edueventpage'
193
+ ? page._source.edu_events_edueventpage__ongoing
194
+ : undefined
165
195
  // properties that are different for profiles page
166
196
  page.summary =
167
197
  handle === 'profiles_profilepage'
package/src/constants.ts CHANGED
@@ -2,6 +2,7 @@ import type { DictionaryInterface, PillDictionaryInterface } from './interfaces'
2
2
 
3
3
  export const eduMetadataDictionary: PillDictionaryInterface = {
4
4
  EDUEventPage: {
5
+ label: 'Event',
5
6
  variant: 'primary',
6
7
  icons: 'primary',
7
8
  type: 'event'
@@ -73,9 +74,9 @@ export const searchContentTypeToPageType: DictionaryInterface = {
73
74
  news_news: 'News',
74
75
  events_eventpage: 'EventPage',
75
76
  missions_mission: 'Mission',
76
- eduevents_edueventpage: 'EDUEventPage',
77
- eduresources_educollectionsdetailpage: 'EDUCollectionsDetailPage',
78
- eduresources_eduexplainerarticlepage: 'EDUExplainerArticlePage',
79
- eduresources_edulessonpage: 'EDULessonPage',
80
- eduresources_eduteachablemomentpage: 'EDUTeachableMomentPage'
77
+ edu_events_edueventpage: 'EDUEventPage',
78
+ edu_resources_educollectionsdetailpage: 'EDUCollectionsDetailPage',
79
+ edu_resources_eduexplainerarticlepage: 'EDUExplainerArticlePage',
80
+ edu_resources_edulessonpage: 'EDULessonPage',
81
+ edu_resources_eduteachablemomentpage: 'EDUTeachableMomentPage'
81
82
  }
package/src/interfaces.ts CHANGED
@@ -79,16 +79,19 @@ export interface ElasticSearchPage {
79
79
  content_type: string
80
80
  url: string
81
81
  type: string
82
- topic: string
83
- image: string | any
84
- date: string
85
- startDate: string
86
- endDate: string
87
- startTime: string
88
- endTime: string
89
- location: string
82
+ topic?: string
83
+ image?: string | any
84
+ date?: string
85
+ startDate?: string
86
+ endDate?: string
87
+ customDate?: string
88
+ startTime?: string
89
+ endTime?: string
90
+ location?: string
90
91
  title: string
91
- summary: string
92
+ summary?: string
93
+ eventType?: string
94
+ ongoing?: boolean
92
95
  }
93
96
 
94
97
  export interface FormOption {
@@ -36,9 +36,8 @@
36
36
  <BasePill
37
37
  variant="primary"
38
38
  size="lg"
39
- >
40
- {{ data.eventType }}
41
- </BasePill>
39
+ :text="data.eventType"
40
+ />
42
41
  </div>
43
42
  <BaseHeading
44
43
  level="h1"