@universityofmaryland/web-feeds-library 1.2.2 → 1.2.6
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/README.md +1 -1
- package/dist/composite/academic/slider.js +2 -0
- package/dist/composite/academic/slider.js.map +1 -1
- package/dist/composite/academic/slider.mjs +2 -0
- package/dist/composite/academic/slider.mjs.map +1 -1
- package/dist/composite/events/common/data.d.ts +1 -5
- package/dist/composite/events/common/data.d.ts.map +1 -1
- package/dist/composite/events/common/data.js +1 -0
- package/dist/composite/events/common/data.js.map +1 -1
- package/dist/composite/events/common/data.mjs +1 -0
- package/dist/composite/events/common/data.mjs.map +1 -1
- package/dist/composite/events/common/display.d.ts +1 -0
- package/dist/composite/events/common/display.d.ts.map +1 -1
- package/dist/composite/events/common/display.js +2 -1
- package/dist/composite/events/common/display.js.map +1 -1
- package/dist/composite/events/common/display.mjs +2 -1
- package/dist/composite/events/common/display.mjs.map +1 -1
- package/dist/composite/events/common/fetch.d.ts +3 -0
- package/dist/composite/events/common/fetch.d.ts.map +1 -1
- package/dist/composite/events/common/fetch.js +20 -8
- package/dist/composite/events/common/fetch.js.map +1 -1
- package/dist/composite/events/common/fetch.mjs +20 -8
- package/dist/composite/events/common/fetch.mjs.map +1 -1
- package/dist/composite/events/common/queries.d.ts +4 -2
- package/dist/composite/events/common/queries.d.ts.map +1 -1
- package/dist/composite/events/common/queries.js +10 -4
- package/dist/composite/events/common/queries.js.map +1 -1
- package/dist/composite/events/common/queries.mjs +11 -5
- package/dist/composite/events/common/queries.mjs.map +1 -1
- package/dist/composite/events/grid.js +2 -0
- package/dist/composite/events/grid.js.map +1 -1
- package/dist/composite/events/grid.mjs +2 -0
- package/dist/composite/events/grid.mjs.map +1 -1
- package/dist/composite/events/grouped.d.ts.map +1 -1
- package/dist/composite/events/grouped.js +94 -37
- package/dist/composite/events/grouped.js.map +1 -1
- package/dist/composite/events/grouped.mjs +95 -38
- package/dist/composite/events/grouped.mjs.map +1 -1
- package/dist/composite/events/list.js +2 -0
- package/dist/composite/events/list.js.map +1 -1
- package/dist/composite/events/list.mjs +2 -0
- package/dist/composite/events/list.mjs.map +1 -1
- package/dist/composite/events/slider.js +2 -0
- package/dist/composite/events/slider.js.map +1 -1
- package/dist/composite/events/slider.mjs +2 -0
- package/dist/composite/events/slider.mjs.map +1 -1
- package/dist/composite/news/common/data.js +1 -0
- package/dist/composite/news/common/data.js.map +1 -1
- package/dist/composite/news/common/data.mjs +1 -0
- package/dist/composite/news/common/data.mjs.map +1 -1
- package/dist/composite/news/common/fetch.js +3 -1
- package/dist/composite/news/common/fetch.js.map +1 -1
- package/dist/composite/news/common/fetch.mjs +3 -1
- package/dist/composite/news/common/fetch.mjs.map +1 -1
- package/dist/composite/news/featured.js +2 -0
- package/dist/composite/news/featured.js.map +1 -1
- package/dist/composite/news/featured.mjs +2 -0
- package/dist/composite/news/featured.mjs.map +1 -1
- package/dist/composite/news/grid.js +2 -0
- package/dist/composite/news/grid.js.map +1 -1
- package/dist/composite/news/grid.mjs +2 -0
- package/dist/composite/news/grid.mjs.map +1 -1
- package/dist/composite/news/list.js +2 -0
- package/dist/composite/news/list.js.map +1 -1
- package/dist/composite/news/list.mjs +2 -0
- package/dist/composite/news/list.mjs.map +1 -1
- package/dist/elements/layout.d.ts +5 -17
- package/dist/elements/layout.d.ts.map +1 -1
- package/dist/elements/layout.js +36 -44
- package/dist/elements/layout.js.map +1 -1
- package/dist/elements/layout.mjs +37 -45
- package/dist/elements/layout.mjs.map +1 -1
- package/dist/macros/lazy-load.d.ts +2 -5
- package/dist/macros/lazy-load.d.ts.map +1 -1
- package/dist/macros/lazy-load.js +9 -18
- package/dist/macros/lazy-load.js.map +1 -1
- package/dist/macros/lazy-load.mjs +9 -18
- package/dist/macros/lazy-load.mjs.map +1 -1
- package/dist/macros/loader.d.ts +2 -5
- package/dist/macros/loader.d.ts.map +1 -1
- package/dist/macros/loader.js +39 -59
- package/dist/macros/loader.js.map +1 -1
- package/dist/macros/loader.mjs +39 -59
- package/dist/macros/loader.mjs.map +1 -1
- package/dist/macros/no-results.d.ts +2 -5
- package/dist/macros/no-results.d.ts.map +1 -1
- package/dist/macros/no-results.js +21 -26
- package/dist/macros/no-results.js.map +1 -1
- package/dist/macros/no-results.mjs +21 -26
- package/dist/macros/no-results.mjs.map +1 -1
- package/dist/macros/slider.d.ts.map +1 -1
- package/dist/macros/slider.js +2 -4
- package/dist/macros/slider.js.map +1 -1
- package/dist/macros/slider.mjs +2 -4
- package/dist/macros/slider.mjs.map +1 -1
- package/package.json +12 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# University of Maryland Feeds Library
|
|
2
2
|
|
|
3
|
-
[](https://www.npmjs.com/package/@universityofmaryland/web-feeds-library)
|
|
4
4
|
|
|
5
5
|
Dynamic content feed components for displaying University of Maryland news, events, and academic information with automatic updates, caching, and brand-compliant styling.
|
|
6
6
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
require("@universityofmaryland/web-styles-library");
|
|
3
|
+
require("@universityofmaryland/web-builder-library");
|
|
3
4
|
require("@universityofmaryland/web-elements-library");
|
|
5
|
+
require("@universityofmaryland/web-utilities-library/theme");
|
|
4
6
|
const slider$1 = require("../../macros/slider.js");
|
|
5
7
|
const QUERY_DATA = `
|
|
6
8
|
title
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.js","sources":["../../../source/composite/academic/slider.ts"],"sourcesContent":["import * as feedMacros from 'macros';\nimport { type AcademicSliderProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\nconst QUERY_DATA = `\n title\n url\n startMonth: startDate @formatDateTime(format: \"M\")\n startDay: startDate @formatDateTime(format: \"d\")\n endMonth: endDate @formatDateTime(format: \"M\")\n endDay: endDate @formatDateTime(format: \"d\")\n`;\n\nconst query = `\n query getEvents($startDate: String!, $related: [QueryArgument]) {\n entries: solspace_calendar {\n events(\n relatedTo: $related\n loadOccurrences: true\n startsAfterOrAt: $startDate\n limit: 12\n calendarId: [4, 2]\n ) {\n ${QUERY_DATA}\n }\n }\n }\n`;\n\nexport default (props: AcademicSliderProps): ElementModel =>\n feedMacros.slider({\n ...props,\n query,\n url: 'https://provost.umd.edu/graphql',\n });\n"],"names":["feedMacros.slider"],"mappings":"
|
|
1
|
+
{"version":3,"file":"slider.js","sources":["../../../source/composite/academic/slider.ts"],"sourcesContent":["import * as feedMacros from 'macros';\nimport { type AcademicSliderProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\nconst QUERY_DATA = `\n title\n url\n startMonth: startDate @formatDateTime(format: \"M\")\n startDay: startDate @formatDateTime(format: \"d\")\n endMonth: endDate @formatDateTime(format: \"M\")\n endDay: endDate @formatDateTime(format: \"d\")\n`;\n\nconst query = `\n query getEvents($startDate: String!, $related: [QueryArgument]) {\n entries: solspace_calendar {\n events(\n relatedTo: $related\n loadOccurrences: true\n startsAfterOrAt: $startDate\n limit: 12\n calendarId: [4, 2]\n ) {\n ${QUERY_DATA}\n }\n }\n }\n`;\n\nexport default (props: AcademicSliderProps): ElementModel =>\n feedMacros.slider({\n ...props,\n query,\n url: 'https://provost.umd.edu/graphql',\n });\n"],"names":["feedMacros.slider"],"mappings":";;;;;;AAIA,MAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASnB,MAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAUJ,UAAU;AAAA;AAAA;AAAA;AAAA;AAMpB,MAAA,SAAe,CAAC,UACdA,SAAkB;AAAA,EAChB,GAAG;AAAA,EACH;AAAA,EACA,KAAK;AACP,CAAC;;"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import "@universityofmaryland/web-styles-library";
|
|
2
|
+
import "@universityofmaryland/web-builder-library";
|
|
2
3
|
import "@universityofmaryland/web-elements-library";
|
|
4
|
+
import "@universityofmaryland/web-utilities-library/theme";
|
|
3
5
|
import slider$1 from "../../macros/slider.mjs";
|
|
4
6
|
const QUERY_DATA = `
|
|
5
7
|
title
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.mjs","sources":["../../../source/composite/academic/slider.ts"],"sourcesContent":["import * as feedMacros from 'macros';\nimport { type AcademicSliderProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\nconst QUERY_DATA = `\n title\n url\n startMonth: startDate @formatDateTime(format: \"M\")\n startDay: startDate @formatDateTime(format: \"d\")\n endMonth: endDate @formatDateTime(format: \"M\")\n endDay: endDate @formatDateTime(format: \"d\")\n`;\n\nconst query = `\n query getEvents($startDate: String!, $related: [QueryArgument]) {\n entries: solspace_calendar {\n events(\n relatedTo: $related\n loadOccurrences: true\n startsAfterOrAt: $startDate\n limit: 12\n calendarId: [4, 2]\n ) {\n ${QUERY_DATA}\n }\n }\n }\n`;\n\nexport default (props: AcademicSliderProps): ElementModel =>\n feedMacros.slider({\n ...props,\n query,\n url: 'https://provost.umd.edu/graphql',\n });\n"],"names":["feedMacros.slider"],"mappings":"
|
|
1
|
+
{"version":3,"file":"slider.mjs","sources":["../../../source/composite/academic/slider.ts"],"sourcesContent":["import * as feedMacros from 'macros';\nimport { type AcademicSliderProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\nconst QUERY_DATA = `\n title\n url\n startMonth: startDate @formatDateTime(format: \"M\")\n startDay: startDate @formatDateTime(format: \"d\")\n endMonth: endDate @formatDateTime(format: \"M\")\n endDay: endDate @formatDateTime(format: \"d\")\n`;\n\nconst query = `\n query getEvents($startDate: String!, $related: [QueryArgument]) {\n entries: solspace_calendar {\n events(\n relatedTo: $related\n loadOccurrences: true\n startsAfterOrAt: $startDate\n limit: 12\n calendarId: [4, 2]\n ) {\n ${QUERY_DATA}\n }\n }\n }\n`;\n\nexport default (props: AcademicSliderProps): ElementModel =>\n feedMacros.slider({\n ...props,\n query,\n url: 'https://provost.umd.edu/graphql',\n });\n"],"names":["feedMacros.slider"],"mappings":";;;;;AAIA,MAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASnB,MAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAUJ,UAAU;AAAA;AAAA;AAAA;AAAA;AAMpB,MAAA,SAAe,CAAC,UACdA,SAAkB;AAAA,EAChB,GAAG;AAAA,EACH;AAAA,EACA,KAAK;AACP,CAAC;"}
|
|
@@ -37,11 +37,7 @@ export declare const display: ({ entry, isThemeDark, }: {
|
|
|
37
37
|
}) => {
|
|
38
38
|
headline: HTMLParagraphElement | null;
|
|
39
39
|
text: HTMLDivElement | null;
|
|
40
|
-
eventMeta:
|
|
41
|
-
element: HTMLElement;
|
|
42
|
-
className: string;
|
|
43
|
-
styles: string;
|
|
44
|
-
};
|
|
40
|
+
eventMeta: import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
|
|
45
41
|
isThemeDark: boolean | undefined;
|
|
46
42
|
};
|
|
47
43
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../source/composite/events/common/data.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,WAAW,EACZ,MAAM,WAAW,CAAC;AAEnB,UAAU,aAAc,SAAQ,YAAY;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,UAAU,YAAa,SAAQ,WAAW;CAAG;AAE7C,eAAO,MAAM,iBAAiB,GAAI,OAAO,aAAa;;;;;;;;;;;;;;;;;;;;;;;CAMpD,CAAC;AAEH,eAAO,MAAM,YAAY,GACvB,OAAO,YAAY,KAClB,SAAS,CAAC,oBAuBZ,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,yBAGrB;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../source/composite/events/common/data.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,WAAW,EACZ,MAAM,WAAW,CAAC;AAEnB,UAAU,aAAc,SAAQ,YAAY;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,UAAU,YAAa,SAAQ,WAAW;CAAG;AAE7C,eAAO,MAAM,iBAAiB,GAAI,OAAO,aAAa;;;;;;;;;;;;;;;;;;;;;;;CAMpD,CAAC;AAEH,eAAO,MAAM,YAAY,GACvB,OAAO,YAAY,KAClB,SAAS,CAAC,oBAuBZ,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,yBAGrB;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;;;;;CAWC,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const webElementsLibrary = require("@universityofmaryland/web-elements-library");
|
|
4
4
|
require("@universityofmaryland/web-styles-library");
|
|
5
|
+
require("@universityofmaryland/web-builder-library");
|
|
5
6
|
const text = require("../../../elements/text.js");
|
|
6
7
|
const fetch = require("./fetch.js");
|
|
7
8
|
const lazyLoadVariables = (props) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sources":["../../../../source/composite/events/common/data.ts"],"sourcesContent":["import { Atomic } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedFetch from './fetch';\nimport {\n CommonProps,\n DisplayStartProps,\n DisplayProps,\n EventType,\n FeedDisplay,\n} from '../_types';\n\ninterface LazyLoadProps extends DisplayProps {\n callback: (props: DisplayStartProps) => Promise<void>;\n}\n\ninterface DataApiProps extends CommonProps {}\n\nexport const lazyLoadVariables = (props: LazyLoadProps) => ({\n ...props,\n totalEntries: props.getTotalEntries(),\n offset: props.getOffset(),\n container: props.getContainer(),\n callback: () => feedFetch.load(props),\n});\n\nexport const apiVariables = (\n props: DataApiProps,\n): feedFetch.TypeAPIFeedVariables => {\n const {\n categories,\n getOffset,\n token,\n numberOfRowsToStart,\n numberOfColumnsToShow = 1,\n } = props;\n const obj: feedFetch.TypeAPIFeedVariables = {\n offset: getOffset(),\n token,\n limit: numberOfRowsToStart,\n };\n\n if (numberOfColumnsToShow) {\n obj.limit = numberOfColumnsToShow * numberOfRowsToStart;\n }\n\n if (categories) {\n obj.related = categories;\n }\n\n return obj;\n};\n\nexport const display = ({\n entry,\n isThemeDark,\n}: {\n entry: EventType;\n isThemeDark?: boolean;\n isTransparent?: boolean;\n}) => ({\n headline: feedElements.text.headline({\n text: entry.title,\n url: entry.url,\n }),\n text: feedElements.text.summary({ text: entry.summary }),\n eventMeta: Atomic.events.meta({\n ...entry,\n isThemeDark,\n }),\n isThemeDark,\n});\n"],"names":["feedFetch.load","feedElements.text.headline","feedElements.text.summary","Atomic"],"mappings":"
|
|
1
|
+
{"version":3,"file":"data.js","sources":["../../../../source/composite/events/common/data.ts"],"sourcesContent":["import { Atomic } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedFetch from './fetch';\nimport {\n CommonProps,\n DisplayStartProps,\n DisplayProps,\n EventType,\n FeedDisplay,\n} from '../_types';\n\ninterface LazyLoadProps extends DisplayProps {\n callback: (props: DisplayStartProps) => Promise<void>;\n}\n\ninterface DataApiProps extends CommonProps {}\n\nexport const lazyLoadVariables = (props: LazyLoadProps) => ({\n ...props,\n totalEntries: props.getTotalEntries(),\n offset: props.getOffset(),\n container: props.getContainer(),\n callback: () => feedFetch.load(props),\n});\n\nexport const apiVariables = (\n props: DataApiProps,\n): feedFetch.TypeAPIFeedVariables => {\n const {\n categories,\n getOffset,\n token,\n numberOfRowsToStart,\n numberOfColumnsToShow = 1,\n } = props;\n const obj: feedFetch.TypeAPIFeedVariables = {\n offset: getOffset(),\n token,\n limit: numberOfRowsToStart,\n };\n\n if (numberOfColumnsToShow) {\n obj.limit = numberOfColumnsToShow * numberOfRowsToStart;\n }\n\n if (categories) {\n obj.related = categories;\n }\n\n return obj;\n};\n\nexport const display = ({\n entry,\n isThemeDark,\n}: {\n entry: EventType;\n isThemeDark?: boolean;\n isTransparent?: boolean;\n}) => ({\n headline: feedElements.text.headline({\n text: entry.title,\n url: entry.url,\n }),\n text: feedElements.text.summary({ text: entry.summary }),\n eventMeta: Atomic.events.meta({\n ...entry,\n isThemeDark,\n }),\n isThemeDark,\n});\n"],"names":["feedFetch.load","feedElements.text.headline","feedElements.text.summary","Atomic"],"mappings":";;;;;;;AAiBO,MAAM,oBAAoB,CAAC,WAA0B;AAAA,EAC1D,GAAG;AAAA,EACH,cAAc,MAAM,gBAAA;AAAA,EACpB,QAAQ,MAAM,UAAA;AAAA,EACd,WAAW,MAAM,aAAA;AAAA,EACjB,UAAU,MAAMA,MAAAA,KAAe,KAAK;AACtC;AAEO,MAAM,eAAe,CAC1B,UACmC;AACnC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,wBAAwB;AAAA,EAAA,IACtB;AACJ,QAAM,MAAsC;AAAA,IAC1C,QAAQ,UAAA;AAAA,IACR;AAAA,IACA,OAAO;AAAA,EAAA;AAGT,MAAI,uBAAuB;AACzB,QAAI,QAAQ,wBAAwB;AAAA,EACtC;AAEA,MAAI,YAAY;AACd,QAAI,UAAU;AAAA,EAChB;AAEA,SAAO;AACT;AAEO,MAAM,UAAU,CAAC;AAAA,EACtB;AAAA,EACA;AACF,OAIO;AAAA,EACL,UAAUC,KAAAA,SAA2B;AAAA,IACnC,MAAM,MAAM;AAAA,IACZ,KAAK,MAAM;AAAA,EAAA,CACZ;AAAA,EACD,MAAMC,KAAAA,QAA0B,EAAE,MAAM,MAAM,SAAS;AAAA,EACvD,WAAWC,mBAAAA,OAAO,OAAO,KAAK;AAAA,IAC5B,GAAG;AAAA,IACH;AAAA,EAAA,CACD;AAAA,EACD;AACF;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Atomic } from "@universityofmaryland/web-elements-library";
|
|
2
2
|
import "@universityofmaryland/web-styles-library";
|
|
3
|
+
import "@universityofmaryland/web-builder-library";
|
|
3
4
|
import { summary, headline } from "../../../elements/text.mjs";
|
|
4
5
|
import { load } from "./fetch.mjs";
|
|
5
6
|
const lazyLoadVariables = (props) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.mjs","sources":["../../../../source/composite/events/common/data.ts"],"sourcesContent":["import { Atomic } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedFetch from './fetch';\nimport {\n CommonProps,\n DisplayStartProps,\n DisplayProps,\n EventType,\n FeedDisplay,\n} from '../_types';\n\ninterface LazyLoadProps extends DisplayProps {\n callback: (props: DisplayStartProps) => Promise<void>;\n}\n\ninterface DataApiProps extends CommonProps {}\n\nexport const lazyLoadVariables = (props: LazyLoadProps) => ({\n ...props,\n totalEntries: props.getTotalEntries(),\n offset: props.getOffset(),\n container: props.getContainer(),\n callback: () => feedFetch.load(props),\n});\n\nexport const apiVariables = (\n props: DataApiProps,\n): feedFetch.TypeAPIFeedVariables => {\n const {\n categories,\n getOffset,\n token,\n numberOfRowsToStart,\n numberOfColumnsToShow = 1,\n } = props;\n const obj: feedFetch.TypeAPIFeedVariables = {\n offset: getOffset(),\n token,\n limit: numberOfRowsToStart,\n };\n\n if (numberOfColumnsToShow) {\n obj.limit = numberOfColumnsToShow * numberOfRowsToStart;\n }\n\n if (categories) {\n obj.related = categories;\n }\n\n return obj;\n};\n\nexport const display = ({\n entry,\n isThemeDark,\n}: {\n entry: EventType;\n isThemeDark?: boolean;\n isTransparent?: boolean;\n}) => ({\n headline: feedElements.text.headline({\n text: entry.title,\n url: entry.url,\n }),\n text: feedElements.text.summary({ text: entry.summary }),\n eventMeta: Atomic.events.meta({\n ...entry,\n isThemeDark,\n }),\n isThemeDark,\n});\n"],"names":["feedFetch.load","feedElements.text.headline","feedElements.text.summary"],"mappings":"
|
|
1
|
+
{"version":3,"file":"data.mjs","sources":["../../../../source/composite/events/common/data.ts"],"sourcesContent":["import { Atomic } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedFetch from './fetch';\nimport {\n CommonProps,\n DisplayStartProps,\n DisplayProps,\n EventType,\n FeedDisplay,\n} from '../_types';\n\ninterface LazyLoadProps extends DisplayProps {\n callback: (props: DisplayStartProps) => Promise<void>;\n}\n\ninterface DataApiProps extends CommonProps {}\n\nexport const lazyLoadVariables = (props: LazyLoadProps) => ({\n ...props,\n totalEntries: props.getTotalEntries(),\n offset: props.getOffset(),\n container: props.getContainer(),\n callback: () => feedFetch.load(props),\n});\n\nexport const apiVariables = (\n props: DataApiProps,\n): feedFetch.TypeAPIFeedVariables => {\n const {\n categories,\n getOffset,\n token,\n numberOfRowsToStart,\n numberOfColumnsToShow = 1,\n } = props;\n const obj: feedFetch.TypeAPIFeedVariables = {\n offset: getOffset(),\n token,\n limit: numberOfRowsToStart,\n };\n\n if (numberOfColumnsToShow) {\n obj.limit = numberOfColumnsToShow * numberOfRowsToStart;\n }\n\n if (categories) {\n obj.related = categories;\n }\n\n return obj;\n};\n\nexport const display = ({\n entry,\n isThemeDark,\n}: {\n entry: EventType;\n isThemeDark?: boolean;\n isTransparent?: boolean;\n}) => ({\n headline: feedElements.text.headline({\n text: entry.title,\n url: entry.url,\n }),\n text: feedElements.text.summary({ text: entry.summary }),\n eventMeta: Atomic.events.meta({\n ...entry,\n isThemeDark,\n }),\n isThemeDark,\n});\n"],"names":["feedFetch.load","feedElements.text.headline","feedElements.text.summary"],"mappings":";;;;;AAiBO,MAAM,oBAAoB,CAAC,WAA0B;AAAA,EAC1D,GAAG;AAAA,EACH,cAAc,MAAM,gBAAA;AAAA,EACpB,QAAQ,MAAM,UAAA;AAAA,EACd,WAAW,MAAM,aAAA;AAAA,EACjB,UAAU,MAAMA,KAAe,KAAK;AACtC;AAEO,MAAM,eAAe,CAC1B,UACmC;AACnC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,wBAAwB;AAAA,EAAA,IACtB;AACJ,QAAM,MAAsC;AAAA,IAC1C,QAAQ,UAAA;AAAA,IACR;AAAA,IACA,OAAO;AAAA,EAAA;AAGT,MAAI,uBAAuB;AACzB,QAAI,QAAQ,wBAAwB;AAAA,EACtC;AAEA,MAAI,YAAY;AACd,QAAI,UAAU;AAAA,EAChB;AAEA,SAAO;AACT;AAEO,MAAM,UAAU,CAAC;AAAA,EACtB;AAAA,EACA;AACF,OAIO;AAAA,EACL,UAAUC,SAA2B;AAAA,IACnC,MAAM,MAAM;AAAA,IACZ,KAAK,MAAM;AAAA,EAAA,CACZ;AAAA,EACD,MAAMC,QAA0B,EAAE,MAAM,MAAM,SAAS;AAAA,EACvD,WAAW,OAAO,OAAO,KAAK;AAAA,IAC5B,GAAG;AAAA,IACH;AAAA,EAAA,CACD;AAAA,EACD;AACF;"}
|
|
@@ -4,6 +4,7 @@ interface DisplayLoadProps extends DisplayProps {
|
|
|
4
4
|
element: HTMLElement;
|
|
5
5
|
styles: string;
|
|
6
6
|
}[];
|
|
7
|
+
query?: string;
|
|
7
8
|
}
|
|
8
9
|
export declare const ID_GRID_LAYOUT_CONTAINER = "umd-grid-gap-layout-container";
|
|
9
10
|
export declare const setShadowStyles: ({ shadowRoot, styles, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../../source/composite/events/common/display.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,UAAU,gBAAiB,SAAQ,YAAY;IAC7C,OAAO,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../../source/composite/events/common/display.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,UAAU,gBAAiB,SAAQ,YAAY;IAC7C,OAAO,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAExE,eAAO,MAAM,eAAe,GAAU,yBAGnC;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,kBAOA,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,iGASvB,cAAc,SAiChB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,OAAO,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAgCtE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,wBAAwB,SAqC1D,CAAC"}
|
|
@@ -93,10 +93,11 @@ const resultLoad = async (props) => {
|
|
|
93
93
|
grid.appendChild(entry.element);
|
|
94
94
|
setStyles(entry.styles);
|
|
95
95
|
});
|
|
96
|
+
const callback = () => fetch.load(props);
|
|
96
97
|
const lazyLoadButton = lazyLoad.create(
|
|
97
98
|
data.lazyLoadVariables({
|
|
98
99
|
...props,
|
|
99
|
-
callback
|
|
100
|
+
callback
|
|
100
101
|
})
|
|
101
102
|
);
|
|
102
103
|
if (lazyLoadButton) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.js","sources":["../../../../source/composite/events/common/display.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './fetch';\nimport * as dataComposed from './data';\nimport { events } from '../../../utilities';\nimport {\n NoResultsProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface DisplayLoadProps extends DisplayProps {\n entries: { element: HTMLElement; styles: string }[];\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nexport const setShadowStyles = async ({\n shadowRoot,\n styles,\n}: {\n shadowRoot: ShadowRoot;\n styles: string;\n}) => {\n const styleElement = document.createElement('style');\n const optimizedCss = await Styles.utilities.transform.css.removeDuplicates(\n styles,\n );\n styleElement.textContent = optimizedCss;\n shadowRoot.appendChild(styleElement);\n};\n\nexport const noResults = ({\n getContainer,\n getStyles,\n getShadowRoot,\n setStyles,\n isThemeDark,\n message = 'No events found',\n linkUrl = 'https://calendar.umd.edu',\n linkText = 'View all events',\n}: NoResultsProps) => {\n const container = getContainer();\n const shadowRoot = getShadowRoot();\n const noResultsContent = feedMacros.noResults({\n message,\n linkUrl,\n linkText,\n isThemeDark,\n });\n const ariaLiveContent = feedMacros.ariaLive.create({\n message,\n });\n\n container.innerHTML = '';\n\n container.appendChild(noResultsContent.element);\n container.appendChild(ariaLiveContent);\n setStyles(noResultsContent.styles);\n\n events.dispatch(container, events.eventNames.FEED_ERROR, {\n error: 'No results found',\n message,\n });\n\n setTimeout(() => {\n const styles = getStyles();\n if (shadowRoot) {\n setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n }, 100);\n};\n\nexport const resultLoad = async (props: DisplayLoadProps): Promise<void> => {\n const { entries, getContainer, setStyles, setOffset } = props;\n const container = getContainer();\n const grid = container.querySelector(\n `#${ID_GRID_LAYOUT_CONTAINER}`,\n ) as HTMLDivElement;\n\n feedMacros.loader.remove({ container });\n feedMacros.buttonLazyLoad.remove({ container });\n setOffset(entries.length);\n\n return new Promise<void>((resolve) => {\n entries.forEach((entry) => {\n grid.appendChild(entry.element);\n setStyles(entry.styles);\n });\n\n const lazyLoadButton = feedMacros.buttonLazyLoad.create(\n dataComposed.lazyLoadVariables({\n ...props,\n callback
|
|
1
|
+
{"version":3,"file":"display.js","sources":["../../../../source/composite/events/common/display.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './fetch';\nimport * as dataComposed from './data';\nimport { events } from '../../../utilities';\nimport {\n NoResultsProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface DisplayLoadProps extends DisplayProps {\n entries: { element: HTMLElement; styles: string }[];\n query?: string;\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nexport const setShadowStyles = async ({\n shadowRoot,\n styles,\n}: {\n shadowRoot: ShadowRoot;\n styles: string;\n}) => {\n const styleElement = document.createElement('style');\n const optimizedCss = await Styles.utilities.transform.css.removeDuplicates(\n styles,\n );\n styleElement.textContent = optimizedCss;\n shadowRoot.appendChild(styleElement);\n};\n\nexport const noResults = ({\n getContainer,\n getStyles,\n getShadowRoot,\n setStyles,\n isThemeDark,\n message = 'No events found',\n linkUrl = 'https://calendar.umd.edu',\n linkText = 'View all events',\n}: NoResultsProps) => {\n const container = getContainer();\n const shadowRoot = getShadowRoot();\n const noResultsContent = feedMacros.noResults({\n message,\n linkUrl,\n linkText,\n isThemeDark,\n });\n const ariaLiveContent = feedMacros.ariaLive.create({\n message,\n });\n\n container.innerHTML = '';\n\n container.appendChild(noResultsContent.element);\n container.appendChild(ariaLiveContent);\n setStyles(noResultsContent.styles);\n\n events.dispatch(container, events.eventNames.FEED_ERROR, {\n error: 'No results found',\n message,\n });\n\n setTimeout(() => {\n const styles = getStyles();\n if (shadowRoot) {\n setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n }, 100);\n};\n\nexport const resultLoad = async (props: DisplayLoadProps): Promise<void> => {\n const { entries, getContainer, setStyles, setOffset } = props;\n const container = getContainer();\n const grid = container.querySelector(\n `#${ID_GRID_LAYOUT_CONTAINER}`,\n ) as HTMLDivElement;\n\n feedMacros.loader.remove({ container });\n feedMacros.buttonLazyLoad.remove({ container });\n setOffset(entries.length);\n\n return new Promise<void>((resolve) => {\n entries.forEach((entry) => {\n grid.appendChild(entry.element);\n setStyles(entry.styles);\n });\n\n const callback = () => feedFetch.load(props);\n const lazyLoadButton = feedMacros.buttonLazyLoad.create(\n dataComposed.lazyLoadVariables({\n ...props,\n callback,\n }),\n );\n\n if (lazyLoadButton) {\n container.appendChild(lazyLoadButton.element);\n setStyles(lazyLoadButton.styles);\n }\n\n resolve();\n });\n};\n\nexport const resultStart = (props: DisplayStartResultsProps) => {\n const {\n feedData,\n numberOfColumnsToShow = 1,\n numberOfRowsToStart,\n isLazyLoad,\n displayResults,\n getContainer,\n getTotalEntries,\n setOffset,\n setStyles,\n layoutElement,\n } = props;\n\n const container = getContainer();\n const totalEntries = getTotalEntries();\n const showAmount = numberOfColumnsToShow || 1 * numberOfRowsToStart;\n const message = isLazyLoad\n ? `Showing ${showAmount} of ${totalEntries} articles`\n : `Showing ${showAmount} articles`;\n\n layoutElement.element.setAttribute('id', ID_GRID_LAYOUT_CONTAINER);\n container.appendChild(layoutElement.element);\n setStyles(layoutElement.styles);\n\n events.dispatch(container, events.eventNames.FEED_LOADED, {\n items: feedData,\n count: feedData.length,\n total: totalEntries || feedData.length,\n });\n\n displayResults({ feedData });\n container.appendChild(\n feedMacros.ariaLive.create({\n message,\n }),\n );\n};\n"],"names":["Styles","feedMacros.noResults","feedMacros.ariaLive","events.dispatch","events.eventNames","feedMacros.loader","feedMacros.buttonLazyLoad","feedFetch.load","dataComposed.lazyLoadVariables"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,2BAA2B;AAEjC,MAAM,kBAAkB,OAAO;AAAA,EACpC;AAAA,EACA;AACF,MAGM;AACJ,QAAM,eAAe,SAAS,cAAc,OAAO;AACnD,QAAM,eAAe,MAAMA,kBAAO,UAAU,UAAU,IAAI;AAAA,IACxD;AAAA,EAAA;AAEF,eAAa,cAAc;AAC3B,aAAW,YAAY,YAAY;AACrC;AAEO,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AACb,MAAsB;AACpB,QAAM,YAAY,aAAA;AAClB,QAAM,aAAa,cAAA;AACnB,QAAM,mBAAmBC,YAAqB;AAAA,IAC5C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACD,QAAM,kBAAkBC,SAAoB,OAAO;AAAA,IACjD;AAAA,EAAA,CACD;AAED,YAAU,YAAY;AAEtB,YAAU,YAAY,iBAAiB,OAAO;AAC9C,YAAU,YAAY,eAAe;AACrC,YAAU,iBAAiB,MAAM;AAEjCC,iBAAgB,WAAWC,MAAAA,WAAkB,YAAY;AAAA,IACvD,OAAO;AAAA,IACP;AAAA,EAAA,CACD;AAED,aAAW,MAAM;AACf,UAAM,SAAS,UAAA;AACf,QAAI,YAAY;AACd,sBAAgB;AAAA,QACd;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF,GAAG,GAAG;AACR;AAEO,MAAM,aAAa,OAAO,UAA2C;AAC1E,QAAM,EAAE,SAAS,cAAc,WAAW,cAAc;AACxD,QAAM,YAAY,aAAA;AAClB,QAAM,OAAO,UAAU;AAAA,IACrB,IAAI,wBAAwB;AAAA,EAAA;AAG9BC,SAAkB,OAAO,EAAE,WAAW;AACtCC,WAA0B,OAAO,EAAE,WAAW;AAC9C,YAAU,QAAQ,MAAM;AAExB,SAAO,IAAI,QAAc,CAAC,YAAY;AACpC,YAAQ,QAAQ,CAAC,UAAU;AACzB,WAAK,YAAY,MAAM,OAAO;AAC9B,gBAAU,MAAM,MAAM;AAAA,IACxB,CAAC;AAED,UAAM,WAAW,MAAMC,MAAAA,KAAe,KAAK;AAC3C,UAAM,iBAAiBD,SAA0B;AAAA,MAC/CE,uBAA+B;AAAA,QAC7B,GAAG;AAAA,QACH;AAAA,MAAA,CACD;AAAA,IAAA;AAGH,QAAI,gBAAgB;AAClB,gBAAU,YAAY,eAAe,OAAO;AAC5C,gBAAU,eAAe,MAAM;AAAA,IACjC;AAEA,YAAA;AAAA,EACF,CAAC;AACH;AAEO,MAAM,cAAc,CAAC,UAAoC;AAC9D,QAAM;AAAA,IACJ;AAAA,IACA,wBAAwB;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,QAAM,YAAY,aAAA;AAClB,QAAM,eAAe,gBAAA;AACrB,QAAM,aAAa,yBAAyB,IAAI;AAChD,QAAM,UAAU,aACZ,WAAW,UAAU,OAAO,YAAY,cACxC,WAAW,UAAU;AAEzB,gBAAc,QAAQ,aAAa,MAAM,wBAAwB;AACjE,YAAU,YAAY,cAAc,OAAO;AAC3C,YAAU,cAAc,MAAM;AAE9BL,iBAAgB,WAAWC,MAAAA,WAAkB,aAAa;AAAA,IACxD,OAAO;AAAA,IACP,OAAO,SAAS;AAAA,IAChB,OAAO,gBAAgB,SAAS;AAAA,EAAA,CACjC;AAED,iBAAe,EAAE,UAAU;AAC3B,YAAU;AAAA,IACRF,SAAoB,OAAO;AAAA,MACzB;AAAA,IAAA,CACD;AAAA,EAAA;AAEL;;;;;;"}
|
|
@@ -74,10 +74,11 @@ const resultLoad = async (props) => {
|
|
|
74
74
|
grid.appendChild(entry.element);
|
|
75
75
|
setStyles(entry.styles);
|
|
76
76
|
});
|
|
77
|
+
const callback = () => load(props);
|
|
77
78
|
const lazyLoadButton = lazyLoad.create(
|
|
78
79
|
lazyLoadVariables({
|
|
79
80
|
...props,
|
|
80
|
-
callback
|
|
81
|
+
callback
|
|
81
82
|
})
|
|
82
83
|
);
|
|
83
84
|
if (lazyLoadButton) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.mjs","sources":["../../../../source/composite/events/common/display.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './fetch';\nimport * as dataComposed from './data';\nimport { events } from '../../../utilities';\nimport {\n NoResultsProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface DisplayLoadProps extends DisplayProps {\n entries: { element: HTMLElement; styles: string }[];\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nexport const setShadowStyles = async ({\n shadowRoot,\n styles,\n}: {\n shadowRoot: ShadowRoot;\n styles: string;\n}) => {\n const styleElement = document.createElement('style');\n const optimizedCss = await Styles.utilities.transform.css.removeDuplicates(\n styles,\n );\n styleElement.textContent = optimizedCss;\n shadowRoot.appendChild(styleElement);\n};\n\nexport const noResults = ({\n getContainer,\n getStyles,\n getShadowRoot,\n setStyles,\n isThemeDark,\n message = 'No events found',\n linkUrl = 'https://calendar.umd.edu',\n linkText = 'View all events',\n}: NoResultsProps) => {\n const container = getContainer();\n const shadowRoot = getShadowRoot();\n const noResultsContent = feedMacros.noResults({\n message,\n linkUrl,\n linkText,\n isThemeDark,\n });\n const ariaLiveContent = feedMacros.ariaLive.create({\n message,\n });\n\n container.innerHTML = '';\n\n container.appendChild(noResultsContent.element);\n container.appendChild(ariaLiveContent);\n setStyles(noResultsContent.styles);\n\n events.dispatch(container, events.eventNames.FEED_ERROR, {\n error: 'No results found',\n message,\n });\n\n setTimeout(() => {\n const styles = getStyles();\n if (shadowRoot) {\n setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n }, 100);\n};\n\nexport const resultLoad = async (props: DisplayLoadProps): Promise<void> => {\n const { entries, getContainer, setStyles, setOffset } = props;\n const container = getContainer();\n const grid = container.querySelector(\n `#${ID_GRID_LAYOUT_CONTAINER}`,\n ) as HTMLDivElement;\n\n feedMacros.loader.remove({ container });\n feedMacros.buttonLazyLoad.remove({ container });\n setOffset(entries.length);\n\n return new Promise<void>((resolve) => {\n entries.forEach((entry) => {\n grid.appendChild(entry.element);\n setStyles(entry.styles);\n });\n\n const lazyLoadButton = feedMacros.buttonLazyLoad.create(\n dataComposed.lazyLoadVariables({\n ...props,\n callback
|
|
1
|
+
{"version":3,"file":"display.mjs","sources":["../../../../source/composite/events/common/display.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './fetch';\nimport * as dataComposed from './data';\nimport { events } from '../../../utilities';\nimport {\n NoResultsProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface DisplayLoadProps extends DisplayProps {\n entries: { element: HTMLElement; styles: string }[];\n query?: string;\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nexport const setShadowStyles = async ({\n shadowRoot,\n styles,\n}: {\n shadowRoot: ShadowRoot;\n styles: string;\n}) => {\n const styleElement = document.createElement('style');\n const optimizedCss = await Styles.utilities.transform.css.removeDuplicates(\n styles,\n );\n styleElement.textContent = optimizedCss;\n shadowRoot.appendChild(styleElement);\n};\n\nexport const noResults = ({\n getContainer,\n getStyles,\n getShadowRoot,\n setStyles,\n isThemeDark,\n message = 'No events found',\n linkUrl = 'https://calendar.umd.edu',\n linkText = 'View all events',\n}: NoResultsProps) => {\n const container = getContainer();\n const shadowRoot = getShadowRoot();\n const noResultsContent = feedMacros.noResults({\n message,\n linkUrl,\n linkText,\n isThemeDark,\n });\n const ariaLiveContent = feedMacros.ariaLive.create({\n message,\n });\n\n container.innerHTML = '';\n\n container.appendChild(noResultsContent.element);\n container.appendChild(ariaLiveContent);\n setStyles(noResultsContent.styles);\n\n events.dispatch(container, events.eventNames.FEED_ERROR, {\n error: 'No results found',\n message,\n });\n\n setTimeout(() => {\n const styles = getStyles();\n if (shadowRoot) {\n setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n }, 100);\n};\n\nexport const resultLoad = async (props: DisplayLoadProps): Promise<void> => {\n const { entries, getContainer, setStyles, setOffset } = props;\n const container = getContainer();\n const grid = container.querySelector(\n `#${ID_GRID_LAYOUT_CONTAINER}`,\n ) as HTMLDivElement;\n\n feedMacros.loader.remove({ container });\n feedMacros.buttonLazyLoad.remove({ container });\n setOffset(entries.length);\n\n return new Promise<void>((resolve) => {\n entries.forEach((entry) => {\n grid.appendChild(entry.element);\n setStyles(entry.styles);\n });\n\n const callback = () => feedFetch.load(props);\n const lazyLoadButton = feedMacros.buttonLazyLoad.create(\n dataComposed.lazyLoadVariables({\n ...props,\n callback,\n }),\n );\n\n if (lazyLoadButton) {\n container.appendChild(lazyLoadButton.element);\n setStyles(lazyLoadButton.styles);\n }\n\n resolve();\n });\n};\n\nexport const resultStart = (props: DisplayStartResultsProps) => {\n const {\n feedData,\n numberOfColumnsToShow = 1,\n numberOfRowsToStart,\n isLazyLoad,\n displayResults,\n getContainer,\n getTotalEntries,\n setOffset,\n setStyles,\n layoutElement,\n } = props;\n\n const container = getContainer();\n const totalEntries = getTotalEntries();\n const showAmount = numberOfColumnsToShow || 1 * numberOfRowsToStart;\n const message = isLazyLoad\n ? `Showing ${showAmount} of ${totalEntries} articles`\n : `Showing ${showAmount} articles`;\n\n layoutElement.element.setAttribute('id', ID_GRID_LAYOUT_CONTAINER);\n container.appendChild(layoutElement.element);\n setStyles(layoutElement.styles);\n\n events.dispatch(container, events.eventNames.FEED_LOADED, {\n items: feedData,\n count: feedData.length,\n total: totalEntries || feedData.length,\n });\n\n displayResults({ feedData });\n container.appendChild(\n feedMacros.ariaLive.create({\n message,\n }),\n );\n};\n"],"names":["feedMacros.noResults","feedMacros.ariaLive","events.dispatch","events.eventNames","feedMacros.loader","feedMacros.buttonLazyLoad","feedFetch.load","dataComposed.lazyLoadVariables"],"mappings":";;;;;;;;;;;AAgBO,MAAM,2BAA2B;AAEjC,MAAM,kBAAkB,OAAO;AAAA,EACpC;AAAA,EACA;AACF,MAGM;AACJ,QAAM,eAAe,SAAS,cAAc,OAAO;AACnD,QAAM,eAAe,MAAM,OAAO,UAAU,UAAU,IAAI;AAAA,IACxD;AAAA,EAAA;AAEF,eAAa,cAAc;AAC3B,aAAW,YAAY,YAAY;AACrC;AAEO,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AACb,MAAsB;AACpB,QAAM,YAAY,aAAA;AAClB,QAAM,aAAa,cAAA;AACnB,QAAM,mBAAmBA,YAAqB;AAAA,IAC5C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACD,QAAM,kBAAkBC,SAAoB,OAAO;AAAA,IACjD;AAAA,EAAA,CACD;AAED,YAAU,YAAY;AAEtB,YAAU,YAAY,iBAAiB,OAAO;AAC9C,YAAU,YAAY,eAAe;AACrC,YAAU,iBAAiB,MAAM;AAEjCC,WAAgB,WAAWC,WAAkB,YAAY;AAAA,IACvD,OAAO;AAAA,IACP;AAAA,EAAA,CACD;AAED,aAAW,MAAM;AACf,UAAM,SAAS,UAAA;AACf,QAAI,YAAY;AACd,sBAAgB;AAAA,QACd;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF,GAAG,GAAG;AACR;AAEO,MAAM,aAAa,OAAO,UAA2C;AAC1E,QAAM,EAAE,SAAS,cAAc,WAAW,cAAc;AACxD,QAAM,YAAY,aAAA;AAClB,QAAM,OAAO,UAAU;AAAA,IACrB,IAAI,wBAAwB;AAAA,EAAA;AAG9BC,SAAkB,OAAO,EAAE,WAAW;AACtCC,WAA0B,OAAO,EAAE,WAAW;AAC9C,YAAU,QAAQ,MAAM;AAExB,SAAO,IAAI,QAAc,CAAC,YAAY;AACpC,YAAQ,QAAQ,CAAC,UAAU;AACzB,WAAK,YAAY,MAAM,OAAO;AAC9B,gBAAU,MAAM,MAAM;AAAA,IACxB,CAAC;AAED,UAAM,WAAW,MAAMC,KAAe,KAAK;AAC3C,UAAM,iBAAiBD,SAA0B;AAAA,MAC/CE,kBAA+B;AAAA,QAC7B,GAAG;AAAA,QACH;AAAA,MAAA,CACD;AAAA,IAAA;AAGH,QAAI,gBAAgB;AAClB,gBAAU,YAAY,eAAe,OAAO;AAC5C,gBAAU,eAAe,MAAM;AAAA,IACjC;AAEA,YAAA;AAAA,EACF,CAAC;AACH;AAEO,MAAM,cAAc,CAAC,UAAoC;AAC9D,QAAM;AAAA,IACJ;AAAA,IACA,wBAAwB;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,QAAM,YAAY,aAAA;AAClB,QAAM,eAAe,gBAAA;AACrB,QAAM,aAAa,yBAAyB,IAAI;AAChD,QAAM,UAAU,aACZ,WAAW,UAAU,OAAO,YAAY,cACxC,WAAW,UAAU;AAEzB,gBAAc,QAAQ,aAAa,MAAM,wBAAwB;AACjE,YAAU,YAAY,cAAc,OAAO;AAC3C,YAAU,cAAc,MAAM;AAE9BL,WAAgB,WAAWC,WAAkB,aAAa;AAAA,IACxD,OAAO;AAAA,IACP,OAAO,SAAS;AAAA,IAChB,OAAO,gBAAgB,SAAS;AAAA,EAAA,CACjC;AAED,iBAAe,EAAE,UAAU;AAC3B,YAAU;AAAA,IACRF,SAAoB,OAAO;AAAA,MACzB;AAAA,IAAA,CACD;AAAA,EAAA;AAEL;"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { NoResultsProps, DisplayStartProps, DisplayStartResultsProps, DisplayProps } from '../_types';
|
|
2
2
|
interface LoadMoreProps extends DisplayProps {
|
|
3
|
+
query?: string;
|
|
3
4
|
}
|
|
4
5
|
interface CreateProps extends DisplayStartProps {
|
|
5
6
|
displayResultStart: (props: DisplayStartResultsProps) => void;
|
|
6
7
|
displayNoResults: (props: NoResultsProps) => void;
|
|
8
|
+
query?: string;
|
|
9
|
+
countQuery?: string;
|
|
7
10
|
}
|
|
8
11
|
export declare const ID_GRID_LAYOUT_CONTAINER = "umd-grid-gap-layout-container";
|
|
9
12
|
type TypeFetchVariables = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../source/composite/events/common/fetch.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,UAAU,aAAc,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../source/composite/events/common/fetch.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,UAAU,aAAc,SAAQ,YAAY;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,WAAY,SAAQ,iBAAiB;IAC7C,kBAAkB,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC9D,gBAAgB,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAExE,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAoFF,eAAO,MAAM,IAAI,GAAU,OAAO,aAAa,kBAsB9C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAU,OAAO,WAAW,kBA6B7C,CAAC"}
|
|
@@ -4,8 +4,10 @@ const network = require("@universityofmaryland/web-utilities-library/network");
|
|
|
4
4
|
const ariaLive = require("../../../macros/aria-live.js");
|
|
5
5
|
const lazyLoad = require("../../../macros/lazy-load.js");
|
|
6
6
|
const loader = require("../../../macros/loader.js");
|
|
7
|
-
require("@universityofmaryland/web-
|
|
7
|
+
require("@universityofmaryland/web-builder-library");
|
|
8
8
|
require("@universityofmaryland/web-elements-library");
|
|
9
|
+
require("@universityofmaryland/web-styles-library");
|
|
10
|
+
require("@universityofmaryland/web-utilities-library/theme");
|
|
9
11
|
require("@universityofmaryland/web-elements-library/composite");
|
|
10
12
|
require("@universityofmaryland/web-elements-library/atomic");
|
|
11
13
|
const queries = require("./queries.js");
|
|
@@ -31,10 +33,13 @@ const fetchFeed = async ({
|
|
|
31
33
|
variables
|
|
32
34
|
});
|
|
33
35
|
};
|
|
34
|
-
const getCount = async ({
|
|
36
|
+
const getCount = async ({
|
|
37
|
+
variables,
|
|
38
|
+
query
|
|
39
|
+
}) => {
|
|
35
40
|
const feedData = await fetchFeed({
|
|
36
41
|
...variables,
|
|
37
|
-
query: queries.EVENTS_COUNT_QUERY
|
|
42
|
+
query: query || queries.EVENTS_COUNT_QUERY
|
|
38
43
|
});
|
|
39
44
|
if (!feedData || !feedData.data || feedData.message) {
|
|
40
45
|
if (feedData.message) console.error(feedData.message);
|
|
@@ -43,9 +48,13 @@ const getCount = async ({ variables }) => {
|
|
|
43
48
|
return feedData?.data?.count?.events?.length || 0;
|
|
44
49
|
};
|
|
45
50
|
const getEntries = async ({
|
|
46
|
-
variables
|
|
51
|
+
variables,
|
|
52
|
+
query
|
|
47
53
|
}) => {
|
|
48
|
-
const feedData = await fetchFeed({
|
|
54
|
+
const feedData = await fetchFeed({
|
|
55
|
+
...variables,
|
|
56
|
+
query: query || queries.EVENTS_QUERY
|
|
57
|
+
});
|
|
49
58
|
const graceFail = ({ message }) => {
|
|
50
59
|
throw new Error(message);
|
|
51
60
|
};
|
|
@@ -69,7 +78,8 @@ const load = async (props) => {
|
|
|
69
78
|
lazyLoad.remove({ container });
|
|
70
79
|
loader.display({ container });
|
|
71
80
|
getEntries({
|
|
72
|
-
variables: data.apiVariables(props)
|
|
81
|
+
variables: data.apiVariables(props),
|
|
82
|
+
query: props.query
|
|
73
83
|
}).then((feedData) => {
|
|
74
84
|
displayResults({ feedData });
|
|
75
85
|
ariaLive.update({
|
|
@@ -81,7 +91,8 @@ const load = async (props) => {
|
|
|
81
91
|
const start = async (props) => {
|
|
82
92
|
const { displayNoResults, displayResultStart, setTotalEntries } = props;
|
|
83
93
|
await getCount({
|
|
84
|
-
variables: data.apiVariables(props)
|
|
94
|
+
variables: data.apiVariables(props),
|
|
95
|
+
query: props.countQuery
|
|
85
96
|
}).then((count) => {
|
|
86
97
|
if (count === 0) {
|
|
87
98
|
displayNoResults({ ...props });
|
|
@@ -99,7 +110,8 @@ const start = async (props) => {
|
|
|
99
110
|
}
|
|
100
111
|
});
|
|
101
112
|
getEntries({
|
|
102
|
-
variables: data.apiVariables(props)
|
|
113
|
+
variables: data.apiVariables(props),
|
|
114
|
+
query: props.query
|
|
103
115
|
}).then((feedData) => displayResultStart({ ...props, feedData }));
|
|
104
116
|
};
|
|
105
117
|
exports.load = load;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sources":["../../../../source/composite/events/common/fetch.ts"],"sourcesContent":["import { fetchGraphQL } from '@universityofmaryland/web-utilities-library/network';\nimport * as feedMacros from 'macros';\nimport { EVENTS_COUNT_QUERY, EVENTS_QUERY } from './queries';\nimport * as dataComposed from './data';\nimport {\n NoResultsProps,\n DisplayStartProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface LoadMoreProps extends DisplayProps {}\n\ninterface CreateProps extends DisplayStartProps {\n displayResultStart: (props: DisplayStartResultsProps) => void;\n displayNoResults: (props: NoResultsProps) => void;\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\ntype TypeFetchVariables = {\n startDate?: string;\n related?: string[];\n limit?: number;\n offset?: number;\n};\n\nexport type TypeAPIFeedVariables = TypeFetchVariables & {\n token: string | null;\n};\n\ntype TypeFetchObject = TypeAPIFeedVariables & {\n query: string;\n};\n\nconst fetchFeed = async ({\n limit,\n related,\n offset,\n token,\n query,\n}: TypeFetchObject) => {\n if (!token) throw new Error('Token not found');\n\n const variables: TypeFetchVariables = {\n startDate: new Date().toDateString(),\n limit,\n related,\n offset,\n };\n\n return await fetchGraphQL({\n query,\n url: 'https://calendar.umd.edu/graphql',\n token: token,\n variables,\n });\n};\n\nconst getCount = async ({
|
|
1
|
+
{"version":3,"file":"fetch.js","sources":["../../../../source/composite/events/common/fetch.ts"],"sourcesContent":["import { fetchGraphQL } from '@universityofmaryland/web-utilities-library/network';\nimport * as feedMacros from 'macros';\nimport { EVENTS_COUNT_QUERY, EVENTS_QUERY } from './queries';\nimport * as dataComposed from './data';\nimport {\n NoResultsProps,\n DisplayStartProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface LoadMoreProps extends DisplayProps {\n query?: string;\n}\n\ninterface CreateProps extends DisplayStartProps {\n displayResultStart: (props: DisplayStartResultsProps) => void;\n displayNoResults: (props: NoResultsProps) => void;\n query?: string;\n countQuery?: string;\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\ntype TypeFetchVariables = {\n startDate?: string;\n related?: string[];\n limit?: number;\n offset?: number;\n};\n\nexport type TypeAPIFeedVariables = TypeFetchVariables & {\n token: string | null;\n};\n\ntype TypeFetchObject = TypeAPIFeedVariables & {\n query: string;\n};\n\nconst fetchFeed = async ({\n limit,\n related,\n offset,\n token,\n query,\n}: TypeFetchObject) => {\n if (!token) throw new Error('Token not found');\n\n const variables: TypeFetchVariables = {\n startDate: new Date().toDateString(),\n limit,\n related,\n offset,\n };\n\n return await fetchGraphQL({\n query,\n url: 'https://calendar.umd.edu/graphql',\n token: token,\n variables,\n });\n};\n\nconst getCount = async ({\n variables,\n query,\n}: {\n variables: TypeAPIFeedVariables;\n query?: string;\n}) => {\n const feedData = await fetchFeed({\n ...variables,\n query: query || EVENTS_COUNT_QUERY,\n });\n\n if (!feedData || !feedData.data || feedData.message) {\n if (feedData.message) console.error(feedData.message);\n return null;\n }\n\n return feedData?.data?.count?.events?.length || 0;\n};\n\nconst getEntries = async ({\n variables,\n query,\n}: {\n variables: TypeAPIFeedVariables;\n query?: string;\n}) => {\n const feedData = await fetchFeed({\n ...variables,\n query: query || EVENTS_QUERY,\n });\n const graceFail = ({ message }: { message: string }) => {\n throw new Error(message);\n };\n\n if (\n !feedData ||\n !feedData.data ||\n !feedData.data.entries ||\n feedData.message\n ) {\n if (!feedData) graceFail({ message: 'Feed not found' });\n if (!feedData.data) graceFail({ message: 'Feed data not found' });\n if (!feedData.data.entries)\n graceFail({ message: 'Feed entries not found' });\n if (!feedData.data.entries.events)\n graceFail({ message: 'Feed events not found' });\n if (!feedData.message)\n graceFail({ message: `Feed data errors: ${feedData.message}` });\n }\n\n return feedData.data.entries.events;\n};\n\nexport const load = async (props: LoadMoreProps) => {\n const { getContainer, getOffset, displayResults, getTotalEntries } = props;\n const container = getContainer();\n const currentCount = getOffset();\n const totalEntries = getTotalEntries();\n\n feedMacros.buttonLazyLoad.remove({ container });\n feedMacros.loader.display({ container });\n\n getEntries({\n variables: dataComposed.apiVariables(props),\n query: props.query,\n }).then((feedData) => {\n displayResults({ feedData });\n\n feedMacros.ariaLive.update({\n container,\n message: `Showing ${\n currentCount + feedData.length\n } of ${totalEntries} articles`,\n });\n });\n};\n\nexport const start = async (props: CreateProps) => {\n const { displayNoResults, displayResultStart, setTotalEntries } = props;\n\n await getCount({\n variables: dataComposed.apiVariables(props),\n query: props.countQuery,\n }).then((count) => {\n if (count === 0) {\n displayNoResults({ ...props });\n return;\n }\n\n if (count) {\n setTotalEntries(count);\n }\n\n if (count === null) {\n displayNoResults({\n ...props,\n message: 'An error occurred while fetching the data.',\n });\n return;\n }\n });\n\n getEntries({\n variables: dataComposed.apiVariables(props),\n query: props.query,\n }).then((feedData) => displayResultStart({ ...props, feedData }));\n};\n"],"names":["fetchGraphQL","EVENTS_COUNT_QUERY","EVENTS_QUERY","feedMacros.buttonLazyLoad","feedMacros.loader","dataComposed.apiVariables","feedMacros.ariaLive"],"mappings":";;;;;;;;;;;;;;AAuCA,MAAM,YAAY,OAAO;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAuB;AACrB,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,iBAAiB;AAE7C,QAAM,YAAgC;AAAA,IACpC,YAAW,oBAAI,KAAA,GAAO,aAAA;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,SAAO,MAAMA,QAAAA,aAAa;AAAA,IACxB;AAAA,IACA,KAAK;AAAA,IACL;AAAA,IACA;AAAA,EAAA,CACD;AACH;AAEA,MAAM,WAAW,OAAO;AAAA,EACtB;AAAA,EACA;AACF,MAGM;AACJ,QAAM,WAAW,MAAM,UAAU;AAAA,IAC/B,GAAG;AAAA,IACH,OAAO,SAASC,QAAAA;AAAAA,EAAA,CACjB;AAED,MAAI,CAAC,YAAY,CAAC,SAAS,QAAQ,SAAS,SAAS;AACnD,QAAI,SAAS,QAAS,SAAQ,MAAM,SAAS,OAAO;AACpD,WAAO;AAAA,EACT;AAEA,SAAO,UAAU,MAAM,OAAO,QAAQ,UAAU;AAClD;AAEA,MAAM,aAAa,OAAO;AAAA,EACxB;AAAA,EACA;AACF,MAGM;AACJ,QAAM,WAAW,MAAM,UAAU;AAAA,IAC/B,GAAG;AAAA,IACH,OAAO,SAASC,QAAAA;AAAAA,EAAA,CACjB;AACD,QAAM,YAAY,CAAC,EAAE,cAAmC;AACtD,UAAM,IAAI,MAAM,OAAO;AAAA,EACzB;AAEA,MACE,CAAC,YACD,CAAC,SAAS,QACV,CAAC,SAAS,KAAK,WACf,SAAS,SACT;AACA,QAAI,CAAC,SAAU,WAAU,EAAE,SAAS,kBAAkB;AACtD,QAAI,CAAC,SAAS,gBAAgB,EAAE,SAAS,uBAAuB;AAChE,QAAI,CAAC,SAAS,KAAK;AACjB,gBAAU,EAAE,SAAS,0BAA0B;AACjD,QAAI,CAAC,SAAS,KAAK,QAAQ;AACzB,gBAAU,EAAE,SAAS,yBAAyB;AAChD,QAAI,CAAC,SAAS;AACZ,gBAAU,EAAE,SAAS,qBAAqB,SAAS,OAAO,IAAI;AAAA,EAClE;AAEA,SAAO,SAAS,KAAK,QAAQ;AAC/B;AAEO,MAAM,OAAO,OAAO,UAAyB;AAClD,QAAM,EAAE,cAAc,WAAW,gBAAgB,oBAAoB;AACrE,QAAM,YAAY,aAAA;AAClB,QAAM,eAAe,UAAA;AACrB,QAAM,eAAe,gBAAA;AAErBC,WAA0B,OAAO,EAAE,WAAW;AAC9CC,SAAkB,QAAQ,EAAE,WAAW;AAEvC,aAAW;AAAA,IACT,WAAWC,KAAAA,aAA0B,KAAK;AAAA,IAC1C,OAAO,MAAM;AAAA,EAAA,CACd,EAAE,KAAK,CAAC,aAAa;AACpB,mBAAe,EAAE,UAAU;AAE3BC,aAAoB,OAAO;AAAA,MACzB;AAAA,MACA,SAAS,WACP,eAAe,SAAS,MAC1B,OAAO,YAAY;AAAA,IAAA,CACpB;AAAA,EACH,CAAC;AACH;AAEO,MAAM,QAAQ,OAAO,UAAuB;AACjD,QAAM,EAAE,kBAAkB,oBAAoB,gBAAA,IAAoB;AAElE,QAAM,SAAS;AAAA,IACb,WAAWD,KAAAA,aAA0B,KAAK;AAAA,IAC1C,OAAO,MAAM;AAAA,EAAA,CACd,EAAE,KAAK,CAAC,UAAU;AACjB,QAAI,UAAU,GAAG;AACf,uBAAiB,EAAE,GAAG,OAAO;AAC7B;AAAA,IACF;AAEA,QAAI,OAAO;AACT,sBAAgB,KAAK;AAAA,IACvB;AAEA,QAAI,UAAU,MAAM;AAClB,uBAAiB;AAAA,QACf,GAAG;AAAA,QACH,SAAS;AAAA,MAAA,CACV;AACD;AAAA,IACF;AAAA,EACF,CAAC;AAED,aAAW;AAAA,IACT,WAAWA,KAAAA,aAA0B,KAAK;AAAA,IAC1C,OAAO,MAAM;AAAA,EAAA,CACd,EAAE,KAAK,CAAC,aAAa,mBAAmB,EAAE,GAAG,OAAO,SAAA,CAAU,CAAC;AAClE;;;"}
|
|
@@ -2,8 +2,10 @@ import { fetchGraphQL } from "@universityofmaryland/web-utilities-library/networ
|
|
|
2
2
|
import ariaLive from "../../../macros/aria-live.mjs";
|
|
3
3
|
import lazyLoad from "../../../macros/lazy-load.mjs";
|
|
4
4
|
import loader from "../../../macros/loader.mjs";
|
|
5
|
-
import "@universityofmaryland/web-
|
|
5
|
+
import "@universityofmaryland/web-builder-library";
|
|
6
6
|
import "@universityofmaryland/web-elements-library";
|
|
7
|
+
import "@universityofmaryland/web-styles-library";
|
|
8
|
+
import "@universityofmaryland/web-utilities-library/theme";
|
|
7
9
|
import "@universityofmaryland/web-elements-library/composite";
|
|
8
10
|
import "@universityofmaryland/web-elements-library/atomic";
|
|
9
11
|
import { EVENTS_COUNT_QUERY, EVENTS_QUERY } from "./queries.mjs";
|
|
@@ -29,10 +31,13 @@ const fetchFeed = async ({
|
|
|
29
31
|
variables
|
|
30
32
|
});
|
|
31
33
|
};
|
|
32
|
-
const getCount = async ({
|
|
34
|
+
const getCount = async ({
|
|
35
|
+
variables,
|
|
36
|
+
query
|
|
37
|
+
}) => {
|
|
33
38
|
const feedData = await fetchFeed({
|
|
34
39
|
...variables,
|
|
35
|
-
query: EVENTS_COUNT_QUERY
|
|
40
|
+
query: query || EVENTS_COUNT_QUERY
|
|
36
41
|
});
|
|
37
42
|
if (!feedData || !feedData.data || feedData.message) {
|
|
38
43
|
if (feedData.message) console.error(feedData.message);
|
|
@@ -41,9 +46,13 @@ const getCount = async ({ variables }) => {
|
|
|
41
46
|
return feedData?.data?.count?.events?.length || 0;
|
|
42
47
|
};
|
|
43
48
|
const getEntries = async ({
|
|
44
|
-
variables
|
|
49
|
+
variables,
|
|
50
|
+
query
|
|
45
51
|
}) => {
|
|
46
|
-
const feedData = await fetchFeed({
|
|
52
|
+
const feedData = await fetchFeed({
|
|
53
|
+
...variables,
|
|
54
|
+
query: query || EVENTS_QUERY
|
|
55
|
+
});
|
|
47
56
|
const graceFail = ({ message }) => {
|
|
48
57
|
throw new Error(message);
|
|
49
58
|
};
|
|
@@ -67,7 +76,8 @@ const load = async (props) => {
|
|
|
67
76
|
lazyLoad.remove({ container });
|
|
68
77
|
loader.display({ container });
|
|
69
78
|
getEntries({
|
|
70
|
-
variables: apiVariables(props)
|
|
79
|
+
variables: apiVariables(props),
|
|
80
|
+
query: props.query
|
|
71
81
|
}).then((feedData) => {
|
|
72
82
|
displayResults({ feedData });
|
|
73
83
|
ariaLive.update({
|
|
@@ -79,7 +89,8 @@ const load = async (props) => {
|
|
|
79
89
|
const start = async (props) => {
|
|
80
90
|
const { displayNoResults, displayResultStart, setTotalEntries } = props;
|
|
81
91
|
await getCount({
|
|
82
|
-
variables: apiVariables(props)
|
|
92
|
+
variables: apiVariables(props),
|
|
93
|
+
query: props.countQuery
|
|
83
94
|
}).then((count) => {
|
|
84
95
|
if (count === 0) {
|
|
85
96
|
displayNoResults({ ...props });
|
|
@@ -97,7 +108,8 @@ const start = async (props) => {
|
|
|
97
108
|
}
|
|
98
109
|
});
|
|
99
110
|
getEntries({
|
|
100
|
-
variables: apiVariables(props)
|
|
111
|
+
variables: apiVariables(props),
|
|
112
|
+
query: props.query
|
|
101
113
|
}).then((feedData) => displayResultStart({ ...props, feedData }));
|
|
102
114
|
};
|
|
103
115
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.mjs","sources":["../../../../source/composite/events/common/fetch.ts"],"sourcesContent":["import { fetchGraphQL } from '@universityofmaryland/web-utilities-library/network';\nimport * as feedMacros from 'macros';\nimport { EVENTS_COUNT_QUERY, EVENTS_QUERY } from './queries';\nimport * as dataComposed from './data';\nimport {\n NoResultsProps,\n DisplayStartProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface LoadMoreProps extends DisplayProps {}\n\ninterface CreateProps extends DisplayStartProps {\n displayResultStart: (props: DisplayStartResultsProps) => void;\n displayNoResults: (props: NoResultsProps) => void;\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\ntype TypeFetchVariables = {\n startDate?: string;\n related?: string[];\n limit?: number;\n offset?: number;\n};\n\nexport type TypeAPIFeedVariables = TypeFetchVariables & {\n token: string | null;\n};\n\ntype TypeFetchObject = TypeAPIFeedVariables & {\n query: string;\n};\n\nconst fetchFeed = async ({\n limit,\n related,\n offset,\n token,\n query,\n}: TypeFetchObject) => {\n if (!token) throw new Error('Token not found');\n\n const variables: TypeFetchVariables = {\n startDate: new Date().toDateString(),\n limit,\n related,\n offset,\n };\n\n return await fetchGraphQL({\n query,\n url: 'https://calendar.umd.edu/graphql',\n token: token,\n variables,\n });\n};\n\nconst getCount = async ({
|
|
1
|
+
{"version":3,"file":"fetch.mjs","sources":["../../../../source/composite/events/common/fetch.ts"],"sourcesContent":["import { fetchGraphQL } from '@universityofmaryland/web-utilities-library/network';\nimport * as feedMacros from 'macros';\nimport { EVENTS_COUNT_QUERY, EVENTS_QUERY } from './queries';\nimport * as dataComposed from './data';\nimport {\n NoResultsProps,\n DisplayStartProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface LoadMoreProps extends DisplayProps {\n query?: string;\n}\n\ninterface CreateProps extends DisplayStartProps {\n displayResultStart: (props: DisplayStartResultsProps) => void;\n displayNoResults: (props: NoResultsProps) => void;\n query?: string;\n countQuery?: string;\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\ntype TypeFetchVariables = {\n startDate?: string;\n related?: string[];\n limit?: number;\n offset?: number;\n};\n\nexport type TypeAPIFeedVariables = TypeFetchVariables & {\n token: string | null;\n};\n\ntype TypeFetchObject = TypeAPIFeedVariables & {\n query: string;\n};\n\nconst fetchFeed = async ({\n limit,\n related,\n offset,\n token,\n query,\n}: TypeFetchObject) => {\n if (!token) throw new Error('Token not found');\n\n const variables: TypeFetchVariables = {\n startDate: new Date().toDateString(),\n limit,\n related,\n offset,\n };\n\n return await fetchGraphQL({\n query,\n url: 'https://calendar.umd.edu/graphql',\n token: token,\n variables,\n });\n};\n\nconst getCount = async ({\n variables,\n query,\n}: {\n variables: TypeAPIFeedVariables;\n query?: string;\n}) => {\n const feedData = await fetchFeed({\n ...variables,\n query: query || EVENTS_COUNT_QUERY,\n });\n\n if (!feedData || !feedData.data || feedData.message) {\n if (feedData.message) console.error(feedData.message);\n return null;\n }\n\n return feedData?.data?.count?.events?.length || 0;\n};\n\nconst getEntries = async ({\n variables,\n query,\n}: {\n variables: TypeAPIFeedVariables;\n query?: string;\n}) => {\n const feedData = await fetchFeed({\n ...variables,\n query: query || EVENTS_QUERY,\n });\n const graceFail = ({ message }: { message: string }) => {\n throw new Error(message);\n };\n\n if (\n !feedData ||\n !feedData.data ||\n !feedData.data.entries ||\n feedData.message\n ) {\n if (!feedData) graceFail({ message: 'Feed not found' });\n if (!feedData.data) graceFail({ message: 'Feed data not found' });\n if (!feedData.data.entries)\n graceFail({ message: 'Feed entries not found' });\n if (!feedData.data.entries.events)\n graceFail({ message: 'Feed events not found' });\n if (!feedData.message)\n graceFail({ message: `Feed data errors: ${feedData.message}` });\n }\n\n return feedData.data.entries.events;\n};\n\nexport const load = async (props: LoadMoreProps) => {\n const { getContainer, getOffset, displayResults, getTotalEntries } = props;\n const container = getContainer();\n const currentCount = getOffset();\n const totalEntries = getTotalEntries();\n\n feedMacros.buttonLazyLoad.remove({ container });\n feedMacros.loader.display({ container });\n\n getEntries({\n variables: dataComposed.apiVariables(props),\n query: props.query,\n }).then((feedData) => {\n displayResults({ feedData });\n\n feedMacros.ariaLive.update({\n container,\n message: `Showing ${\n currentCount + feedData.length\n } of ${totalEntries} articles`,\n });\n });\n};\n\nexport const start = async (props: CreateProps) => {\n const { displayNoResults, displayResultStart, setTotalEntries } = props;\n\n await getCount({\n variables: dataComposed.apiVariables(props),\n query: props.countQuery,\n }).then((count) => {\n if (count === 0) {\n displayNoResults({ ...props });\n return;\n }\n\n if (count) {\n setTotalEntries(count);\n }\n\n if (count === null) {\n displayNoResults({\n ...props,\n message: 'An error occurred while fetching the data.',\n });\n return;\n }\n });\n\n getEntries({\n variables: dataComposed.apiVariables(props),\n query: props.query,\n }).then((feedData) => displayResultStart({ ...props, feedData }));\n};\n"],"names":["feedMacros.buttonLazyLoad","feedMacros.loader","dataComposed.apiVariables","feedMacros.ariaLive"],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export declare const EVENTS_COUNT_QUERY
|
|
2
|
-
export declare const
|
|
1
|
+
export declare const EVENTS_COUNT_QUERY: string;
|
|
2
|
+
export declare const EVENTS_COUNT_RANGE_QUERY: string;
|
|
3
|
+
export declare const EVENTS_QUERY: string;
|
|
4
|
+
export declare const EVENTS_RANGE_QUERY: string;
|
|
3
5
|
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../source/composite/events/common/queries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../source/composite/events/common/queries.ts"],"names":[],"mappings":"AA4GA,eAAO,MAAM,kBAAkB,QAA0B,CAAC;AAC1D,eAAO,MAAM,wBAAwB,QAAsC,CAAC;AAE5E,eAAO,MAAM,YAAY,QAAqB,CAAC;AAC/C,eAAO,MAAM,kBAAkB,QAAiC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
3
|
+
const buildEventsCountQuery = (dateFilter = "startsAfterOrAt") => `
|
|
4
4
|
query getEventsCount($startDate: String!, $related: [QueryArgument]) {
|
|
5
5
|
count: solspace_calendar {
|
|
6
|
-
events(relatedTo: $related, loadOccurrences: true,
|
|
6
|
+
events(relatedTo: $related, loadOccurrences: true, ${dateFilter}: $startDate) {
|
|
7
7
|
... on communications_Event {
|
|
8
8
|
id
|
|
9
9
|
}
|
|
@@ -14,13 +14,13 @@ query getEventsCount($startDate: String!, $related: [QueryArgument]) {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
`;
|
|
17
|
-
const
|
|
17
|
+
const buildEventsQuery = (dateFilter = "startsAfterOrAt") => `
|
|
18
18
|
query getEvents($startDate: String!, $related: [QueryArgument], $limit: Int, $offset: Int) {
|
|
19
19
|
entries: solspace_calendar {
|
|
20
20
|
events(
|
|
21
21
|
relatedTo: $related
|
|
22
22
|
loadOccurrences: true
|
|
23
|
-
|
|
23
|
+
${dateFilter}: $startDate
|
|
24
24
|
limit: $limit
|
|
25
25
|
offset: $offset
|
|
26
26
|
) {
|
|
@@ -102,6 +102,12 @@ query getEvents($startDate: String!, $related: [QueryArgument], $limit: Int, $of
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
`;
|
|
105
|
+
const EVENTS_COUNT_QUERY = buildEventsCountQuery();
|
|
106
|
+
const EVENTS_COUNT_RANGE_QUERY = buildEventsCountQuery("rangeStart");
|
|
107
|
+
const EVENTS_QUERY = buildEventsQuery();
|
|
108
|
+
const EVENTS_RANGE_QUERY = buildEventsQuery("rangeStart");
|
|
105
109
|
exports.EVENTS_COUNT_QUERY = EVENTS_COUNT_QUERY;
|
|
110
|
+
exports.EVENTS_COUNT_RANGE_QUERY = EVENTS_COUNT_RANGE_QUERY;
|
|
106
111
|
exports.EVENTS_QUERY = EVENTS_QUERY;
|
|
112
|
+
exports.EVENTS_RANGE_QUERY = EVENTS_RANGE_QUERY;
|
|
107
113
|
//# sourceMappingURL=queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sources":["../../../../source/composite/events/common/queries.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"queries.js","sources":["../../../../source/composite/events/common/queries.ts"],"sourcesContent":["type DateFilterType = 'startsAfterOrAt' | 'rangeStart';\n\nconst buildEventsCountQuery = (\n dateFilter: DateFilterType = 'startsAfterOrAt',\n) => `\nquery getEventsCount($startDate: String!, $related: [QueryArgument]) {\n count: solspace_calendar {\n events(relatedTo: $related, loadOccurrences: true, ${dateFilter}: $startDate) {\n ... on communications_Event {\n id\n }\n ... on submission_Event {\n id\n }\n }\n }\n}\n`;\n\nconst buildEventsQuery = (dateFilter: DateFilterType = 'startsAfterOrAt') => `\nquery getEvents($startDate: String!, $related: [QueryArgument], $limit: Int, $offset: Int) {\n entries: solspace_calendar {\n events(\n relatedTo: $related\n loadOccurrences: true\n ${dateFilter}: $startDate\n limit: $limit\n offset: $offset\n ) {\n ... on communications_Event {\n id\n title\n url\n startDayOfWeek: startDate @formatDateTime(format: \"D\")\n startMonth: startDate @formatDateTime(format: \"M\")\n startDay: startDate @formatDateTime(format: \"d\")\n startStamp: startDate @formatDateTime(format: \"Y-m-d\")\n startTime: startDate @formatDateTime(format: \"g:ia\")\n endDayOfWeek: endDate @formatDateTime(format: \"D\")\n endMonth: endDate @formatDateTime(format: \"M\")\n endDay: endDate @formatDateTime(format: \"d\")\n endTime: endDate @formatDateTime(format: \"g:ia\")\n allDay\n desciption: commonRichText\n summary: commonRichTextTwo\n image: commonAssetHeroImageSingle {\n title\n commonPlainTextTwo: alt\n url\n }\n location: categoriesCampusBuildingSingle {\n title\n }\n link: commonEntriesLinkSingle {\n ... on links_links_Entry {\n type: linksDropdownSelector\n externalUrl: commonPlainTextThree\n altTitle: commonPlainTextTwo\n title\n internalLinks: calendarEntriesEvent {\n id\n url\n }\n }\n }\n }\n ... on submission_Event {\n id\n title\n url\n startDayOfWeek: startDate @formatDateTime(format: \"D\")\n startMonth: startDate @formatDateTime(format: \"M\")\n startDay: startDate @formatDateTime(format: \"d\")\n startStamp: startDate @formatDateTime(format: \"Y-m-d\")\n startTime: startDate @formatDateTime(format: \"g:ia\")\n endDayOfWeek: endDate @formatDateTime(format: \"D\")\n endMonth: endDate @formatDateTime(format: \"M\")\n endDay: endDate @formatDateTime(format: \"d\")\n endTime: endDate @formatDateTime(format: \"g:ia\")\n allDay\n desciption: commonRichText\n summary: commonRichTextTwo\n image: commonAssetHeroImageSingle {\n title\n commonPlainTextTwo: alt\n url\n }\n location: categoriesCampusBuildingSingle {\n title\n }\n link: commonEntriesLinkSingle {\n ... on links_links_Entry {\n type: linksDropdownSelector\n externalUrl: commonPlainTextThree\n altTitle: commonPlainTextTwo\n title\n internalLinks: calendarEntriesEvent {\n id\n url\n }\n }\n }\n }\n }\n }\n}\n`;\n\nexport const EVENTS_COUNT_QUERY = buildEventsCountQuery();\nexport const EVENTS_COUNT_RANGE_QUERY = buildEventsCountQuery('rangeStart');\n\nexport const EVENTS_QUERY = buildEventsQuery();\nexport const EVENTS_RANGE_QUERY = buildEventsQuery('rangeStart');\n"],"names":[],"mappings":";;AAEA,MAAM,wBAAwB,CAC5B,aAA6B,sBAC1B;AAAA;AAAA;AAAA,yDAGoD,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYnE,MAAM,mBAAmB,CAAC,aAA6B,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMrE,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmFX,MAAM,qBAAqB,sBAAA;AAC3B,MAAM,2BAA2B,sBAAsB,YAAY;AAEnE,MAAM,eAAe,iBAAA;AACrB,MAAM,qBAAqB,iBAAiB,YAAY;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const
|
|
1
|
+
const buildEventsCountQuery = (dateFilter = "startsAfterOrAt") => `
|
|
2
2
|
query getEventsCount($startDate: String!, $related: [QueryArgument]) {
|
|
3
3
|
count: solspace_calendar {
|
|
4
|
-
events(relatedTo: $related, loadOccurrences: true,
|
|
4
|
+
events(relatedTo: $related, loadOccurrences: true, ${dateFilter}: $startDate) {
|
|
5
5
|
... on communications_Event {
|
|
6
6
|
id
|
|
7
7
|
}
|
|
@@ -12,13 +12,13 @@ query getEventsCount($startDate: String!, $related: [QueryArgument]) {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
`;
|
|
15
|
-
const
|
|
15
|
+
const buildEventsQuery = (dateFilter = "startsAfterOrAt") => `
|
|
16
16
|
query getEvents($startDate: String!, $related: [QueryArgument], $limit: Int, $offset: Int) {
|
|
17
17
|
entries: solspace_calendar {
|
|
18
18
|
events(
|
|
19
19
|
relatedTo: $related
|
|
20
20
|
loadOccurrences: true
|
|
21
|
-
|
|
21
|
+
${dateFilter}: $startDate
|
|
22
22
|
limit: $limit
|
|
23
23
|
offset: $offset
|
|
24
24
|
) {
|
|
@@ -100,8 +100,14 @@ query getEvents($startDate: String!, $related: [QueryArgument], $limit: Int, $of
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
`;
|
|
103
|
+
const EVENTS_COUNT_QUERY = buildEventsCountQuery();
|
|
104
|
+
const EVENTS_COUNT_RANGE_QUERY = buildEventsCountQuery("rangeStart");
|
|
105
|
+
const EVENTS_QUERY = buildEventsQuery();
|
|
106
|
+
const EVENTS_RANGE_QUERY = buildEventsQuery("rangeStart");
|
|
103
107
|
export {
|
|
104
108
|
EVENTS_COUNT_QUERY,
|
|
105
|
-
|
|
109
|
+
EVENTS_COUNT_RANGE_QUERY,
|
|
110
|
+
EVENTS_QUERY,
|
|
111
|
+
EVENTS_RANGE_QUERY
|
|
106
112
|
};
|
|
107
113
|
//# sourceMappingURL=queries.mjs.map
|