Skip to content

Commit 797e725

Browse files
committed
MOBILE-4759 chore: Main components, pipes and directives as standalone
1 parent 3a6f027 commit 797e725

File tree

79 files changed

+445
-60
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+445
-60
lines changed

src/core/components/attachments/attachments.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,15 @@ import { toBoolean } from '@/core/transforms/boolean';
2828
import { CoreAlerts } from '@services/overlays/alerts';
2929
import { CoreToasts } from '@services/overlays/toasts';
3030
import { CoreWSFile } from '@services/ws';
31+
import { TranslateModule } from '@ngx-translate/core';
32+
import { CoreFileComponent } from '../file/file';
33+
import { CoreLocalFileComponent } from '../local-file/local-file';
34+
import { NgFor } from '@angular/common';
35+
import { CoreFaIconDirective } from '../../directives/fa-icon';
36+
import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes';
37+
import { CoreMarkRequiredComponent } from '../mark-required/mark-required';
38+
import { IonicModule } from '@ionic/angular';
39+
import { CoreLoadingComponent } from '../loading/loading';
3140

3241
/**
3342
* Component to render attachments, allow adding more and delete the current ones.
@@ -46,6 +55,18 @@ import { CoreWSFile } from '@services/ws';
4655
selector: 'core-attachments',
4756
templateUrl: 'core-attachments.html',
4857
styleUrl: 'attachments.scss',
58+
standalone: true,
59+
imports: [
60+
CoreLoadingComponent,
61+
IonicModule,
62+
CoreMarkRequiredComponent,
63+
CoreUpdateNonReactiveAttributesDirective,
64+
CoreFaIconDirective,
65+
NgFor,
66+
CoreLocalFileComponent,
67+
CoreFileComponent,
68+
TranslateModule,
69+
],
4970
})
5071
export class CoreAttachmentsComponent implements OnInit {
5172

src/core/components/bs-tooltip/bs-tooltip.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,16 @@
1414

1515
import { toBoolean } from '@/core/transforms/boolean';
1616
import { Component, Input } from '@angular/core';
17+
import { IonicModule } from '@ionic/angular';
1718

1819
/**
1920
* Component to display a Bootstrap Tooltip in a popover.
2021
*/
2122
@Component({
2223
selector: 'core-bs-tooltip',
2324
templateUrl: 'core-bs-tooltip.html',
25+
standalone: true,
26+
imports: [IonicModule],
2427
})
2528
export class CoreBSTooltipComponent {
2629

src/core/components/button-with-spinner/button-with-spinner.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
import { toBoolean } from '@/core/transforms/boolean';
1616
import { Component, Input } from '@angular/core';
1717
import { CoreAnimations } from '@components/animations';
18+
import { TranslateModule } from '@ngx-translate/core';
19+
import { IonicModule } from '@ionic/angular';
1820

1921
/**
2022
* Component to show a button or a spinner when loading.
@@ -29,6 +31,8 @@ import { CoreAnimations } from '@components/animations';
2931
templateUrl: 'core-button-with-spinner.html',
3032
styleUrl: 'button-with-spinner.scss',
3133
animations: [CoreAnimations.SHOW_HIDE],
34+
standalone: true,
35+
imports: [IonicModule, TranslateModule],
3236
})
3337
export class CoreButtonWithSpinnerComponent {
3438

src/core/components/chart/chart.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import { Component, Input, OnDestroy, OnInit, ElementRef, OnChanges, ViewChild,
1818
import { CoreFilter } from '@features/filter/services/filter';
1919
import { CoreFilterHelper } from '@features/filter/services/filter-helper';
2020
import { ChartLegendLabelItem, ChartLegendOptions } from 'chart.js';
21+
import { CoreFaIconDirective } from '../../directives/fa-icon';
22+
import { IonicModule } from '@ionic/angular';
2123

2224
/**
2325
* This component shows a chart using chart.js.
@@ -31,6 +33,8 @@ import { ChartLegendLabelItem, ChartLegendOptions } from 'chart.js';
3133
selector: 'core-chart',
3234
templateUrl: 'core-chart.html',
3335
styleUrl: 'chart.scss',
36+
standalone: true,
37+
imports: [IonicModule, CoreFaIconDirective],
3438
})
3539
export class CoreChartComponent implements OnDestroy, OnInit, OnChanges {
3640

src/core/components/chrono/chrono.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import {
2424
SimpleChange,
2525
ChangeDetectorRef,
2626
} from '@angular/core';
27+
import { CoreSecondsToHMSPipe } from '../../pipes/seconds-to-hms';
2728

2829
/**
2930
* This component shows a chronometer in format HH:MM:SS.
@@ -40,6 +41,10 @@ import {
4041
@Component({
4142
selector: 'core-chrono',
4243
templateUrl: 'core-chrono.html',
44+
standalone: true,
45+
imports: [
46+
CoreSecondsToHMSPipe,
47+
],
4348
})
4449
export class CoreChronoComponent implements OnInit, OnChanges, OnDestroy {
4550

src/core/components/combobox/combobox.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,12 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
1616
import { Translate } from '@singletons';
1717
import { ModalOptions } from '@ionic/core';
1818
import { CoreModals } from '@services/overlays/modals';
19-
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
19+
import { ControlValueAccessor, NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
2020
import { toBoolean } from '@/core/transforms/boolean';
21+
import { CoreFormatTextDirective } from '../../directives/format-text';
22+
import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes';
23+
import { CoreFaIconDirective } from '../../directives/fa-icon';
24+
import { IonicModule } from '@ionic/angular';
2125

2226
/**
2327
* Component that show a combo select button (combobox).
@@ -44,10 +48,18 @@ import { toBoolean } from '@/core/transforms/boolean';
4448
providers: [
4549
{
4650
provide: NG_VALUE_ACCESSOR,
47-
multi:true,
51+
multi: true,
4852
useExisting: CoreComboboxComponent,
4953
},
5054
],
55+
standalone: true,
56+
imports: [
57+
IonicModule,
58+
FormsModule,
59+
CoreFaIconDirective,
60+
CoreUpdateNonReactiveAttributesDirective,
61+
CoreFormatTextDirective,
62+
],
5163
})
5264
export class CoreComboboxComponent implements ControlValueAccessor {
5365

src/core/components/components.module.ts

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,7 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
import { CUSTOM_ELEMENTS_SCHEMA, NgModule, Type } from '@angular/core';
16-
import { CommonModule } from '@angular/common';
17-
import { IonicModule } from '@ionic/angular';
18-
import { TranslateModule } from '@ngx-translate/core';
19-
import { FormsModule } from '@angular/forms';
20-
21-
import { CoreDirectivesModule } from '@directives/directives.module';
22-
import { CorePipesModule } from '@pipes/pipes.module';
15+
import { NgModule, Type } from '@angular/core';
2316

2417
import { CoreAttachmentsComponent } from './attachments/attachments';
2518
import { CoreBSTooltipComponent } from './bs-tooltip/bs-tooltip';
@@ -44,7 +37,6 @@ import { CoreNavigationBarComponent } from './navigation-bar/navigation-bar';
4437
import { CoreProgressBarComponent } from './progress-bar/progress-bar';
4538
import { CoreRecaptchaComponent } from './recaptcha/recaptcha';
4639
import { CoreSendMessageFormComponent } from './send-message-form/send-message-form';
47-
import { CoreShowPasswordComponent } from './show-password/show-password';
4840
import { CoreSitePickerComponent } from './site-picker/site-picker';
4941
import { CoreSplitViewComponent } from './split-view/split-view';
5042
import { CoreTabComponent } from './tabs/tab';
@@ -72,14 +64,17 @@ import { CoreSitesListComponent } from './sites-list/sites-list';
7264
export async function getCoreStandaloneComponents(): Promise<Type<unknown>[]> {
7365
// eslint-disable-next-line deprecation/deprecation
7466
const { CoreStyleComponent } = await import('@components/style/style');
67+
// eslint-disable-next-line deprecation/deprecation
68+
const { CoreShowPasswordComponent } = await import('@components/show-password/show-password');
7569

7670
return [
7771
CoreStyleComponent,
72+
CoreShowPasswordComponent,
7873
];
7974
}
8075

8176
@NgModule({
82-
declarations: [
77+
imports: [
8378
CoreAttachmentsComponent,
8479
CoreBSTooltipComponent,
8580
CoreButtonWithSpinnerComponent,
@@ -107,7 +102,6 @@ export async function getCoreStandaloneComponents(): Promise<Type<unknown>[]> {
107102
CoreProgressBarComponent,
108103
CoreRecaptchaComponent,
109104
CoreSendMessageFormComponent,
110-
CoreShowPasswordComponent, // eslint-disable-line deprecation/deprecation
111105
CoreSitePickerComponent,
112106
CoreSplitViewComponent,
113107
CoreSwipeSlidesComponent,
@@ -123,14 +117,6 @@ export async function getCoreStandaloneComponents(): Promise<Type<unknown>[]> {
123117
CoreSheetModalComponent,
124118
CoreSitesListComponent,
125119
],
126-
imports: [
127-
CommonModule,
128-
IonicModule,
129-
FormsModule,
130-
TranslateModule.forChild(),
131-
CoreDirectivesModule,
132-
CorePipesModule,
133-
],
134120
exports: [
135121
CoreAttachmentsComponent,
136122
CoreBSTooltipComponent,
@@ -159,7 +145,6 @@ export async function getCoreStandaloneComponents(): Promise<Type<unknown>[]> {
159145
CoreProgressBarComponent,
160146
CoreRecaptchaComponent,
161147
CoreSendMessageFormComponent,
162-
CoreShowPasswordComponent, // eslint-disable-line deprecation/deprecation
163148
CoreSitePickerComponent,
164149
CoreSplitViewComponent,
165150
CoreSwipeSlidesComponent,
@@ -175,6 +160,5 @@ export async function getCoreStandaloneComponents(): Promise<Type<unknown>[]> {
175160
CoreSheetModalComponent,
176161
CoreSitesListComponent,
177162
],
178-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
179163
})
180164
export class CoreComponentsModule {}

src/core/components/context-menu/context-menu-item.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import { CoreUtils } from '@singletons/utils';
3333
@Component({
3434
selector: 'core-context-menu-item',
3535
template: '',
36+
standalone: true,
3637
})
3738
export class CoreContextMenuItemComponent implements OnInit, OnDestroy, OnChanges {
3839

src/core/components/context-menu/context-menu.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,22 @@ import { CoreUtils } from '@singletons/utils';
2020
import { Translate } from '@singletons';
2121
import { CoreContextMenuItemComponent } from './context-menu-item';
2222
import { CoreDirectivesRegistry } from '@singletons/directives-registry';
23+
import { CoreFaIconDirective } from '../../directives/fa-icon';
24+
import { CoreUpdateNonReactiveAttributesDirective } from '../../directives/update-non-reactive-attributes';
25+
import { IonicModule } from '@ionic/angular';
2326

2427
/**
2528
* This component adds a button (usually in the navigation bar) that displays a context menu popover.
2629
*/
2730
@Component({
2831
selector: 'core-context-menu',
2932
templateUrl: 'core-context-menu.html',
33+
standalone: true,
34+
imports: [
35+
IonicModule,
36+
CoreUpdateNonReactiveAttributesDirective,
37+
CoreFaIconDirective,
38+
],
3039
})
3140
export class CoreContextMenuComponent implements OnInit, OnDestroy {
3241

src/core/components/course-image/course-image.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,20 @@ import { Component, ElementRef, HostBinding, input, effect } from '@angular/core
1717
import { CoreCourseListItem } from '@features/courses/services/courses';
1818
import { CoreCoursesHelper } from '@features/courses/services/courses-helper';
1919
import { CoreColors } from '@singletons/colors';
20+
import { CoreExternalContentDirective } from '../../directives/external-content';
21+
import { CoreFaIconDirective } from '../../directives/fa-icon';
22+
import { IonicModule } from '@ionic/angular';
2023

2124
@Component({
2225
selector: 'core-course-image',
2326
templateUrl: 'course-image.html',
2427
styleUrl: './course-image.scss',
28+
standalone: true,
29+
imports: [
30+
IonicModule,
31+
CoreFaIconDirective,
32+
CoreExternalContentDirective,
33+
],
2534
})
2635
export class CoreCourseImageComponent {
2736

0 commit comments

Comments
 (0)