Skip to content

Commit

Permalink
codeupdate
Browse files Browse the repository at this point in the history
  • Loading branch information
Pranay Tippa committed Oct 3, 2024
1 parent e1e7608 commit 10e56e5
Show file tree
Hide file tree
Showing 4 changed files with 184 additions and 12 deletions.
7 changes: 3 additions & 4 deletions component-definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,8 @@
"jcr:title": "Checkbox",
"fieldType": "checkbox",
"enabled": true,
"visible": true
"visible": true,
"checkedValue": "on"
}
}
}
Expand Down Expand Up @@ -513,16 +514,14 @@
},
"link": {
"enum": [
"dummy-link-1",
"dummy-link-2"
"dummy-link-1"
],
"type": "string[]",
"fd:viewType": "toggleable-link",
"enabled": true,
"visible": true,
"title": "I agree to the terms & conditions",
"enumNames": [
"Terms and conditions of the service.",
"Privacy policy."
],
"sling:resourceType": "core/fd/components/form/checkboxgroup/v1/checkboxgroup",
Expand Down
172 changes: 172 additions & 0 deletions component-models.json
Original file line number Diff line number Diff line change
Expand Up @@ -2367,5 +2367,177 @@
]
}
]
},
{
"id": "multiline-input",
"fields": [
{
"component": "container",
"name": "basic",
"label": "Basic",
"collapsible": false,
"fields": [
{
"component": "text",
"name": "name",
"label": "Name",
"valueType": "string",
"required": true
},
{
"component": "text",
"name": "jcr:title",
"label": "Title",
"valueType": "string"
},
{
"component": "boolean",
"name": "hideTitle",
"label": "Hide title",
"valueType": "boolean"
},
{
"component": "text",
"name": "dataRef",
"label": "Bind reference",
"valueType": "string"
},
{
"component": "boolean",
"name": "unboundFormElement",
"label": "Mark as Unbound Form Element",
"valueType": "boolean"
},
{
"component": "boolean",
"name": "visible",
"label": "Show Component",
"valueType": "boolean",
"value": true
},
{
"component": "boolean",
"name": "enabled",
"label": "Enable Component",
"valueType": "boolean",
"value": true
},
{
"component": "boolean",
"name": "readOnly",
"label": "Read-only",
"valueType": "boolean"
},
{
"component": "text",
"name": "placeholder",
"label": "Placeholder text",
"valueType": "string"
},
{
"component": "text",
"name": "default",
"label": "Default Value",
"valueType": "string"
},
{
"component": "boolean",
"name": "multiLine",
"label": "Allow multiple lines",
"valueType": "boolean"
}
]
},
{
"component": "container",
"name": "help",
"label": "Help Content",
"collapsible": true,
"fields": [
{
"component": "richtext",
"name": "description",
"label": "Help text",
"valueType": "string"
},
{
"component": "richtext",
"name": "tooltip",
"label": "Short description",
"valueType": "string"
}
]
},
{
"component": "container",
"name": "validation",
"label": "Validation",
"collapsible": true,
"fields": [
{
"component": "boolean",
"name": "required",
"label": "Required",
"valueType": "boolean"
},
{
"component": "text",
"name": "mandatoryMessage",
"label": "Error message",
"valueType": "string",
"description": "Error message shown when required field is left empty."
},
{
"component": "number",
"name": "minLength",
"label": "Minimum number of characters",
"valueType": "number",
"description": "Minimum length of the text in the field"
},
{
"component": "text",
"name": "minLengthMessage",
"valueType": "string",
"label": "Minimum characters error message",
"description": "Error message shown when less than minimum characters are entered."
},
{
"component": "number",
"name": "maxLength",
"label": "Maximum number of characters",
"valueType": "number",
"description": "Maximum length of the text in the field"
},
{
"component": "text",
"name": "maxLengthMessage",
"valueType": "string",
"label": "Maximum characters error message",
"description": "Error message shown when more than maximum characters are entered."
},
{
"component": "text",
"name": "validateExpMessage",
"label": "Script validation message",
"valueType": "string",
"description": "Displayed when validation script fails."
},
{
"component": "text",
"name": "pattern",
"valueType": "string",
"label": "Pattern",
"description": "Regular Expression is permitted."
},
{
"component": "text",
"name": "validatePictureClauseMessage",
"valueType": "string",
"label": "Pattern Error message",
"description": "Error message shown when the pattern is not matched."
}
]
}
]
}
]
5 changes: 3 additions & 2 deletions scripts/editor-support.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ async function applyChanges(event) {
return false;
}

function attachEventListners(main) {
async function attachEventListners(main) {
[
'aue:content-patch',
'aue:content-update',
Expand All @@ -102,7 +102,8 @@ function attachEventListners(main) {
const applied = await applyChanges(event);
if (!applied) window.location.reload();
}));
import('./form-editor-support.js');
const module = await import('./form-editor-support.js');
module.attachEventListners(main);
}

attachEventListners(document.querySelector('main'));
12 changes: 6 additions & 6 deletions scripts/form-editor-support.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import { loadCSS } from './aem.js';

window.currentMode = 'preview';
let activeWizardStep;
const OOTBViewTypeComponentsWithoutModel = ['wizard', 'toggleable-link', 'modal'];

export function getItems(container) {
if (container[':itemsOrder'] && container[':items']) {
Expand Down Expand Up @@ -96,15 +97,15 @@ function annotateFormFragment(fragmentFieldWrapper, fragmentDefinition) {
}

function getPropertyModel(fd) {
if (!fd[':type'] || fd[':type'].startsWith('core/fd/components') || fd[':type'] === 'wizard') {
if (!fd[':type'] || fd[':type'].startsWith('core/fd/components') || OOTBViewTypeComponentsWithoutModel.includes(fd[':type'])) {
return fd.fieldType === 'image' || fd.fieldType === 'button' ? `form-${fd.fieldType}` : fd.fieldType;
}
return fd[':type'];
}

function annotateContainer(fieldWrapper, fd) {
fieldWrapper.setAttribute('data-aue-resource', `urn:aemconnection:${fd.properties['fd:path']}`);
fieldWrapper.setAttribute('data-aue-model', fd.fieldType);
fieldWrapper.setAttribute('data-aue-model', getPropertyModel(fd));
fieldWrapper.setAttribute('data-aue-label', fd.label?.value || fd.name);
fieldWrapper.setAttribute('data-aue-type', 'container');
fieldWrapper.setAttribute('data-aue-behavior', 'component');
Expand Down Expand Up @@ -310,7 +311,7 @@ export async function applyChanges(event) {
return true;
}

function attachEventListners(main) {
export function attachEventListners(main) {
[
'aue:content-patch',
'aue:content-update',
Expand Down Expand Up @@ -341,11 +342,10 @@ function attachEventListners(main) {

if (document.documentElement.classList.contains('adobe-ue-edit')) {
ueEditModeHandler();
} else {
document.body.addEventListener('aue:ui-edit', ueEditModeHandler);
}
document.body.addEventListener('aue:ui-edit', ueEditModeHandler);
}

const observer = new MutationObserver(instrumentForms);
observer.observe(document, { childList: true, subtree: true, attributeFilter: ['form'] });
loadCSS(`${window.hlx.codeBasePath}/scripts/form-editor-support.css`);
attachEventListners(document.querySelector('main'));

0 comments on commit 10e56e5

Please sign in to comment.