Skip to content

Commit 0ed312a

Browse files
committed
#29736 include in 23.10.24 LTS
1 parent e9b5405 commit 0ed312a

2 files changed

Lines changed: 13 additions & 19 deletions

File tree

Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<ul
22
class="content-types-fields-list"
3-
[dragulaModel]="$fieldTypes()"
3+
[dragulaModel]="fieldTypes"
44
dragula="fields-bag"
55
data-drag-type="source">
66
<li
77
class="content-types-fields-list__item"
8-
*ngFor="let fieldType of $fieldTypes(); trackBy: trackByClazz"
8+
*ngFor="let fieldType of fieldTypes"
99
[attr.data-clazz]="fieldType.clazz">
10-
<dot-icon [name]="fieldIcons[fieldType.clazz]"></dot-icon>
10+
<dot-icon name="{{ fieldService.getIcon(fieldType.clazz) }}"></dot-icon>
1111
<span role="listitem">{{ fieldType.name }}</span>
1212
</li>
1313
</ul>

core-web/apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-types-fields-list/content-types-fields-list.component.ts

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import { BehaviorSubject } from 'rxjs';
1+
import { Component, Input, OnInit } from '@angular/core';
22

3-
import { Component, inject, Input, OnInit } from '@angular/core';
4-
5-
import { filter, mergeMap, take, toArray } from 'rxjs/operators';
3+
import { filter, flatMap, take, toArray } from 'rxjs/operators';
64

75
import { FieldUtil } from '@dotcms/utils-testing';
8-
import { FIELD_ICONS } from '@portlets/shared/dot-content-types-edit/components/fields/content-types-fields-list/content-types-fields-icon-map';
96

107
import { FieldType } from '..';
118
import { FieldService } from '../service';
@@ -23,10 +20,9 @@ import { FieldService } from '../service';
2320
export class ContentTypesFieldsListComponent implements OnInit {
2421
@Input() baseType: string;
2522

26-
$fieldTypes = new BehaviorSubject<{ clazz: string; name: string }[]>([]);
27-
fieldIcons = FIELD_ICONS;
23+
fieldTypes: { clazz: string; name: string }[];
2824

29-
#dotFormFields = [
25+
private dotFormFields = [
3026
'com.dotcms.contenttype.model.field.ImmutableBinaryField',
3127
'com.dotcms.contenttype.model.field.ImmutableCheckboxField',
3228
'com.dotcms.contenttype.model.field.ImmutableDateField',
@@ -41,16 +37,14 @@ export class ContentTypesFieldsListComponent implements OnInit {
4137
'com.dotcms.contenttype.model.field.ImmutableTextField'
4238
];
4339

44-
#backListFields = ['relationships_tab', 'permissions_tab', 'tab_divider'];
45-
46-
readonly #fieldService = inject(FieldService);
40+
constructor(public fieldService: FieldService) {}
4741

4842
ngOnInit(): void {
49-
this.#fieldService
43+
this.fieldService
5044
.loadFieldTypes()
5145
.pipe(
52-
mergeMap((fields: FieldType[]) => fields),
53-
filter((field: FieldType) => !this.#backListFields.includes(field.id)),
46+
flatMap((fields: FieldType[]) => fields),
47+
filter((field: FieldType) => field.id !== 'tab_divider'),
5448
toArray(),
5549
take(1)
5650
)
@@ -76,11 +70,11 @@ export class ContentTypesFieldsListComponent implements OnInit {
7670
);
7771

7872
const COLUMN_BREAK_FIELD = FieldUtil.createColumnBreak();
79-
this.$fieldTypes.next([COLUMN_BREAK_FIELD, LINE_DIVIDER, ...fieldsFiltered]);
73+
this.fieldTypes = [COLUMN_BREAK_FIELD, LINE_DIVIDER, ...fieldsFiltered];
8074
});
8175
}
8276

8377
private isFormField(field: { clazz: string; name: string }): boolean {
84-
return this.#dotFormFields.includes(field.clazz);
78+
return this.dotFormFields.includes(field.clazz);
8579
}
8680
}

0 commit comments

Comments
 (0)