Files
cbsnexora/src/app/shared/shared.module.ts
T
niteshandClaude Opus 5.5 3928936b93 feat(ui): animated boot splash and loading screen
Show a Lottie-animated splash while the app bundle boots and dismiss it
once WebAppComponent initialises, plus a reusable mifosx-loading-screen
component with loading and error animations. lottie.min.js is served
from the lottie-web package instead of being vendored into src/assets.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 15:34:31 +05:30

162 lines
7.2 KiB
TypeScript

/**
* Copyright since 2025 Mifos Initiative
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
/** Angular Imports */
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
/** Custom Components */
import { FormfieldComponent } from './form-dialog/formfield/formfield.component';
import { FormDialogComponent } from './form-dialog/form-dialog.component';
import { DeleteDialogComponent } from './delete-dialog/delete-dialog.component';
import { CancelDialogComponent } from './cancel-dialog/cancel-dialog.component';
import { FileUploadComponent } from './file-upload/file-upload.component';
import { FooterComponent } from './footer/footer.component';
import { LanguageSelectorComponent } from './language-selector/language-selector.component';
import { ThemePickerComponent } from './theme-picker/theme-picker.component';
import { ChangePasswordDialogComponent } from './change-password-dialog/change-password-dialog.component';
import { EnableDialogComponent } from './enable-dialog/enable-dialog.component';
import { DisableDialogComponent } from './disable-dialog/disable-dialog.component';
import { ConfirmationDialogComponent } from './confirmation-dialog/confirmation-dialog.component';
import { ErrorDialogComponent } from './error-dialog/error-dialog.component';
import { NotificationsTrayComponent } from './notifications-tray/notifications-tray.component';
import { SearchToolComponent } from './search-tool/search-tool.component';
import { KeyboardShortcutsDialogComponent } from './keyboard-shortcuts-dialog/keyboard-shortcuts-dialog.component';
import { ServerSelectorComponent } from './server-selector/server-selector.component';
import { TenantSelectorComponent } from './tenant-selector/tenant-selector.component';
import { LoadingScreenComponent } from './loading-screen/loading-screen.component';
/** Custom Modules */
import { IconsModule } from './icons.module';
import { MaterialModule } from './material.module';
import { TranslateModule } from '@ngx-translate/core';
import { ExternalIdentifierComponent } from './external-identifier/external-identifier.component';
import { PipesModule } from 'app/pipes/pipes.module';
import { EntityNotesTabComponent } from './tabs/entity-notes-tab/entity-notes-tab.component';
import { EntityDocumentsTabComponent } from './tabs/entity-documents-tab/entity-documents-tab.component';
import { DirectivesModule } from 'app/directives/directives.module';
import { EntityDatatableTabComponent } from './tabs/entity-datatable-tab/entity-datatable-tab.component';
import { DatatableSingleRowComponent } from './tabs/entity-datatable-tab/datatable-single-row/datatable-single-row.component';
import { DatatableMultiRowComponent } from './tabs/entity-datatable-tab/datatable-multi-row/datatable-multi-row.component';
import { SvgIconComponent } from './svg-icon/svg-icon.component';
// import { NgxMatDatetimePickerModule, NgxMatNativeDateModule } from '@angular-material-components/datetime-picker';
import { ViewJournalEntryComponent } from './accounting/view-journal-entry/view-journal-entry.component';
import { ViewJournalEntryTransactionComponent } from './accounting/view-journal-entry-transaction/view-journal-entry-transaction.component';
import { AccountNumberComponent } from './account-number/account-number.component';
import { EntityNameComponent } from './entity-name/entity-name.component';
import { TransactionPaymentDetailComponent } from './transaction-payment-detail/transaction-payment-detail.component';
import { StepperButtonsComponent } from './steppers/stepper-buttons/stepper-buttons.component';
import { GlAccountSelectorComponent } from './accounting/gl-account-selector/gl-account-selector.component';
import { GlAccountDisplayComponent } from './accounting/gl-account-display/gl-account-display.component';
import { ViewSavingsAccountingDetailsComponent } from './accounting/view-savings-accounting-details/view-savings-accounting-details.component';
import { ThemeToggleComponent } from './theme-toggle/theme-toggle.component';
import { LongTextComponent } from './long-text/long-text.component';
import { DropdownComponent } from './dropdown/dropdown.component';
import { InputAmountComponent } from './input-amount/input-amount.component';
import { InputPasswordComponent } from './input-password/input-password.component';
import { DatetimePickerStubComponent } from './datetime-picker-stub/datetime-picker-stub.component'; // import Datetime Picker Stub
/**
* Shared Module
*
* Modules and components that are shared throughout the application should be here.
*/
@NgModule({
imports: [
CommonModule,
IconsModule,
MaterialModule,
ReactiveFormsModule,
TranslateModule,
PipesModule,
DirectivesModule,
// NgxMatDatetimePickerModule,
// NgxMatNativeDateModule
FormfieldComponent,
FormDialogComponent,
DeleteDialogComponent,
CancelDialogComponent,
FileUploadComponent,
FooterComponent,
LanguageSelectorComponent,
ThemePickerComponent,
ChangePasswordDialogComponent,
EnableDialogComponent,
DisableDialogComponent,
ConfirmationDialogComponent,
KeyboardShortcutsDialogComponent,
ErrorDialogComponent,
NotificationsTrayComponent,
SearchToolComponent,
ServerSelectorComponent,
TenantSelectorComponent,
ExternalIdentifierComponent,
EntityNotesTabComponent,
EntityDocumentsTabComponent,
EntityDatatableTabComponent,
DatatableSingleRowComponent,
DatatableMultiRowComponent,
SvgIconComponent,
ViewJournalEntryComponent,
ViewJournalEntryTransactionComponent,
AccountNumberComponent,
EntityNameComponent,
TransactionPaymentDetailComponent,
StepperButtonsComponent,
GlAccountSelectorComponent,
GlAccountDisplayComponent,
ViewSavingsAccountingDetailsComponent,
ThemeToggleComponent,
LongTextComponent,
DropdownComponent,
InputAmountComponent,
InputPasswordComponent,
LoadingScreenComponent,
DatetimePickerStubComponent // temporarily added stub for datetime picker
],
exports: [
LoadingScreenComponent,
FileUploadComponent,
FooterComponent,
LanguageSelectorComponent,
ServerSelectorComponent,
ThemePickerComponent,
NotificationsTrayComponent,
SearchToolComponent,
ErrorDialogComponent,
CommonModule,
IconsModule,
MaterialModule,
FormsModule,
ReactiveFormsModule,
TranslateModule,
TenantSelectorComponent,
ExternalIdentifierComponent,
AccountNumberComponent,
EntityNotesTabComponent,
EntityDocumentsTabComponent,
EntityDatatableTabComponent,
ViewJournalEntryComponent,
ViewJournalEntryTransactionComponent,
SvgIconComponent,
EntityNameComponent,
TransactionPaymentDetailComponent,
StepperButtonsComponent,
GlAccountSelectorComponent,
GlAccountDisplayComponent,
ViewSavingsAccountingDetailsComponent,
ThemeToggleComponent,
LongTextComponent,
DropdownComponent,
InputAmountComponent,
DatetimePickerStubComponent // Export stub for datetime picker
]
})
export class SharedModule {}