@alfresco/adf-core 8.4.0-19170451716 → 8.4.0-19262179724
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/assets/adf-core/i18n/de.json +18 -4
- package/bundles/assets/adf-core/i18n/en.json +1 -0
- package/bundles/assets/adf-core/i18n/es.json +18 -4
- package/bundles/assets/adf-core/i18n/fr.json +18 -4
- package/bundles/assets/adf-core/i18n/it.json +18 -4
- package/bundles/assets/adf-core/i18n/pl.json +18 -4
- package/bundles/assets/adf-core/i18n/pt.json +18 -4
- package/fesm2022/adf-core.mjs +112 -85
- package/fesm2022/adf-core.mjs.map +1 -1
- package/lib/form/components/form-renderer.component.scss +31 -11
- package/lib/form/components/widgets/core/form-field.model.d.ts +7 -0
- package/lib/form/components/widgets/repeat/repeat.widget.d.ts +0 -1
- package/lib/form/components/widgets/repeat/repeat.widget.scss +15 -4
- package/package.json +3 -3
package/fesm2022/adf-core.mjs
CHANGED
|
@@ -20539,6 +20539,10 @@ class FormFieldModel extends FormWidgetModel {
|
|
|
20539
20539
|
}
|
|
20540
20540
|
set readOnly(readOnly) {
|
|
20541
20541
|
this._readOnly = readOnly;
|
|
20542
|
+
if (this.type === FormFieldTypes.REPEATABLE_SECTION) {
|
|
20543
|
+
this.updateRepeatableSectionReadOnlyState(readOnly);
|
|
20544
|
+
return;
|
|
20545
|
+
}
|
|
20542
20546
|
this.updateForm();
|
|
20543
20547
|
}
|
|
20544
20548
|
get required() {
|
|
@@ -20717,7 +20721,7 @@ class FormFieldModel extends FormWidgetModel {
|
|
|
20717
20721
|
return;
|
|
20718
20722
|
}
|
|
20719
20723
|
const col = new ContainerColumnModel();
|
|
20720
|
-
col.fields = (fields[currentField] || []).map((field) => new FormFieldModel(form, field));
|
|
20724
|
+
col.fields = (fields[currentField] || []).map((field) => new FormFieldModel(form, field, this.setupParentConfig(field)));
|
|
20721
20725
|
col.rowspan = fields[currentField].length;
|
|
20722
20726
|
if (!FormFieldTypes.isSectionType(this.type)) {
|
|
20723
20727
|
this.updateContainerColspan(col.fields);
|
|
@@ -20726,6 +20730,16 @@ class FormFieldModel extends FormWidgetModel {
|
|
|
20726
20730
|
this.columns.push(col);
|
|
20727
20731
|
});
|
|
20728
20732
|
}
|
|
20733
|
+
setupParentConfig(field) {
|
|
20734
|
+
if (this.parent) {
|
|
20735
|
+
return {
|
|
20736
|
+
...this.parent,
|
|
20737
|
+
uid: this.getUniqueId(field, this.parent.uid.split(ROW_ID_PREFIX)[1]),
|
|
20738
|
+
value: this.parent.value?.[field.id]
|
|
20739
|
+
};
|
|
20740
|
+
}
|
|
20741
|
+
return undefined;
|
|
20742
|
+
}
|
|
20729
20743
|
repeatableSectionFactory(json, form) {
|
|
20730
20744
|
const { numberOfColumns = 1, params, value, fields = {} } = json;
|
|
20731
20745
|
this.numberOfColumns = numberOfColumns;
|
|
@@ -20733,20 +20747,20 @@ class FormFieldModel extends FormWidgetModel {
|
|
|
20733
20747
|
this.rowspan = 1;
|
|
20734
20748
|
this.colspan = 1;
|
|
20735
20749
|
this.rows = [];
|
|
20736
|
-
for (let i = 0; i < this.getNumberOfRows(params.initialNumberOfRows, params.
|
|
20750
|
+
for (let i = 0; i < this.getNumberOfRows(params.initialNumberOfRows, params.maxNumberOfRows, value); i++) {
|
|
20737
20751
|
this.rows.push(this.createRow(fields, form, i, value?.[i], i < params?.initialNumberOfRows));
|
|
20738
20752
|
}
|
|
20739
20753
|
this.columns = this.rows[0].columns;
|
|
20740
20754
|
}
|
|
20741
|
-
getNumberOfRows(initialNrRows = 1,
|
|
20742
|
-
return value?.length
|
|
20755
|
+
getNumberOfRows(initialNrRows = 1, maxNrRows, value) {
|
|
20756
|
+
return value?.length ? (maxNrRows ? Math.min(value.length, maxNrRows) : value.length) : initialNrRows;
|
|
20743
20757
|
}
|
|
20744
20758
|
createRow(fields, form, index, value, isInitial = false) {
|
|
20745
20759
|
const row = new ContainerRowModel(isInitial);
|
|
20746
|
-
row.columns.push(...this.createColumns(fields, form, index, value));
|
|
20760
|
+
row.columns.push(...this.createColumns(fields, form, row.id, index, value));
|
|
20747
20761
|
return row;
|
|
20748
20762
|
}
|
|
20749
|
-
createColumns(fields, form, index, value) {
|
|
20763
|
+
createColumns(fields, form, rowId, index, value) {
|
|
20750
20764
|
const columns = [];
|
|
20751
20765
|
Object.keys(fields).forEach((currentField) => {
|
|
20752
20766
|
if (!Object.prototype.hasOwnProperty.call(fields, currentField)) {
|
|
@@ -20755,10 +20769,10 @@ class FormFieldModel extends FormWidgetModel {
|
|
|
20755
20769
|
const col = new ContainerColumnModel();
|
|
20756
20770
|
col.fields = (fields[currentField] || []).map((field) => new FormFieldModel(form, field, {
|
|
20757
20771
|
id: this.id,
|
|
20758
|
-
uid: this.getUniqueId(field),
|
|
20772
|
+
uid: this.getUniqueId(field, rowId),
|
|
20759
20773
|
fields: this.fields,
|
|
20760
20774
|
rowIndex: index ?? 0,
|
|
20761
|
-
value: value?.[field.id]
|
|
20775
|
+
value: field.type === FormFieldTypes.SECTION ? value : value?.[field.id]
|
|
20762
20776
|
}));
|
|
20763
20777
|
col.rowspan = fields[currentField].length;
|
|
20764
20778
|
if (!FormFieldTypes.isSectionType(this.type)) {
|
|
@@ -20769,8 +20783,30 @@ class FormFieldModel extends FormWidgetModel {
|
|
|
20769
20783
|
});
|
|
20770
20784
|
return columns;
|
|
20771
20785
|
}
|
|
20772
|
-
|
|
20773
|
-
|
|
20786
|
+
updateRepeatableSectionReadOnlyState(state) {
|
|
20787
|
+
for (const row of this.rows) {
|
|
20788
|
+
for (const column of row.columns) {
|
|
20789
|
+
for (const field of column.fields) {
|
|
20790
|
+
if (field.type === FormFieldTypes.SECTION) {
|
|
20791
|
+
this.updateInnerSectionReadOnlyState(field, state);
|
|
20792
|
+
}
|
|
20793
|
+
field.readOnly = this.getRepeatableSectionFieldReadOnlyState(field, state);
|
|
20794
|
+
}
|
|
20795
|
+
}
|
|
20796
|
+
}
|
|
20797
|
+
}
|
|
20798
|
+
updateInnerSectionReadOnlyState(section, state) {
|
|
20799
|
+
for (const column of section.columns) {
|
|
20800
|
+
for (const field of column.fields) {
|
|
20801
|
+
field.readOnly = this.getRepeatableSectionFieldReadOnlyState(field, state);
|
|
20802
|
+
}
|
|
20803
|
+
}
|
|
20804
|
+
}
|
|
20805
|
+
getRepeatableSectionFieldReadOnlyState(field, state) {
|
|
20806
|
+
return state || field.json.readOnly;
|
|
20807
|
+
}
|
|
20808
|
+
getUniqueId(field, rowId) {
|
|
20809
|
+
return field.id + ROW_ID_PREFIX + rowId;
|
|
20774
20810
|
}
|
|
20775
20811
|
updateChildrenFieldsRowIndex() {
|
|
20776
20812
|
this.rows.forEach((row, index) => {
|
|
@@ -20783,10 +20819,19 @@ class FormFieldModel extends FormWidgetModel {
|
|
|
20783
20819
|
}
|
|
20784
20820
|
createInitialValue(fields) {
|
|
20785
20821
|
return Object.keys(fields)
|
|
20786
|
-
.map((currentField) => (fields[currentField] || []).map((field) => field
|
|
20787
|
-
.flat(
|
|
20822
|
+
.map((currentField) => (fields[currentField] || []).map((field) => this.getFieldId(field)))
|
|
20823
|
+
.flat(2)
|
|
20788
20824
|
.reduce((acc, curr) => ((acc[curr] = null), acc), {});
|
|
20789
20825
|
}
|
|
20826
|
+
getFieldId(field) {
|
|
20827
|
+
if (field.type === FormFieldTypes.SECTION) {
|
|
20828
|
+
const fields = field.fields;
|
|
20829
|
+
return Object.keys(fields)
|
|
20830
|
+
.map((currentField) => (fields[currentField] || []).map((e) => e.id))
|
|
20831
|
+
.flat(1);
|
|
20832
|
+
}
|
|
20833
|
+
return field.id;
|
|
20834
|
+
}
|
|
20790
20835
|
updateContainerColspan(fields) {
|
|
20791
20836
|
fields.forEach((colField) => {
|
|
20792
20837
|
this.colspan = Math.max(this.colspan, colField.colspan);
|
|
@@ -20799,7 +20844,7 @@ class FormFieldModel extends FormWidgetModel {
|
|
|
20799
20844
|
this.rows.push(this.createRow(fields, form, this.rows.length));
|
|
20800
20845
|
}
|
|
20801
20846
|
shouldAddRow() {
|
|
20802
|
-
return !this.params.
|
|
20847
|
+
return !this.params.maxNumberOfRows || this.rows.length < this.params.maxNumberOfRows;
|
|
20803
20848
|
}
|
|
20804
20849
|
removeRow(index) {
|
|
20805
20850
|
if (!this.shouldRemoveRow(index)) {
|
|
@@ -20883,7 +20928,7 @@ class FormFieldModel extends FormWidgetModel {
|
|
|
20883
20928
|
return value;
|
|
20884
20929
|
}
|
|
20885
20930
|
if (this.isCheckboxField(json)) {
|
|
20886
|
-
return json.value === 'true' || json.value === true;
|
|
20931
|
+
return json.value === 'true' || json.value === true || initialValue === true || initialValue === 'true';
|
|
20887
20932
|
}
|
|
20888
20933
|
return value;
|
|
20889
20934
|
}
|
|
@@ -20891,73 +20936,64 @@ class FormFieldModel extends FormWidgetModel {
|
|
|
20891
20936
|
if (!this.form) {
|
|
20892
20937
|
return;
|
|
20893
20938
|
}
|
|
20939
|
+
const formValue = this.getFormValue();
|
|
20894
20940
|
if (this.parent) {
|
|
20895
|
-
this.updateRepeatableSectionValue();
|
|
20896
|
-
return;
|
|
20941
|
+
this.updateRepeatableSectionValue(formValue);
|
|
20897
20942
|
}
|
|
20943
|
+
else {
|
|
20944
|
+
this.updateValue(formValue);
|
|
20945
|
+
}
|
|
20946
|
+
this.form.onFormFieldChanged(this);
|
|
20947
|
+
}
|
|
20948
|
+
getFormValue() {
|
|
20898
20949
|
switch (this.type) {
|
|
20899
20950
|
case FormFieldTypes.DROPDOWN: {
|
|
20900
20951
|
if (!this.value) {
|
|
20901
|
-
|
|
20902
|
-
break;
|
|
20952
|
+
return null;
|
|
20903
20953
|
}
|
|
20904
20954
|
/*
|
|
20905
20955
|
This is needed due to Activiti reading dropdown values as string
|
|
20906
20956
|
but saving back as object: { id: <id>, name: <name> }
|
|
20907
20957
|
*/
|
|
20908
20958
|
if (Array.isArray(this.value)) {
|
|
20909
|
-
|
|
20910
|
-
break;
|
|
20959
|
+
return this.value;
|
|
20911
20960
|
}
|
|
20912
20961
|
if (typeof this.value === 'string') {
|
|
20913
20962
|
if (this.value === 'empty' || this.value === '') {
|
|
20914
|
-
|
|
20915
|
-
break;
|
|
20963
|
+
return null;
|
|
20916
20964
|
}
|
|
20917
20965
|
const matchingOption = this.options.find((opt) => opt.id === this.value);
|
|
20918
|
-
|
|
20966
|
+
return matchingOption || null;
|
|
20919
20967
|
}
|
|
20920
20968
|
if (typeof this.value === 'object') {
|
|
20921
20969
|
if (this.value.id === 'empty' || this.value.id === '') {
|
|
20922
|
-
|
|
20923
|
-
break;
|
|
20970
|
+
return null;
|
|
20924
20971
|
}
|
|
20925
20972
|
const matchingOption = this.options.find((opt) => opt.id === this.value.id);
|
|
20926
|
-
|
|
20973
|
+
return matchingOption;
|
|
20927
20974
|
}
|
|
20928
|
-
|
|
20975
|
+
return null;
|
|
20929
20976
|
}
|
|
20930
20977
|
case FormFieldTypes.RADIO_BUTTONS: {
|
|
20931
20978
|
const radioButton = this.options.find((opt) => opt.id === this.value);
|
|
20932
20979
|
if (this.optionType === 'rest') {
|
|
20933
|
-
this.
|
|
20934
|
-
? { ...radioButton, options: this.options }
|
|
20935
|
-
: { id: null, name: null, options: this.options };
|
|
20936
|
-
}
|
|
20937
|
-
else {
|
|
20938
|
-
this.form.values[this.id] = radioButton ? { ...radioButton } : null;
|
|
20980
|
+
return radioButton ? { ...radioButton, options: this.options } : { id: null, name: null, options: this.options };
|
|
20939
20981
|
}
|
|
20940
|
-
|
|
20982
|
+
return radioButton ? { ...radioButton } : null;
|
|
20941
20983
|
}
|
|
20942
20984
|
case FormFieldTypes.UPLOAD: {
|
|
20943
20985
|
this.form.hasUpload = true;
|
|
20944
20986
|
if (this.value && this.value.length > 0) {
|
|
20945
|
-
|
|
20946
|
-
}
|
|
20947
|
-
else {
|
|
20948
|
-
this.form.values[this.id] = null;
|
|
20987
|
+
return Array.isArray(this.value) ? this.value.map((elem) => elem.id).join(',') : [this.value];
|
|
20949
20988
|
}
|
|
20950
|
-
|
|
20989
|
+
return null;
|
|
20951
20990
|
}
|
|
20952
20991
|
case FormFieldTypes.TYPEAHEAD: {
|
|
20953
20992
|
const typeAheadEntry = this.options.filter((opt) => opt.id === this.value || opt.name === this.value);
|
|
20954
20993
|
if (typeAheadEntry.length > 0) {
|
|
20955
|
-
|
|
20956
|
-
}
|
|
20957
|
-
else if (this.options.length > 0) {
|
|
20958
|
-
this.form.values[this.id] = null;
|
|
20994
|
+
return typeAheadEntry[0];
|
|
20959
20995
|
}
|
|
20960
|
-
|
|
20996
|
+
return null;
|
|
20961
20997
|
}
|
|
20962
20998
|
case FormFieldTypes.DATE: {
|
|
20963
20999
|
if (typeof this.value === 'string' && this.value === 'today') {
|
|
@@ -20972,13 +21008,10 @@ class FormFieldModel extends FormWidgetModel {
|
|
|
20972
21008
|
}
|
|
20973
21009
|
if (isValid(dateValue)) {
|
|
20974
21010
|
const datePart = DateFnsUtils.formatDate(dateValue, 'yyyy-MM-dd');
|
|
20975
|
-
|
|
21011
|
+
return `${datePart}T00:00:00.000Z`;
|
|
20976
21012
|
}
|
|
20977
|
-
|
|
20978
|
-
|
|
20979
|
-
this._value = this.value;
|
|
20980
|
-
}
|
|
20981
|
-
break;
|
|
21013
|
+
this._value = this.value;
|
|
21014
|
+
return null;
|
|
20982
21015
|
}
|
|
20983
21016
|
case FormFieldTypes.DATETIME: {
|
|
20984
21017
|
if (typeof this.value === 'string' && this.value === 'now') {
|
|
@@ -20986,62 +21019,60 @@ class FormFieldModel extends FormWidgetModel {
|
|
|
20986
21019
|
}
|
|
20987
21020
|
const dateTimeValue = this.value !== null ? DateFnsUtils.getDate(this.value) : null;
|
|
20988
21021
|
if (isValid(dateTimeValue)) {
|
|
20989
|
-
|
|
20990
|
-
}
|
|
20991
|
-
else {
|
|
20992
|
-
this.form.values[this.id] = null;
|
|
20993
|
-
this._value = this.value;
|
|
21022
|
+
return dateTimeValue.toISOString();
|
|
20994
21023
|
}
|
|
20995
|
-
|
|
21024
|
+
this._value = this.value;
|
|
21025
|
+
return null;
|
|
20996
21026
|
}
|
|
20997
21027
|
case FormFieldTypes.NUMBER: {
|
|
20998
|
-
|
|
20999
|
-
break;
|
|
21028
|
+
return this.enableFractions ? parseFloat(this.value) : parseInt(this.value, 10);
|
|
21000
21029
|
}
|
|
21001
21030
|
case FormFieldTypes.AMOUNT: {
|
|
21002
|
-
|
|
21003
|
-
break;
|
|
21031
|
+
return this.enableFractions ? parseFloat(this.value) : parseInt(this.value, 10);
|
|
21004
21032
|
}
|
|
21005
21033
|
case FormFieldTypes.DECIMAL: {
|
|
21006
|
-
|
|
21007
|
-
break;
|
|
21034
|
+
return parseFloat(this.value);
|
|
21008
21035
|
}
|
|
21009
21036
|
case FormFieldTypes.BOOLEAN: {
|
|
21010
|
-
|
|
21011
|
-
break;
|
|
21037
|
+
return this.value !== null && this.value !== undefined ? this.value : false;
|
|
21012
21038
|
}
|
|
21013
21039
|
case FormFieldTypes.PEOPLE: {
|
|
21014
|
-
|
|
21015
|
-
break;
|
|
21040
|
+
return this.value ? this.value : null;
|
|
21016
21041
|
}
|
|
21017
21042
|
case FormFieldTypes.FUNCTIONAL_GROUP: {
|
|
21018
|
-
|
|
21019
|
-
break;
|
|
21043
|
+
return this.value ? this.value : null;
|
|
21020
21044
|
}
|
|
21021
21045
|
case FormFieldTypes.REPEATABLE_SECTION: {
|
|
21022
|
-
this.form.values[this.id] = this.value ? this.value : [];
|
|
21023
21046
|
this.repeatableSectionFactory({
|
|
21024
21047
|
...this.json,
|
|
21025
21048
|
value: this.value
|
|
21026
21049
|
}, this.form);
|
|
21027
|
-
|
|
21050
|
+
return this.value ? this.value : this.form.values[this.id];
|
|
21028
21051
|
}
|
|
21029
21052
|
default:
|
|
21030
21053
|
if (this.shouldUpdateFormValues(this.type)) {
|
|
21031
|
-
|
|
21054
|
+
return this.value;
|
|
21032
21055
|
}
|
|
21056
|
+
return undefined;
|
|
21033
21057
|
}
|
|
21034
|
-
this.form.onFormFieldChanged(this);
|
|
21035
21058
|
}
|
|
21036
|
-
|
|
21059
|
+
updateValue(value) {
|
|
21060
|
+
if (value === undefined) {
|
|
21061
|
+
return;
|
|
21062
|
+
}
|
|
21063
|
+
this.form.values[this.id] = value;
|
|
21064
|
+
}
|
|
21065
|
+
updateRepeatableSectionValue(value) {
|
|
21066
|
+
if (this.type === FormFieldTypes.SECTION) {
|
|
21067
|
+
return;
|
|
21068
|
+
}
|
|
21037
21069
|
if (!this.form.values[this.parent.id]) {
|
|
21038
21070
|
this.form.values[this.parent.id] = [];
|
|
21039
21071
|
}
|
|
21040
21072
|
if (!this.form.values[this.parent.id][this.parent.rowIndex]) {
|
|
21041
21073
|
this.form.values[this.parent.id][this.parent.rowIndex] = this.createInitialValue(this.parent.fields);
|
|
21042
21074
|
}
|
|
21043
|
-
this.form.values[this.parent.id][this.parent.rowIndex][this.id.split(ROW_ID_PREFIX)[0]] =
|
|
21044
|
-
this.form.onFormFieldChanged(this);
|
|
21075
|
+
this.form.values[this.parent.id][this.parent.rowIndex][this.id.split(ROW_ID_PREFIX)[0]] = value;
|
|
21045
21076
|
}
|
|
21046
21077
|
/**
|
|
21047
21078
|
* Check if the field type is invalid, requires a type to be a `container`
|
|
@@ -24146,17 +24177,12 @@ class RepeatWidgetComponent {
|
|
|
24146
24177
|
addRow() {
|
|
24147
24178
|
this.element.field.addRow(this.element.json.fields, this.element.form);
|
|
24148
24179
|
}
|
|
24149
|
-
getAddedRowsCount() {
|
|
24150
|
-
return this.element.json.params.allowInitialRowsDelete
|
|
24151
|
-
? this.element.field.rows.length - this.element.json.params.initialNumberOfRows
|
|
24152
|
-
: this.element.field.rows.filter((row) => !row.isInitial).length;
|
|
24153
|
-
}
|
|
24154
24180
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: RepeatWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24155
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: RepeatWidgetComponent, isStandalone: true, selector: "adf-repeat-widget", inputs: { element: "element", isEditor: "isEditor" }, ngImport: i0, template: "<div [style]=\"element | adfFieldStyle\" class=\"adf-container-widget-repeat\">\n <h4\n id=\"container-repeat\"\n class=\"adf-container-widget-repeat__text\"\n >\n <span [id]=\"'container-repeat-label-' + element?.id\" role=\"button\" tabindex=\"0\">\n {{ element.name | translate }}\n </span>\n </h4>\n\n <ng-content />\n\n @if (!isEditor) {\n @let shouldDisplayAddRowButton = !element.field.params.
|
|
24181
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: RepeatWidgetComponent, isStandalone: true, selector: "adf-repeat-widget", inputs: { element: "element", isEditor: "isEditor" }, ngImport: i0, template: "<div [style]=\"element | adfFieldStyle\" class=\"adf-container-widget-repeat\" [class.adf-readonly]=\"element.field.readOnly\">\n <h4\n id=\"container-repeat\"\n class=\"adf-container-widget-repeat__text\"\n >\n <span [id]=\"'container-repeat-label-' + element?.id\" role=\"button\" tabindex=\"0\">\n {{ element.name | translate }}\n </span>\n </h4>\n\n <ng-content />\n\n @if (!isEditor) {\n @let shouldDisplayAddRowButton = !element.field.params.maxNumberOfRows || (element.field.params.maxNumberOfRows > element.field.rows.length);\n @if (shouldDisplayAddRowButton) {\n <button \n mat-button\n color=\"primary\"\n class=\"adf-container-widget-row-action\"\n [disabled]=\"element.field.readOnly\"\n (click)=\"addRow()\"\n >\n <mat-icon>add</mat-icon> {{ 'FORM.FIELD.REPEATABLE_SECTION.ADD_ROW' | translate }}\n </button>\n } @else {\n <span class=\"adf-container-widget-row-action adf-container-widget-row-limit\">{{ 'FORM.FIELD.REPEATABLE_SECTION.ROW_LIMIT_REACHED' | translate: { limit: element.field.params.maxNumberOfRows } }}</span>\n }\n }\n</div>\n", styles: [".adf-container-widget-repeat__text{border-bottom:1px solid rgba(0,0,0,.87);padding-bottom:10px;cursor:default;-webkit-user-select:none;user-select:none;font-size:var(--adf-header-font-size);font-weight:var(--adf-header-font-weight);color:var(--adf-header-color);line-height:normal}.adf-container-widget-row-action{margin-left:10px}.adf-container-widget-row-limit{color:#000000ab;font-size:12px}.adf-readonly .adf-container-widget-repeat__text{color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-bottom:1px solid var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));cursor:default}.adf-readonly .adf-container-widget-row-limit{color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));font-size:12px}\n"], dependencies: [{ kind: "pipe", type: FieldStylePipe, name: "adfFieldStyle" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
24156
24182
|
}
|
|
24157
24183
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: RepeatWidgetComponent, decorators: [{
|
|
24158
24184
|
type: Component,
|
|
24159
|
-
args: [{ selector: 'adf-repeat-widget', encapsulation: ViewEncapsulation.None, imports: [FieldStylePipe, MatIconModule, MatButtonModule, TranslatePipe], template: "<div [style]=\"element | adfFieldStyle\" class=\"adf-container-widget-repeat\">\n <h4\n id=\"container-repeat\"\n class=\"adf-container-widget-repeat__text\"\n >\n <span [id]=\"'container-repeat-label-' + element?.id\" role=\"button\" tabindex=\"0\">\n {{ element.name | translate }}\n </span>\n </h4>\n\n <ng-content />\n\n @if (!isEditor) {\n @let shouldDisplayAddRowButton = !element.field.params.
|
|
24185
|
+
args: [{ selector: 'adf-repeat-widget', encapsulation: ViewEncapsulation.None, imports: [FieldStylePipe, MatIconModule, MatButtonModule, TranslatePipe], template: "<div [style]=\"element | adfFieldStyle\" class=\"adf-container-widget-repeat\" [class.adf-readonly]=\"element.field.readOnly\">\n <h4\n id=\"container-repeat\"\n class=\"adf-container-widget-repeat__text\"\n >\n <span [id]=\"'container-repeat-label-' + element?.id\" role=\"button\" tabindex=\"0\">\n {{ element.name | translate }}\n </span>\n </h4>\n\n <ng-content />\n\n @if (!isEditor) {\n @let shouldDisplayAddRowButton = !element.field.params.maxNumberOfRows || (element.field.params.maxNumberOfRows > element.field.rows.length);\n @if (shouldDisplayAddRowButton) {\n <button \n mat-button\n color=\"primary\"\n class=\"adf-container-widget-row-action\"\n [disabled]=\"element.field.readOnly\"\n (click)=\"addRow()\"\n >\n <mat-icon>add</mat-icon> {{ 'FORM.FIELD.REPEATABLE_SECTION.ADD_ROW' | translate }}\n </button>\n } @else {\n <span class=\"adf-container-widget-row-action adf-container-widget-row-limit\">{{ 'FORM.FIELD.REPEATABLE_SECTION.ROW_LIMIT_REACHED' | translate: { limit: element.field.params.maxNumberOfRows } }}</span>\n }\n }\n</div>\n", styles: [".adf-container-widget-repeat__text{border-bottom:1px solid rgba(0,0,0,.87);padding-bottom:10px;cursor:default;-webkit-user-select:none;user-select:none;font-size:var(--adf-header-font-size);font-weight:var(--adf-header-font-weight);color:var(--adf-header-color);line-height:normal}.adf-container-widget-row-action{margin-left:10px}.adf-container-widget-row-limit{color:#000000ab;font-size:12px}.adf-readonly .adf-container-widget-repeat__text{color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-bottom:1px solid var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));cursor:default}.adf-readonly .adf-container-widget-row-limit{color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));font-size:12px}\n"] }]
|
|
24160
24186
|
}], propDecorators: { element: [{
|
|
24161
24187
|
type: Input
|
|
24162
24188
|
}], isEditor: [{
|
|
@@ -25339,7 +25365,7 @@ class FormRendererComponent {
|
|
|
25339
25365
|
useClass: DecimalRenderMiddlewareService,
|
|
25340
25366
|
multi: true
|
|
25341
25367
|
}
|
|
25342
|
-
], ngImport: i0, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }} adf-form-renderer\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group [preserveContent]=\"true\">\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template matTabContent>\n <div class=\"adf-form-tab-content\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'section'\" [id]=\"'field-' + currentRootElement?.id + '-container'\" class=\"adf-container-widget\">\n <adf-form-section [field]=\"currentRootElement\" />\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n\n @if (currentRootElement.type === 'repeatable-section') {\n <div \n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\"\n >\n <adf-repeat-widget [element]=\"currentRootElement\" [isEditor]=\"false\">\n @for (row of currentRootElement.field.rows; track row.id; let rowIndex = $index) {\n @let hasMultipleRows = currentRootElement.field.rows.length > 1;\n <div \n class=\"adf-grid-list-container\"\n [class.adf-grid-list-container-multiple]=\"hasMultipleRows\"\n >\n <h4 class=\"adf-grid-list-container-label\">{{ 'FORM.FORM_RENDERER.ROW_LABEL' | translate: {number: rowIndex + 1} }}</h4>\n <section class=\"adf-grid-list-column-view\">\n @for (column of row.columns; track $index) {\n <div \n class=\"adf-grid-list-single-column\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n @for (field of column?.fields; track $index) {\n @if (field.type === 'section') {\n <adf-form-section [field]=\"field\"/>\n } @else {\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n }\n }\n </div>\n }\n\n @let shouldDisplayRemoveRowButton = !currentRootElement.field.rows[rowIndex].isInitial || (currentRootElement.field.rows[rowIndex].isInitial && currentRootElement.field.params.allowInitialRowsDelete);\n @if (shouldDisplayRemoveRowButton) {\n <button \n mat-icon-button\n class=\"adf-grid-list-remove-row-button\"\n (click)=\"displayDialogToRemoveRow(currentRootElement.field, rowIndex)\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </section>\n </div>\n }\n </adf-repeat-widget>\n </div>\n }\n\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.adf-form-renderer .mat-mdc-form-field-infix{width:auto}.alfresco-tabs-widget{width:100%}.alfresco-tabs-widget .adf-form-tab-content{margin-top:1em}.alfresco-tabs-widget .adf-form-tab-group{width:100%}.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:8em}@media (max-width: 959.9px){.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:0}}.alfresco-tabs-widget .mat-mdc-tab-header{z-index:2;margin:0;background-color:#fff;position:absolute;width:98%;margin-left:0!important;margin-right:10px!important;top:0}.alfresco-tabs-widget .mat-mdc-tab-body-wrapper{padding-top:5%}.mat-mdc-card-content:first-child{padding-top:1em}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%;width:100%;gap:8px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;box-sizing:border-box}.adf-container-widget .adf-grid-list-column-view .adf-radio-buttons-widget{padding-left:12px}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}.adf-container-widget .adf-grid-list-remove-row-button{margin-top:20px}.adf-container-widget .adf-grid-list-remove-row-button .mat-icon{display:flex;justify-content:center;align-items:center;font-size:20px}.adf-container-widget .adf-grid-list-container{padding:0 10px}.adf-container-widget .adf-grid-list-container-label{margin:5px 0 5px -10px}.adf-container-widget .adf-grid-list-container-multiple{border-bottom:1px solid rgba(0,0,0,.54);margin-bottom:25px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-tab-header{position:fixed;z-index:1000}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-card-content{overflow:hidden;padding-top:0}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}.adf-error-messages-container{min-height:35px}.adf-error-messages-container-visible{visibility:visible}.adf-error-messages-container-hidden{visibility:hidden}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i2$7.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i2$7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i2$7.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: FormFieldComponent, selector: "adf-form-field", inputs: ["field"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: HeaderWidgetComponent, selector: "adf-header-widget", inputs: ["element"] }, { kind: "component", type: FormSectionComponent, selector: "adf-form-section", inputs: ["field"] }, { kind: "component", type: RepeatWidgetComponent, selector: "adf-repeat-widget", inputs: ["element", "isEditor"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
25368
|
+
], ngImport: i0, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }} adf-form-renderer\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group [preserveContent]=\"true\">\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template matTabContent>\n <div class=\"adf-form-tab-content\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'section'\" [id]=\"'field-' + currentRootElement?.id + '-container'\" class=\"adf-container-widget\">\n <adf-form-section [field]=\"currentRootElement\" />\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n\n @if (currentRootElement.type === 'repeatable-section') {\n <div \n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\"\n >\n <adf-repeat-widget [element]=\"currentRootElement\" [isEditor]=\"false\">\n @for (row of currentRootElement.field.rows; track row.id; let rowIndex = $index) {\n @let hasMultipleRows = currentRootElement.field.rows.length > 1;\n <div \n class=\"adf-grid-list-container\"\n [class.adf-grid-list-container-multiple]=\"hasMultipleRows\"\n [class.adf-grid-list-container-disabled]=\"currentRootElement.field.readOnly\"\n > \n <div class=\"adf-grid-list-row\">\n <span class=\"adf-grid-list-row-label\">{{ 'FORM.FORM_RENDERER.ROW_LABEL' | translate: {number: rowIndex + 1} }}</span>\n\n @let shouldDisplayRemoveRowButton = !currentRootElement.field.rows[rowIndex].isInitial || (currentRootElement.field.rows[rowIndex].isInitial && currentRootElement.field.params.allowInitialRowsDelete);\n @if (shouldDisplayRemoveRowButton) {\n <button \n mat-icon-button\n class=\"adf-grid-list-row-remove-button\"\n [disabled]=\"currentRootElement.field.readOnly\"\n [matTooltip]=\"'FORM.FORM_RENDERER.DELETE_ROW' | translate\"\n (click)=\"displayDialogToRemoveRow(currentRootElement.field, rowIndex)\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </div>\n <section class=\"adf-grid-list-column-view\">\n @for (column of row.columns; track $index) {\n <div \n class=\"adf-grid-list-single-column\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n @for (field of column?.fields; track $index) {\n @if (field.type === 'section') {\n <adf-form-section [field]=\"field\"/>\n } @else {\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n }\n }\n </div>\n }\n </section>\n </div>\n }\n </adf-repeat-widget>\n </div>\n }\n\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.adf-form-renderer .mat-mdc-form-field-infix{width:auto}.alfresco-tabs-widget{width:100%}.alfresco-tabs-widget .adf-form-tab-content{margin-top:1em}.alfresco-tabs-widget .adf-form-tab-group{width:100%}.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:8em}@media (max-width: 959.9px){.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:0}}.alfresco-tabs-widget .mat-mdc-tab-header{z-index:2;margin:0;background-color:#fff;position:absolute;width:98%;margin-left:0!important;margin-right:10px!important;top:0}.alfresco-tabs-widget .mat-mdc-tab-body-wrapper{padding-top:5%}.mat-mdc-card-content:first-child{padding-top:1em}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%;width:100%;gap:8px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;box-sizing:border-box}.adf-container-widget .adf-grid-list-column-view .adf-radio-buttons-widget{padding-left:12px}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}.adf-container-widget .adf-grid-list-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.adf-container-widget .adf-grid-list-row-remove-button{padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.adf-container-widget .adf-grid-list-row-remove-button .mat-icon{display:flex;justify-content:center;align-items:center;font-size:18px}.adf-container-widget .adf-grid-list-container{padding:0 15px}.adf-container-widget .adf-grid-list-container-multiple{border-bottom:1px solid rgba(0,0,0,.54);margin-bottom:25px}.adf-container-widget .adf-grid-list-container-disabled.adf-grid-list-container-multiple{border-bottom:1px solid var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.adf-container-widget .adf-grid-list-container-disabled .adf-grid-list-row-label{color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));cursor:default}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-tab-header{position:fixed;z-index:1000}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-card-content{overflow:hidden;padding-top:0}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}.adf-error-messages-container{min-height:35px}.adf-error-messages-container-visible{visibility:visible}.adf-error-messages-container-hidden{visibility:hidden}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i2$7.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i2$7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i2$7.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: FormFieldComponent, selector: "adf-form-field", inputs: ["field"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: HeaderWidgetComponent, selector: "adf-header-widget", inputs: ["element"] }, { kind: "component", type: FormSectionComponent, selector: "adf-form-section", inputs: ["field"] }, { kind: "component", type: RepeatWidgetComponent, selector: "adf-repeat-widget", inputs: ["element", "isEditor"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
25343
25369
|
}
|
|
25344
25370
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FormRendererComponent, decorators: [{
|
|
25345
25371
|
type: Component,
|
|
@@ -25368,8 +25394,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
25368
25394
|
NgClass,
|
|
25369
25395
|
HeaderWidgetComponent,
|
|
25370
25396
|
FormSectionComponent,
|
|
25371
|
-
RepeatWidgetComponent
|
|
25372
|
-
], encapsulation: ViewEncapsulation.None, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }} adf-form-renderer\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group [preserveContent]=\"true\">\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template matTabContent>\n <div class=\"adf-form-tab-content\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'section'\" [id]=\"'field-' + currentRootElement?.id + '-container'\" class=\"adf-container-widget\">\n <adf-form-section [field]=\"currentRootElement\" />\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n\n @if (currentRootElement.type === 'repeatable-section') {\n <div \n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\"\n >\n <adf-repeat-widget [element]=\"currentRootElement\" [isEditor]=\"false\">\n @for (row of currentRootElement.field.rows; track row.id; let rowIndex = $index) {\n @let hasMultipleRows = currentRootElement.field.rows.length > 1;\n <div \n class=\"adf-grid-list-container\"\n [class.adf-grid-list-container-multiple]=\"hasMultipleRows\"\n >\n <h4 class=\"adf-grid-list-container-label\">{{ 'FORM.FORM_RENDERER.ROW_LABEL' | translate: {number: rowIndex + 1} }}</h4>\n <section class=\"adf-grid-list-column-view\">\n @for (column of row.columns; track $index) {\n <div \n class=\"adf-grid-list-single-column\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n @for (field of column?.fields; track $index) {\n @if (field.type === 'section') {\n <adf-form-section [field]=\"field\"/>\n } @else {\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n }\n }\n </div>\n }\n\n @let shouldDisplayRemoveRowButton = !currentRootElement.field.rows[rowIndex].isInitial || (currentRootElement.field.rows[rowIndex].isInitial && currentRootElement.field.params.allowInitialRowsDelete);\n @if (shouldDisplayRemoveRowButton) {\n <button \n mat-icon-button\n class=\"adf-grid-list-remove-row-button\"\n (click)=\"displayDialogToRemoveRow(currentRootElement.field, rowIndex)\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </section>\n </div>\n }\n </adf-repeat-widget>\n </div>\n }\n\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.adf-form-renderer .mat-mdc-form-field-infix{width:auto}.alfresco-tabs-widget{width:100%}.alfresco-tabs-widget .adf-form-tab-content{margin-top:1em}.alfresco-tabs-widget .adf-form-tab-group{width:100%}.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:8em}@media (max-width: 959.9px){.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:0}}.alfresco-tabs-widget .mat-mdc-tab-header{z-index:2;margin:0;background-color:#fff;position:absolute;width:98%;margin-left:0!important;margin-right:10px!important;top:0}.alfresco-tabs-widget .mat-mdc-tab-body-wrapper{padding-top:5%}.mat-mdc-card-content:first-child{padding-top:1em}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%;width:100%;gap:8px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;box-sizing:border-box}.adf-container-widget .adf-grid-list-column-view .adf-radio-buttons-widget{padding-left:12px}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}.adf-container-widget .adf-grid-list-remove-row-button{margin-top:20px}.adf-container-widget .adf-grid-list-remove-row-button .mat-icon{display:flex;justify-content:center;align-items:center;font-size:20px}.adf-container-widget .adf-grid-list-container{padding:0 10px}.adf-container-widget .adf-grid-list-container-label{margin:5px 0 5px -10px}.adf-container-widget .adf-grid-list-container-multiple{border-bottom:1px solid rgba(0,0,0,.54);margin-bottom:25px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-tab-header{position:fixed;z-index:1000}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-card-content{overflow:hidden;padding-top:0}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}.adf-error-messages-container{min-height:35px}.adf-error-messages-container-visible{visibility:visible}.adf-error-messages-container-hidden{visibility:hidden}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}\n"] }]
|
|
25397
|
+
RepeatWidgetComponent,
|
|
25398
|
+
MatTooltipModule
|
|
25399
|
+
], encapsulation: ViewEncapsulation.None, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }} adf-form-renderer\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group [preserveContent]=\"true\">\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template matTabContent>\n <div class=\"adf-form-tab-content\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'section'\" [id]=\"'field-' + currentRootElement?.id + '-container'\" class=\"adf-container-widget\">\n <adf-form-section [field]=\"currentRootElement\" />\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n\n @if (currentRootElement.type === 'repeatable-section') {\n <div \n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\"\n >\n <adf-repeat-widget [element]=\"currentRootElement\" [isEditor]=\"false\">\n @for (row of currentRootElement.field.rows; track row.id; let rowIndex = $index) {\n @let hasMultipleRows = currentRootElement.field.rows.length > 1;\n <div \n class=\"adf-grid-list-container\"\n [class.adf-grid-list-container-multiple]=\"hasMultipleRows\"\n [class.adf-grid-list-container-disabled]=\"currentRootElement.field.readOnly\"\n > \n <div class=\"adf-grid-list-row\">\n <span class=\"adf-grid-list-row-label\">{{ 'FORM.FORM_RENDERER.ROW_LABEL' | translate: {number: rowIndex + 1} }}</span>\n\n @let shouldDisplayRemoveRowButton = !currentRootElement.field.rows[rowIndex].isInitial || (currentRootElement.field.rows[rowIndex].isInitial && currentRootElement.field.params.allowInitialRowsDelete);\n @if (shouldDisplayRemoveRowButton) {\n <button \n mat-icon-button\n class=\"adf-grid-list-row-remove-button\"\n [disabled]=\"currentRootElement.field.readOnly\"\n [matTooltip]=\"'FORM.FORM_RENDERER.DELETE_ROW' | translate\"\n (click)=\"displayDialogToRemoveRow(currentRootElement.field, rowIndex)\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </div>\n <section class=\"adf-grid-list-column-view\">\n @for (column of row.columns; track $index) {\n <div \n class=\"adf-grid-list-single-column\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n @for (field of column?.fields; track $index) {\n @if (field.type === 'section') {\n <adf-form-section [field]=\"field\"/>\n } @else {\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n }\n }\n </div>\n }\n </section>\n </div>\n }\n </adf-repeat-widget>\n </div>\n }\n\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.adf-form-renderer .mat-mdc-form-field-infix{width:auto}.alfresco-tabs-widget{width:100%}.alfresco-tabs-widget .adf-form-tab-content{margin-top:1em}.alfresco-tabs-widget .adf-form-tab-group{width:100%}.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:8em}@media (max-width: 959.9px){.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:0}}.alfresco-tabs-widget .mat-mdc-tab-header{z-index:2;margin:0;background-color:#fff;position:absolute;width:98%;margin-left:0!important;margin-right:10px!important;top:0}.alfresco-tabs-widget .mat-mdc-tab-body-wrapper{padding-top:5%}.mat-mdc-card-content:first-child{padding-top:1em}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%;width:100%;gap:8px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;box-sizing:border-box}.adf-container-widget .adf-grid-list-column-view .adf-radio-buttons-widget{padding-left:12px}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}.adf-container-widget .adf-grid-list-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.adf-container-widget .adf-grid-list-row-remove-button{padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.adf-container-widget .adf-grid-list-row-remove-button .mat-icon{display:flex;justify-content:center;align-items:center;font-size:18px}.adf-container-widget .adf-grid-list-container{padding:0 15px}.adf-container-widget .adf-grid-list-container-multiple{border-bottom:1px solid rgba(0,0,0,.54);margin-bottom:25px}.adf-container-widget .adf-grid-list-container-disabled.adf-grid-list-container-multiple{border-bottom:1px solid var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.adf-container-widget .adf-grid-list-container-disabled .adf-grid-list-row-label{color:var(--mdc-text-button-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));cursor:default}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-tab-header{position:fixed;z-index:1000}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-card-content{overflow:hidden;padding-top:0}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}.adf-error-messages-container{min-height:35px}.adf-error-messages-container-visible{visibility:visible}.adf-error-messages-container-hidden{visibility:hidden}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}\n"] }]
|
|
25373
25400
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
25374
25401
|
type: Optional
|
|
25375
25402
|
}, {
|