From a29cb34669ad0383e081ff569ee7d8e8c71c7411 Mon Sep 17 00:00:00 2001 From: Gagan7900 <54118395+Gagan7900@users.noreply.github.com> Date: Fri, 24 Jul 2026 11:24:55 +0530 Subject: [PATCH] feat: add Master Admin application functionality --- src/app/.editorconfig | 17 + src/app/.gitignore | 55 + src/app/.postcssrc.json | 6 + .../charts/spk-echarts/spk-echarts.html | 1 + .../charts/spk-echarts/spk-echarts.scss | 0 .../charts/charts/spk-echarts/spk-echarts.ts | 16 + src/app/README.md | 59 + src/app/angular.json | 124 + src/app/app.routes.ts | 13 +- src/app/app.ts | 2 +- src/app/authentication/login/login.html | 106 - src/app/core/config/api-host.ts | 8 + src/app/core/config/api-url.util.ts | 13 + src/app/core/config/api.config.ts | 14 +- .../core/end-points/auth/auth.endpoints.ts | 8 + src/app/core/guards/auth/auth.guard.ts | 37 + src/app/core/guards/auth/guest.guard.ts | 53 + src/app/core/guards/auth/super-admin.guard.ts | 11 + src/app/core/interceptors/auth.interceptor.ts | 24 +- .../core/interceptors/error.interceptor.ts | 27 +- .../core/interceptors/loading-interceptor.ts | 2 +- .../models/api-response/api-response.model.ts | 12 + src/app/core/models/auth/auth.model.ts | 24 + src/app/core/models/context/context.model.ts | 33 + src/app/core/services/auth/auth.service.ts | 133 + .../services/auth/session-timeout.service.ts | 154 + .../services/auth/token-storage.service.ts | 151 + .../core/services/common/app-state.service.ts | 321 + .../core/services/common/base-api.service.ts | 33 + .../core/services/common/firebase.service.ts | 27 + .../core/services/common/loading.service.ts | 24 + src/app/core/services/common/menu.data.ts | 91 + .../core/services/common/menu.service.spec.ts | 74 + src/app/core/services/common/menu.service.ts | 56 + src/app/core/services/common/nav.service.ts | 102 + .../services/common/permission.service.ts | 33 + .../services/context/app-context.service.ts | 104 + .../context/tenant-context.service.ts | 22 + .../services/context/user-context.service.ts | 31 + .../authentication/authentication.routes.ts | 19 + .../authentication/pages/login/login.html | 85 + .../authentication/pages}/login/login.scss | 2 +- .../authentication/pages}/login/login.ts | 44 +- src/app/features/dashboards/crm/crm.html | 529 + src/app/features/dashboards/crm/crm.scss | 0 src/app/features/dashboards/crm/crm.ts | 618 + .../features/dashboards/dashboard.routes.ts | 12 + src/app/features/errors/error.routes.ts | 15 + .../features/errors/error404/error404.html | 27 + .../features/errors/error404/error404.scss | 0 src/app/features/errors/error404/error404.ts | 16 + src/app/features/errors/particleoptions.ts | 36 + .../cities/data-access/city.endpoints.ts | 11 + .../cities/data-access/city.service.ts | 46 + .../cities/models/city.model.ts | 28 + .../cities/pages/city-list/city-list.html | 170 + .../cities/pages/city-list/city-list.scss | 0 .../cities/pages/city-list/city-list.ts | 560 + .../data-access/country.endpoints.ts | 21 + .../countries/data-access/country.service.ts | 44 + .../countries/models/country.model.ts | 31 + .../pages/country-list/country-list.html | 96 + .../pages/country-list/country-list.scss | 0 .../pages/country-list/country-list.ts | 559 + .../global-masters/countries/public-api.ts | 2 + .../data-access/currency.endpoints.ts | 44 + .../data-access/currency.service.ts | 46 + .../currencies/models/currency.model.ts | 43 + .../pages/currency-list/currency-list.html | 146 + .../pages/currency-list/currency-list.scss | 0 .../pages/currency-list/currency-list.ts | 623 + .../global-masters/currencies/public-api.ts | 2 + .../global-masters/global-masters.routes.ts | 31 +- .../data-access/language.endpoints.ts | 11 + .../languages/data-access/language.service.ts | 48 + .../languages/models/language.model.ts | 31 + .../pages/language-list/language-list.html | 67 + .../pages/language-list/language-list.scss | 1 + .../pages/language-list/language-list.ts | 356 + .../global-masters/languages/public-api.ts | 2 + .../pages/master-list/master-list.html | 26 - .../pages/master-list/master-list.scss | 5 - .../pages/master-list/master-list.ts | 12 - .../states/data-access/state.endpoints.ts | 43 + .../states/data-access/state.service.ts | 45 + .../states/models/state.model.ts | 30 + .../states/pages/state-list/state-list.html | 104 + .../states/pages/state-list/state-list.scss | 0 .../states/pages/state-list/state-list.ts | 570 + .../global-masters/states/public-api.ts | 2 + .../data-access/timezone.endpoints.ts | 11 + .../timezones/data-access/timezone.service.ts | 45 + .../timezones/models/timezone.model.ts | 27 + .../pages/timezone-list/timezone-list.html | 137 + .../pages/timezone-list/timezone-list.scss | 1 + .../pages/timezone-list/timezone-list.ts | 348 + .../global-masters/timezones/public-api.ts | 2 + .../organization-list/organization-list.html | 1 + .../organization-list/organization-list.scss | 0 .../organization-list/organization-list.ts | 11 + .../onboarding-stepper.html | 239 + .../onboarding-stepper.scss | 0 .../onboarding-stepper/onboarding-stepper.ts | 119 + .../models/organization-draft.model.ts | 18 + .../models/organization-onboarding.model.ts | 119 + .../models/organization-provisioning.model.ts | 23 + .../organization-onboarding.html | 66 + .../organization-onboarding.scss | 0 .../organization-onboarding.ts | 164 + .../organization-onboarding-state.service.ts | 189 + .../organization-onboarding.service.ts | 331 + .../organization-basics.html | 134 + .../organization-basics.scss | 1 + .../organization-basics.ts | 217 + .../organization-localization.html | 139 + .../organization-localization.ts | 409 + .../organization-plan-limits.html | 151 + .../organization-plan-limits.ts | 266 + .../organizations/organizations.routes.ts | 14 + .../tenant-currencies.endpoints.ts | 32 + .../data-access/tenant-currencies.service.ts | 47 + .../tenants/data-access/tenant.endpoints.ts | 32 + .../tenants/data-access/tenant.service.ts | 46 + .../tenants/models/tenant-currencies.model.ts | 53 + .../features/tenants/models/tenant.model.ts | 68 + .../tenant-currencies/tenant-currencies.html | 55 + .../tenant-currencies/tenant-currencies.scss | 0 .../tenant-currencies/tenant-currencies.ts | 408 + .../pages/tenant-list/tenant-list.html | 198 +- .../pages/tenant-list/tenant-list.scss | 1 + .../tenants/pages/tenant-list/tenant-list.ts | 631 +- src/app/features/tenants/tenants.routes.ts | 9 +- .../users/data-access/user.endpoints.ts | 10 + .../users/data-access/user.service.ts | 40 + src/app/features/users/models/user.model.ts | 29 + .../users/pages/users-list/users-list.html | 23 +- .../users/pages/users-list/users-list.ts | 518 +- src/app/features/users/users.routes.ts | 4 +- src/app/package-lock.json | 14438 ++++++++++++++++ src/app/package.json | 77 + src/app/shared/components/button/button.html | 56 + src/app/shared/components/button/button.scss | 0 src/app/shared/components/button/button.ts | 349 + .../confirm-dialog/confirm-dialog.html | 10 + .../confirm-dialog/confirm-dialog.scss | 0 .../confirm-dialog/confirm-dialog.ts | 62 + .../components/data-list/data-list.html | 66 + .../shared/components/data-list/data-list.ts | 75 + .../data-table/data-table-cell.directive.ts | 12 + .../data-table/data-table-query.state.ts | 60 + .../data-table/data-table-query.types.ts | 17 + .../components/data-table/data-table.html | 357 +- .../components/data-table/data-table.scss | 256 + .../components/data-table/data-table.ts | 495 +- .../components/data-table/data-table.types.ts | 48 +- .../components/filter-card/filter-card.html | 46 + .../filter-card/filter-card.spec.ts | 142 + .../components/filter-card/filter-card.ts | 72 + .../form/autocomplete/autocomplete.html | 129 + .../form/autocomplete/autocomplete.scss | 120 + .../form/autocomplete/autocomplete.spec.ts | 393 + .../form/autocomplete/autocomplete.ts | 434 + .../form/autocomplete/autocomplete.types.ts | 16 + .../form/form-action/form-action.html | 1 + .../form/form-action/form-action.scss | 0 .../form/form-action/form-action.ts | 11 + .../form/form-checkbox/form-checkbox.html | 1 + .../form/form-checkbox/form-checkbox.scss | 0 .../form/form-checkbox/form-checkbox.ts | 11 + .../form-date-picker/form-date-picker.html | 39 + .../form-date-picker/form-date-picker.scss | 0 .../form/form-date-picker/form-date-picker.ts | 147 + .../form/form-field/form-field.html | 65 + .../form/form-field/form-field.scss | 65 + .../components/form/form-field/form-field.ts | 205 + .../form-file-upload/form-file-upload.html | 1 + .../form-file-upload/form-file-upload.scss | 0 .../form/form-file-upload/form-file-upload.ts | 11 + .../form/form-input/form-input.html | 158 + .../form/form-input/form-input.scss | 98 + .../components/form/form-input/form-input.ts | 328 + .../form/form-radio/form-radio.html | 1 + .../form/form-radio/form-radio.scss | 0 .../components/form/form-radio/form-radio.ts | 11 + .../form/form-select/form-select.html | 225 + .../form/form-select/form-select.scss | 35 + .../form/form-select/form-select.ts | 739 + .../form/form-textarea/form-textarea.html | 1 + .../form/form-textarea/form-textarea.scss | 0 .../form/form-textarea/form-textarea.ts | 11 + .../form-validation-message.html | 14 + .../form-validation-message.scss | 0 .../form-validation-message.ts | 167 + .../form/models/form-select.models.ts | 37 + src/app/shared/components/modal/modal.html | 176 + src/app/shared/components/modal/modal.scss | 750 + src/app/shared/components/modal/modal.ts | 127 + .../spk-reusable-tables.html | 51 + .../spk-reusable-tables.scss | 0 .../spk-reusable-tables.ts | 85 + .../date-time/constants/date-time-formats.ts | 65 + .../date-time/models/date-time-format.ts | 12 + .../pipes/app-date-time.pipe.spec.ts | 35 + .../date-time/pipes/app-date-time.pipe.ts | 28 + .../date-time-formatter.service.spec.ts | 82 + .../services/date-time-formatter.service.ts | 48 + .../directives/data-table-cell.directive.ts | 12 + .../data-table-toolbar.directive.spec.ts | 16 + .../data-table-toolbar.directive.ts | 15 + .../directives/tooltip/tooltip.directive.ts | 231 + .../directives/tooltip/tooltip/tooltip.html | 26 + .../directives/tooltip/tooltip/tooltip.scss | 0 .../directives/tooltip/tooltip/tooltip.ts | 59 + src/app/shared/routes/auth.routes.ts | 19 - .../authentication-layout.html | 2 + .../authentication-layout.scss | 0 .../authentication-layout.ts | 14 + .../content-layout/content-layout.html | 46 + .../content-layout/content-layout.scss | 0 .../layouts/content-layout/content-layout.ts | 143 + .../routes/content.routes.ts | 6 +- src/app/shell/ui/app-loader/app-loader.html | 8 + src/app/shell/ui/app-loader/app-loader.scss | 0 src/app/shell/ui/app-loader/app-loader.ts | 13 + src/app/shell/ui/footer/footer.html | 15 + src/app/shell/ui/footer/footer.scss | 0 src/app/shell/ui/footer/footer.ts | 13 + src/app/shell/ui/header/header.html | 524 + src/app/shell/ui/header/header.scss | 0 src/app/shell/ui/header/header.ts | 318 + src/app/shell/ui/header/headerdata.ts | 102 + src/app/shell/ui/page-header/page-header.html | 35 + src/app/shell/ui/page-header/page-header.scss | 11 + src/app/shell/ui/page-header/page-header.ts | 34 + .../problem-details-toast.ts | 16 + src/app/shell/ui/sidebar/sidebar.html | 216 + src/app/shell/ui/sidebar/sidebar.scss | 0 src/app/shell/ui/sidebar/sidebar.ts | 526 + src/app/shell/ui/switcher/switcher.html | 543 + src/app/shell/ui/switcher/switcher.scss | 0 src/app/shell/ui/switcher/switcher.ts | 191 + src/app/shell/ui/tab-to-top/tab-to-top.html | 6 + src/app/shell/ui/tab-to-top/tab-to-top.scss | 0 src/app/shell/ui/tab-to-top/tab-to-top.ts | 35 + src/app/tsconfig.app.json | 16 + src/app/tsconfig.json | 33 + src/app/tsconfig.spec.json | 15 + src/environments/environment.model.ts | 24 + src/environments/environment.prod.ts | 9 +- src/environments/environment.ts | 12 +- src/styles.scss | 53 +- 251 files changed, 37133 insertions(+), 461 deletions(-) create mode 100644 src/app/.editorconfig create mode 100644 src/app/.gitignore create mode 100644 src/app/.postcssrc.json create mode 100644 src/app/@spk/charts/charts/spk-echarts/spk-echarts.html create mode 100644 src/app/@spk/charts/charts/spk-echarts/spk-echarts.scss create mode 100644 src/app/@spk/charts/charts/spk-echarts/spk-echarts.ts create mode 100644 src/app/README.md create mode 100644 src/app/angular.json delete mode 100644 src/app/authentication/login/login.html create mode 100644 src/app/core/config/api-host.ts create mode 100644 src/app/core/config/api-url.util.ts create mode 100644 src/app/core/end-points/auth/auth.endpoints.ts create mode 100644 src/app/core/guards/auth/auth.guard.ts create mode 100644 src/app/core/guards/auth/guest.guard.ts create mode 100644 src/app/core/guards/auth/super-admin.guard.ts create mode 100644 src/app/core/models/api-response/api-response.model.ts create mode 100644 src/app/core/models/auth/auth.model.ts create mode 100644 src/app/core/models/context/context.model.ts create mode 100644 src/app/core/services/auth/auth.service.ts create mode 100644 src/app/core/services/auth/session-timeout.service.ts create mode 100644 src/app/core/services/auth/token-storage.service.ts create mode 100644 src/app/core/services/common/app-state.service.ts create mode 100644 src/app/core/services/common/base-api.service.ts create mode 100644 src/app/core/services/common/firebase.service.ts create mode 100644 src/app/core/services/common/loading.service.ts create mode 100644 src/app/core/services/common/menu.data.ts create mode 100644 src/app/core/services/common/menu.service.spec.ts create mode 100644 src/app/core/services/common/menu.service.ts create mode 100644 src/app/core/services/common/nav.service.ts create mode 100644 src/app/core/services/common/permission.service.ts create mode 100644 src/app/core/services/context/app-context.service.ts create mode 100644 src/app/core/services/context/tenant-context.service.ts create mode 100644 src/app/core/services/context/user-context.service.ts create mode 100644 src/app/features/authentication/authentication.routes.ts create mode 100644 src/app/features/authentication/pages/login/login.html rename src/app/{authentication => features/authentication/pages}/login/login.scss (97%) rename src/app/{authentication => features/authentication/pages}/login/login.ts (72%) create mode 100644 src/app/features/dashboards/crm/crm.html create mode 100644 src/app/features/dashboards/crm/crm.scss create mode 100644 src/app/features/dashboards/crm/crm.ts create mode 100644 src/app/features/dashboards/dashboard.routes.ts create mode 100644 src/app/features/errors/error.routes.ts create mode 100644 src/app/features/errors/error404/error404.html create mode 100644 src/app/features/errors/error404/error404.scss create mode 100644 src/app/features/errors/error404/error404.ts create mode 100644 src/app/features/errors/particleoptions.ts create mode 100644 src/app/features/global-masters/cities/data-access/city.endpoints.ts create mode 100644 src/app/features/global-masters/cities/data-access/city.service.ts create mode 100644 src/app/features/global-masters/cities/models/city.model.ts create mode 100644 src/app/features/global-masters/cities/pages/city-list/city-list.html create mode 100644 src/app/features/global-masters/cities/pages/city-list/city-list.scss create mode 100644 src/app/features/global-masters/cities/pages/city-list/city-list.ts create mode 100644 src/app/features/global-masters/countries/data-access/country.endpoints.ts create mode 100644 src/app/features/global-masters/countries/data-access/country.service.ts create mode 100644 src/app/features/global-masters/countries/models/country.model.ts create mode 100644 src/app/features/global-masters/countries/pages/country-list/country-list.html create mode 100644 src/app/features/global-masters/countries/pages/country-list/country-list.scss create mode 100644 src/app/features/global-masters/countries/pages/country-list/country-list.ts create mode 100644 src/app/features/global-masters/countries/public-api.ts create mode 100644 src/app/features/global-masters/currencies/data-access/currency.endpoints.ts create mode 100644 src/app/features/global-masters/currencies/data-access/currency.service.ts create mode 100644 src/app/features/global-masters/currencies/models/currency.model.ts create mode 100644 src/app/features/global-masters/currencies/pages/currency-list/currency-list.html create mode 100644 src/app/features/global-masters/currencies/pages/currency-list/currency-list.scss create mode 100644 src/app/features/global-masters/currencies/pages/currency-list/currency-list.ts create mode 100644 src/app/features/global-masters/currencies/public-api.ts create mode 100644 src/app/features/global-masters/languages/data-access/language.endpoints.ts create mode 100644 src/app/features/global-masters/languages/data-access/language.service.ts create mode 100644 src/app/features/global-masters/languages/models/language.model.ts create mode 100644 src/app/features/global-masters/languages/pages/language-list/language-list.html create mode 100644 src/app/features/global-masters/languages/pages/language-list/language-list.scss create mode 100644 src/app/features/global-masters/languages/pages/language-list/language-list.ts create mode 100644 src/app/features/global-masters/languages/public-api.ts delete mode 100644 src/app/features/global-masters/pages/master-list/master-list.html delete mode 100644 src/app/features/global-masters/pages/master-list/master-list.scss delete mode 100644 src/app/features/global-masters/pages/master-list/master-list.ts create mode 100644 src/app/features/global-masters/states/data-access/state.endpoints.ts create mode 100644 src/app/features/global-masters/states/data-access/state.service.ts create mode 100644 src/app/features/global-masters/states/models/state.model.ts create mode 100644 src/app/features/global-masters/states/pages/state-list/state-list.html create mode 100644 src/app/features/global-masters/states/pages/state-list/state-list.scss create mode 100644 src/app/features/global-masters/states/pages/state-list/state-list.ts create mode 100644 src/app/features/global-masters/states/public-api.ts create mode 100644 src/app/features/global-masters/timezones/data-access/timezone.endpoints.ts create mode 100644 src/app/features/global-masters/timezones/data-access/timezone.service.ts create mode 100644 src/app/features/global-masters/timezones/models/timezone.model.ts create mode 100644 src/app/features/global-masters/timezones/pages/timezone-list/timezone-list.html create mode 100644 src/app/features/global-masters/timezones/pages/timezone-list/timezone-list.scss create mode 100644 src/app/features/global-masters/timezones/pages/timezone-list/timezone-list.ts create mode 100644 src/app/features/global-masters/timezones/public-api.ts create mode 100644 src/app/features/organizations/organization-list/organization-list.html create mode 100644 src/app/features/organizations/organization-list/organization-list.scss create mode 100644 src/app/features/organizations/organization-list/organization-list.ts create mode 100644 src/app/features/organizations/organization-onboarding/components/onboarding-stepper/onboarding-stepper.html create mode 100644 src/app/features/organizations/organization-onboarding/components/onboarding-stepper/onboarding-stepper.scss create mode 100644 src/app/features/organizations/organization-onboarding/components/onboarding-stepper/onboarding-stepper.ts create mode 100644 src/app/features/organizations/organization-onboarding/models/organization-draft.model.ts create mode 100644 src/app/features/organizations/organization-onboarding/models/organization-onboarding.model.ts create mode 100644 src/app/features/organizations/organization-onboarding/models/organization-provisioning.model.ts create mode 100644 src/app/features/organizations/organization-onboarding/organization-onboarding.html create mode 100644 src/app/features/organizations/organization-onboarding/organization-onboarding.scss create mode 100644 src/app/features/organizations/organization-onboarding/organization-onboarding.ts create mode 100644 src/app/features/organizations/organization-onboarding/services/organization-onboarding-state.service.ts create mode 100644 src/app/features/organizations/organization-onboarding/services/organization-onboarding.service.ts create mode 100644 src/app/features/organizations/organization-onboarding/steps/organization-basics/organization-basics.html create mode 100644 src/app/features/organizations/organization-onboarding/steps/organization-basics/organization-basics.scss create mode 100644 src/app/features/organizations/organization-onboarding/steps/organization-basics/organization-basics.ts create mode 100644 src/app/features/organizations/organization-onboarding/steps/organization-localization/organization-localization.html create mode 100644 src/app/features/organizations/organization-onboarding/steps/organization-localization/organization-localization.ts create mode 100644 src/app/features/organizations/organization-onboarding/steps/organization-plan-limits/organization-plan-limits.html create mode 100644 src/app/features/organizations/organization-onboarding/steps/organization-plan-limits/organization-plan-limits.ts create mode 100644 src/app/features/organizations/organizations.routes.ts create mode 100644 src/app/features/tenants/data-access/tenant-currencies.endpoints.ts create mode 100644 src/app/features/tenants/data-access/tenant-currencies.service.ts create mode 100644 src/app/features/tenants/data-access/tenant.endpoints.ts create mode 100644 src/app/features/tenants/data-access/tenant.service.ts create mode 100644 src/app/features/tenants/models/tenant-currencies.model.ts create mode 100644 src/app/features/tenants/models/tenant.model.ts create mode 100644 src/app/features/tenants/pages/tenant-currencies/tenant-currencies.html create mode 100644 src/app/features/tenants/pages/tenant-currencies/tenant-currencies.scss create mode 100644 src/app/features/tenants/pages/tenant-currencies/tenant-currencies.ts create mode 100644 src/app/features/users/data-access/user.endpoints.ts create mode 100644 src/app/features/users/data-access/user.service.ts create mode 100644 src/app/features/users/models/user.model.ts create mode 100644 src/app/package-lock.json create mode 100644 src/app/package.json create mode 100644 src/app/shared/components/button/button.html create mode 100644 src/app/shared/components/button/button.scss create mode 100644 src/app/shared/components/button/button.ts create mode 100644 src/app/shared/components/confirm-dialog/confirm-dialog.html create mode 100644 src/app/shared/components/confirm-dialog/confirm-dialog.scss create mode 100644 src/app/shared/components/confirm-dialog/confirm-dialog.ts create mode 100644 src/app/shared/components/data-list/data-list.html create mode 100644 src/app/shared/components/data-list/data-list.ts create mode 100644 src/app/shared/components/data-table/data-table-cell.directive.ts create mode 100644 src/app/shared/components/data-table/data-table-query.state.ts create mode 100644 src/app/shared/components/data-table/data-table-query.types.ts create mode 100644 src/app/shared/components/filter-card/filter-card.html create mode 100644 src/app/shared/components/filter-card/filter-card.spec.ts create mode 100644 src/app/shared/components/filter-card/filter-card.ts create mode 100644 src/app/shared/components/form/autocomplete/autocomplete.html create mode 100644 src/app/shared/components/form/autocomplete/autocomplete.scss create mode 100644 src/app/shared/components/form/autocomplete/autocomplete.spec.ts create mode 100644 src/app/shared/components/form/autocomplete/autocomplete.ts create mode 100644 src/app/shared/components/form/autocomplete/autocomplete.types.ts create mode 100644 src/app/shared/components/form/form-action/form-action.html create mode 100644 src/app/shared/components/form/form-action/form-action.scss create mode 100644 src/app/shared/components/form/form-action/form-action.ts create mode 100644 src/app/shared/components/form/form-checkbox/form-checkbox.html create mode 100644 src/app/shared/components/form/form-checkbox/form-checkbox.scss create mode 100644 src/app/shared/components/form/form-checkbox/form-checkbox.ts create mode 100644 src/app/shared/components/form/form-date-picker/form-date-picker.html create mode 100644 src/app/shared/components/form/form-date-picker/form-date-picker.scss create mode 100644 src/app/shared/components/form/form-date-picker/form-date-picker.ts create mode 100644 src/app/shared/components/form/form-field/form-field.html create mode 100644 src/app/shared/components/form/form-field/form-field.scss create mode 100644 src/app/shared/components/form/form-field/form-field.ts create mode 100644 src/app/shared/components/form/form-file-upload/form-file-upload.html create mode 100644 src/app/shared/components/form/form-file-upload/form-file-upload.scss create mode 100644 src/app/shared/components/form/form-file-upload/form-file-upload.ts create mode 100644 src/app/shared/components/form/form-input/form-input.html create mode 100644 src/app/shared/components/form/form-input/form-input.scss create mode 100644 src/app/shared/components/form/form-input/form-input.ts create mode 100644 src/app/shared/components/form/form-radio/form-radio.html create mode 100644 src/app/shared/components/form/form-radio/form-radio.scss create mode 100644 src/app/shared/components/form/form-radio/form-radio.ts create mode 100644 src/app/shared/components/form/form-select/form-select.html create mode 100644 src/app/shared/components/form/form-select/form-select.scss create mode 100644 src/app/shared/components/form/form-select/form-select.ts create mode 100644 src/app/shared/components/form/form-textarea/form-textarea.html create mode 100644 src/app/shared/components/form/form-textarea/form-textarea.scss create mode 100644 src/app/shared/components/form/form-textarea/form-textarea.ts create mode 100644 src/app/shared/components/form/form-validation-message/form-validation-message.html create mode 100644 src/app/shared/components/form/form-validation-message/form-validation-message.scss create mode 100644 src/app/shared/components/form/form-validation-message/form-validation-message.ts create mode 100644 src/app/shared/components/form/models/form-select.models.ts create mode 100644 src/app/shared/components/modal/modal.html create mode 100644 src/app/shared/components/modal/modal.scss create mode 100644 src/app/shared/components/modal/modal.ts create mode 100644 src/app/shared/components/spk-reusable-tables/spk-reusable-tables.html create mode 100644 src/app/shared/components/spk-reusable-tables/spk-reusable-tables.scss create mode 100644 src/app/shared/components/spk-reusable-tables/spk-reusable-tables.ts create mode 100644 src/app/shared/date-time/constants/date-time-formats.ts create mode 100644 src/app/shared/date-time/models/date-time-format.ts create mode 100644 src/app/shared/date-time/pipes/app-date-time.pipe.spec.ts create mode 100644 src/app/shared/date-time/pipes/app-date-time.pipe.ts create mode 100644 src/app/shared/date-time/services/date-time-formatter.service.spec.ts create mode 100644 src/app/shared/date-time/services/date-time-formatter.service.ts create mode 100644 src/app/shared/directives/data-table-cell.directive.ts create mode 100644 src/app/shared/directives/data-table-toolbar/data-table-toolbar.directive.spec.ts create mode 100644 src/app/shared/directives/data-table-toolbar/data-table-toolbar.directive.ts create mode 100644 src/app/shared/directives/tooltip/tooltip.directive.ts create mode 100644 src/app/shared/directives/tooltip/tooltip/tooltip.html create mode 100644 src/app/shared/directives/tooltip/tooltip/tooltip.scss create mode 100644 src/app/shared/directives/tooltip/tooltip/tooltip.ts delete mode 100644 src/app/shared/routes/auth.routes.ts create mode 100644 src/app/shell/layouts/authentication-layout/authentication-layout.html create mode 100644 src/app/shell/layouts/authentication-layout/authentication-layout.scss create mode 100644 src/app/shell/layouts/authentication-layout/authentication-layout.ts create mode 100644 src/app/shell/layouts/content-layout/content-layout.html create mode 100644 src/app/shell/layouts/content-layout/content-layout.scss create mode 100644 src/app/shell/layouts/content-layout/content-layout.ts rename src/app/{shared => shell}/routes/content.routes.ts (81%) create mode 100644 src/app/shell/ui/app-loader/app-loader.html create mode 100644 src/app/shell/ui/app-loader/app-loader.scss create mode 100644 src/app/shell/ui/app-loader/app-loader.ts create mode 100644 src/app/shell/ui/footer/footer.html create mode 100644 src/app/shell/ui/footer/footer.scss create mode 100644 src/app/shell/ui/footer/footer.ts create mode 100644 src/app/shell/ui/header/header.html create mode 100644 src/app/shell/ui/header/header.scss create mode 100644 src/app/shell/ui/header/header.ts create mode 100644 src/app/shell/ui/header/headerdata.ts create mode 100644 src/app/shell/ui/page-header/page-header.html create mode 100644 src/app/shell/ui/page-header/page-header.scss create mode 100644 src/app/shell/ui/page-header/page-header.ts create mode 100644 src/app/shell/ui/problem-details-toast/problem-details-toast.ts create mode 100644 src/app/shell/ui/sidebar/sidebar.html create mode 100644 src/app/shell/ui/sidebar/sidebar.scss create mode 100644 src/app/shell/ui/sidebar/sidebar.ts create mode 100644 src/app/shell/ui/switcher/switcher.html create mode 100644 src/app/shell/ui/switcher/switcher.scss create mode 100644 src/app/shell/ui/switcher/switcher.ts create mode 100644 src/app/shell/ui/tab-to-top/tab-to-top.html create mode 100644 src/app/shell/ui/tab-to-top/tab-to-top.scss create mode 100644 src/app/shell/ui/tab-to-top/tab-to-top.ts create mode 100644 src/app/tsconfig.app.json create mode 100644 src/app/tsconfig.json create mode 100644 src/app/tsconfig.spec.json create mode 100644 src/environments/environment.model.ts diff --git a/src/app/.editorconfig b/src/app/.editorconfig new file mode 100644 index 00000000..f166060d --- /dev/null +++ b/src/app/.editorconfig @@ -0,0 +1,17 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single +ij_typescript_use_double_quotes = false + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/src/app/.gitignore b/src/app/.gitignore new file mode 100644 index 00000000..d480cdcf --- /dev/null +++ b/src/app/.gitignore @@ -0,0 +1,55 @@ +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +node_modules/ +.angular/ +dist/ + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings +__screenshots__/ + +# System files +.DS_Store +Thumbs.db + + +# Ignore local ESLint config +eslint.config.js + +# Ignore preview folder +preview/ +src/.htaccess \ No newline at end of file diff --git a/src/app/.postcssrc.json b/src/app/.postcssrc.json new file mode 100644 index 00000000..6e4364ec --- /dev/null +++ b/src/app/.postcssrc.json @@ -0,0 +1,6 @@ +{ + "plugins": { + "@tailwindcss/postcss": {}, + "autoprefixer": {} + } +} diff --git a/src/app/@spk/charts/charts/spk-echarts/spk-echarts.html b/src/app/@spk/charts/charts/spk-echarts/spk-echarts.html new file mode 100644 index 00000000..79a0230a --- /dev/null +++ b/src/app/@spk/charts/charts/spk-echarts/spk-echarts.html @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/src/app/@spk/charts/charts/spk-echarts/spk-echarts.scss b/src/app/@spk/charts/charts/spk-echarts/spk-echarts.scss new file mode 100644 index 00000000..e69de29b diff --git a/src/app/@spk/charts/charts/spk-echarts/spk-echarts.ts b/src/app/@spk/charts/charts/spk-echarts/spk-echarts.ts new file mode 100644 index 00000000..c0b9fe4e --- /dev/null +++ b/src/app/@spk/charts/charts/spk-echarts/spk-echarts.ts @@ -0,0 +1,16 @@ +import { NgClass } from '@angular/common'; +import { Component, input } from '@angular/core'; +import { NgxEchartsDirective } from 'ngx-echarts'; +import { EChartsOption } from 'echarts'; +@Component({ + selector: 'spk-echarts', + imports: [NgxEchartsDirective, NgClass], + templateUrl: './spk-echarts.html', + styleUrl: './spk-echarts.scss' +}) +export class SpkEcharts { + options = input