From 8ce54f21f7951f87b64d5912292ba76740932973 Mon Sep 17 00:00:00 2001 From: Santiago Palenque Date: Fri, 17 Apr 2026 17:18:42 -0300 Subject: [PATCH 1/5] chore: lazy load components - WIP --- src/layouts/primary-layout.js | 92 +++--- src/layouts/summit-id-layout.js | 489 ++++++++++++++++++-------------- webpack.prod.js | 68 ++--- 3 files changed, 364 insertions(+), 285 deletions(-) diff --git a/src/layouts/primary-layout.js b/src/layouts/primary-layout.js index 086398890..ffe63a257 100644 --- a/src/layouts/primary-layout.js +++ b/src/layouts/primary-layout.js @@ -11,25 +11,33 @@ * limitations under the License. * */ -import React from "react"; +import React, { Suspense } from "react"; import { connect } from "react-redux"; import { Switch, Route, Redirect } from "react-router-dom"; import { Breadcrumbs, Breadcrumb } from "react-breadcrumbs"; +import AjaxLoader from "openstack-uicore-foundation/lib/components/ajaxloader"; import Restrict from "../routes/restrict"; import Menu from "../components/menu"; -import SummitLayout from "./summit-layout"; -import SummitDirectoryPage from "../pages/summits/summit-directory-page"; -import SpeakerLayout from "./speaker-layout"; -import CompanyLayout from "./company-layout"; -import InventoryItemLayout from "./inventory-item-layout"; -import FormTemplateLayout from "./form-template-layout"; -import EmailLayout from "./email-layout"; -import AdminAccessLayout from "./admin-access-layout"; -import MediaFileTypeLayout from "./media-file-type-layout"; -import SponsoredProjectLayout from "./sponsored-project-layout"; -import TagLayout from "./tag-layout"; -import SponsorshipLayout from "./sponsorship-layout"; -import PageTemplateLayout from "./page-template-layout"; + +const SummitLayout = React.lazy(() => import("./summit-layout")); +const SummitDirectoryPage = React.lazy(() => + import("../pages/summits/summit-directory-page") +); +const SpeakerLayout = React.lazy(() => import("./speaker-layout")); +const CompanyLayout = React.lazy(() => import("./company-layout")); +const InventoryItemLayout = React.lazy(() => import("./inventory-item-layout")); +const FormTemplateLayout = React.lazy(() => import("./form-template-layout")); +const EmailLayout = React.lazy(() => import("./email-layout")); +const AdminAccessLayout = React.lazy(() => import("./admin-access-layout")); +const MediaFileTypeLayout = React.lazy(() => + import("./media-file-type-layout") +); +const SponsoredProjectLayout = React.lazy(() => + import("./sponsored-project-layout") +); +const TagLayout = React.lazy(() => import("./tag-layout")); +const SponsorshipLayout = React.lazy(() => import("./sponsorship-layout")); +const PageTemplateLayout = React.lazy(() => import("./page-template-layout")); const PrimaryLayout = ({ match, currentSummit, location, member }) => { let extraClass = "container"; @@ -55,30 +63,38 @@ const PrimaryLayout = ({ match, currentSummit, location, member }) => { data={{ title: , pathname: match.url }} /> - - - - - - - - - - - - - - - } /> - + }> + + + + + + + + + + + + + + + } /> + + ); diff --git a/src/layouts/summit-id-layout.js b/src/layouts/summit-id-layout.js index e0d11b938..02e81c7ce 100644 --- a/src/layouts/summit-id-layout.js +++ b/src/layouts/summit-id-layout.js @@ -11,72 +11,119 @@ * limitations under the License. * */ -import React, { useEffect } from "react"; +import React, { Suspense, useEffect } from "react"; import { connect } from "react-redux"; -import { Switch, Route } from "react-router-dom"; +import { Route, Switch } from "react-router-dom"; import { Breadcrumb } from "react-breadcrumbs"; import T from "i18n-react/dist/i18n-react"; +import AjaxLoader from "openstack-uicore-foundation/lib/components/ajaxloader"; import { getSummitById } from "../actions/summit-actions"; import { getUserRolesBySummit } from "../actions/user-chat-roles-actions"; - -import SummitDashboardPage from "../pages/summits/summit-dashboard-page"; -import EditSummitPage from "../pages/summits/edit-summit-page"; -import SelectionPlanLayout from "./selection-plan-layout"; -import EventTypeLayout from "./event-type-layout"; -import SpeakerAttendanceLayout from "./speaker-attendance-layout"; -import EventLayout from "./event-layout"; -import AttendeeLayout from "./attendee-layout"; -import PromocodeLayout from "./promocode-layout"; -import EventCategoryLayout from "./event-category-layout"; -import EventCategoryGroupLayout from "./event-category-group-layout"; -import LocationLayout from "./location-layout"; -import SignagePage from "../pages/signage"; -import RsvpTemplateLayout from "./rsvp-template-layout"; -import TicketTypeLayout from "./ticket-type-layout"; -import TaxTypeLayout from "./tax-type-layout"; -import RefundPolicyListPage from "../pages/tickets/refund-policy-list-page"; -import PushNotificationLayout from "./push-notification-layout"; -import RoomOccupancyLayout from "./room-occupancy-layout"; -import TagGroupLayout from "./tag-group-layout"; -import ReportsLayout from "./reports-layout"; -import RoomBookingsLayout from "./room-bookings-layout"; -import RoomBookingAttributeLayout from "./room-booking-attribute-layout"; -import BadgeFeatureLayout from "./badge-feature-layout"; -import AccessLevelLayout from "./access-level-layout"; -import BadgeTypeLayout from "./badge-type-layout"; -import PurchaseOrderLayout from "./purchase-order-layout"; -import OrderExtraQuestionLayout from "./order-extra-question-layout"; -import SponsorLayout from "./sponsor-layout"; -import SummitSponsorshipLayout from "./summit-sponsorship-layout"; -import BadgeScansLayout from "./badge-scans-layout"; -import BadgeSettingsLayout from "./badge-settings-layout"; -import NoMatchPage from "../pages/no-match-page"; -import TicketListPage from "../pages/tickets/ticket-list-page"; -import MarketingLayout from "./marketing-layout"; -import PaymentProfileLayout from "./payment-profile-layout"; -import SummitDocsLayout from "./summitdocs-layout"; -import EmailFlowEventLayout from "./email-flow-event-layout"; -import EmailFlowEventSettingsLayout from "./email-flow-event-settings-layout"; -import RegistrationInvitationLayout from "./registration-invitation-layout"; -import MediaUploadLayout from "./media-upload-layout"; -import ScheduleSettingsLayout from "./schedule-settings-layout"; -import FeaturedSpeakersPage from "../pages/summit_speakers/featured-speakers-page"; -import TrackChairsLayout from "./track-chairs-layout"; -import SummitPresentationsVotesPage from "../pages/events/summit-presentations-votes-page"; -import RegistrationCompaniesLayout from "./registration-companies-layout"; -import SummitSpeakersLayout from "./summit-speakers-layout"; -import ViewTypeLayout from "./view-type-layout"; -import RegistrationStatsPage from "../pages/registration/registration-stats-page"; -import AuditLogPage from "../pages/audit-log/audit-log-page"; -import SubmissionInvitationLayout from "./submission-invitation-layout"; -import RegFeedMetadataLayout from "./reg-feed-metadata-layout"; import { - getMarketingSettingsForRegLite, - getMarketingSettingsForPrintApp + getMarketingSettingsForPrintApp, + getMarketingSettingsForRegLite } from "../actions/marketing-actions"; import { getRegFeedMetadataBySummit } from "../actions/reg-feed-metadata-actions"; +const SummitDashboardPage = React.lazy(() => + import("../pages/summits/summit-dashboard-page") +); +const EditSummitPage = React.lazy(() => + import("../pages/summits/edit-summit-page") +); +const SelectionPlanLayout = React.lazy(() => import("./selection-plan-layout")); +const EventTypeLayout = React.lazy(() => import("./event-type-layout")); +const SpeakerAttendanceLayout = React.lazy(() => + import("./speaker-attendance-layout") +); +const EventLayout = React.lazy(() => import("./event-layout")); +const AttendeeLayout = React.lazy(() => import("./attendee-layout")); +const PromocodeLayout = React.lazy(() => import("./promocode-layout")); +const EventCategoryLayout = React.lazy(() => import("./event-category-layout")); +const EventCategoryGroupLayout = React.lazy(() => + import("./event-category-group-layout") +); +const LocationLayout = React.lazy(() => import("./location-layout")); +const SignagePage = React.lazy(() => import("../pages/signage")); +const RsvpTemplateLayout = React.lazy(() => import("./rsvp-template-layout")); +const TicketTypeLayout = React.lazy(() => import("./ticket-type-layout")); +const TaxTypeLayout = React.lazy(() => import("./tax-type-layout")); +const RefundPolicyListPage = React.lazy(() => + import("../pages/tickets/refund-policy-list-page") +); +const PushNotificationLayout = React.lazy(() => + import("./push-notification-layout") +); +const RoomOccupancyLayout = React.lazy(() => import("./room-occupancy-layout")); +const TagGroupLayout = React.lazy(() => import("./tag-group-layout")); +const ReportsLayout = React.lazy(() => import("./reports-layout")); +const RoomBookingsLayout = React.lazy(() => import("./room-bookings-layout")); +const RoomBookingAttributeLayout = React.lazy(() => + import("./room-booking-attribute-layout") +); +const BadgeFeatureLayout = React.lazy(() => import("./badge-feature-layout")); +const AccessLevelLayout = React.lazy(() => import("./access-level-layout")); +const BadgeTypeLayout = React.lazy(() => import("./badge-type-layout")); +const PurchaseOrderLayout = React.lazy(() => import("./purchase-order-layout")); +const OrderExtraQuestionLayout = React.lazy(() => + import("./order-extra-question-layout") +); +const SponsorLayout = React.lazy(() => import("./sponsor-layout")); +const SummitSponsorshipLayout = React.lazy(() => + import("./summit-sponsorship-layout") +); +const BadgeScansLayout = React.lazy(() => import("./badge-scans-layout")); +const BadgeSettingsLayout = React.lazy(() => import("./badge-settings-layout")); +const NoMatchPage = React.lazy(() => import("../pages/no-match-page")); +const TicketListPage = React.lazy(() => + import("../pages/tickets/ticket-list-page") +); +const MarketingLayout = React.lazy(() => import("./marketing-layout")); +const PaymentProfileLayout = React.lazy(() => + import("./payment-profile-layout") +); +const SummitDocsLayout = React.lazy(() => import("./summitdocs-layout")); +const EmailFlowEventLayout = React.lazy(() => + import("./email-flow-event-layout") +); +const EmailFlowEventSettingsLayout = React.lazy(() => + import("./email-flow-event-settings-layout") +); +const RegistrationInvitationLayout = React.lazy(() => + import("./registration-invitation-layout") +); +const MediaUploadLayout = React.lazy(() => import("./media-upload-layout")); +const ScheduleSettingsLayout = React.lazy(() => + import("./schedule-settings-layout") +); +const FeaturedSpeakersPage = React.lazy(() => + import("../pages/summit_speakers/featured-speakers-page") +); +const TrackChairsLayout = React.lazy(() => import("./track-chairs-layout")); +const SummitPresentationsVotesPage = React.lazy(() => + import("../pages/events/summit-presentations-votes-page") +); +const RegistrationCompaniesLayout = React.lazy(() => + import("./registration-companies-layout") +); +const SummitSpeakersLayout = React.lazy(() => + import("./summit-speakers-layout") +); +const ViewTypeLayout = React.lazy(() => import("./view-type-layout")); +const RegistrationStatsPage = React.lazy(() => + import("../pages/registration/registration-stats-page") +); +const AuditLogPage = React.lazy(() => + import("../pages/audit-log/audit-log-page") +); +const SubmissionInvitationLayout = React.lazy(() => + import("./submission-invitation-layout") +); +const RegFeedMetadataLayout = React.lazy(() => + import("./reg-feed-metadata-layout") +); + const SummitIdLayout = ({ currentSummit, loading, match, ...props }) => { const [hasLoaded, setHasLoaded] = React.useState(false); const summitId = parseInt(match.params.summit_id); @@ -97,164 +144,178 @@ const SummitIdLayout = ({ currentSummit, loading, match, ...props }) => { return (
- - - ( - - )} - /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + }> + + + ( + + )} + /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
); }; diff --git a/webpack.prod.js b/webpack.prod.js index 59579046d..366d69063 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -1,38 +1,40 @@ -const TerserJSPlugin = require('terser-webpack-plugin'); -const MiniCssExtractPlugin = require("mini-css-extract-plugin"); +const TerserJSPlugin = require("terser-webpack-plugin"); +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); const CssMinimizerPlugin = require("css-minimizer-webpack-plugin"); -const { merge } = require('webpack-merge'); -const common = require('./webpack.common.js'); -const path = require('path'); - +const { merge } = require("webpack-merge"); +const path = require("path"); +const common = require("./webpack.common.js"); module.exports = merge(common, { - mode: 'production', - output: { - filename: '[name]_[contenthash].js', - path: path.resolve(__dirname, 'dist'), - publicPath: '/', - pathinfo: false - }, - optimization: { - minimize: true, - minimizer: [ - new TerserJSPlugin({ - parallel: true, - terserOptions: { - mangle: { reserved: ['Lock','SuperTokensLock','GET_TOKEN_SILENTLY_LOCK_KEY'] }, - compress: {inline: false} - } - }), - new CssMinimizerPlugin(), - ], - splitChunks: { - chunks: 'all' + mode: "production", + output: { + filename: "[name]_[contenthash].js", + chunkFilename: "[name]_[contenthash].js", + path: path.resolve(__dirname, "dist"), + publicPath: "/", + pathinfo: false + }, + optimization: { + minimize: true, + minimizer: [ + new TerserJSPlugin({ + parallel: true, + terserOptions: { + mangle: { + reserved: ["Lock", "SuperTokensLock", "GET_TOKEN_SILENTLY_LOCK_KEY"] + }, + compress: { inline: false } } - }, - plugins: [ - new MiniCssExtractPlugin({ - filename: '[name].[contenthash].css', - }), - ] + }), + new CssMinimizerPlugin() + ], + splitChunks: { + chunks: "all" + } + }, + plugins: [ + new MiniCssExtractPlugin({ + filename: "[name].[contenthash].css" + }) + ] }); From 4463b3ff8dd179234adfb0dfd340199d81f807cd Mon Sep 17 00:00:00 2001 From: Santiago Palenque Date: Fri, 17 Apr 2026 18:14:46 -0300 Subject: [PATCH 2/5] chore: lazy load more pages --- src/layouts/event-id-layout.js | 192 +++++++++--------- src/layouts/event-layout.js | 109 +++++----- src/layouts/location-id-layout.js | 251 +++++++++++++----------- src/layouts/selection-plan-id-layout.js | 56 +++--- src/layouts/sponsor-id-layout.js | 210 ++++++++++---------- src/layouts/sponsor-layout.js | 244 ++++++++++++----------- src/layouts/track-chairs-layout.js | 49 +++-- 7 files changed, 595 insertions(+), 516 deletions(-) diff --git a/src/layouts/event-id-layout.js b/src/layouts/event-id-layout.js index d0b002159..0ebd202ae 100644 --- a/src/layouts/event-id-layout.js +++ b/src/layouts/event-id-layout.js @@ -11,19 +11,29 @@ * limitations under the License. * */ -import React from "react"; +import React, { Suspense } from "react"; import { Switch, Route } from "react-router-dom"; import T from "i18n-react/dist/i18n-react"; import { connect } from "react-redux"; import { Breadcrumb } from "react-breadcrumbs"; -import EditSummitEventPage from "../pages/events/edit-summit-event-page"; -import EditEventMaterialPage from "../pages/events/edit-event-material-page"; -import EditEventCommentPage from "../pages/events/edit-event-comment-page"; -import EditEventRsvpPage from "../pages/events/edit-event-rsvp-page"; -import NoMatchPage from "../pages/no-match-page"; +import AjaxLoader from "openstack-uicore-foundation/lib/components/ajaxloader"; import { getEvent, resetEventForm } from "../actions/event-actions"; import { getRsvpTemplates } from "../actions/rsvp-template-actions"; +const EditSummitEventPage = React.lazy(() => + import("../pages/events/edit-summit-event-page") +); +const EditEventMaterialPage = React.lazy(() => + import("../pages/events/edit-event-material-page") +); +const EditEventCommentPage = React.lazy(() => + import("../pages/events/edit-event-comment-page") +); +const EditEventRsvpPage = React.lazy(() => + import("../pages/events/edit-event-rsvp-page") +); +const NoMatchPage = React.lazy(() => import("../pages/no-match-page")); + class EventIdLayout extends React.Component { constructor(props) { super(props); @@ -63,93 +73,95 @@ class EventIdLayout extends React.Component {
- - - ( -
- - - - - }> + + + ( +
+ - - -
- )} - /> - ( -
- - - + + + + + +
+ )} + /> + ( +
+ - - -
- )} - /> - ( -
- - - + + + +
+ )} + /> + ( +
+ - - -
- )} - /> - -
+ + + + +
+ )} + /> + +
+
); } diff --git a/src/layouts/event-layout.js b/src/layouts/event-layout.js index de3135699..efc204cdd 100644 --- a/src/layouts/event-layout.js +++ b/src/layouts/event-layout.js @@ -1,5 +1,5 @@ -/** - * Copyright 2017 OpenStack Foundation +/* * + * Copyright 2026 OpenStack Foundation * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -9,66 +9,65 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - **/ + * */ -import React from "react"; +import React, { Suspense } from "react"; import { Switch, Route, withRouter } from "react-router-dom"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; +import AjaxLoader from "openstack-uicore-foundation/lib/components/ajaxloader"; import Restrict from "../routes/restrict"; -import ScheduleBuilderPage from "../pages/events/schedule-builder-page"; -import SummitEventListPage from "../pages/events/summit-event-list-page"; -import EventIdLayout from "./event-id-layout"; -import SummitEventsBulkActionsPage from "../pages/events/summit-events-bulk-actions-page"; -import NoMatchPage from "../pages/no-match-page"; +const ScheduleBuilderPage = React.lazy(() => + import("../pages/events/schedule-builder-page") +); +const SummitEventListPage = React.lazy(() => + import("../pages/events/summit-event-list-page") +); +const EventIdLayout = React.lazy(() => import("./event-id-layout")); +const SummitEventsBulkActionsPage = React.lazy(() => + import("../pages/events/summit-events-bulk-actions-page") +); +const NoMatchPage = React.lazy(() => import("../pages/no-match-page")); -class EventLayout extends React.Component { - render() { - const { match } = this.props; - return ( -
- +const EventLayout = ({ match }) => ( +
+ - - - - - - - - -
- ); - } -} + }> + + + + + + + + + +
+); export default Restrict(withRouter(EventLayout), "events"); diff --git a/src/layouts/location-id-layout.js b/src/layouts/location-id-layout.js index f52cf2d6f..194ea7548 100644 --- a/src/layouts/location-id-layout.js +++ b/src/layouts/location-id-layout.js @@ -11,12 +11,13 @@ * limitations under the License. * */ -import React, { useEffect } from "react"; +import React, { Suspense, useEffect } from "react"; import PropTypes from "prop-types"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Switch, Route } from "react-router-dom"; import { Breadcrumb } from "react-breadcrumbs"; +import AjaxLoader from "openstack-uicore-foundation/lib/components/ajaxloader"; import { getLocation, @@ -24,12 +25,22 @@ import { getLocationMeta } from "../actions/location-actions"; -import EditLocationPage from "../pages/locations/edit-location-page"; -import EditFloorPage from "../pages/locations/edit-floor-page"; -import EditRoomPage from "../pages/locations/edit-room-page"; -import EditLocationImagePage from "../pages/locations/edit-location-image-page"; -import EditLocationMapPage from "../pages/locations/edit-location-map-page"; -import NoMatchPage from "../pages/no-match-page"; +const EditLocationPage = React.lazy(() => + import("../pages/locations/edit-location-page") +); +const EditFloorPage = React.lazy(() => + import("../pages/locations/edit-floor-page") +); +const EditRoomPage = React.lazy(() => + import("../pages/locations/edit-room-page") +); +const EditLocationImagePage = React.lazy(() => + import("../pages/locations/edit-location-image-page") +); +const EditLocationMapPage = React.lazy(() => + import("../pages/locations/edit-location-map-page") +); +const NoMatchPage = React.lazy(() => import("../pages/no-match-page")); const LocationIdLayout = ({ match, entity, allClasses, ...props }) => { const locationId = match.params.location_id; @@ -53,122 +64,124 @@ const LocationIdLayout = ({ match, entity, allClasses, ...props }) => { return (
- - - ( -
- - - }> + + + ( +
+ - + + + + +
+ )} + /> + ( +
+ - - -
- )} - /> - ( -
- - - + + + + +
+ )} + /> + ( +
+ - + + + + +
+ )} + /> + ( +
+ - - -
- )} - /> - ( -
- - - - - - -
- )} - /> - ( -
- - - - - - -
- )} - /> - -
+ + + + + +
+ )} + /> + +
+
); }; diff --git a/src/layouts/selection-plan-id-layout.js b/src/layouts/selection-plan-id-layout.js index 90b9da405..4fffb8749 100644 --- a/src/layouts/selection-plan-id-layout.js +++ b/src/layouts/selection-plan-id-layout.js @@ -1,18 +1,26 @@ -import React, { useEffect } from "react"; +import React, { Suspense, useEffect } from "react"; import { connect } from "react-redux"; import { Redirect, Route, Switch } from "react-router-dom"; import { Breadcrumb } from "react-breadcrumbs"; import T from "i18n-react"; -import EditSelectionPlanPage from "../pages/selection-plans/edit-selection-plan-page"; +import AjaxLoader from "openstack-uicore-foundation/lib/components/ajaxloader"; import { getSelectionPlan, resetSelectionPlanForm } from "../actions/selection-plan-actions"; import { getMarketingSettingsBySelectionPlan } from "../actions/marketing-actions"; -import SelectionPlanExtraQuestionsLayout from "./selection-plan-extra-questions-layout"; -import SelectionPlanRatingTypesLayout from "./selection-plan-rating-types-layout"; import { MAX_PER_PAGE } from "../utils/constants"; +const EditSelectionPlanPage = React.lazy(() => + import("../pages/selection-plans/edit-selection-plan-page") +); +const SelectionPlanExtraQuestionsLayout = React.lazy(() => + import("./selection-plan-extra-questions-layout") +); +const SelectionPlanRatingTypesLayout = React.lazy(() => + import("./selection-plan-rating-types-layout") +); + const SelectionPlanIdLayout = ({ match, currentSelectionPlan, @@ -44,25 +52,27 @@ const SelectionPlanIdLayout = ({ return (
- - - - - - + }> + + + + + + +
); }; diff --git a/src/layouts/sponsor-id-layout.js b/src/layouts/sponsor-id-layout.js index e454c02bd..991e6bf50 100644 --- a/src/layouts/sponsor-id-layout.js +++ b/src/layouts/sponsor-id-layout.js @@ -1,15 +1,25 @@ -import React from "react"; +import React, { Suspense } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; import { Switch, Route } from "react-router-dom"; -import SponsorPage from "../pages/sponsors/sponsor-page"; +import AjaxLoader from "openstack-uicore-foundation/lib/components/ajaxloader"; import { getSponsor, resetSponsorForm } from "../actions/sponsor-actions"; -import EditAdSponsorPage from "../pages/sponsors/edit-advertisement-sponsor-page"; -import EditMaterialSponsorPage from "../pages/sponsors/edit-material-sponsor-page"; -import EditSocialNetworkSponsorPage from "../pages/sponsors/edit-social-network-sponsor-page"; -import EditSponsorExtraQuestion from "../pages/sponsors/edit-sponsor-extra-question-page"; -import NoMatchPage from "../pages/no-match-page"; + +const SponsorPage = React.lazy(() => import("../pages/sponsors/sponsor-page")); +const EditAdSponsorPage = React.lazy(() => + import("../pages/sponsors/edit-advertisement-sponsor-page") +); +const EditMaterialSponsorPage = React.lazy(() => + import("../pages/sponsors/edit-material-sponsor-page") +); +const EditSocialNetworkSponsorPage = React.lazy(() => + import("../pages/sponsors/edit-social-network-sponsor-page") +); +const EditSponsorExtraQuestion = React.lazy(() => + import("../pages/sponsors/edit-sponsor-extra-question-page") +); +const NoMatchPage = React.lazy(() => import("../pages/no-match-page")); class SponsorIdLayout extends React.Component { constructor(props) { @@ -48,102 +58,104 @@ class SponsorIdLayout extends React.Component { return (
- - ( -
- - - - - - -
- )} - /> - ( -
- - - - - - -
- )} - /> - ( -
- - - }> + + ( +
+ - + + + + +
+ )} + /> + ( +
+ - - -
- )} - /> - ( -
- - - + + + + +
+ )} + /> + ( +
+ - + + + + +
+ )} + /> + ( +
+ - - -
- )} - /> - - -
+ + + + + +
+ )} + /> + + +
+
); } diff --git a/src/layouts/sponsor-layout.js b/src/layouts/sponsor-layout.js index b36d21d87..cba7da2e6 100644 --- a/src/layouts/sponsor-layout.js +++ b/src/layouts/sponsor-layout.js @@ -11,21 +11,39 @@ * limitations under the License. * */ -import React from "react"; +import React, { Suspense } from "react"; import { Route, Switch, withRouter } from "react-router-dom"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; +import AjaxLoader from "openstack-uicore-foundation/lib/components/ajaxloader"; import Restrict from "../routes/restrict"; -import SponsorListPage from "../pages/sponsors/sponsor-list-page"; -import NoMatchPage from "../pages/no-match-page"; -import SponsorIdLayout from "./sponsor-id-layout"; -import SponsorPromocodesListPage from "../pages/sponsors/sponsor-promocodes-list-page"; -import EditPromocodePage from "../pages/promocodes/edit-promocode-page"; -import SponsorSettingsPage from "../pages/sponsor_settings/sponsor-settings-page"; -import SponsorFormsListPage from "../pages/sponsors/sponsor-forms-list-page"; -import SponsorFormItemListPage from "../pages/sponsors/sponsor-form-item-list-page"; -import SponsorUsersListPage from "../pages/sponsors/sponsor-users-list-page"; -import ShowPagesListPage from "../pages/sponsors/show-pages-list-page"; + +const SponsorListPage = React.lazy(() => + import("../pages/sponsors/sponsor-list-page") +); +const NoMatchPage = React.lazy(() => import("../pages/no-match-page")); +const SponsorIdLayout = React.lazy(() => import("./sponsor-id-layout")); +const SponsorPromocodesListPage = React.lazy(() => + import("../pages/sponsors/sponsor-promocodes-list-page") +); +const EditPromocodePage = React.lazy(() => + import("../pages/promocodes/edit-promocode-page") +); +const SponsorSettingsPage = React.lazy(() => + import("../pages/sponsor_settings/sponsor-settings-page") +); +const SponsorFormsListPage = React.lazy(() => + import("../pages/sponsors/sponsor-forms-list-page") +); +const SponsorFormItemListPage = React.lazy(() => + import("../pages/sponsors/sponsor-form-item-list-page") +); +const SponsorUsersListPage = React.lazy(() => + import("../pages/sponsors/sponsor-users-list-page") +); +const ShowPagesListPage = React.lazy(() => + import("../pages/sponsors/show-pages-list-page") +); const SponsorLayout = ({ match }) => (
@@ -35,110 +53,112 @@ const SponsorLayout = ({ match }) => ( pathname: match.url }} /> - - - ( -
- - - - - -
- )} - /> - ( -
- -
- )} - strict - exact - component={ShowPagesListPage} - /> - - - - ( -
- - - }> + + + ( +
+ - + + + +
+ )} + /> + ( +
+ - + )} + strict + exact + component={ShowPagesListPage} + /> + + + + ( +
+ - -
- )} - /> - - - - + + + + + +
+ )} + /> + + + +
+
); diff --git a/src/layouts/track-chairs-layout.js b/src/layouts/track-chairs-layout.js index f4d1c57ae..c85510620 100644 --- a/src/layouts/track-chairs-layout.js +++ b/src/layouts/track-chairs-layout.js @@ -9,30 +9,42 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - **/ + * */ -import React from "react"; +import React, { Suspense } from "react"; import { Switch, Route, withRouter } from "react-router-dom"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; +import AjaxLoader from "openstack-uicore-foundation/lib/components/ajaxloader"; import Restrict from "../routes/restrict"; -import NoMatchPage from "../pages/no-match-page"; -import TrackChairListPage from "../pages/track_chairs/track-chair-list-page"; -import ProgressFlagsPage from "../pages/track_chairs/progress-flags-page"; -import TrackTimeframeListPage from "../pages/track_chairs/track-timeframe-list-page"; -import TrackTimeframePage from "../pages/track_chairs/track-timeframe-page"; -import TeamListsPage from "../pages/track_chairs/team-lists-page"; +const NoMatchPage = React.lazy(() => import("../pages/no-match-page")); +const TrackChairListPage = React.lazy(() => + import("../pages/track_chairs/track-chair-list-page") +); +const ProgressFlagsPage = React.lazy(() => + import("../pages/track_chairs/progress-flags-page") +); +const TrackTimeframeListPage = React.lazy(() => + import("../pages/track_chairs/track-timeframe-list-page") +); +const TrackTimeframePage = React.lazy(() => + import("../pages/track_chairs/track-timeframe-page") +); +const TeamListsPage = React.lazy(() => + import("../pages/track_chairs/team-lists-page") +); -const TrackChairsLayout = ({match}) => ( -
- +const TrackChairsLayout = ({ match }) => ( +
+ + }> ( /> -
- ) + +
+); export default Restrict(withRouter(TrackChairsLayout), "track-chairs"); From 072467ee0216b26ffa3b24ab712127a19cdd516b Mon Sep 17 00:00:00 2001 From: Santiago Palenque Date: Fri, 17 Apr 2026 19:43:41 -0300 Subject: [PATCH 3/5] chore: lazyload sentry and remove barrel imports from uicore, mui and lodash --- src/actions/ably-actions.js | 26 ++++++++----- src/actions/attendee-actions.js | 4 +- src/actions/badge-actions.js | 4 +- src/actions/company-actions.js | 4 +- src/actions/email-actions.js | 4 +- src/actions/event-actions.js | 12 +++--- src/actions/filter-criteria-actions.js | 4 +- src/actions/media-file-type-actions.js | 2 +- src/actions/media-upload-actions.js | 4 +- src/actions/reg-feed-metadata-actions.js | 1 - src/actions/selection-plan-actions.js | 4 +- src/actions/sponsor-actions.js | 6 +-- src/actions/sponsorship-actions.js | 6 +-- src/actions/track-chair-actions.js | 4 +- src/app.js | 37 ++----------------- src/components/SentryErrorBoundary/index.js | 37 +++++++++++++++++++ src/components/audit-logs/index.js | 12 +++--- .../filters/date-interval-filter.js | 2 +- .../filters/save-filter-criteria/index.js | 3 +- src/components/forms/admin-access-form.js | 8 ++-- .../forms/attendee-form/attendee-form.js | 14 +++---- .../forms/attendee-form/ticket-component.js | 6 +-- .../forms/badge-feature-type-form.js | 3 +- src/components/forms/badge-scan-form.js | 3 +- src/components/forms/badge-settings-form.js | 12 +++--- src/components/forms/company-form.js | 12 +++--- src/components/forms/email-activity.js | 2 +- .../forms/email-flow-event-form/index.js | 2 +- .../forms/email-flow-event-settings-form.js | 3 +- src/components/forms/email-template-form.js | 12 +++--- src/components/forms/event-category-form.js | 14 +++---- src/components/forms/event-form.js | 32 ++++++++-------- src/components/forms/event-material-form.js | 8 ++-- src/components/forms/event-rsvp-form.js | 3 +- .../forms/extra-question-form/index.js | 10 ++--- .../forms/extra-question-sub-question-form.js | 6 +-- src/components/forms/floor-form.js | 10 ++--- src/components/forms/image-form.js | 3 +- src/components/forms/location-form.js | 12 +++--- .../forms/marketing-setting-form.js | 8 ++-- src/components/forms/media-upload-form.js | 3 +- src/components/forms/payment-fee-type-form.js | 3 +- src/components/forms/payment-profile-form.js | 10 ++--- .../promocode-form/forms/base-pc-form.js | 10 ++--- .../forms/discount-base-pc-form.js | 2 +- .../forms/generic-base-pc-form.js | 2 +- .../forms/speaker-base-pc-form.js | 2 +- .../forms/speakers-base-pc-form.js | 8 ++-- .../forms/sponsor-base-pc-form.js | 6 +-- src/components/forms/promocode-form/index.js | 8 ++-- src/components/forms/purchase-order-form.js | 12 +++--- .../forms/push-notification-form.js | 10 ++--- src/components/forms/question-form.js | 8 ++-- src/components/forms/rating-type-form.js | 6 +-- .../forms/reg-feed-metadata-form.js | 2 +- .../forms/registration-invitation-form.js | 8 ++-- .../forms/room-booking-attribute-form.js | 6 +-- src/components/forms/room-booking-form.js | 8 ++-- src/components/forms/rsvp-form.js | 2 +- src/components/forms/rsvp-template-form.js | 6 +-- .../forms/schedule-settings-form/index.js | 2 +- .../pre-filter-input.js | 8 ++-- src/components/forms/score-type-form.js | 2 +- .../forms/speaker-attendance-form.js | 6 +-- src/components/forms/speaker-form.js | 10 ++--- .../forms/speakers-promo-code-spec-form.js | 12 +++--- .../forms/sponsor-advertisement-form.js | 3 +- src/components/forms/sponsor-form.js | 18 ++++----- src/components/forms/sponsor-material-form.js | 3 +- .../forms/sponsor-social-network-form.js | 2 +- .../forms/sponsored-project-form.js | 12 +++--- ...sponsored-project-sponsorship-type-form.js | 6 +-- ...ponsorship-type-supporting-company-form.js | 2 +- src/components/forms/sponsorship-form.js | 3 +- .../forms/submission-invitation-form.js | 8 ++-- src/components/forms/summit-form.js | 20 +++++----- .../forms/summit-sponsorship-form.js | 8 ++-- src/components/forms/summitdoc-form.js | 10 ++--- src/components/forms/tag-form.js | 2 +- src/components/forms/ticket-form.js | 6 +-- src/components/forms/ticket-type-form.js | 8 ++-- src/components/forms/view-type-form.js | 2 +- src/components/import-promocodes/index.js | 2 +- .../inputs/acceptance-criteria-dropdown.js | 2 +- src/components/inputs/date-interval-input.js | 2 +- src/components/inputs/email-filter/index.js | 2 +- src/components/inputs/event-type-dropdown.js | 2 +- .../inputs/invitation-status-dropdown.js | 2 +- src/components/inputs/level-dropdown.js | 2 +- src/components/inputs/location-dropdown.js | 2 +- src/components/inputs/owner-input.js | 2 +- .../inputs/question-answers-input.js | 12 +++--- .../inputs/selection-plan-dropdown.js | 2 +- .../inputs/text-input-with-counter.js | 2 +- src/components/inputs/track-dropdown.js | 2 +- src/components/inputs/track-group-dropdown.js | 2 +- src/components/inputs/url-input.js | 2 +- src/components/inventory-items-modal.js | 6 +-- src/components/menu/menu-item.js | 2 +- src/components/mui/confirm-dialog.js | 5 ++- .../mui/formik-inputs/mui-formik-upload.js | 2 +- src/components/notes/index.js | 8 ++-- src/components/reports/attendee-report.js | 2 +- .../reports/feedback-group-report.js | 2 +- src/components/reports/feedback-report.js | 2 +- src/components/reports/metrics-report.js | 14 +++---- .../reports/presentation-video-report.js | 2 +- src/components/reports/report-wrapper.js | 8 ++-- .../reports/room-manifest-report.js | 2 +- src/components/reports/room-report.js | 2 +- src/components/reports/rsvp-event-report.js | 2 +- .../reports/smart-presentation-report.js | 2 +- .../reports/smart-speaker-report.js | 2 +- src/components/reports/tag-report.js | 2 +- src/components/reports/tag-single-report.js | 2 +- .../rsvp/event-rsvp-invitation-blast.js | 3 +- .../rsvp/event-rsvp-invitation-list.js | 10 ++--- src/components/rsvp/event-rsvp-list.js | 8 ++-- src/components/rsvp/event-rsvp-resend.js | 2 +- .../schedule-admin-dashboard.js | 10 ++--- .../schedule-admin-empty-spots-modal.js | 6 +-- .../schedule-builder/schedule-event-result.js | 2 +- .../schedule-builder/unschedule-event.js | 2 +- src/components/summit-dropdown/index.js | 2 +- .../summit-event-bulk-editor-form.js | 10 ++--- .../summit-event-bulk-editor-item.js | 8 ++-- .../affiliationstable/AffiliationsTable.js | 6 +-- .../DiscountTicketTable.js | 3 +- .../tables/editable-table/EditableTableRow.js | 2 +- .../tables/extra-questions-table/index.js | 2 +- .../OccupancyTableCell.js | 2 +- .../signagebannerstable/BannersTable.js | 2 +- .../track-timeframes/DayTimeframeTable.js | 6 +-- .../admin_access/admin-access-list-page.js | 6 +-- .../attendees/summit-attendees-list-page.js | 18 ++++----- src/pages/badges/access-level-list-page.js | 2 +- src/pages/badges/badge-feature-list-page.js | 2 +- src/pages/badges/badge-type-list-page.js | 2 +- src/pages/badges/edit-access-level-page.js | 2 +- src/pages/badges/view-type-list-page.js | 6 +-- src/pages/companies/company-list-page.js | 6 +-- .../email-flow-events-list-page.js | 6 +-- src/pages/emails/email-log-list-page.js | 10 ++--- src/pages/emails/email-template-list-page.js | 6 +-- .../events/event-category-group-list-page.js | 2 +- src/pages/events/event-category-list-page.js | 2 +- src/pages/events/event-type-list-page.js | 2 +- src/pages/events/summit-event-list-page.js | 22 +++++------ .../events/summit-presentations-votes-page.js | 10 ++--- src/pages/locations/location-list-page.js | 2 +- .../marketing/marketing-setting-list-page.js | 6 +-- .../edit-media-file-type-page.js | 2 +- .../media-file-type-list-page.js | 6 +-- .../media_uploads/media-upload-list-page.js | 6 +-- src/pages/orders/edit-ticket-page.js | 3 +- .../orders/order-extra-question-list-page.js | 2 +- src/pages/orders/purchase-order-list-page.js | 12 +++--- src/pages/promocodes/promocode-list-page.js | 12 +++--- .../push-notification-list-page.js | 3 +- .../registration-companies-list-page.js | 10 ++--- .../registration/registration-stats-page.js | 6 +-- .../room_bookings/room-booking-list-page.js | 6 +-- .../room_occupancy/room-occupancy-page.js | 6 +-- src/pages/rsvps/rsvp-template-list-page.js | 6 +-- .../schedule-settings-list-page.js | 2 +- .../selection-plan-list-page.js | 6 +-- src/pages/signage/index.js | 10 ++--- src/pages/speakers/merge-speakers-page.js | 2 +- .../submission-invitations-list-page.js | 12 +++--- .../speakers/summit-speakers-list-page.js | 6 +-- .../sponsored-project-list-page.js | 6 +-- .../form-templates/sponsor-inventory-popup.js | 2 +- src/pages/sponsors/badge-scans-list-page.js | 6 +-- src/pages/sponsors/popup/edit-tier-popup.js | 2 +- src/pages/sponsors/sponsor-list-page.js | 4 +- .../sponsors/sponsor-promocodes-list-page.js | 10 ++--- .../edit-user-popup/access-rights-lists.js | 4 +- .../sponsorship-list-page.js | 2 +- .../summit_speakers/featured-speakers-page.js | 10 ++--- .../speaker-attendance-list-page.js | 6 +-- .../summit-speakers-list-page.js | 10 ++--- src/pages/summitdocs/summitdoc-list-page.js | 6 +-- src/pages/tag_groups/edit-tag-group-page.js | 2 +- src/pages/tag_groups/tag-group-list-page.js | 2 +- src/pages/tags/tag-list-page.js | 6 +-- src/pages/taxes/tax-type-list-page.js | 2 +- .../tickets/payment-profile-list-page.js | 2 +- src/pages/tickets/refund-policy-list-page.js | 2 +- .../registration-invitations-list-page.js | 16 ++++---- src/pages/tickets/ticket-list-page.js | 20 +++++----- src/pages/tickets/ticket-type-list-page.js | 12 +++--- src/pages/track_chairs/progress-flags-page.js | 3 +- src/pages/track_chairs/team-lists-page.js | 2 +- .../track_chairs/track-chair-list-page.js | 10 ++--- .../track_chairs/track-timeframe-list-page.js | 2 +- .../order-extra-question-list-reducer.js | 2 +- src/reducers/orders/purchase-order-reducer.js | 4 +- .../track_chairs/team-lists-reducer.js | 6 +-- src/sentry-init.js | 18 +++++++++ 199 files changed, 555 insertions(+), 681 deletions(-) create mode 100644 src/components/SentryErrorBoundary/index.js create mode 100644 src/sentry-init.js diff --git a/src/actions/ably-actions.js b/src/actions/ably-actions.js index f0df3e942..416c440cc 100644 --- a/src/actions/ably-actions.js +++ b/src/actions/ably-actions.js @@ -1,17 +1,24 @@ -import Ably from "ably"; import Swal from "sweetalert2"; const AblyApiKey = process.env.SIGNAGE_ABLY_API_KEY; -const realtimeAbly = AblyApiKey ? new Ably.Realtime(AblyApiKey) : null; +let realtimeAbly = null; + +const getAblyClient = async () => { + if (!AblyApiKey) return null; + if (realtimeAbly) return realtimeAbly; + const Ably = (await import("ably")).default; + realtimeAbly = new Ably.Realtime(AblyApiKey); + return realtimeAbly; +}; -export const subscribeToAblyChannel = (channel, callback) => { - if (!realtimeAbly) { +export const subscribeToAblyChannel = (channel, callback) => async (dispatch) => { + const client = await getAblyClient(); + if (!client) { Swal.fire("Subscribe failed", "No Ably API key found", "warning"); return false; } - const ablyChannel = realtimeAbly.channels.get(channel); - + const ablyChannel = client.channels.get(channel); ablyChannel.subscribe((msg) => { callback(msg.data); }); @@ -19,13 +26,14 @@ export const subscribeToAblyChannel = (channel, callback) => { return true; }; -export const publishToAblyChannel = (channel, key, message) => { - if (!realtimeAbly) { +export const publishToAblyChannel = (channel, key, message) => async (dispatch) => { + const client = await getAblyClient(); + if (!client) { Swal.fire("Publish failed", "No Ably API key found", "warning"); return false; } - const ablyChannel = realtimeAbly.channels.get(channel); + const ablyChannel = client.channels.get(channel); ablyChannel.subscribe((msg) => { console.log(`Received: ${JSON.stringify(msg.data)}`); diff --git a/src/actions/attendee-actions.js b/src/actions/attendee-actions.js index f434ca647..c29f8f3bf 100644 --- a/src/actions/attendee-actions.js +++ b/src/actions/attendee-actions.js @@ -31,7 +31,7 @@ import { downloadFileByContent } from "openstack-uicore-foundation/lib/utils/actions"; import URI from "urijs"; -import _ from "lodash"; +import debounce from "lodash/debounce" import history from "../history"; import { checkOrFilter, @@ -778,7 +778,7 @@ export const changeAttendeeListSearchTerm = (term) => (dispatch) => { dispatch(createAction(CHANGE_ATTENDEE_SEARCH_TERM)({ term })); }; -export const queryPaidAttendees = _.debounce( +export const queryPaidAttendees = debounce( async (summitId, input, callback) => { const accessToken = await getAccessTokenSafely(); diff --git a/src/actions/badge-actions.js b/src/actions/badge-actions.js index 75910d661..5d3ef093e 100644 --- a/src/actions/badge-actions.js +++ b/src/actions/badge-actions.js @@ -30,7 +30,7 @@ import { } from "openstack-uicore-foundation/lib/utils/actions"; import URI from "urijs"; import pLimit from "p-limit"; -import _ from "lodash"; +import debounce from "lodash/debounce" import history from "../history"; import { saveMarketingSetting } from "./marketing-actions"; import { getAccessTokenSafely } from "../utils/methods"; @@ -890,7 +890,7 @@ const normalizeBadgeType = (entity) => { /** ********************* BADGE FEATURE *********************************************** */ -export const queryBadgeFeatures = _.debounce( +export const queryBadgeFeatures = debounce( async (summitId, input, callback) => { const accessToken = await getAccessTokenSafely(); const endpoint = URI( diff --git a/src/actions/company-actions.js b/src/actions/company-actions.js index f45a1756e..e665fbb74 100644 --- a/src/actions/company-actions.js +++ b/src/actions/company-actions.js @@ -27,7 +27,7 @@ import { fetchResponseHandler, fetchErrorHandler } from "openstack-uicore-foundation/lib/utils/actions"; -import * as _ from "lodash"; +import debounce from "lodash/debounce" import URI from "urijs"; import history from "../history"; import { getAccessTokenSafely } from "../utils/methods"; @@ -270,7 +270,7 @@ const normalizeEntity = (entity) => { return normalizedEntity; }; -export const queryCompanies = _.debounce(async (input, callback) => { +export const queryCompanies = debounce(async (input, callback) => { const accessToken = await getAccessTokenSafely(); const endpoint = URI(`${window.API_BASE_URL}/api/v1/companies`); input = escapeFilterValue(input); diff --git a/src/actions/email-actions.js b/src/actions/email-actions.js index 85930d0f7..ea13a97bf 100644 --- a/src/actions/email-actions.js +++ b/src/actions/email-actions.js @@ -29,7 +29,7 @@ import { escapeFilterValue } from "openstack-uicore-foundation/lib/utils/actions"; import URI from "urijs"; -import _ from "lodash"; +import debounce from "lodash/debounce" import history from "../history"; import { checkOrFilter, getAccessTokenSafely } from "../utils/methods"; import { saveMarketingSetting } from "./marketing-actions"; @@ -230,7 +230,7 @@ const normalizeEntity = (entity) => { return normalizedEntity; }; -export const queryTemplates = _.debounce(async (input, callback) => { +export const queryTemplates = debounce(async (input, callback) => { const accessToken = await getAccessTokenSafely(); const endpoint = URI(`${window.EMAIL_API_BASE_URL}/api/v1/mail-templates`); diff --git a/src/actions/event-actions.js b/src/actions/event-actions.js index 79ffc7cdc..b59193771 100644 --- a/src/actions/event-actions.js +++ b/src/actions/event-actions.js @@ -12,7 +12,7 @@ * */ import T from "i18n-react/dist/i18n-react"; -import _ from "lodash"; +import debounce from "lodash/debounce" import { getRequest, putRequest, @@ -1490,7 +1490,7 @@ export const getEventComments = }); }; -export const queryEvents = _.debounce(async (summitId, input, callback) => { +export const queryEvents = debounce(async (summitId, input, callback) => { const accessToken = await getAccessTokenSafely(); const endpoint = URI( `${window.API_BASE_URL}/api/v1/summits/${summitId}/events` @@ -1509,7 +1509,7 @@ export const queryEvents = _.debounce(async (summitId, input, callback) => { .catch(fetchErrorHandler); }, DEBOUNCE_WAIT); -export const queryEventsWithPrivateRSVP = _.debounce( +export const queryEventsWithPrivateRSVP = debounce( async (summitId, input, callback) => { const accessToken = await getAccessTokenSafely(); const endpoint = URI( @@ -1532,7 +1532,7 @@ export const queryEventsWithPrivateRSVP = _.debounce( DEBOUNCE_WAIT ); -export const querySpeakerCompany = _.debounce(async (input, callback) => { +export const querySpeakerCompany = debounce(async (input, callback) => { const endpoint = URI( `${window.API_BASE_URL}/api/public/v1/speakers/all/companies` ); @@ -1553,7 +1553,7 @@ export const querySpeakerCompany = _.debounce(async (input, callback) => { .catch(fetchErrorHandler); }, DEBOUNCE_WAIT); -export const querySubmitterCompany = _.debounce(async (input, callback) => { +export const querySubmitterCompany = debounce(async (input, callback) => { const endpoint = URI( `${window.API_BASE_URL}/api/public/v1/members/all/companies` ); @@ -1574,7 +1574,7 @@ export const querySubmitterCompany = _.debounce(async (input, callback) => { .catch(fetchErrorHandler); }, DEBOUNCE_WAIT); -export const queryAllCompanies = _.debounce(async (input, callback) => { +export const queryAllCompanies = debounce(async (input, callback) => { input = escapeFilterValue(input); const accessToken = await getAccessTokenSafely(); diff --git a/src/actions/filter-criteria-actions.js b/src/actions/filter-criteria-actions.js index 34212910e..d66cf1297 100644 --- a/src/actions/filter-criteria-actions.js +++ b/src/actions/filter-criteria-actions.js @@ -25,7 +25,7 @@ import { } from "openstack-uicore-foundation/lib/utils/actions"; import URI from "urijs"; import Swal from "sweetalert2"; -import _ from "lodash"; +import debounce from "lodash/debounce" import { getAccessTokenSafely } from "../utils/methods"; import { @@ -112,7 +112,7 @@ export const deleteFilterCriteria = (filterCriteriaId) => async (dispatch) => { }); }; -export const queryFilterCriterias = _.debounce( +export const queryFilterCriterias = debounce( async (summitId, context, input, callback) => { const accessToken = await getAccessTokenSafely(); diff --git a/src/actions/media-file-type-actions.js b/src/actions/media-file-type-actions.js index 7398a21de..e6bc557a8 100644 --- a/src/actions/media-file-type-actions.js +++ b/src/actions/media-file-type-actions.js @@ -12,7 +12,7 @@ * */ import T from "i18n-react/dist/i18n-react"; -import { debounce } from "lodash"; +import debounce from "lodash/debounce" import { getRequest, putRequest, diff --git a/src/actions/media-upload-actions.js b/src/actions/media-upload-actions.js index 16d067c1e..648398b3b 100644 --- a/src/actions/media-upload-actions.js +++ b/src/actions/media-upload-actions.js @@ -27,7 +27,7 @@ import { fetchResponseHandler, fetchErrorHandler } from "openstack-uicore-foundation/lib/utils/actions"; -import _ from "lodash"; +import debounce from "lodash/debounce" import history from "../history"; import { getAccessTokenSafely } from "../utils/methods"; import { DEBOUNCE_WAIT, DEFAULT_PER_PAGE } from "../utils/constants"; @@ -117,7 +117,7 @@ export const getMediaUpload = (mediaUploadId) => async (dispatch, getState) => { }); }; -export const queryMediaUploads = _.debounce( +export const queryMediaUploads = debounce( async (summitId, input, callback) => { const accessToken = await getAccessTokenSafely(); const apiUrl = URI( diff --git a/src/actions/reg-feed-metadata-actions.js b/src/actions/reg-feed-metadata-actions.js index 0e4d6891d..bed21cfdd 100644 --- a/src/actions/reg-feed-metadata-actions.js +++ b/src/actions/reg-feed-metadata-actions.js @@ -26,7 +26,6 @@ import { authErrorHandler } from "openstack-uicore-foundation/lib/utils/actions"; import { getAccessTokenSafely } from "../utils/methods"; -import _ from "lodash"; export const RESET_REG_FEED_METADATA_FORM = "RESET_REG_FEED_METADATA_FORM"; export const REQUEST_REG_FEED_METADATA_LIST = "REQUEST_REG_FEED_METADATA_LIST"; diff --git a/src/actions/selection-plan-actions.js b/src/actions/selection-plan-actions.js index baba7dd7a..e0e48ae77 100644 --- a/src/actions/selection-plan-actions.js +++ b/src/actions/selection-plan-actions.js @@ -12,7 +12,7 @@ * */ import T from "i18n-react/dist/i18n-react"; -import _ from "lodash"; +import debounce from "lodash/debounce" import { getRequest, putRequest, @@ -698,7 +698,7 @@ export const deleteRatingType = }); }; -export const querySelectionPlanExtraQuestions = _.debounce( +export const querySelectionPlanExtraQuestions = debounce( async (summitId, input, callback) => { const accessToken = await getAccessTokenSafely(); const endpoint = URI( diff --git a/src/actions/sponsor-actions.js b/src/actions/sponsor-actions.js index a4ada1494..be9aa3dc2 100644 --- a/src/actions/sponsor-actions.js +++ b/src/actions/sponsor-actions.js @@ -29,7 +29,7 @@ import { fetchErrorHandler, postFile } from "openstack-uicore-foundation/lib/utils/actions"; -import * as _ from "lodash"; +import debounce from "lodash/debounce" import URI from "urijs"; import { getAccessTokenSafely } from "../utils/methods"; import { normalizeLeadReportSettings } from "../models/lead-report-settings"; @@ -177,7 +177,7 @@ export const SPONSOR_LEAD_REPORT_SETTINGS_UPDATED = /** **************** FETCH *************************************** */ -export const querySponsors = _.debounce(async (input, summitId, callback) => { +export const querySponsors = debounce(async (input, summitId, callback) => { const accessToken = await getAccessTokenSafely(); const endpoint = URI( `${window.API_BASE_URL}/api/v2/summits/${summitId}/sponsors` @@ -2293,7 +2293,7 @@ export const deleteSponsorSocialNetwork = }); }; -export const querySummitSponsorships = _.debounce( +export const querySummitSponsorships = debounce( async (summitId, input, callback) => { const accessToken = await getAccessTokenSafely(); const endpoint = URI( diff --git a/src/actions/sponsorship-actions.js b/src/actions/sponsorship-actions.js index 6c97c4da5..471e182b2 100644 --- a/src/actions/sponsorship-actions.js +++ b/src/actions/sponsorship-actions.js @@ -12,7 +12,7 @@ * */ import T from "i18n-react/dist/i18n-react"; -import * as _ from "lodash"; +import debounce from "lodash/debounce" import { getRequest, putRequest, @@ -175,7 +175,7 @@ const normalizeSponsorship = (entity) => { return normalizedEntity; }; -export const querySponsorships = _.debounce(async (input, callback) => { +export const querySponsorships = debounce(async (input, callback) => { const accessToken = await getAccessTokenSafely(); const endpoint = URI(`${window.API_BASE_URL}/api/v1/sponsorship-types`); input = escapeFilterValue(input); @@ -192,7 +192,7 @@ export const querySponsorships = _.debounce(async (input, callback) => { .catch(fetchErrorHandler); }, DEBOUNCE_WAIT); -export const querySponsorshipsBySummit = _.debounce( +export const querySponsorshipsBySummit = debounce( async (input, summitId, callback) => { const accessToken = await getAccessTokenSafely(); const endpoint = URI( diff --git a/src/actions/track-chair-actions.js b/src/actions/track-chair-actions.js index a074a5c3b..65d9d4024 100644 --- a/src/actions/track-chair-actions.js +++ b/src/actions/track-chair-actions.js @@ -23,7 +23,7 @@ import { stopLoading } from "openstack-uicore-foundation/lib/utils/actions"; import URI from "urijs"; -import _ from "lodash"; +import debounce from "lodash/debounce" import { fetchErrorHandler, fetchResponseHandler, @@ -284,7 +284,7 @@ export const getProgressFlags = () => async (dispatch, getState) => { }); }; -export const querySummitProgressFlags = _.debounce( +export const querySummitProgressFlags = debounce( async (summitId, input, callback) => { const accessToken = await getAccessTokenSafely(); const endpoint = URI( diff --git a/src/app.js b/src/app.js index 3ea24d257..10cf37dba 100644 --- a/src/app.js +++ b/src/app.js @@ -15,7 +15,7 @@ import React from "react"; import { Switch, Route, Router } from "react-router-dom"; import { connect } from "react-redux"; import { setAppTexts } from "openstack-uicore-foundation/lib/i18n"; -import { AjaxLoader } from "openstack-uicore-foundation/lib/components"; +import AjaxLoader from "openstack-uicore-foundation/lib/components/ajaxloader"; import { getBackURL } from "openstack-uicore-foundation/lib/utils/methods"; import { resetLoading } from "openstack-uicore-foundation/lib/utils/actions"; import { @@ -32,8 +32,6 @@ import IdTokenVerifier from "idtoken-verifier"; import T from "i18n-react"; import { LocalizationProvider } from "@mui/x-date-pickers"; import { AdapterMoment } from "@mui/x-date-pickers/AdapterMoment"; -// eslint-disable-next-line -import * as Sentry from "@sentry/react"; import exclusiveSections from "./exclusive-sections.yml"; import CustomErrorPage from "./pages/custom-error-page"; import history from "./history"; @@ -45,7 +43,7 @@ import AuthButton from "./components/auth-button"; import DefaultRoute from "./routes/default-route"; import { getTimezones } from "./actions/base-actions"; import { LANGUAGE_CODE_LENGTH } from "./utils/constants"; -import { SentryFallbackFunction } from "./components/SentryErrorComponent"; +import SentryErrorBoundary from "./components/SentryErrorBoundary"; import "@fontsource/roboto/300.css"; import "@fontsource/roboto/400.css"; @@ -108,31 +106,6 @@ if (exclusiveSections.hasOwnProperty(process.env.APP_CLIENT_NAME)) { window.EXCLUSIVE_SECTIONS = exclusiveSections[process.env.APP_CLIENT_NAME]; } -if (window.SENTRY_DSN && window.SENTRY_DSN !== "") { - console.log("app init sentry ..."); - // Initialize Sentry - Sentry.init({ - dsn: window.SENTRY_DSN, - integrations: [ - Sentry.browserTracingIntegration(), - Sentry.browserProfilingIntegration(), - Sentry.replayIntegration() - ], - // Tracing - tracesSampleRate: window.SENTRY_TRACE_SAMPLE_RATE, // Capture 100% of the transactions - // Set 'tracePropagationTargets' to control for which URLs distributed tracing should be enabled - tracePropagationTargets: [window.SENTRY_TRACE_PROPAGATION_TARGETS], - // Set profilesSampleRate to 1.0 to profile every transaction. - // Since profilesSampleRate is relative to tracesSampleRate, - // the final profiling rate can be computed as tracesSampleRate * profilesSampleRate - // For example, a tracesSampleRate of 0.5 and profilesSampleRate of 0.5 would - // results in 25% of transactions being profiled (0.5*0.5=0.25) - profilesSampleRate: 1.0, - // Session Replay - replaysSessionSampleRate: 0.1, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production. - replaysOnErrorSampleRate: 1.0 // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur. - }); -} class App extends React.PureComponent { constructor(props) { @@ -173,9 +146,7 @@ class App extends React.PureComponent { } return ( - +
@@ -212,7 +183,7 @@ class App extends React.PureComponent {
-
+ ); } } diff --git a/src/components/SentryErrorBoundary/index.js b/src/components/SentryErrorBoundary/index.js new file mode 100644 index 000000000..15677d875 --- /dev/null +++ b/src/components/SentryErrorBoundary/index.js @@ -0,0 +1,37 @@ +import React, { Component } from "react"; +import { SentryFallbackFunction } from "../SentryErrorComponent"; + +class SentryErrorBoundary extends Component { + constructor(props) { + super(props); + this.state = { ErrorBoundary: null }; + } + + componentDidMount() { + if (window.SENTRY_DSN && window.SENTRY_DSN !== "") { + import("../../sentry-init").then(({ initSentry }) => { + const Sentry = initSentry(); + this.setState({ ErrorBoundary: Sentry.ErrorBoundary }); + }); + } + } + + render() { + const { ErrorBoundary } = this.state; + const { children, componentName } = this.props; + + if (ErrorBoundary) { + return ( + + {children} + + ); + } + + return children; + } +} + +export default SentryErrorBoundary; diff --git a/src/components/audit-logs/index.js b/src/components/audit-logs/index.js index 20cd4be0a..81cb2a9d6 100644 --- a/src/components/audit-logs/index.js +++ b/src/components/audit-logs/index.js @@ -1,11 +1,9 @@ import React, { useEffect, useState } from "react"; -import { - FreeTextSearch, - Table, - Dropdown, - MemberInput, - DateTimePicker -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import MemberInput from "openstack-uicore-foundation/lib/components/inputs/member-input" +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker"; import T from "i18n-react"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; import { Pagination } from "react-bootstrap"; diff --git a/src/components/filters/date-interval-filter.js b/src/components/filters/date-interval-filter.js index 334f9e588..9b9c97ad9 100644 --- a/src/components/filters/date-interval-filter.js +++ b/src/components/filters/date-interval-filter.js @@ -12,7 +12,7 @@ **/ import React, { useState } from "react"; -import { DateTimePicker } from "openstack-uicore-foundation/lib/components"; +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker"; const DateIntervalFilter = ({ onFilter, timezone = "UTC" }) => { const [fromDate, setFromDate] = useState(null); diff --git a/src/components/filters/save-filter-criteria/index.js b/src/components/filters/save-filter-criteria/index.js index a1b5ce4f5..a6314ec0b 100644 --- a/src/components/filters/save-filter-criteria/index.js +++ b/src/components/filters/save-filter-criteria/index.js @@ -14,7 +14,8 @@ import React, { useEffect, useState } from "react"; import PropTypes from "prop-types"; import T from "i18n-react/dist/i18n-react"; -import { Input, RadioList } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import RadioList from "openstack-uicore-foundation/lib/components/inputs/radio-list"; import { hasErrors } from "../../../utils/methods"; import styles from "./index.module.less"; diff --git a/src/components/forms/admin-access-form.js b/src/components/forms/admin-access-form.js index f108989d1..6207d00d1 100644 --- a/src/components/forms/admin-access-form.js +++ b/src/components/forms/admin-access-form.js @@ -14,11 +14,9 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Input, - MemberInput, - SummitInput -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import MemberInput from "openstack-uicore-foundation/lib/components/inputs/member-input" +import SummitInput from "openstack-uicore-foundation/lib/components/inputs/summit-input"; import { scrollToError, hasErrors, diff --git a/src/components/forms/attendee-form/attendee-form.js b/src/components/forms/attendee-form/attendee-form.js index 52175ef61..6c672ce5c 100644 --- a/src/components/forms/attendee-form/attendee-form.js +++ b/src/components/forms/attendee-form/attendee-form.js @@ -14,14 +14,12 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - MemberInput, - AttendeeInput, - Input, - Panel, - TagInput, - Dropdown -} from "openstack-uicore-foundation/lib/components"; +import MemberInput from "openstack-uicore-foundation/lib/components/inputs/member-input" +import AttendeeInput from "openstack-uicore-foundation/lib/components/inputs/attendee-input" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Panel from "openstack-uicore-foundation/lib/components/sections/panel" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; import ExtraQuestionsForm from "openstack-uicore-foundation/lib/components/extra-questions"; import QuestionsSet from "openstack-uicore-foundation/lib/utils/questions-set"; import TicketComponent from "./ticket-component"; diff --git a/src/components/forms/attendee-form/ticket-component.js b/src/components/forms/attendee-form/ticket-component.js index c957db68b..15795e4ed 100644 --- a/src/components/forms/attendee-form/ticket-component.js +++ b/src/components/forms/attendee-form/ticket-component.js @@ -15,10 +15,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Modal } from "react-bootstrap"; -import { - MemberInput, - TicketTypesInput -} from "openstack-uicore-foundation/lib/components"; +import MemberInput from "openstack-uicore-foundation/lib/components/inputs/member-input" +import TicketTypesInput from "openstack-uicore-foundation/lib/components/inputs/ticket-types-input"; import history from "../../../history"; diff --git a/src/components/forms/badge-feature-type-form.js b/src/components/forms/badge-feature-type-form.js index f63fcd70d..0fc2e8609 100644 --- a/src/components/forms/badge-feature-type-form.js +++ b/src/components/forms/badge-feature-type-form.js @@ -13,7 +13,8 @@ import React from "react"; import T from "i18n-react"; -import { Input, UploadInput } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { hasErrors, diff --git a/src/components/forms/badge-scan-form.js b/src/components/forms/badge-scan-form.js index 208bef77e..19b50dd8a 100644 --- a/src/components/forms/badge-scan-form.js +++ b/src/components/forms/badge-scan-form.js @@ -14,7 +14,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { Input, TextArea } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import TextArea from "openstack-uicore-foundation/lib/components/inputs/textarea-input"; import QuestionsSet from "openstack-uicore-foundation/lib/utils/questions-set"; import ExtraQuestionsForm from "openstack-uicore-foundation/lib/components/extra-questions"; diff --git a/src/components/forms/badge-settings-form.js b/src/components/forms/badge-settings-form.js index 1602f54ac..27a190999 100644 --- a/src/components/forms/badge-settings-form.js +++ b/src/components/forms/badge-settings-form.js @@ -12,13 +12,11 @@ * */ import React from "react"; import T from "i18n-react/dist/i18n-react"; -import { - UploadInput, - Input, - TextArea, - Panel, - Dropdown -} from "openstack-uicore-foundation/lib/components"; +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import TextArea from "openstack-uicore-foundation/lib/components/inputs/textarea-input" +import Panel from "openstack-uicore-foundation/lib/components/sections/panel" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; import Switch from "react-switch"; import Swal from "sweetalert2"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; diff --git a/src/components/forms/company-form.js b/src/components/forms/company-form.js index bf2fb6b3b..5292aeb2d 100644 --- a/src/components/forms/company-form.js +++ b/src/components/forms/company-form.js @@ -14,13 +14,11 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - UploadInput, - Input, - CountryDropdown, - Dropdown, - Table -} from "openstack-uicore-foundation/lib/components"; +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import CountryDropdown from "openstack-uicore-foundation/lib/components/inputs/country-dropdown" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Table from "openstack-uicore-foundation/lib/components/table"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; diff --git a/src/components/forms/email-activity.js b/src/components/forms/email-activity.js index a085ca10a..505d06259 100644 --- a/src/components/forms/email-activity.js +++ b/src/components/forms/email-activity.js @@ -11,7 +11,7 @@ * limitations under the License. **/ import React from "react"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import T from "i18n-react/dist/i18n-react"; class EmailActivity extends React.Component { diff --git a/src/components/forms/email-flow-event-form/index.js b/src/components/forms/email-flow-event-form/index.js index 0901562fd..d4df1cae1 100644 --- a/src/components/forms/email-flow-event-form/index.js +++ b/src/components/forms/email-flow-event-form/index.js @@ -13,7 +13,7 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { Input } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import EmailTemplateInput from "../../inputs/email-template-input"; import { hasErrors, diff --git a/src/components/forms/email-flow-event-settings-form.js b/src/components/forms/email-flow-event-settings-form.js index ba6bf1689..da4ea3fb5 100644 --- a/src/components/forms/email-flow-event-settings-form.js +++ b/src/components/forms/email-flow-event-settings-form.js @@ -14,7 +14,8 @@ import React, { useEffect, useState } from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; import { hasErrors, scrollToError } from "../../utils/methods"; -import { Input, UploadInput } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input"; import HexColorInput from "../inputs/hex-color-input"; import Swal from "sweetalert2"; import { parse } from "address-rfc2822"; diff --git a/src/components/forms/email-template-form.js b/src/components/forms/email-template-form.js index 9ed83024c..e40dd98e8 100644 --- a/src/components/forms/email-template-form.js +++ b/src/components/forms/email-template-form.js @@ -14,12 +14,10 @@ import React, { useState, useEffect, useRef, useCallback } from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import _ from "lodash"; -import { - AjaxLoader, - Dropdown, - Input -} from "openstack-uicore-foundation/lib/components"; +import debounce from "lodash/debounce" +import AjaxLoader from "openstack-uicore-foundation/lib/components/ajaxloader" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; import EmailTemplateInput from "../inputs/email-template-input"; import CodeMirror from "@uiw/react-codemirror"; @@ -135,7 +133,7 @@ const EmailTemplateForm = ({ }, [singleTab]); const debouncedRenderTemplate = useRef( - _.debounce(async (htmlContent, json_data) => { + debounce(async (htmlContent, json_data) => { renderEmailTemplate(json_data, htmlContent).then(() => { // wait until first API email preview to display template on screen if (!previewLoaded) setPreviewLoaded(true); diff --git a/src/components/forms/event-category-form.js b/src/components/forms/event-category-form.js index ec4124848..8bde330d3 100644 --- a/src/components/forms/event-category-form.js +++ b/src/components/forms/event-category-form.js @@ -14,14 +14,12 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Input, - Panel, - TagInput, - UploadInput, - AccessLevelsInput, - SortableTable -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Panel from "openstack-uicore-foundation/lib/components/sections/panel" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input" +import AccessLevelsInput from "openstack-uicore-foundation/lib/components/inputs/access-levels-input" +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { isEmpty, diff --git a/src/components/forms/event-form.js b/src/components/forms/event-form.js index 05d29f67c..9d83656f1 100644 --- a/src/components/forms/event-form.js +++ b/src/components/forms/event-form.js @@ -17,23 +17,21 @@ import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; import Swal from "sweetalert2"; import { Tooltip } from "react-tooltip"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; -import { - Dropdown, - GroupedDropdown, - DateTimePicker, - TagInput, - SpeakerInput, - CompanyInput, - GroupInput, - UploadInput, - Input, - Panel, - Table, - MemberInput, - FreeTextSearch, - TicketTypesInput, - SortableTable -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import GroupedDropdown from "openstack-uicore-foundation/lib/components/inputs/grouped-dropdown" +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input" +import SpeakerInput from "openstack-uicore-foundation/lib/components/inputs/speaker-input" +import CompanyInput from "openstack-uicore-foundation/lib/components/inputs/company-input" +import GroupInput from "openstack-uicore-foundation/lib/components/inputs/group-input" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Panel from "openstack-uicore-foundation/lib/components/sections/panel" +import Table from "openstack-uicore-foundation/lib/components/table" +import MemberInput from "openstack-uicore-foundation/lib/components/inputs/member-input" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import TicketTypesInput from "openstack-uicore-foundation/lib/components/inputs/ticket-types-input" +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { Pagination } from "react-bootstrap"; import ExtraQuestionsForm from "openstack-uicore-foundation/lib/components/extra-questions"; diff --git a/src/components/forms/event-material-form.js b/src/components/forms/event-material-form.js index 73838f3c6..3e84d974f 100644 --- a/src/components/forms/event-material-form.js +++ b/src/components/forms/event-material-form.js @@ -14,11 +14,9 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Dropdown, - Input, - UploadInputV2 -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import UploadInputV2 from "openstack-uicore-foundation/lib/components/inputs/upload-input-v2"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { isEmpty, diff --git a/src/components/forms/event-rsvp-form.js b/src/components/forms/event-rsvp-form.js index 4e000fcb7..3f58530d2 100644 --- a/src/components/forms/event-rsvp-form.js +++ b/src/components/forms/event-rsvp-form.js @@ -14,7 +14,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { Dropdown, Input } from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; class EventRSVPForm extends React.Component { diff --git a/src/components/forms/extra-question-form/index.js b/src/components/forms/extra-question-form/index.js index df839b20c..99b85442c 100644 --- a/src/components/forms/extra-question-form/index.js +++ b/src/components/forms/extra-question-form/index.js @@ -14,12 +14,10 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Dropdown, - Input, - SortableTable, - TicketTypesInput -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable" +import TicketTypesInput from "openstack-uicore-foundation/lib/components/inputs/ticket-types-input"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { Modal } from "react-bootstrap"; import history from "../../../history"; diff --git a/src/components/forms/extra-question-sub-question-form.js b/src/components/forms/extra-question-sub-question-form.js index fe3ec3ec9..336b2e192 100644 --- a/src/components/forms/extra-question-sub-question-form.js +++ b/src/components/forms/extra-question-sub-question-form.js @@ -13,10 +13,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; -import { - Dropdown, - RadioList -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import RadioList from "openstack-uicore-foundation/lib/components/inputs/radio-list"; import { ExtraQuestionsTypeAllowSubQuestion, SubQuestionAnswerValuesOperators, diff --git a/src/components/forms/floor-form.js b/src/components/forms/floor-form.js index d61c99987..91e060dd5 100644 --- a/src/components/forms/floor-form.js +++ b/src/components/forms/floor-form.js @@ -14,12 +14,10 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Input, - Panel, - Table, - UploadInput -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Panel from "openstack-uicore-foundation/lib/components/sections/panel" +import Table from "openstack-uicore-foundation/lib/components/table" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; diff --git a/src/components/forms/image-form.js b/src/components/forms/image-form.js index 18432190b..d1aa42c34 100644 --- a/src/components/forms/image-form.js +++ b/src/components/forms/image-form.js @@ -14,7 +14,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { Input, UploadInput } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; diff --git a/src/components/forms/location-form.js b/src/components/forms/location-form.js index ce2b45eb8..ff6e309b8 100644 --- a/src/components/forms/location-form.js +++ b/src/components/forms/location-form.js @@ -14,13 +14,11 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Dropdown, - CountryDropdown, - Input, - Table, - Panel -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import CountryDropdown from "openstack-uicore-foundation/lib/components/inputs/country-dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Table from "openstack-uicore-foundation/lib/components/table" +import Panel from "openstack-uicore-foundation/lib/components/sections/panel"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { GMap } from "openstack-uicore-foundation/lib/components/google-map"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; diff --git a/src/components/forms/marketing-setting-form.js b/src/components/forms/marketing-setting-form.js index 0f3e49a5d..f1b811c0f 100644 --- a/src/components/forms/marketing-setting-form.js +++ b/src/components/forms/marketing-setting-form.js @@ -14,11 +14,9 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Dropdown, - Input, - UploadInput -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import Swal from "sweetalert2"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; diff --git a/src/components/forms/media-upload-form.js b/src/components/forms/media-upload-form.js index 1c9890cc9..f73670a6c 100644 --- a/src/components/forms/media-upload-form.js +++ b/src/components/forms/media-upload-form.js @@ -14,7 +14,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { Dropdown, Input } from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; diff --git a/src/components/forms/payment-fee-type-form.js b/src/components/forms/payment-fee-type-form.js index e1f564be2..544987e5d 100644 --- a/src/components/forms/payment-fee-type-form.js +++ b/src/components/forms/payment-fee-type-form.js @@ -13,7 +13,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; -import { Input, Dropdown } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; import { MILLISECONDS_IN_SECOND } from "../../utils/constants"; diff --git a/src/components/forms/payment-profile-form.js b/src/components/forms/payment-profile-form.js index e4a4659be..7ed1631fb 100644 --- a/src/components/forms/payment-profile-form.js +++ b/src/components/forms/payment-profile-form.js @@ -13,12 +13,10 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; -import { - Input, - Dropdown, - Panel, - Table -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Panel from "openstack-uicore-foundation/lib/components/sections/panel" +import Table from "openstack-uicore-foundation/lib/components/table"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; import { MILLISECONDS_IN_SECOND } from "../../utils/constants"; diff --git a/src/components/forms/promocode-form/forms/base-pc-form.js b/src/components/forms/promocode-form/forms/base-pc-form.js index 3d161a3a3..d32c75f40 100644 --- a/src/components/forms/promocode-form/forms/base-pc-form.js +++ b/src/components/forms/promocode-form/forms/base-pc-form.js @@ -1,11 +1,9 @@ import React from "react"; import T from "i18n-react"; -import { - DateTimePicker, - Dropdown, - Input, - TextArea -} from "openstack-uicore-foundation/lib/components"; +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import TextArea from "openstack-uicore-foundation/lib/components/inputs/textarea-input"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; const BasePCForm = (props) => { diff --git a/src/components/forms/promocode-form/forms/discount-base-pc-form.js b/src/components/forms/promocode-form/forms/discount-base-pc-form.js index a8ab226ac..aa368b930 100644 --- a/src/components/forms/promocode-form/forms/discount-base-pc-form.js +++ b/src/components/forms/promocode-form/forms/discount-base-pc-form.js @@ -1,7 +1,7 @@ import React from "react"; import T from "i18n-react"; import BasePCForm from "./base-pc-form"; -import { Input } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import { DiscountTicketTable } from "../../../tables/dicount-ticket-table"; const DiscountBasePCForm = (props) => { diff --git a/src/components/forms/promocode-form/forms/generic-base-pc-form.js b/src/components/forms/promocode-form/forms/generic-base-pc-form.js index 6d349ed98..7d410fe78 100644 --- a/src/components/forms/promocode-form/forms/generic-base-pc-form.js +++ b/src/components/forms/promocode-form/forms/generic-base-pc-form.js @@ -1,6 +1,6 @@ import React from "react"; import T from "i18n-react"; -import { TicketTypesInput } from "openstack-uicore-foundation/lib/components"; +import TicketTypesInput from "openstack-uicore-foundation/lib/components/inputs/ticket-types-input"; import BasePCForm from "./base-pc-form"; const GenericBasePCForm = (props) => ( diff --git a/src/components/forms/promocode-form/forms/speaker-base-pc-form.js b/src/components/forms/promocode-form/forms/speaker-base-pc-form.js index 5a0e6a235..3e9bbe923 100644 --- a/src/components/forms/promocode-form/forms/speaker-base-pc-form.js +++ b/src/components/forms/promocode-form/forms/speaker-base-pc-form.js @@ -1,6 +1,6 @@ import React from "react"; import T from "i18n-react"; -import { SpeakerInput } from "openstack-uicore-foundation/lib/components"; +import SpeakerInput from "openstack-uicore-foundation/lib/components/inputs/speaker-input"; import EmailRedeemForm from "./email-redeem-form"; const SpeakerBasePCForm = (props) => ( diff --git a/src/components/forms/promocode-form/forms/speakers-base-pc-form.js b/src/components/forms/promocode-form/forms/speakers-base-pc-form.js index a6dea659d..b06ff7dc7 100644 --- a/src/components/forms/promocode-form/forms/speakers-base-pc-form.js +++ b/src/components/forms/promocode-form/forms/speakers-base-pc-form.js @@ -1,11 +1,9 @@ import React, { useEffect } from "react"; import Swal from "sweetalert2"; import T from "i18n-react"; -import { - FreeTextSearch, - SpeakerInput, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import SpeakerInput from "openstack-uicore-foundation/lib/components/inputs/speaker-input" +import Table from "openstack-uicore-foundation/lib/components/table"; import { Pagination } from "react-bootstrap"; const SpeakersBasePCForm = (props) => { diff --git a/src/components/forms/promocode-form/forms/sponsor-base-pc-form.js b/src/components/forms/promocode-form/forms/sponsor-base-pc-form.js index 95615bd12..71bf31ca9 100644 --- a/src/components/forms/promocode-form/forms/sponsor-base-pc-form.js +++ b/src/components/forms/promocode-form/forms/sponsor-base-pc-form.js @@ -1,9 +1,7 @@ import React from "react"; import T from "i18n-react"; -import { - Input, - SponsorInput -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import SponsorInput from "openstack-uicore-foundation/lib/components/inputs/sponsor-input"; const SponsorBasePCForm = (props) => (
diff --git a/src/components/forms/promocode-form/index.js b/src/components/forms/promocode-form/index.js index abb3b9f13..e767be35b 100644 --- a/src/components/forms/promocode-form/index.js +++ b/src/components/forms/promocode-form/index.js @@ -14,11 +14,9 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Dropdown, - Input, - TagInput -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input"; import { SpeakerPCForm, MemberPCForm, diff --git a/src/components/forms/purchase-order-form.js b/src/components/forms/purchase-order-form.js index afdfe717c..0cad3129e 100644 --- a/src/components/forms/purchase-order-form.js +++ b/src/components/forms/purchase-order-form.js @@ -14,13 +14,11 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Input, - Table, - Panel, - PromocodeInput, - TicketTypesInput -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Table from "openstack-uicore-foundation/lib/components/table" +import Panel from "openstack-uicore-foundation/lib/components/sections/panel" +import PromocodeInput from "openstack-uicore-foundation/lib/components/inputs/promocode-input" +import TicketTypesInput from "openstack-uicore-foundation/lib/components/inputs/ticket-types-input"; import { epochToMoment } from "openstack-uicore-foundation/lib/utils/methods"; import { Pagination } from "react-bootstrap"; import OwnerInput from "../inputs/owner-input"; diff --git a/src/components/forms/push-notification-form.js b/src/components/forms/push-notification-form.js index cb4f85981..01aeca9b1 100644 --- a/src/components/forms/push-notification-form.js +++ b/src/components/forms/push-notification-form.js @@ -14,12 +14,10 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - MemberInput, - GroupInput, - EventInput, - Dropdown -} from "openstack-uicore-foundation/lib/components"; +import MemberInput from "openstack-uicore-foundation/lib/components/inputs/member-input" +import GroupInput from "openstack-uicore-foundation/lib/components/inputs/group-input" +import EventInput from "openstack-uicore-foundation/lib/components/inputs/event-input" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; class PushNotificationForm extends React.Component { diff --git a/src/components/forms/question-form.js b/src/components/forms/question-form.js index 11a3d6fc8..d973f88bf 100644 --- a/src/components/forms/question-form.js +++ b/src/components/forms/question-form.js @@ -14,11 +14,9 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Dropdown, - Input, - EditableTable -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import EditableTable from "openstack-uicore-foundation/lib/components/table-editable"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; class QuestionForm extends React.Component { diff --git a/src/components/forms/rating-type-form.js b/src/components/forms/rating-type-form.js index c5db22532..a6e262092 100644 --- a/src/components/forms/rating-type-form.js +++ b/src/components/forms/rating-type-form.js @@ -14,10 +14,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Input, - SortableTable -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable"; import { isEmpty, scrollToError, diff --git a/src/components/forms/reg-feed-metadata-form.js b/src/components/forms/reg-feed-metadata-form.js index 1cd4a28cc..0ee877825 100644 --- a/src/components/forms/reg-feed-metadata-form.js +++ b/src/components/forms/reg-feed-metadata-form.js @@ -14,7 +14,7 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { Input } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; class RegFeedMetadataForm extends React.Component { diff --git a/src/components/forms/registration-invitation-form.js b/src/components/forms/registration-invitation-form.js index e089391e3..551e59609 100644 --- a/src/components/forms/registration-invitation-form.js +++ b/src/components/forms/registration-invitation-form.js @@ -12,11 +12,9 @@ **/ import React from "react"; import T from "i18n-react/dist/i18n-react"; -import { - TicketTypesInput, - Input, - TagInput -} from "openstack-uicore-foundation/lib/components"; +import TicketTypesInput from "openstack-uicore-foundation/lib/components/inputs/ticket-types-input" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input"; import { hasErrors, isEmpty, diff --git a/src/components/forms/room-booking-attribute-form.js b/src/components/forms/room-booking-attribute-form.js index f476780e3..3aedde075 100644 --- a/src/components/forms/room-booking-attribute-form.js +++ b/src/components/forms/room-booking-attribute-form.js @@ -14,10 +14,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Input, - EditableTable -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import EditableTable from "openstack-uicore-foundation/lib/components/table-editable"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; class RoomBookingAttributeForm extends React.Component { diff --git a/src/components/forms/room-booking-form.js b/src/components/forms/room-booking-form.js index 1f8e0f5d9..8bf9433a8 100644 --- a/src/components/forms/room-booking-form.js +++ b/src/components/forms/room-booking-form.js @@ -15,11 +15,9 @@ import React, { useEffect, useState } from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; -import { - Dropdown, - MemberInput, - Input -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import MemberInput from "openstack-uicore-foundation/lib/components/inputs/member-input" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import Swal from "sweetalert2"; import { getAvailableBookingDates, diff --git a/src/components/forms/rsvp-form.js b/src/components/forms/rsvp-form.js index de9d886f4..35b97eb02 100644 --- a/src/components/forms/rsvp-form.js +++ b/src/components/forms/rsvp-form.js @@ -13,7 +13,7 @@ import React from "react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { RawHTML } from "openstack-uicore-foundation/lib/components"; +import RawHTML from "openstack-uicore-foundation/lib/components/raw-html"; import Select from "react-select"; class RsvpForm extends React.Component { diff --git a/src/components/forms/rsvp-template-form.js b/src/components/forms/rsvp-template-form.js index 78a32dc8a..9ce5bd522 100644 --- a/src/components/forms/rsvp-template-form.js +++ b/src/components/forms/rsvp-template-form.js @@ -14,10 +14,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Input, - SortableTable -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; class RsvpTemplateForm extends React.Component { diff --git a/src/components/forms/schedule-settings-form/index.js b/src/components/forms/schedule-settings-form/index.js index 54658b921..dd30219d9 100644 --- a/src/components/forms/schedule-settings-form/index.js +++ b/src/components/forms/schedule-settings-form/index.js @@ -28,7 +28,7 @@ import { import Switch from "react-switch"; import EditLabelSlider from "../../inputs/edit-label-slider"; import PreFilterInput from "./pre-filter-input"; -import { SortableTable } from "openstack-uicore-foundation/lib/components"; +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable"; class ScheduleSettingsForm extends React.Component { constructor(props) { diff --git a/src/components/forms/schedule-settings-form/pre-filter-input.js b/src/components/forms/schedule-settings-form/pre-filter-input.js index 1d2ba407e..9a52cf48a 100644 --- a/src/components/forms/schedule-settings-form/pre-filter-input.js +++ b/src/components/forms/schedule-settings-form/pre-filter-input.js @@ -4,11 +4,9 @@ import LevelDropdown from "../../inputs/level-dropdown"; import EventTypeDropdown from "../../inputs/event-type-dropdown"; import TrackDropdown from "../../inputs/track-dropdown"; import TrackGroupDropdown from "../../inputs/track-group-dropdown"; -import { - CompanyInput, - SpeakerInput, - TagInput -} from "openstack-uicore-foundation/lib/components"; +import CompanyInput from "openstack-uicore-foundation/lib/components/inputs/company-input" +import SpeakerInput from "openstack-uicore-foundation/lib/components/inputs/speaker-input" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input"; import LocationDropdown from "../../inputs/location-dropdown"; import T from "i18n-react"; diff --git a/src/components/forms/score-type-form.js b/src/components/forms/score-type-form.js index 19ecdd411..1d6f1d894 100644 --- a/src/components/forms/score-type-form.js +++ b/src/components/forms/score-type-form.js @@ -14,7 +14,7 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { Input } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import { isEmpty, scrollToError, diff --git a/src/components/forms/speaker-attendance-form.js b/src/components/forms/speaker-attendance-form.js index d08e0e956..6041e1080 100644 --- a/src/components/forms/speaker-attendance-form.js +++ b/src/components/forms/speaker-attendance-form.js @@ -14,10 +14,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Input, - SpeakerInput -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import SpeakerInput from "openstack-uicore-foundation/lib/components/inputs/speaker-input"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; class SpeakerAttendanceForm extends React.Component { diff --git a/src/components/forms/speaker-form.js b/src/components/forms/speaker-form.js index 8ef79a5c8..9ee1713bc 100644 --- a/src/components/forms/speaker-form.js +++ b/src/components/forms/speaker-form.js @@ -14,12 +14,10 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - MemberInput, - UploadInput, - Input, - Panel -} from "openstack-uicore-foundation/lib/components"; +import MemberInput from "openstack-uicore-foundation/lib/components/inputs/member-input" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Panel from "openstack-uicore-foundation/lib/components/sections/panel"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { AffiliationsTable } from "../tables/affiliationstable"; import { diff --git a/src/components/forms/speakers-promo-code-spec-form.js b/src/components/forms/speakers-promo-code-spec-form.js index d23717f09..73085c346 100644 --- a/src/components/forms/speakers-promo-code-spec-form.js +++ b/src/components/forms/speakers-promo-code-spec-form.js @@ -14,13 +14,11 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import { connect } from "react-redux"; -import { - Dropdown, - Input, - PromocodeInput, - TagInput, - TicketTypesInput -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import PromocodeInput from "openstack-uicore-foundation/lib/components/inputs/promocode-input" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input" +import TicketTypesInput from "openstack-uicore-foundation/lib/components/inputs/ticket-types-input"; import BadgeFeatureInput from "../inputs/badge-feature-input"; import { resetPromoCodeSpecForm, diff --git a/src/components/forms/sponsor-advertisement-form.js b/src/components/forms/sponsor-advertisement-form.js index b5e9f6ba9..f72914c1f 100644 --- a/src/components/forms/sponsor-advertisement-form.js +++ b/src/components/forms/sponsor-advertisement-form.js @@ -14,7 +14,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { Input, UploadInput } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input"; import { isEmpty, scrollToError, diff --git a/src/components/forms/sponsor-form.js b/src/components/forms/sponsor-form.js index 05cc4c4e3..05c2915ee 100644 --- a/src/components/forms/sponsor-form.js +++ b/src/components/forms/sponsor-form.js @@ -16,16 +16,14 @@ import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - Dropdown, - SortableTable, - CompanyInput, - MemberInput, - Panel, - Input, - UploadInput, - Table -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable" +import CompanyInput from "openstack-uicore-foundation/lib/components/inputs/company-input" +import MemberInput from "openstack-uicore-foundation/lib/components/inputs/member-input" +import Panel from "openstack-uicore-foundation/lib/components/sections/panel" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input" +import Table from "openstack-uicore-foundation/lib/components/table"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; import EventInput from "../inputs/event-input"; diff --git a/src/components/forms/sponsor-material-form.js b/src/components/forms/sponsor-material-form.js index ed18a1858..d57ef2dc1 100644 --- a/src/components/forms/sponsor-material-form.js +++ b/src/components/forms/sponsor-material-form.js @@ -14,7 +14,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { Input, Dropdown } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; import { isEmpty, scrollToError, diff --git a/src/components/forms/sponsor-social-network-form.js b/src/components/forms/sponsor-social-network-form.js index c8c9e7cae..12ad668a9 100644 --- a/src/components/forms/sponsor-social-network-form.js +++ b/src/components/forms/sponsor-social-network-form.js @@ -14,7 +14,7 @@ import React, { useEffect, useState } from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { Input } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import { isEmpty, shallowEqual } from "../../utils/methods"; import CreatableSelect from "react-select/lib/Creatable"; diff --git a/src/components/forms/sponsored-project-form.js b/src/components/forms/sponsored-project-form.js index 818215791..f05cdb02f 100644 --- a/src/components/forms/sponsored-project-form.js +++ b/src/components/forms/sponsored-project-form.js @@ -14,13 +14,11 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - SponsoredProjectInput, - Input, - UploadInput, - SortableTable, - Table -} from "openstack-uicore-foundation/lib/components"; +import SponsoredProjectInput from "openstack-uicore-foundation/lib/components/sponsored-project-input" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input" +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable" +import Table from "openstack-uicore-foundation/lib/components/table"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { isEmpty, diff --git a/src/components/forms/sponsored-project-sponsorship-type-form.js b/src/components/forms/sponsored-project-sponsorship-type-form.js index 96413945d..10c01a247 100644 --- a/src/components/forms/sponsored-project-sponsorship-type-form.js +++ b/src/components/forms/sponsored-project-sponsorship-type-form.js @@ -14,10 +14,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Input, - SortableTable -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; diff --git a/src/components/forms/sponsored-project-sponsorship-type-supporting-company-form.js b/src/components/forms/sponsored-project-sponsorship-type-supporting-company-form.js index bf052bcb2..860cc4470 100644 --- a/src/components/forms/sponsored-project-sponsorship-type-supporting-company-form.js +++ b/src/components/forms/sponsored-project-sponsorship-type-supporting-company-form.js @@ -14,7 +14,7 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { CompanyInput } from "openstack-uicore-foundation/lib/components"; +import CompanyInput from "openstack-uicore-foundation/lib/components/inputs/company-input"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; class SponsoredProjectSponsorshipTypeSupportingCompanyForm extends React.Component { diff --git a/src/components/forms/sponsorship-form.js b/src/components/forms/sponsorship-form.js index ad33dcdcc..b4c1058db 100644 --- a/src/components/forms/sponsorship-form.js +++ b/src/components/forms/sponsorship-form.js @@ -14,7 +14,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { Input, Dropdown } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; class SponsorshipForm extends React.Component { diff --git a/src/components/forms/submission-invitation-form.js b/src/components/forms/submission-invitation-form.js index aa2e77f34..0abfcecc6 100644 --- a/src/components/forms/submission-invitation-form.js +++ b/src/components/forms/submission-invitation-form.js @@ -12,11 +12,9 @@ **/ import React from "react"; import T from "i18n-react/dist/i18n-react"; -import { - TicketTypesInput, - Input, - TagInput -} from "openstack-uicore-foundation/lib/components"; +import TicketTypesInput from "openstack-uicore-foundation/lib/components/inputs/ticket-types-input" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input"; import { hasErrors, isEmpty, diff --git a/src/components/forms/summit-form.js b/src/components/forms/summit-form.js index 7a038d3ae..bf3f83234 100644 --- a/src/components/forms/summit-form.js +++ b/src/components/forms/summit-form.js @@ -16,17 +16,15 @@ import T from "i18n-react/dist/i18n-react"; import moment from "moment-timezone"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; -import { - DateTimePicker, - Input, - Panel, - Dropdown, - Table, - UploadInput, - MemberInput, - Exclusive, - FreeMultiTextInput -} from "openstack-uicore-foundation/lib/components"; +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Panel from "openstack-uicore-foundation/lib/components/sections/panel" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Table from "openstack-uicore-foundation/lib/components/table" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input" +import MemberInput from "openstack-uicore-foundation/lib/components/inputs/member-input" +import Exclusive from "openstack-uicore-foundation/lib/components/exclusive-wrapper" +import FreeMultiTextInput from "openstack-uicore-foundation/lib/components/inputs/free-multi-text-input"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { Pagination } from "react-bootstrap"; import Switch from "react-switch"; diff --git a/src/components/forms/summit-sponsorship-form.js b/src/components/forms/summit-sponsorship-form.js index a33ac3df5..31b7b3cdd 100644 --- a/src/components/forms/summit-sponsorship-form.js +++ b/src/components/forms/summit-sponsorship-form.js @@ -14,11 +14,9 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Input, - Dropdown, - UploadInput -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; import SponsorshipTypeInput from "../inputs/sponsorship-input"; diff --git a/src/components/forms/summitdoc-form.js b/src/components/forms/summitdoc-form.js index 42e2ba4cb..3af66746b 100644 --- a/src/components/forms/summitdoc-form.js +++ b/src/components/forms/summitdoc-form.js @@ -14,12 +14,10 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Dropdown, - Input, - TextArea, - UploadInput -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import TextArea from "openstack-uicore-foundation/lib/components/inputs/textarea-input" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; class SummitDocForm extends React.Component { diff --git a/src/components/forms/tag-form.js b/src/components/forms/tag-form.js index 5e50fd041..b4e09c2e4 100644 --- a/src/components/forms/tag-form.js +++ b/src/components/forms/tag-form.js @@ -14,7 +14,7 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { Input } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; class TagForm extends React.Component { diff --git a/src/components/forms/ticket-form.js b/src/components/forms/ticket-form.js index 4043ae33d..fde6f8a5c 100644 --- a/src/components/forms/ticket-form.js +++ b/src/components/forms/ticket-form.js @@ -14,10 +14,8 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { - Input, - TicketTypesInput -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import TicketTypesInput from "openstack-uicore-foundation/lib/components/inputs/ticket-types-input"; import OwnerInput from "../inputs/owner-input"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; diff --git a/src/components/forms/ticket-type-form.js b/src/components/forms/ticket-type-form.js index 22adbee36..f454491f8 100644 --- a/src/components/forms/ticket-type-form.js +++ b/src/components/forms/ticket-type-form.js @@ -14,11 +14,9 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; -import { - Input, - DateTimePicker, - Dropdown -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; import { isEmpty, scrollToError, shallowEqual } from "../../utils/methods"; import TextAreaInputWithCounter from "../inputs/text-area-input-with-counter"; import { MILLISECONDS_TO_SECONDS } from "../../utils/constants"; diff --git a/src/components/forms/view-type-form.js b/src/components/forms/view-type-form.js index e3af29fba..3f25f12f3 100644 --- a/src/components/forms/view-type-form.js +++ b/src/components/forms/view-type-form.js @@ -13,7 +13,7 @@ import React from "react"; import T from "i18n-react"; -import { Input } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import TextEditorV3 from "openstack-uicore-foundation/lib/components/inputs/editor-input-v3"; import { hasErrors, diff --git a/src/components/import-promocodes/index.js b/src/components/import-promocodes/index.js index 050643334..836a7d138 100644 --- a/src/components/import-promocodes/index.js +++ b/src/components/import-promocodes/index.js @@ -1,7 +1,7 @@ import React, { useState } from "react"; import T from "i18n-react"; import { Modal } from "react-bootstrap"; -import { UploadInput } from "openstack-uicore-foundation/lib/components"; +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input"; const ImportPromocodesBtn = ({ onImport, diff --git a/src/components/inputs/acceptance-criteria-dropdown.js b/src/components/inputs/acceptance-criteria-dropdown.js index 29c250c71..eeb44da43 100644 --- a/src/components/inputs/acceptance-criteria-dropdown.js +++ b/src/components/inputs/acceptance-criteria-dropdown.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown } from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; import T from "i18n-react"; const AcceptanceCriteriaDropdown = ({ id, value, onChange, ...rest }) => { diff --git a/src/components/inputs/date-interval-input.js b/src/components/inputs/date-interval-input.js index 9e9ed84a4..93bce3656 100644 --- a/src/components/inputs/date-interval-input.js +++ b/src/components/inputs/date-interval-input.js @@ -13,7 +13,7 @@ import React from "react"; import moment from "moment-timezone"; -import { DateTimePicker } from "openstack-uicore-foundation/lib/components"; +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker"; const HourIntervalInput = ({ onChange, diff --git a/src/components/inputs/email-filter/index.js b/src/components/inputs/email-filter/index.js index 3fb9858d9..2eb1c740e 100644 --- a/src/components/inputs/email-filter/index.js +++ b/src/components/inputs/email-filter/index.js @@ -1,7 +1,7 @@ import React, { useState } from "react"; import T from "i18n-react/dist/i18n-react"; import Select from "react-select"; -import { Input } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import styles from "./index.module.less"; const Index = ({ onChange, id, operatorInitialValue, filterInitialValue }) => { const operatorOptions = [ diff --git a/src/components/inputs/event-type-dropdown.js b/src/components/inputs/event-type-dropdown.js index dd1069215..0db4fcb11 100644 --- a/src/components/inputs/event-type-dropdown.js +++ b/src/components/inputs/event-type-dropdown.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown } from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; const EventTypeDropdown = ({ id, value, onChange, eventTypes, ...rest }) => { const options = eventTypes.map((et) => ({ value: et.id, label: et.name })); diff --git a/src/components/inputs/invitation-status-dropdown.js b/src/components/inputs/invitation-status-dropdown.js index 3cb5cc7f2..7dfb7de70 100644 --- a/src/components/inputs/invitation-status-dropdown.js +++ b/src/components/inputs/invitation-status-dropdown.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown } from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; import T from "i18n-react"; const InvitationStatusDropdown = ({ id, value, onChange, ...rest }) => { diff --git a/src/components/inputs/level-dropdown.js b/src/components/inputs/level-dropdown.js index bc49fd0af..38dd409b3 100644 --- a/src/components/inputs/level-dropdown.js +++ b/src/components/inputs/level-dropdown.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown } from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; const LevelDropdown = ({ id, value, onChange, ...rest }) => { const options = ["N/A", "Beginner", "Intermediate", "Advanced"]; diff --git a/src/components/inputs/location-dropdown.js b/src/components/inputs/location-dropdown.js index d4b3c0eb9..a30eac640 100644 --- a/src/components/inputs/location-dropdown.js +++ b/src/components/inputs/location-dropdown.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown } from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; const LocationDropdown = ({ id, value, onChange, locations, ...rest }) => { const options = locations.map((r) => ({ label: r.name, value: r.id })); diff --git a/src/components/inputs/owner-input.js b/src/components/inputs/owner-input.js index 07d41a474..89c0b2a1e 100644 --- a/src/components/inputs/owner-input.js +++ b/src/components/inputs/owner-input.js @@ -15,7 +15,7 @@ import React from "react"; import AsyncCreatableSelect from "react-select/lib/AsyncCreatable"; import { queryMembers } from "openstack-uicore-foundation/lib/utils/query-actions"; import T from "i18n-react/dist/i18n-react"; -import { Input } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import CopyClipboard from "../buttons/copy-clipboard"; export default class OwnerInput extends React.Component { diff --git a/src/components/inputs/question-answers-input.js b/src/components/inputs/question-answers-input.js index 3287aff55..926e2662f 100644 --- a/src/components/inputs/question-answers-input.js +++ b/src/components/inputs/question-answers-input.js @@ -13,13 +13,11 @@ import React from "react"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; -import { - Input, - Dropdown, - RadioList, - CheckboxList, - RawHTML -} from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import RadioList from "openstack-uicore-foundation/lib/components/inputs/radio-list" +import CheckboxList from "openstack-uicore-foundation/lib/components/inputs/checkbox-list" +import RawHTML from "openstack-uicore-foundation/lib/components/raw-html"; import "../../styles/question-answers-input.less"; export default class QuestionAnswersInput extends React.Component { diff --git a/src/components/inputs/selection-plan-dropdown.js b/src/components/inputs/selection-plan-dropdown.js index f6f428313..b0d4ebc42 100644 --- a/src/components/inputs/selection-plan-dropdown.js +++ b/src/components/inputs/selection-plan-dropdown.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown } from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; const SelectionPlanDropdown = ({ id, value, onChange, selectionPlans, ...rest }) => { const options = selectionPlans.map(sp => ({ label: sp.name, value: sp.id })); diff --git a/src/components/inputs/text-input-with-counter.js b/src/components/inputs/text-input-with-counter.js index fca9688e2..c1615c58e 100644 --- a/src/components/inputs/text-input-with-counter.js +++ b/src/components/inputs/text-input-with-counter.js @@ -13,7 +13,7 @@ import React from "react"; import PropTypes from "prop-types"; -import { Input } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; const TextInputWithCounter = ({ className, diff --git a/src/components/inputs/track-dropdown.js b/src/components/inputs/track-dropdown.js index 380110322..77d5d7015 100644 --- a/src/components/inputs/track-dropdown.js +++ b/src/components/inputs/track-dropdown.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown } from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; const TrackDropdown = ({ id, value, onChange, tracks, ...rest }) => { const options = tracks.map((t) => ({ label: t.name, value: t.id })); diff --git a/src/components/inputs/track-group-dropdown.js b/src/components/inputs/track-group-dropdown.js index 08c083ed9..4e2e9e6d3 100644 --- a/src/components/inputs/track-group-dropdown.js +++ b/src/components/inputs/track-group-dropdown.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown } from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; const TrackGroupDropdown = ({ id, value, onChange, trackGroups, ...rest }) => { const options = trackGroups.map((t) => ({ label: t.name, value: t.id })); diff --git a/src/components/inputs/url-input.js b/src/components/inputs/url-input.js index 1bb8cb23c..d1e8659f2 100644 --- a/src/components/inputs/url-input.js +++ b/src/components/inputs/url-input.js @@ -13,7 +13,7 @@ import React, { useState, useEffect } from "react"; import T from "i18n-react/dist/i18n-react"; -import { Input } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; const UrlInput = function ({ onChange, error, id, value: propValue, ...rest }) { const [stateValue, setStateValue] = useState(propValue || ""); diff --git a/src/components/inventory-items-modal.js b/src/components/inventory-items-modal.js index c1933a3cb..1113ef103 100644 --- a/src/components/inventory-items-modal.js +++ b/src/components/inventory-items-modal.js @@ -2,10 +2,8 @@ import React, { useEffect } from "react"; import { connect } from "react-redux"; import { Modal, Pagination } from "react-bootstrap"; import T from "i18n-react"; -import { - FreeTextSearch, - SelectableTable -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import SelectableTable from "openstack-uicore-foundation/lib/components/table-selectable"; import { clearAllSelectedInventoryItems, getInventoryItems, diff --git a/src/components/menu/menu-item.js b/src/components/menu/menu-item.js index 7dba0bd62..da00398e7 100644 --- a/src/components/menu/menu-item.js +++ b/src/components/menu/menu-item.js @@ -13,7 +13,7 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; -import { Exclusive } from "openstack-uicore-foundation/lib/components"; +import Exclusive from "openstack-uicore-foundation/lib/components/exclusive-wrapper"; import styles from "./menu.module.less"; const MenuItem = ({ name, iconClass, onClick, exclusive }) => { diff --git a/src/components/mui/confirm-dialog.js b/src/components/mui/confirm-dialog.js index aa55fb58e..dc49e343b 100644 --- a/src/components/mui/confirm-dialog.js +++ b/src/components/mui/confirm-dialog.js @@ -9,7 +9,10 @@ import { Divider, Typography } from "@mui/material"; -import { CheckCircle, Error, Info, Warning } from "@mui/icons-material"; +import CheckCircle from "@mui/icons-material/CheckCircle"; +import Error from "@mui/icons-material/Error"; +import Info from "@mui/icons-material/Info"; +import Warning from "@mui/icons-material/Warning"; const iconMap = { warning: , diff --git a/src/components/mui/formik-inputs/mui-formik-upload.js b/src/components/mui/formik-inputs/mui-formik-upload.js index 0781028d8..db7a4dfd0 100644 --- a/src/components/mui/formik-inputs/mui-formik-upload.js +++ b/src/components/mui/formik-inputs/mui-formik-upload.js @@ -2,7 +2,7 @@ import React from "react"; import PropTypes from "prop-types"; import T from "i18n-react/dist/i18n-react"; import { FormHelperText } from "@mui/material"; -import { UploadInputV3 } from "openstack-uicore-foundation/lib/components"; +import UploadInputV3 from "openstack-uicore-foundation/lib/components/inputs/upload-input-v3"; import { useField } from "formik"; import { ALLOWED_INVENTORY_IMAGE_FORMATS, diff --git a/src/components/notes/index.js b/src/components/notes/index.js index 4fc10773e..8d018ce2a 100644 --- a/src/components/notes/index.js +++ b/src/components/notes/index.js @@ -1,9 +1,7 @@ import React, { useEffect, useState } from "react"; -import { - FreeTextSearch, - Table, - TextArea -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table" +import TextArea from "openstack-uicore-foundation/lib/components/inputs/textarea-input"; import T from "i18n-react"; import { connect } from "react-redux"; import { diff --git a/src/components/reports/attendee-report.js b/src/components/reports/attendee-report.js index 125d44393..95b890b1a 100644 --- a/src/components/reports/attendee-report.js +++ b/src/components/reports/attendee-report.js @@ -14,7 +14,7 @@ import React from "react"; const Query = require("graphql-query-builder"); import wrapReport from "./report-wrapper"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import Select from "react-select"; import T from "i18n-react"; import TicketTypeFilter from "../filters/ticket-type-filter"; diff --git a/src/components/reports/feedback-group-report.js b/src/components/reports/feedback-group-report.js index 053f3efb9..54a4b9939 100644 --- a/src/components/reports/feedback-group-report.js +++ b/src/components/reports/feedback-group-report.js @@ -12,7 +12,7 @@ **/ import React from "react"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import StarRatings from "react-star-ratings"; const Query = require("graphql-query-builder"); import wrapReport from "./report-wrapper"; diff --git a/src/components/reports/feedback-report.js b/src/components/reports/feedback-report.js index 5f2617f73..6acdccf98 100644 --- a/src/components/reports/feedback-report.js +++ b/src/components/reports/feedback-report.js @@ -13,7 +13,7 @@ import React from "react"; import history from "../../history"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import StarRatings from "react-star-ratings"; import Select from "react-select"; const Query = require("graphql-query-builder"); diff --git a/src/components/reports/metrics-report.js b/src/components/reports/metrics-report.js index 10ddb2ac6..6affed8f0 100644 --- a/src/components/reports/metrics-report.js +++ b/src/components/reports/metrics-report.js @@ -13,14 +13,12 @@ import React from "react"; import moment from "moment-timezone"; -import { - CompanyInput, - DateTimePicker, - Dropdown, - EventInput, - Panel, - Table -} from "openstack-uicore-foundation/lib/components"; +import CompanyInput from "openstack-uicore-foundation/lib/components/inputs/company-input" +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import EventInput from "openstack-uicore-foundation/lib/components/inputs/event-input" +import Panel from "openstack-uicore-foundation/lib/components/sections/panel" +import Table from "openstack-uicore-foundation/lib/components/table"; const Query = require("graphql-query-builder"); import wrapReport from "./report-wrapper"; import { groupByDate } from "../../utils/methods"; diff --git a/src/components/reports/presentation-video-report.js b/src/components/reports/presentation-video-report.js index 93acaddbe..6878993f7 100644 --- a/src/components/reports/presentation-video-report.js +++ b/src/components/reports/presentation-video-report.js @@ -12,7 +12,7 @@ **/ import React from "react"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; const Query = require("graphql-query-builder"); import wrapReport from "./report-wrapper"; import { flattenData } from "../../actions/report-actions"; diff --git a/src/components/reports/report-wrapper.js b/src/components/reports/report-wrapper.js index 24feef87a..24256a52b 100644 --- a/src/components/reports/report-wrapper.js +++ b/src/components/reports/report-wrapper.js @@ -3,11 +3,9 @@ import { connect } from "react-redux"; import { compose } from "redux"; import { Breadcrumb } from "react-breadcrumbs"; import { Pagination } from "react-bootstrap"; -import { - AjaxLoader, - Dropdown, - FreeTextSearch -} from "openstack-uicore-foundation/lib/components"; +import AjaxLoader from "openstack-uicore-foundation/lib/components/ajaxloader" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search"; import T from "i18n-react/dist/i18n-react"; import { exportReport, diff --git a/src/components/reports/room-manifest-report.js b/src/components/reports/room-manifest-report.js index 8e9151a41..344b9391f 100644 --- a/src/components/reports/room-manifest-report.js +++ b/src/components/reports/room-manifest-report.js @@ -13,7 +13,7 @@ import React from "react"; import moment from "moment-timezone"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import wrapReport from "./report-wrapper"; import { groupByDate } from "../../utils/methods"; diff --git a/src/components/reports/room-report.js b/src/components/reports/room-report.js index f08a643e1..50aacf4ab 100644 --- a/src/components/reports/room-report.js +++ b/src/components/reports/room-report.js @@ -13,7 +13,7 @@ import React from "react"; import moment from "moment-timezone"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; const Query = require("graphql-query-builder"); import wrapReport from "./report-wrapper"; import { groupByDate } from "../../utils/methods"; diff --git a/src/components/reports/rsvp-event-report.js b/src/components/reports/rsvp-event-report.js index 11e5a1374..01949b7ed 100644 --- a/src/components/reports/rsvp-event-report.js +++ b/src/components/reports/rsvp-event-report.js @@ -12,7 +12,7 @@ **/ import React from "react"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; const Query = require("graphql-query-builder"); import wrapReport from "./report-wrapper"; diff --git a/src/components/reports/smart-presentation-report.js b/src/components/reports/smart-presentation-report.js index 668e3373b..dd265b828 100644 --- a/src/components/reports/smart-presentation-report.js +++ b/src/components/reports/smart-presentation-report.js @@ -13,7 +13,7 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import Select from "react-select"; import wrapReport from "./report-wrapper"; import { flattenData } from "../../actions/report-actions"; diff --git a/src/components/reports/smart-speaker-report.js b/src/components/reports/smart-speaker-report.js index 380afd61d..8aef14503 100644 --- a/src/components/reports/smart-speaker-report.js +++ b/src/components/reports/smart-speaker-report.js @@ -13,7 +13,7 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import Select from "react-select"; import wrapReport from "./report-wrapper"; import { flattenData } from "../../actions/report-actions"; diff --git a/src/components/reports/tag-report.js b/src/components/reports/tag-report.js index c0fbf9ec3..0013303e3 100644 --- a/src/components/reports/tag-report.js +++ b/src/components/reports/tag-report.js @@ -12,7 +12,7 @@ **/ import React from "react"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; const Query = require("graphql-query-builder"); import wrapReport from "./report-wrapper"; import history from "../../history"; diff --git a/src/components/reports/tag-single-report.js b/src/components/reports/tag-single-report.js index 5c98245ce..bcc8839e3 100644 --- a/src/components/reports/tag-single-report.js +++ b/src/components/reports/tag-single-report.js @@ -12,7 +12,7 @@ **/ import React from "react"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; const Query = require("graphql-query-builder"); import wrapReport from "./report-wrapper"; diff --git a/src/components/rsvp/event-rsvp-invitation-blast.js b/src/components/rsvp/event-rsvp-invitation-blast.js index 021b755dc..966fd0b1d 100644 --- a/src/components/rsvp/event-rsvp-invitation-blast.js +++ b/src/components/rsvp/event-rsvp-invitation-blast.js @@ -1,5 +1,6 @@ import React, { useState } from "react"; -import { Dropdown, Input } from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import Swal from "sweetalert2"; import T from "i18n-react"; import { Modal } from "react-bootstrap"; diff --git a/src/components/rsvp/event-rsvp-invitation-list.js b/src/components/rsvp/event-rsvp-invitation-list.js index 12e62424f..6492f8cd8 100644 --- a/src/components/rsvp/event-rsvp-invitation-list.js +++ b/src/components/rsvp/event-rsvp-invitation-list.js @@ -1,10 +1,8 @@ import React, { useEffect, useState } from "react"; -import { - FreeTextSearch, - AttendeeInput, - SelectableTable, - UploadInput -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import AttendeeInput from "openstack-uicore-foundation/lib/components/inputs/attendee-input" +import SelectableTable from "openstack-uicore-foundation/lib/components/table-selectable" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input"; import T from "i18n-react"; import Swal from "sweetalert2"; import { Modal, Pagination } from "react-bootstrap"; diff --git a/src/components/rsvp/event-rsvp-list.js b/src/components/rsvp/event-rsvp-list.js index ebb261587..b9ab24c20 100644 --- a/src/components/rsvp/event-rsvp-list.js +++ b/src/components/rsvp/event-rsvp-list.js @@ -1,9 +1,7 @@ import React, { useEffect, useState } from "react"; -import { - AttendeeInput, - FreeTextSearch, - SelectableTable -} from "openstack-uicore-foundation/lib/components"; +import AttendeeInput from "openstack-uicore-foundation/lib/components/inputs/attendee-input" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import SelectableTable from "openstack-uicore-foundation/lib/components/table-selectable"; import T from "i18n-react"; import Swal from "sweetalert2"; import Select from "react-select"; diff --git a/src/components/rsvp/event-rsvp-resend.js b/src/components/rsvp/event-rsvp-resend.js index 2804f9a4e..d36a83098 100644 --- a/src/components/rsvp/event-rsvp-resend.js +++ b/src/components/rsvp/event-rsvp-resend.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { Input } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import Swal from "sweetalert2"; import T from "i18n-react"; import { Modal } from "react-bootstrap"; diff --git a/src/components/schedule-builder/schedule-admin-dashboard.js b/src/components/schedule-builder/schedule-admin-dashboard.js index 55a4ccb72..c51bd08ad 100644 --- a/src/components/schedule-builder/schedule-admin-dashboard.js +++ b/src/components/schedule-builder/schedule-admin-dashboard.js @@ -68,12 +68,10 @@ import * as Scroll from "react-scroll"; import Swal from "sweetalert2"; import ScheduleAdminEmptySpotsModal from "./schedule-admin-empty-spots-modal"; import ScheduleAdminEmptySpotsList from "./schedule-admin-empty-spots-list"; -import { - Dropdown, - OperatorInput, - BulkActionsSelector, - ScheduleBuilderView -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import OperatorInput from "openstack-uicore-foundation/lib/components/inputs/operator-input" +import BulkActionsSelector from "openstack-uicore-foundation/lib/components/bulk-actions-selector" +import ScheduleBuilderView from "openstack-uicore-foundation/lib/components/schedule-builder-view"; import { SummitEvent } from "openstack-uicore-foundation/lib/models"; import UnlockScheduleButton from "../UnlockScheduleButton"; diff --git a/src/components/schedule-builder/schedule-admin-empty-spots-modal.js b/src/components/schedule-builder/schedule-admin-empty-spots-modal.js index 48449c95f..c167182d2 100644 --- a/src/components/schedule-builder/schedule-admin-empty-spots-modal.js +++ b/src/components/schedule-builder/schedule-admin-empty-spots-modal.js @@ -12,10 +12,8 @@ **/ import { Modal, Button, FormGroup, FormControl } from "react-bootstrap"; import React from "react"; -import { - DateTimePicker, - SummitVenuesSelect -} from "openstack-uicore-foundation/lib/components"; +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import SummitVenuesSelect from "openstack-uicore-foundation/lib/components/inputs/summit-venues-select"; import moment from "moment-timezone"; import T from "i18n-react/dist/i18n-react"; diff --git a/src/components/schedule-builder/schedule-event-result.js b/src/components/schedule-builder/schedule-event-result.js index 652a5aab4..1dcb5b87b 100644 --- a/src/components/schedule-builder/schedule-event-result.js +++ b/src/components/schedule-builder/schedule-event-result.js @@ -12,7 +12,7 @@ **/ import React from "react"; import { Popover, OverlayTrigger } from "react-bootstrap"; -import { RawHTML } from "openstack-uicore-foundation/lib/components"; +import RawHTML from "openstack-uicore-foundation/lib/components/raw-html"; class ScheduleEventResult extends React.Component { popoverHoverFocus() { diff --git a/src/components/schedule-builder/unschedule-event.js b/src/components/schedule-builder/unschedule-event.js index cc64a0aaa..a91a01fb8 100644 --- a/src/components/schedule-builder/unschedule-event.js +++ b/src/components/schedule-builder/unschedule-event.js @@ -14,7 +14,7 @@ import React from "react"; import { DraggableItemTypes } from "./draggable-items-types"; import { useDrag } from "react-dnd"; import { Popover, OverlayTrigger } from "react-bootstrap"; -import { RawHTML } from "openstack-uicore-foundation/lib/components"; +import RawHTML from "openstack-uicore-foundation/lib/components/raw-html"; import "awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"; const UnScheduleEvent = ({ diff --git a/src/components/summit-dropdown/index.js b/src/components/summit-dropdown/index.js index 7c79053e9..03d831169 100644 --- a/src/components/summit-dropdown/index.js +++ b/src/components/summit-dropdown/index.js @@ -14,7 +14,7 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; -import { SummitInput } from "openstack-uicore-foundation/lib/components"; +import SummitInput from "openstack-uicore-foundation/lib/components/inputs/summit-input"; import styles from "./index.module.less"; export default class SummitDropdown extends React.Component { diff --git a/src/components/summit-event-bulk-actions/summit-event-bulk-editor-form.js b/src/components/summit-event-bulk-actions/summit-event-bulk-editor-form.js index 93f918f1c..e9c06cf85 100644 --- a/src/components/summit-event-bulk-actions/summit-event-bulk-editor-form.js +++ b/src/components/summit-event-bulk-actions/summit-event-bulk-editor-form.js @@ -13,12 +13,10 @@ import React from "react"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { - DateTimePicker, - SummitVenuesSelect, - Input, - Dropdown -} from "openstack-uicore-foundation/lib/components"; +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import SummitVenuesSelect from "openstack-uicore-foundation/lib/components/inputs/summit-venues-select" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; import moment from "moment-timezone"; import Select from "react-select"; diff --git a/src/components/summit-event-bulk-actions/summit-event-bulk-editor-item.js b/src/components/summit-event-bulk-actions/summit-event-bulk-editor-item.js index 100921702..a56b1cd34 100644 --- a/src/components/summit-event-bulk-actions/summit-event-bulk-editor-item.js +++ b/src/components/summit-event-bulk-actions/summit-event-bulk-editor-item.js @@ -12,11 +12,9 @@ * */ import React from "react"; import { FormGroup, FormControl } from "react-bootstrap"; -import { - DateTimePicker, - SummitVenuesSelect, - Dropdown -} from "openstack-uicore-foundation/lib/components"; +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import SummitVenuesSelect from "openstack-uicore-foundation/lib/components/inputs/summit-venues-select" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; import { SummitEvent } from "openstack-uicore-foundation/lib/models"; import moment from "moment-timezone"; import T from "i18n-react/dist/i18n-react"; diff --git a/src/components/tables/affiliationstable/AffiliationsTable.js b/src/components/tables/affiliationstable/AffiliationsTable.js index 9478c9136..213f2b274 100644 --- a/src/components/tables/affiliationstable/AffiliationsTable.js +++ b/src/components/tables/affiliationstable/AffiliationsTable.js @@ -1,9 +1,7 @@ import React from "react"; import { connect } from "react-redux"; -import { - DateTimePicker, - OrganizationInput -} from "openstack-uicore-foundation/lib/components"; +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import OrganizationInput from "openstack-uicore-foundation/lib/components/inputs/organization-input"; import { epochToMoment, formatEpoch diff --git a/src/components/tables/dicount-ticket-table/DiscountTicketTable.js b/src/components/tables/dicount-ticket-table/DiscountTicketTable.js index 2a2fe750b..3d5272b03 100644 --- a/src/components/tables/dicount-ticket-table/DiscountTicketTable.js +++ b/src/components/tables/dicount-ticket-table/DiscountTicketTable.js @@ -1,7 +1,8 @@ import React from "react"; import { connect } from "react-redux"; import DiscountTicketActionsTableCell from "./DiscountTicketActionsTableCell"; -import { Dropdown, Input } from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import { addDiscountTicket, deleteDiscountTicket diff --git a/src/components/tables/editable-table/EditableTableRow.js b/src/components/tables/editable-table/EditableTableRow.js index 17783001c..bcd49f6f7 100644 --- a/src/components/tables/editable-table/EditableTableRow.js +++ b/src/components/tables/editable-table/EditableTableRow.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { TextArea } from "openstack-uicore-foundation/lib/components"; +import TextArea from "openstack-uicore-foundation/lib/components/inputs/textarea-input"; import T from "i18n-react/dist/i18n-react"; import history from "../../../history"; diff --git a/src/components/tables/extra-questions-table/index.js b/src/components/tables/extra-questions-table/index.js index 1b96922c5..f68d17f10 100644 --- a/src/components/tables/extra-questions-table/index.js +++ b/src/components/tables/extra-questions-table/index.js @@ -16,7 +16,7 @@ import T from "i18n-react/dist/i18n-react"; import moment from "moment-timezone"; import { Modal } from "react-bootstrap"; import "./styles.less"; -import { SortableTable } from "openstack-uicore-foundation/lib/components"; +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable"; import Swal from "sweetalert2"; const ExtraQuestionsTable = ({ diff --git a/src/components/tables/room-occupancy-table/OccupancyTableCell.js b/src/components/tables/room-occupancy-table/OccupancyTableCell.js index 3ae1d8c50..bdd3fc553 100644 --- a/src/components/tables/room-occupancy-table/OccupancyTableCell.js +++ b/src/components/tables/room-occupancy-table/OccupancyTableCell.js @@ -1,5 +1,5 @@ import React from "react"; -import { RawHTML } from "openstack-uicore-foundation/lib/components"; +import RawHTML from "openstack-uicore-foundation/lib/components/raw-html"; const OccupancyTableCell = (props) => { let value = props.children ? props.children.toString() : ""; diff --git a/src/components/tables/signagebannerstable/BannersTable.js b/src/components/tables/signagebannerstable/BannersTable.js index d212aaa8e..98c22c433 100644 --- a/src/components/tables/signagebannerstable/BannersTable.js +++ b/src/components/tables/signagebannerstable/BannersTable.js @@ -1,6 +1,6 @@ import React from "react"; import { connect } from "react-redux"; -import { DateTimePicker } from "openstack-uicore-foundation/lib/components"; +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; import T from "i18n-react/dist/i18n-react"; import { Tooltip } from "react-tooltip"; diff --git a/src/components/tables/track-timeframes/DayTimeframeTable.js b/src/components/tables/track-timeframes/DayTimeframeTable.js index 081e423fe..ffef9e7d3 100644 --- a/src/components/tables/track-timeframes/DayTimeframeTable.js +++ b/src/components/tables/track-timeframes/DayTimeframeTable.js @@ -2,10 +2,8 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Tooltip } from "react-tooltip"; -import { - DateTimePicker, - Dropdown -} from "openstack-uicore-foundation/lib/components"; +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; import { parseLocationHour, epochToMomentTimeZone diff --git a/src/pages/admin_access/admin-access-list-page.js b/src/pages/admin_access/admin-access-list-page.js index 635cce8ff..d4c943e15 100644 --- a/src/pages/admin_access/admin-access-list-page.js +++ b/src/pages/admin_access/admin-access-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSummitById } from "../../actions/summit-actions"; import { getAdminAccesses, diff --git a/src/pages/attendees/summit-attendees-list-page.js b/src/pages/attendees/summit-attendees-list-page.js index 956197911..2db5eb984 100644 --- a/src/pages/attendees/summit-attendees-list-page.js +++ b/src/pages/attendees/summit-attendees-list-page.js @@ -16,16 +16,14 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - Dropdown, - Input, - FreeTextSearch, - SelectableTable, - DateTimePicker, - TagInput, - CompanyInput, - TicketTypesInput -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import SelectableTable from "openstack-uicore-foundation/lib/components/table-selectable" +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input" +import CompanyInput from "openstack-uicore-foundation/lib/components/inputs/company-input" +import TicketTypesInput from "openstack-uicore-foundation/lib/components/inputs/ticket-types-input"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; import { SegmentedControl } from "segmented-control"; import ScheduleModal from "../../components/schedule-modal"; diff --git a/src/pages/badges/access-level-list-page.js b/src/pages/badges/access-level-list-page.js index e21c5616f..f075dfbe2 100644 --- a/src/pages/badges/access-level-list-page.js +++ b/src/pages/badges/access-level-list-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSummitById } from "../../actions/summit-actions"; import { getAccessLevels, diff --git a/src/pages/badges/badge-feature-list-page.js b/src/pages/badges/badge-feature-list-page.js index f442de800..1bd5fcd75 100644 --- a/src/pages/badges/badge-feature-list-page.js +++ b/src/pages/badges/badge-feature-list-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSummitById } from "../../actions/summit-actions"; import { getBadgeFeatures, diff --git a/src/pages/badges/badge-type-list-page.js b/src/pages/badges/badge-type-list-page.js index a352f42ea..a9185ace8 100644 --- a/src/pages/badges/badge-type-list-page.js +++ b/src/pages/badges/badge-type-list-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSummitById } from "../../actions/summit-actions"; import { getBadgeTypes, deleteBadgeType } from "../../actions/badge-actions"; diff --git a/src/pages/badges/edit-access-level-page.js b/src/pages/badges/edit-access-level-page.js index 52fa8fdb3..760ec55bb 100644 --- a/src/pages/badges/edit-access-level-page.js +++ b/src/pages/badges/edit-access-level-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import { Breadcrumb } from "react-breadcrumbs"; import T from "i18n-react/dist/i18n-react"; -import { SimpleForm } from "openstack-uicore-foundation/lib/components"; +import SimpleForm from "openstack-uicore-foundation/lib/components/forms/simple-form"; import { getSummitById } from "../../actions/summit-actions"; import { getAccessLevel, diff --git a/src/pages/badges/view-type-list-page.js b/src/pages/badges/view-type-list-page.js index e8f133270..07384f3ac 100644 --- a/src/pages/badges/view-type-list-page.js +++ b/src/pages/badges/view-type-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - Table, - FreeTextSearch -} from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search"; import { getSummitById } from "../../actions/summit-actions"; import { getViewTypes, deleteViewType } from "../../actions/badge-actions"; diff --git a/src/pages/companies/company-list-page.js b/src/pages/companies/company-list-page.js index cb956c3f3..bf965c017 100644 --- a/src/pages/companies/company-list-page.js +++ b/src/pages/companies/company-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getCompanies, deleteCompany } from "../../actions/company-actions"; class CompanyListPage extends React.Component { diff --git a/src/pages/email_flow_events/email-flow-events-list-page.js b/src/pages/email_flow_events/email-flow-events-list-page.js index 982c5a220..6c7ac7b2c 100644 --- a/src/pages/email_flow_events/email-flow-events-list-page.js +++ b/src/pages/email_flow_events/email-flow-events-list-page.js @@ -14,10 +14,8 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSummitById } from "../../actions/summit-actions"; import { getEmailFlowEvents } from "../../actions/email-flows-events-actions"; import { Pagination } from "react-bootstrap"; diff --git a/src/pages/emails/email-log-list-page.js b/src/pages/emails/email-log-list-page.js index a652b88df..417c16571 100644 --- a/src/pages/emails/email-log-list-page.js +++ b/src/pages/emails/email-log-list-page.js @@ -15,12 +15,10 @@ import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table, - Dropdown, - DateTimePicker -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; import { SegmentedControl } from "segmented-control"; import { getSentEmails } from "../../actions/email-actions"; diff --git a/src/pages/emails/email-template-list-page.js b/src/pages/emails/email-template-list-page.js index c31a30f37..c7138eb9e 100644 --- a/src/pages/emails/email-template-list-page.js +++ b/src/pages/emails/email-template-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSummitById } from "../../actions/summit-actions"; import { getEmailTemplates, diff --git a/src/pages/events/event-category-group-list-page.js b/src/pages/events/event-category-group-list-page.js index b249f1680..e5d9b805b 100644 --- a/src/pages/events/event-category-group-list-page.js +++ b/src/pages/events/event-category-group-list-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import { getEventCategoryGroups, deleteEventCategoryGroup diff --git a/src/pages/events/event-category-list-page.js b/src/pages/events/event-category-list-page.js index 4b0995533..17b183787 100644 --- a/src/pages/events/event-category-list-page.js +++ b/src/pages/events/event-category-list-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { SortableTable } from "openstack-uicore-foundation/lib/components"; +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable"; import SummitDropdown from "../../components/summit-dropdown"; import { getSummitById } from "../../actions/summit-actions"; import { diff --git a/src/pages/events/event-type-list-page.js b/src/pages/events/event-type-list-page.js index cb64731ca..91f803ea4 100644 --- a/src/pages/events/event-type-list-page.js +++ b/src/pages/events/event-type-list-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import { getEventTypes, deleteEventType, diff --git a/src/pages/events/summit-event-list-page.js b/src/pages/events/summit-event-list-page.js index 4a7eeb150..058754b88 100644 --- a/src/pages/events/summit-event-list-page.js +++ b/src/pages/events/summit-event-list-page.js @@ -16,18 +16,16 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Modal, Pagination } from "react-bootstrap"; -import { - CompanyInput, - DateTimePicker, - Dropdown, - FreeTextSearch, - Input, - MemberInput, - OperatorInput, - SpeakerInput, - TagInput, - UploadInput -} from "openstack-uicore-foundation/lib/components"; +import CompanyInput from "openstack-uicore-foundation/lib/components/inputs/company-input" +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import MemberInput from "openstack-uicore-foundation/lib/components/inputs/member-input" +import OperatorInput from "openstack-uicore-foundation/lib/components/inputs/operator-input" +import SpeakerInput from "openstack-uicore-foundation/lib/components/inputs/speaker-input" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input"; import { SegmentedControl } from "segmented-control"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; import { diff --git a/src/pages/events/summit-presentations-votes-page.js b/src/pages/events/summit-presentations-votes-page.js index 207e13675..93a567e21 100644 --- a/src/pages/events/summit-presentations-votes-page.js +++ b/src/pages/events/summit-presentations-votes-page.js @@ -14,12 +14,10 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react"; -import { - DateTimePicker, - Dropdown, - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { Pagination } from "react-bootstrap"; import { clearVotesReport, diff --git a/src/pages/locations/location-list-page.js b/src/pages/locations/location-list-page.js index 1863c3c17..b80d35451 100644 --- a/src/pages/locations/location-list-page.js +++ b/src/pages/locations/location-list-page.js @@ -16,7 +16,7 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import Switch from "react-switch"; -import { SortableTable } from "openstack-uicore-foundation/lib/components"; +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable"; import SummitDropdown from "../../components/summit-dropdown"; import { getSummitById } from "../../actions/summit-actions"; diff --git a/src/pages/marketing/marketing-setting-list-page.js b/src/pages/marketing/marketing-setting-list-page.js index 5756c1e01..c18f720b4 100644 --- a/src/pages/marketing/marketing-setting-list-page.js +++ b/src/pages/marketing/marketing-setting-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import SummitDropdown from "../../components/summit-dropdown"; import { getSummitById } from "../../actions/summit-actions"; import { diff --git a/src/pages/media_file_types/edit-media-file-type-page.js b/src/pages/media_file_types/edit-media-file-type-page.js index 3b76ef9dc..65e4210e5 100644 --- a/src/pages/media_file_types/edit-media-file-type-page.js +++ b/src/pages/media_file_types/edit-media-file-type-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; -import { SimpleForm } from "openstack-uicore-foundation/lib/components"; +import SimpleForm from "openstack-uicore-foundation/lib/components/forms/simple-form"; import { getMediaFileType, resetMediaFileTypeForm, diff --git a/src/pages/media_file_types/media-file-type-list-page.js b/src/pages/media_file_types/media-file-type-list-page.js index 4e4afb5a1..a5d8a6914 100644 --- a/src/pages/media_file_types/media-file-type-list-page.js +++ b/src/pages/media_file_types/media-file-type-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSummitById } from "../../actions/summit-actions"; import { getMediaFileTypes, diff --git a/src/pages/media_uploads/media-upload-list-page.js b/src/pages/media_uploads/media-upload-list-page.js index b46c89403..3299f61e8 100644 --- a/src/pages/media_uploads/media-upload-list-page.js +++ b/src/pages/media_uploads/media-upload-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSummitById } from "../../actions/summit-actions"; import { getMediaUploads, diff --git a/src/pages/orders/edit-ticket-page.js b/src/pages/orders/edit-ticket-page.js index ed384867a..ee1098bec 100644 --- a/src/pages/orders/edit-ticket-page.js +++ b/src/pages/orders/edit-ticket-page.js @@ -17,7 +17,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; import Swal from "sweetalert2"; -import { Table, Panel } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table" +import Panel from "openstack-uicore-foundation/lib/components/sections/panel"; import moment from "moment-timezone"; import { getSummitById } from "../../actions/summit-actions"; import { diff --git a/src/pages/orders/order-extra-question-list-page.js b/src/pages/orders/order-extra-question-list-page.js index d34eb21f7..8ac78c9cd 100644 --- a/src/pages/orders/order-extra-question-list-page.js +++ b/src/pages/orders/order-extra-question-list-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { SortableTable } from "openstack-uicore-foundation/lib/components"; +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable"; import { getSummitById } from "../../actions/summit-actions"; import { getOrderExtraQuestions, diff --git a/src/pages/orders/purchase-order-list-page.js b/src/pages/orders/purchase-order-list-page.js index 1c5258cc8..338016406 100644 --- a/src/pages/orders/purchase-order-list-page.js +++ b/src/pages/orders/purchase-order-list-page.js @@ -14,13 +14,11 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Dropdown, - DateTimePicker, - CompanyInput, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import CompanyInput from "openstack-uicore-foundation/lib/components/inputs/company-input" +import Table from "openstack-uicore-foundation/lib/components/table"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; import { SegmentedControl } from "segmented-control"; import Swal from "sweetalert2"; diff --git a/src/pages/promocodes/promocode-list-page.js b/src/pages/promocodes/promocode-list-page.js index 7d0ce391b..d34c473ec 100644 --- a/src/pages/promocodes/promocode-list-page.js +++ b/src/pages/promocodes/promocode-list-page.js @@ -16,13 +16,11 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Dropdown, - MemberInput, - Table, - TagInput -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import MemberInput from "openstack-uicore-foundation/lib/components/inputs/member-input" +import Table from "openstack-uicore-foundation/lib/components/table" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input"; import { getSummitById } from "../../actions/summit-actions"; import { getPromocodes, diff --git a/src/pages/push_notifications/push-notification-list-page.js b/src/pages/push_notifications/push-notification-list-page.js index 80439dee3..23f97783f 100644 --- a/src/pages/push_notifications/push-notification-list-page.js +++ b/src/pages/push_notifications/push-notification-list-page.js @@ -15,7 +15,8 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { Table, Dropdown } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown"; import { Pagination } from "react-bootstrap"; import { getSummitById } from "../../actions/summit-actions"; import { diff --git a/src/pages/registration/registration-companies-list-page.js b/src/pages/registration/registration-companies-list-page.js index 37b89579d..fb7d7806d 100644 --- a/src/pages/registration/registration-companies-list-page.js +++ b/src/pages/registration/registration-companies-list-page.js @@ -16,12 +16,10 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Modal, Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table, - CompanyInput, - UploadInput -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table" +import CompanyInput from "openstack-uicore-foundation/lib/components/inputs/company-input" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input"; import { getSummitById } from "../../actions/summit-actions"; import { getRegistrationCompanies, diff --git a/src/pages/registration/registration-stats-page.js b/src/pages/registration/registration-stats-page.js index 4d5576207..aad41d6a4 100644 --- a/src/pages/registration/registration-stats-page.js +++ b/src/pages/registration/registration-stats-page.js @@ -23,10 +23,8 @@ import { changeTimeUnit } from "../../actions/summit-stats-actions"; import PieGraph from "../../components/graphs/registration-pie-graph"; -import { - AjaxLoader, - SteppedSelect -} from "openstack-uicore-foundation/lib/components"; +import AjaxLoader from "openstack-uicore-foundation/lib/components/ajaxloader" +import SteppedSelect from "openstack-uicore-foundation/lib/components/inputs/stepped-select"; import LineGraph from "../../components/graphs/registration-line-graph"; const DATA_POOLING_INTERVAL = 20000; diff --git a/src/pages/room_bookings/room-booking-list-page.js b/src/pages/room_bookings/room-booking-list-page.js index 831e95414..6c7c6e133 100644 --- a/src/pages/room_bookings/room-booking-list-page.js +++ b/src/pages/room_bookings/room-booking-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Modal, Pagination } from "react-bootstrap"; -import { - Table, - FreeTextSearch -} from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; import { getSummitById } from "../../actions/summit-actions"; import { diff --git a/src/pages/room_occupancy/room-occupancy-page.js b/src/pages/room_occupancy/room-occupancy-page.js index 7f13b453f..8f0a1b530 100644 --- a/src/pages/room_occupancy/room-occupancy-page.js +++ b/src/pages/room_occupancy/room-occupancy-page.js @@ -15,10 +15,8 @@ import React, { useEffect } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Pagination } from "react-bootstrap"; -import { - Dropdown, - FreeTextSearch -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search"; import { deleteOverflowOccupancy, getEventsForOccupancy, diff --git a/src/pages/rsvps/rsvp-template-list-page.js b/src/pages/rsvps/rsvp-template-list-page.js index 54083a53c..177bef986 100644 --- a/src/pages/rsvps/rsvp-template-list-page.js +++ b/src/pages/rsvps/rsvp-template-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSummitById } from "../../actions/summit-actions"; import { getRsvpTemplates, diff --git a/src/pages/schedule_settings/schedule-settings-list-page.js b/src/pages/schedule_settings/schedule-settings-list-page.js index 6be53cf8d..8b26554e0 100644 --- a/src/pages/schedule_settings/schedule-settings-list-page.js +++ b/src/pages/schedule_settings/schedule-settings-list-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import { getAllScheduleSettings, deleteScheduleSetting, diff --git a/src/pages/selection-plans/selection-plan-list-page.js b/src/pages/selection-plans/selection-plan-list-page.js index 0400145b6..349ac5218 100644 --- a/src/pages/selection-plans/selection-plan-list-page.js +++ b/src/pages/selection-plans/selection-plan-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - Table, - FreeTextSearch -} from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search"; import { deleteSelectionPlan, getSelectionPlans diff --git a/src/pages/signage/index.js b/src/pages/signage/index.js index 17440b0fb..a83b03213 100644 --- a/src/pages/signage/index.js +++ b/src/pages/signage/index.js @@ -22,12 +22,10 @@ import { ToggleButtonGroup } from "react-bootstrap"; import { Breadcrumb } from "react-breadcrumbs"; -import { - DateTimePicker, - Dropdown, - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getLocations, getSign, diff --git a/src/pages/speakers/merge-speakers-page.js b/src/pages/speakers/merge-speakers-page.js index e9077b38a..56ffe8cd8 100644 --- a/src/pages/speakers/merge-speakers-page.js +++ b/src/pages/speakers/merge-speakers-page.js @@ -17,7 +17,7 @@ import Swal from "sweetalert2"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; import MergeSpeakerForm from "../../components/forms/merge-speaker-form/merge-speaker-form"; -import { SpeakerInput } from "openstack-uicore-foundation/lib/components"; +import SpeakerInput from "openstack-uicore-foundation/lib/components/inputs/speaker-input"; import { getSummitById } from "../../actions/summit-actions"; import { getSpeakerForMerge, diff --git a/src/pages/speakers/submission-invitations-list-page.js b/src/pages/speakers/submission-invitations-list-page.js index a611e0b6a..2a0320730 100644 --- a/src/pages/speakers/submission-invitations-list-page.js +++ b/src/pages/speakers/submission-invitations-list-page.js @@ -16,13 +16,11 @@ import { connect } from "react-redux"; import { Modal, Pagination } from "react-bootstrap"; import Swal from "sweetalert2"; import T from "i18n-react/dist/i18n-react"; -import { - FreeTextSearch, - SelectableTable, - UploadInput, - Dropdown, - TagInput -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import SelectableTable from "openstack-uicore-foundation/lib/components/table-selectable" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input"; import { getSummitById } from "../../actions/summit-actions"; import { exportInvitationsCSV, diff --git a/src/pages/speakers/summit-speakers-list-page.js b/src/pages/speakers/summit-speakers-list-page.js index 16eb770e7..0bedafc78 100644 --- a/src/pages/speakers/summit-speakers-list-page.js +++ b/src/pages/speakers/summit-speakers-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSpeakers, deleteSpeaker } from "../../actions/speaker-actions"; import Member from "../../models/member"; diff --git a/src/pages/sponsored_projects/sponsored-project-list-page.js b/src/pages/sponsored_projects/sponsored-project-list-page.js index 9e1936ebc..67149ed61 100644 --- a/src/pages/sponsored_projects/sponsored-project-list-page.js +++ b/src/pages/sponsored_projects/sponsored-project-list-page.js @@ -15,10 +15,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSponsoredProjects, deleteSponsoredProject diff --git a/src/pages/sponsors-global/form-templates/sponsor-inventory-popup.js b/src/pages/sponsors-global/form-templates/sponsor-inventory-popup.js index 207c84b8b..657d805ea 100644 --- a/src/pages/sponsors-global/form-templates/sponsor-inventory-popup.js +++ b/src/pages/sponsors-global/form-templates/sponsor-inventory-popup.js @@ -18,8 +18,8 @@ import { FormHelperText } from "@mui/material"; import CloseIcon from "@mui/icons-material/Close"; -import { UploadInputV2 } from "openstack-uicore-foundation/lib/components"; import AdditionalInputList from "openstack-uicore-foundation/lib/components/mui/formik-inputs/additional-input-list"; +import UploadInputV2 from "openstack-uicore-foundation/lib/components/inputs/upload-input-v2"; import { ALLOWED_INVENTORY_IMAGE_FORMATS, MAX_INVENTORY_IMAGE_UPLOAD_SIZE, diff --git a/src/pages/sponsors/badge-scans-list-page.js b/src/pages/sponsors/badge-scans-list-page.js index 6e78be308..ae2d001c3 100644 --- a/src/pages/sponsors/badge-scans-list-page.js +++ b/src/pages/sponsors/badge-scans-list-page.js @@ -14,10 +14,8 @@ import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { - Table, - SponsorInput -} from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table" +import SponsorInput from "openstack-uicore-foundation/lib/components/inputs/sponsor-input"; import { querySponsorsWithBadgeScans } from "openstack-uicore-foundation/lib/utils/query-actions"; import { Pagination } from "react-bootstrap"; import { getSummitById } from "../../actions/summit-actions"; diff --git a/src/pages/sponsors/popup/edit-tier-popup.js b/src/pages/sponsors/popup/edit-tier-popup.js index 1a56a750c..48eb28c22 100644 --- a/src/pages/sponsors/popup/edit-tier-popup.js +++ b/src/pages/sponsors/popup/edit-tier-popup.js @@ -19,7 +19,7 @@ import { } from "@mui/material"; import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import CloseIcon from "@mui/icons-material/Close"; -import { UploadInput } from "openstack-uicore-foundation/lib/components"; +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input"; import SponsorshipTypeInputMUI from "../../../components/mui/formik-inputs/sponsorship-input-mui"; import MuiFormikTextField from "../../../components/mui/formik-inputs/mui-formik-textfield"; import useScrollToError from "../../../hooks/useScrollToError"; diff --git a/src/pages/sponsors/sponsor-list-page.js b/src/pages/sponsors/sponsor-list-page.js index 586fe484e..e4140baa3 100644 --- a/src/pages/sponsors/sponsor-list-page.js +++ b/src/pages/sponsors/sponsor-list-page.js @@ -25,8 +25,8 @@ import { import Box from "@mui/material/Box"; import AddIcon from "@mui/icons-material/Add"; import SearchIcon from "@mui/icons-material/Search"; -import _ from "lodash"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; +import debounce from "lodash/debounce" import { getLeadReportSettingsMeta, getSummitById, @@ -67,7 +67,7 @@ const SponsorListPage = ({ }, [currentSummit, term, perPage, order, orderDir, currentPage]); const handleSearchDebounced = useCallback( - _.debounce((term) => { + debounce((term) => { getSponsors(term, DEFAULT_CURRENT_PAGE, perPage, order, orderDir); }, DEBOUNCE_WAIT), [perPage, order, orderDir] diff --git a/src/pages/sponsors/sponsor-promocodes-list-page.js b/src/pages/sponsors/sponsor-promocodes-list-page.js index e602e532d..16aa80de2 100644 --- a/src/pages/sponsors/sponsor-promocodes-list-page.js +++ b/src/pages/sponsors/sponsor-promocodes-list-page.js @@ -16,12 +16,10 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - Dropdown, - Input, - FreeTextSearch, - SelectableTable -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import SelectableTable from "openstack-uicore-foundation/lib/components/table-selectable"; import { getSponsorPromocodes, selectPromocode, diff --git a/src/pages/sponsors/sponsor-users-list-page/components/edit-user-popup/access-rights-lists.js b/src/pages/sponsors/sponsor-users-list-page/components/edit-user-popup/access-rights-lists.js index d8767333b..0bc424e8a 100644 --- a/src/pages/sponsors/sponsor-users-list-page/components/edit-user-popup/access-rights-lists.js +++ b/src/pages/sponsors/sponsor-users-list-page/components/edit-user-popup/access-rights-lists.js @@ -1,5 +1,5 @@ import React from "react"; -import _ from "lodash"; +import cloneDeep from "lodash/cloneDeep" import { useField } from "formik"; import T from "i18n-react"; import showConfirmDialog from "../../../../../components/mui/showConfirmDialog"; @@ -18,7 +18,7 @@ const AccessRightsList = ({ name, userGroups, summitId }) => { }; const handleChange = (itemIdx, fieldName, fieldValue) => { - const newValues = _.cloneDeep(field.value); + const newValues = cloneDeep(field.value); newValues[itemIdx][fieldName] = fieldValue; helpers.setValue(newValues); }; diff --git a/src/pages/sponsorship-types/sponsorship-list-page.js b/src/pages/sponsorship-types/sponsorship-list-page.js index a0d89bd0b..2ca9c8cb8 100644 --- a/src/pages/sponsorship-types/sponsorship-list-page.js +++ b/src/pages/sponsorship-types/sponsorship-list-page.js @@ -16,7 +16,7 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSponsorships, deleteSponsorship diff --git a/src/pages/summit_speakers/featured-speakers-page.js b/src/pages/summit_speakers/featured-speakers-page.js index 84bd08159..a3aec5a11 100644 --- a/src/pages/summit_speakers/featured-speakers-page.js +++ b/src/pages/summit_speakers/featured-speakers-page.js @@ -15,12 +15,10 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - SpeakerInput, - SortableTable, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import SpeakerInput from "openstack-uicore-foundation/lib/components/inputs/speaker-input" +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getFeaturedSpeakers, removeFeaturedSpeaker, diff --git a/src/pages/summit_speakers/speaker-attendance-list-page.js b/src/pages/summit_speakers/speaker-attendance-list-page.js index c13660d0e..58ca03971 100644 --- a/src/pages/summit_speakers/speaker-attendance-list-page.js +++ b/src/pages/summit_speakers/speaker-attendance-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getAttendances, deleteAttendance, diff --git a/src/pages/summit_speakers/summit-speakers-list-page.js b/src/pages/summit_speakers/summit-speakers-list-page.js index eac9e1e29..24e47df74 100644 --- a/src/pages/summit_speakers/summit-speakers-list-page.js +++ b/src/pages/summit_speakers/summit-speakers-list-page.js @@ -16,12 +16,10 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Modal, Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - SelectableTable, - Dropdown, - Input -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import SelectableTable from "openstack-uicore-foundation/lib/components/table-selectable" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input"; import SpeakerPromoCodeSpecForm from "../../components/forms/speakers-promo-code-spec-form"; import { initSpeakersList, diff --git a/src/pages/summitdocs/summitdoc-list-page.js b/src/pages/summitdocs/summitdoc-list-page.js index 5ac78e380..cfad0996b 100644 --- a/src/pages/summitdocs/summitdoc-list-page.js +++ b/src/pages/summitdocs/summitdoc-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSummitById } from "../../actions/summit-actions"; import { getSummitDocs, diff --git a/src/pages/tag_groups/edit-tag-group-page.js b/src/pages/tag_groups/edit-tag-group-page.js index 2ef2064f7..aad9a4b4f 100644 --- a/src/pages/tag_groups/edit-tag-group-page.js +++ b/src/pages/tag_groups/edit-tag-group-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; -import { ActionDropdown } from "openstack-uicore-foundation/lib/components"; +import ActionDropdown from "openstack-uicore-foundation/lib/components/inputs/action-dropdown"; import TagGroupForm from "../../components/forms/tag-group-form"; import { getTagGroup, diff --git a/src/pages/tag_groups/tag-group-list-page.js b/src/pages/tag_groups/tag-group-list-page.js index 95882e76d..0abb5fd0e 100644 --- a/src/pages/tag_groups/tag-group-list-page.js +++ b/src/pages/tag_groups/tag-group-list-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { SortableTable } from "openstack-uicore-foundation/lib/components"; +import SortableTable from "openstack-uicore-foundation/lib/components/table-sortable"; import { getTagGroups, deleteTagGroup, diff --git a/src/pages/tags/tag-list-page.js b/src/pages/tags/tag-list-page.js index bcedfa267..532938b65 100644 --- a/src/pages/tags/tag-list-page.js +++ b/src/pages/tags/tag-list-page.js @@ -16,10 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - FreeTextSearch, - Table -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getTags, deleteTag } from "../../actions/tag-actions"; class TagListPage extends React.Component { diff --git a/src/pages/taxes/tax-type-list-page.js b/src/pages/taxes/tax-type-list-page.js index ac047d05d..d35dbe62b 100644 --- a/src/pages/taxes/tax-type-list-page.js +++ b/src/pages/taxes/tax-type-list-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import { getSummitById } from "../../actions/summit-actions"; import { getTaxTypes, deleteTaxType } from "../../actions/tax-actions"; diff --git a/src/pages/tickets/payment-profile-list-page.js b/src/pages/tickets/payment-profile-list-page.js index b8879ced1..465176ccb 100644 --- a/src/pages/tickets/payment-profile-list-page.js +++ b/src/pages/tickets/payment-profile-list-page.js @@ -14,7 +14,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import Swal from "sweetalert2"; import { getPaymentProfiles, diff --git a/src/pages/tickets/refund-policy-list-page.js b/src/pages/tickets/refund-policy-list-page.js index 4eef3587e..4132049f8 100644 --- a/src/pages/tickets/refund-policy-list-page.js +++ b/src/pages/tickets/refund-policy-list-page.js @@ -15,7 +15,7 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; -import { EditableTable } from "openstack-uicore-foundation/lib/components"; +import EditableTable from "openstack-uicore-foundation/lib/components/table-editable"; import { getRefundPolicies, saveRefundPolicy, diff --git a/src/pages/tickets/registration-invitations-list-page.js b/src/pages/tickets/registration-invitations-list-page.js index 828f1e522..2269304e3 100644 --- a/src/pages/tickets/registration-invitations-list-page.js +++ b/src/pages/tickets/registration-invitations-list-page.js @@ -16,15 +16,13 @@ import { connect } from "react-redux"; import { Modal, Pagination } from "react-bootstrap"; import Swal from "sweetalert2"; import T from "i18n-react/dist/i18n-react"; -import { - FreeTextSearch, - SelectableTable, - UploadInput, - Dropdown, - TagInput, - Input, - TicketTypesInput -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import SelectableTable from "openstack-uicore-foundation/lib/components/table-selectable" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input" +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import TicketTypesInput from "openstack-uicore-foundation/lib/components/inputs/ticket-types-input"; import { SegmentedControl } from "segmented-control"; import { getSummitById } from "../../actions/summit-actions"; import { diff --git a/src/pages/tickets/ticket-list-page.js b/src/pages/tickets/ticket-list-page.js index e8f06346f..e8ea7c54c 100644 --- a/src/pages/tickets/ticket-list-page.js +++ b/src/pages/tickets/ticket-list-page.js @@ -14,17 +14,15 @@ import React from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; -import { - FreeTextSearch, - UploadInput, - SelectableTable, - Dropdown, - PromocodeInput, - TagInput, - CompanyInput, - AccessLevelsInput, - TicketTypesInput -} from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import UploadInput from "openstack-uicore-foundation/lib/components/inputs/upload-input" +import SelectableTable from "openstack-uicore-foundation/lib/components/table-selectable" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import PromocodeInput from "openstack-uicore-foundation/lib/components/inputs/promocode-input" +import TagInput from "openstack-uicore-foundation/lib/components/inputs/tag-input" +import CompanyInput from "openstack-uicore-foundation/lib/components/inputs/company-input" +import AccessLevelsInput from "openstack-uicore-foundation/lib/components/inputs/access-levels-input" +import TicketTypesInput from "openstack-uicore-foundation/lib/components/inputs/ticket-types-input"; import { Modal, Pagination } from "react-bootstrap"; import { Breadcrumb } from "react-breadcrumbs"; import { SegmentedControl } from "segmented-control"; diff --git a/src/pages/tickets/ticket-type-list-page.js b/src/pages/tickets/ticket-type-list-page.js index 1e10632bb..3feed9283 100644 --- a/src/pages/tickets/ticket-type-list-page.js +++ b/src/pages/tickets/ticket-type-list-page.js @@ -16,13 +16,11 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - ActionDropdown, - FreeTextSearch, - Dropdown, - Table, - DateTimePicker -} from "openstack-uicore-foundation/lib/components"; +import ActionDropdown from "openstack-uicore-foundation/lib/components/inputs/action-dropdown" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import Table from "openstack-uicore-foundation/lib/components/table" +import DateTimePicker from "openstack-uicore-foundation/lib/components/inputs/datetimepicker"; import { epochToMomentTimeZone } from "openstack-uicore-foundation/lib/utils/methods"; import { getSummitById } from "../../actions/summit-actions"; import { diff --git a/src/pages/track_chairs/progress-flags-page.js b/src/pages/track_chairs/progress-flags-page.js index a17ac0881..a2994005b 100644 --- a/src/pages/track_chairs/progress-flags-page.js +++ b/src/pages/track_chairs/progress-flags-page.js @@ -16,7 +16,8 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; import Swal from "sweetalert2"; -import { Input, Table } from "openstack-uicore-foundation/lib/components"; +import Input from "openstack-uicore-foundation/lib/components/inputs/text-input" +import Table from "openstack-uicore-foundation/lib/components/table"; import FragmentParser from "../../utils/fragmen-parser"; import { diff --git a/src/pages/track_chairs/team-lists-page.js b/src/pages/track_chairs/team-lists-page.js index c53d77480..28478ecda 100644 --- a/src/pages/track_chairs/team-lists-page.js +++ b/src/pages/track_chairs/team-lists-page.js @@ -15,7 +15,7 @@ import React, { useEffect, useMemo } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import { Breadcrumb } from "react-breadcrumbs"; -import { FreeTextSearch } from "openstack-uicore-foundation/lib/components"; +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search"; import { getSelectionPlans, getSourceList, diff --git a/src/pages/track_chairs/track-chair-list-page.js b/src/pages/track_chairs/track-chair-list-page.js index e09abb1a3..e77abcebd 100644 --- a/src/pages/track_chairs/track-chair-list-page.js +++ b/src/pages/track_chairs/track-chair-list-page.js @@ -16,12 +16,10 @@ import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; import { Pagination } from "react-bootstrap"; -import { - Dropdown, - FreeTextSearch, - MemberInput, - Table -} from "openstack-uicore-foundation/lib/components"; +import Dropdown from "openstack-uicore-foundation/lib/components/inputs/dropdown" +import FreeTextSearch from "openstack-uicore-foundation/lib/components/free-text-search" +import MemberInput from "openstack-uicore-foundation/lib/components/inputs/member-input" +import Table from "openstack-uicore-foundation/lib/components/table"; import { getTrackChairs, deleteTrackChair, diff --git a/src/pages/track_chairs/track-timeframe-list-page.js b/src/pages/track_chairs/track-timeframe-list-page.js index 0dcfb4d71..bfc2f8108 100644 --- a/src/pages/track_chairs/track-timeframe-list-page.js +++ b/src/pages/track_chairs/track-timeframe-list-page.js @@ -15,7 +15,7 @@ import React, { useEffect } from "react"; import { connect } from "react-redux"; import T from "i18n-react/dist/i18n-react"; import Swal from "sweetalert2"; -import { Table } from "openstack-uicore-foundation/lib/components"; +import Table from "openstack-uicore-foundation/lib/components/table"; import { getTrackTimeframes, deleteTrackTimeframe diff --git a/src/reducers/orders/order-extra-question-list-reducer.js b/src/reducers/orders/order-extra-question-list-reducer.js index fa4fab08a..c3f71bc93 100644 --- a/src/reducers/orders/order-extra-question-list-reducer.js +++ b/src/reducers/orders/order-extra-question-list-reducer.js @@ -11,7 +11,7 @@ * limitations under the License. **/ import React from "react"; -import { RawHTML } from "openstack-uicore-foundation/lib/components"; +import RawHTML from "openstack-uicore-foundation/lib/components/raw-html"; import { RECEIVE_ORDER_EXTRA_QUESTIONS, diff --git a/src/reducers/orders/purchase-order-reducer.js b/src/reducers/orders/purchase-order-reducer.js index c3d53f00e..2c203c1a5 100644 --- a/src/reducers/orders/purchase-order-reducer.js +++ b/src/reducers/orders/purchase-order-reducer.js @@ -14,7 +14,7 @@ import React from "react"; import { VALIDATE } from "openstack-uicore-foundation/lib/utils/actions"; import { LOGOUT_USER } from "openstack-uicore-foundation/lib/security/actions"; -import _ from "lodash"; +import cloneDeep from "lodash/cloneDeep" import history from "../../history"; import { @@ -263,7 +263,7 @@ const purchaseOrderReducer = (state = DEFAULT_STATE, action) => { purchaseOrder.raw_amount - purchaseOrder.discount_amount; let adjusted_total_order_purchase_price = 0; // use deep copy to avoid mutations on elements of the array - const adjusted_applied_taxes = _.cloneDeep(purchaseOrder.applied_taxes); + const adjusted_applied_taxes = cloneDeep(purchaseOrder.applied_taxes); approved_refunds.forEach((refund) => { refund.ticket_id = refund.ticket.id; refund.refunded_amount_formatted = `${currencySymbol}${refund.refunded_amount.toFixed( diff --git a/src/reducers/track_chairs/team-lists-reducer.js b/src/reducers/track_chairs/team-lists-reducer.js index 6442bf741..41855e93d 100644 --- a/src/reducers/track_chairs/team-lists-reducer.js +++ b/src/reducers/track_chairs/team-lists-reducer.js @@ -12,7 +12,7 @@ * */ import { LOGOUT_USER } from "openstack-uicore-foundation/lib/security/actions"; -import _ from "lodash"; +import cloneDeep from "lodash/cloneDeep" import { RECEIVE_TC_SELECTION_PLANS, RECEIVE_SOURCE_LIST, @@ -165,12 +165,12 @@ const teamListsReducer = (state = DEFAULT_STATE, action) => { } case REORDER_LIST: { const { items } = payload; - const newState = _.cloneDeep(state); + const newState = cloneDeep(state); const newItems = items.map((it, i) => ({ ...it, order: i + 1 })); // only store the original list for rollback if (!newState.prevList) - newState.prevList = _.cloneDeep(newState.teamList); + newState.prevList = cloneDeep(newState.teamList); newState.teamList.items = newItems; diff --git a/src/sentry-init.js b/src/sentry-init.js new file mode 100644 index 000000000..5286659d3 --- /dev/null +++ b/src/sentry-init.js @@ -0,0 +1,18 @@ +import * as Sentry from "@sentry/react"; + +export const initSentry = () => { + Sentry.init({ + dsn: window.SENTRY_DSN, + integrations: [ + Sentry.browserTracingIntegration(), + Sentry.browserProfilingIntegration(), + Sentry.replayIntegration() + ], + tracesSampleRate: window.SENTRY_TRACE_SAMPLE_RATE, + tracePropagationTargets: [window.SENTRY_TRACE_PROPAGATION_TARGETS], + profilesSampleRate: 1.0, + replaysSessionSampleRate: 0.1, + replaysOnErrorSampleRate: 1.0 + }); + return Sentry; +}; From d890c95dee1a359a098186e673312e24bcc3aca0 Mon Sep 17 00:00:00 2001 From: Santiago Palenque Date: Fri, 24 Apr 2026 15:25:52 -0300 Subject: [PATCH 4/5] chore: rollback sentry and ably lazy loading Co-Authored-By: Claude Sonnet 4.6 --- src/actions/ably-actions.js | 26 +++++---------- src/app.js | 35 +++++++++++++++++-- src/components/SentryErrorBoundary/index.js | 37 --------------------- src/sentry-init.js | 18 ---------- 4 files changed, 41 insertions(+), 75 deletions(-) delete mode 100644 src/components/SentryErrorBoundary/index.js delete mode 100644 src/sentry-init.js diff --git a/src/actions/ably-actions.js b/src/actions/ably-actions.js index 416c440cc..f0df3e942 100644 --- a/src/actions/ably-actions.js +++ b/src/actions/ably-actions.js @@ -1,24 +1,17 @@ +import Ably from "ably"; import Swal from "sweetalert2"; const AblyApiKey = process.env.SIGNAGE_ABLY_API_KEY; -let realtimeAbly = null; - -const getAblyClient = async () => { - if (!AblyApiKey) return null; - if (realtimeAbly) return realtimeAbly; - const Ably = (await import("ably")).default; - realtimeAbly = new Ably.Realtime(AblyApiKey); - return realtimeAbly; -}; +const realtimeAbly = AblyApiKey ? new Ably.Realtime(AblyApiKey) : null; -export const subscribeToAblyChannel = (channel, callback) => async (dispatch) => { - const client = await getAblyClient(); - if (!client) { +export const subscribeToAblyChannel = (channel, callback) => { + if (!realtimeAbly) { Swal.fire("Subscribe failed", "No Ably API key found", "warning"); return false; } - const ablyChannel = client.channels.get(channel); + const ablyChannel = realtimeAbly.channels.get(channel); + ablyChannel.subscribe((msg) => { callback(msg.data); }); @@ -26,14 +19,13 @@ export const subscribeToAblyChannel = (channel, callback) => async (dispatch) => return true; }; -export const publishToAblyChannel = (channel, key, message) => async (dispatch) => { - const client = await getAblyClient(); - if (!client) { +export const publishToAblyChannel = (channel, key, message) => { + if (!realtimeAbly) { Swal.fire("Publish failed", "No Ably API key found", "warning"); return false; } - const ablyChannel = client.channels.get(channel); + const ablyChannel = realtimeAbly.channels.get(channel); ablyChannel.subscribe((msg) => { console.log(`Received: ${JSON.stringify(msg.data)}`); diff --git a/src/app.js b/src/app.js index 10cf37dba..39b357402 100644 --- a/src/app.js +++ b/src/app.js @@ -32,6 +32,8 @@ import IdTokenVerifier from "idtoken-verifier"; import T from "i18n-react"; import { LocalizationProvider } from "@mui/x-date-pickers"; import { AdapterMoment } from "@mui/x-date-pickers/AdapterMoment"; +// eslint-disable-next-line +import * as Sentry from "@sentry/react"; import exclusiveSections from "./exclusive-sections.yml"; import CustomErrorPage from "./pages/custom-error-page"; import history from "./history"; @@ -43,7 +45,7 @@ import AuthButton from "./components/auth-button"; import DefaultRoute from "./routes/default-route"; import { getTimezones } from "./actions/base-actions"; import { LANGUAGE_CODE_LENGTH } from "./utils/constants"; -import SentryErrorBoundary from "./components/SentryErrorBoundary"; +import { SentryFallbackFunction } from "./components/SentryErrorComponent"; import "@fontsource/roboto/300.css"; import "@fontsource/roboto/400.css"; @@ -106,6 +108,31 @@ if (exclusiveSections.hasOwnProperty(process.env.APP_CLIENT_NAME)) { window.EXCLUSIVE_SECTIONS = exclusiveSections[process.env.APP_CLIENT_NAME]; } +if (window.SENTRY_DSN && window.SENTRY_DSN !== "") { + console.log("app init sentry ..."); + // Initialize Sentry + Sentry.init({ + dsn: window.SENTRY_DSN, + integrations: [ + Sentry.browserTracingIntegration(), + Sentry.browserProfilingIntegration(), + Sentry.replayIntegration() + ], + // Tracing + tracesSampleRate: window.SENTRY_TRACE_SAMPLE_RATE, // Capture 100% of the transactions + // Set 'tracePropagationTargets' to control for which URLs distributed tracing should be enabled + tracePropagationTargets: [window.SENTRY_TRACE_PROPAGATION_TARGETS], + // Set profilesSampleRate to 1.0 to profile every transaction. + // Since profilesSampleRate is relative to tracesSampleRate, + // the final profiling rate can be computed as tracesSampleRate * profilesSampleRate + // For example, a tracesSampleRate of 0.5 and profilesSampleRate of 0.5 would + // results in 25% of transactions being profiled (0.5*0.5=0.25) + profilesSampleRate: 1.0, + // Session Replay + replaysSessionSampleRate: 0.1, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production. + replaysOnErrorSampleRate: 1.0 // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur. + }); +} class App extends React.PureComponent { constructor(props) { @@ -146,7 +173,9 @@ class App extends React.PureComponent { } return ( - +
@@ -183,7 +212,7 @@ class App extends React.PureComponent {
-
+ ); } } diff --git a/src/components/SentryErrorBoundary/index.js b/src/components/SentryErrorBoundary/index.js deleted file mode 100644 index 15677d875..000000000 --- a/src/components/SentryErrorBoundary/index.js +++ /dev/null @@ -1,37 +0,0 @@ -import React, { Component } from "react"; -import { SentryFallbackFunction } from "../SentryErrorComponent"; - -class SentryErrorBoundary extends Component { - constructor(props) { - super(props); - this.state = { ErrorBoundary: null }; - } - - componentDidMount() { - if (window.SENTRY_DSN && window.SENTRY_DSN !== "") { - import("../../sentry-init").then(({ initSentry }) => { - const Sentry = initSentry(); - this.setState({ ErrorBoundary: Sentry.ErrorBoundary }); - }); - } - } - - render() { - const { ErrorBoundary } = this.state; - const { children, componentName } = this.props; - - if (ErrorBoundary) { - return ( - - {children} - - ); - } - - return children; - } -} - -export default SentryErrorBoundary; diff --git a/src/sentry-init.js b/src/sentry-init.js deleted file mode 100644 index 5286659d3..000000000 --- a/src/sentry-init.js +++ /dev/null @@ -1,18 +0,0 @@ -import * as Sentry from "@sentry/react"; - -export const initSentry = () => { - Sentry.init({ - dsn: window.SENTRY_DSN, - integrations: [ - Sentry.browserTracingIntegration(), - Sentry.browserProfilingIntegration(), - Sentry.replayIntegration() - ], - tracesSampleRate: window.SENTRY_TRACE_SAMPLE_RATE, - tracePropagationTargets: [window.SENTRY_TRACE_PROPAGATION_TARGETS], - profilesSampleRate: 1.0, - replaysSessionSampleRate: 0.1, - replaysOnErrorSampleRate: 1.0 - }); - return Sentry; -}; From 0b329c20b95844102ab75e976a7390458fba5686 Mon Sep 17 00:00:00 2001 From: Santiago Palenque Date: Mon, 4 May 2026 15:02:02 -0300 Subject: [PATCH 5/5] chore: fix barrel import lodash --- src/actions/attendee-actions.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/actions/attendee-actions.js b/src/actions/attendee-actions.js index c29f8f3bf..e59e98cd0 100644 --- a/src/actions/attendee-actions.js +++ b/src/actions/attendee-actions.js @@ -31,7 +31,7 @@ import { downloadFileByContent } from "openstack-uicore-foundation/lib/utils/actions"; import URI from "urijs"; -import debounce from "lodash/debounce" +import debounce from "lodash/debounce"; import history from "../history"; import { checkOrFilter, @@ -810,7 +810,7 @@ export const queryPaidAttendees = debounce( DEBOUNCE_WAIT ); -export const queryAttendees = _.debounce(async (input, summitId, callback) => { +export const queryAttendees = debounce(async (input, summitId, callback) => { const accessToken = await getAccessTokenSafely(); const endpoint = URI( @@ -836,7 +836,7 @@ export const queryAttendees = _.debounce(async (input, summitId, callback) => { .catch(fetchErrorHandler); }, DEBOUNCE_WAIT); -export const queryAttendeesWithTickets = _.debounce( +export const queryAttendeesWithTickets = debounce( async (input, summitId, callback) => { const accessToken = await getAccessTokenSafely();