Skip to content

Commit

Permalink
fixed regression on custom fields removal
Browse files Browse the repository at this point in the history
  • Loading branch information
lmajano committed Oct 19, 2023
1 parent cff13bc commit 81bef0c
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,31 @@
the CB Helper:
<code>cb.quickCustomFields() or cb.getCustomField( key, [defaultValue] )</code>
</p>

<!--- CustomFields Holder --->
<div id="customFields" x-data="customFieldsModel()">

<input type="hidden" name="customFieldsCount" :value="customFields.length"/>
<div @add-custom-field.window="addCustomField">

<div @add-custom-field.window="addCustomField" class="mb10">
<!--- Add CustomField --->
<button type="button" class="btn btn-sm btn-primary" title="Add Custom Field" id="addCustomFieldButton" @click="addCustomField">
<button
type="button"
class="btn btn-sm btn-primary"
title="Add Custom Field"
id="addCustomFieldButton"
@click="addCustomField"
>
<i class="fa fa-plus fa-lg"></i> Add
</button>

<!--- Remove All Custom Fields --->
<button type="button" id="removeCustomFieldsButton" class="btn btn-sm btn-danger" @click="cleanCustomFields">
<button
type="button"
id="removeCustomFieldsButton"
class="btn btn-sm btn-danger"
@click="cleanCustomFields"
>
<i class="fa fa-trash fa-lg"></i> Remove All
</button>
</div>
Expand All @@ -34,7 +49,7 @@
/>


<label class="inline control-label">Value: </label>
<label class="ml5 inline control-label">Value: </label>
<input
type="text"
:name="`CustomFieldValues_${index}`"
Expand All @@ -43,7 +58,14 @@
x-model="field.value"
/>

<button type="button" class="btn btn-danger dynamicRemove" onclick="removeCustomField( field )" :disabled="isTemplatedField( field ) ? true : null"><i class="fa fa-trash"></i></button>
<button
type="button"
class="btn btn-danger dynamicRemove"
@click="removeCustomField( field )"
:disabled="isTemplatedField( field ) ? true : null"
>
<i class="fa fa-trash"></i>
</button>

</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,16 @@
'use strict';
function customFieldsModel(){
return {
customFields : #toJSON( prc.oContent.getCustomFields().map( ( field ) => arguments.field.getMemento() ) )#,
isTemplatedField : field => window.assignedTemplate
&& window.assignedTemplate.definition.customFields
&& window.assignedTemplate.definition.customFields.value.some( item => item.name == field.key.trim() ),
customFieldTemplate : { "key" : "", "value" : "", "relatedContent" : "#prc.oContent.getContentID()#" },
init(){
window.addCustomField = this.addCustomField;
},
customFields : #toJSON( prc.oContent.getCustomFields().map( ( field ) => arguments.field.getMemento() ) )#,
customFieldTemplate : { "key" : "", "value" : "", "relatedContent" : "#prc.oContent.getContentID()#" },
addCustomField( key, value ){
// Alpine events
if( key instanceof CustomEvent ){
Expand All @@ -21,23 +26,22 @@ function customFieldsModel(){
if( value ) newField.value = value;
this.customFields.push( newField );
},
cleanCustomFields(){
this.customFields.forEach( ( item, index ) => {
if( !item.key.trim() ){
this.customFields.splice( index, 1 );
}
} );
},
removeCustomField( field ){
let fieldIndex = this.customFields.findIndex( item => item.key.trim() == field.key.trim() );
if( fieldIndex > -1 ){
this.customFields.splice( fieldIndex, 1 );
}
},
isTemplatedField : field => window.assignedTemplate
&& window.assignedTemplate.definition.customFields
&& window.assignedTemplate.definition.customFields.value.some( item => item.name == field.key.trim() )
}
}
}
</script>
</cfoutput>
</cfoutput>

0 comments on commit 81bef0c

Please sign in to comment.