Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,18 @@
thankYouOption="page"
themeRef="/libs/fd/af/themes/canvas">
<dateinput1
jcr:primaryType="nt:unstructured"
jcr:title="Date Input 1"
sling:resourceType="forms-components-examples/components/form/datepicker"
fieldType="date-input"
name="dateinput1">
jcr:primaryType="nt:unstructured"
jcr:title="Date Input 1"
sling:resourceType="forms-components-examples/components/form/datepicker"
fieldType="date-input"
name="dateinput1">
<fd:rules
fd:valueCommit="[{&quot;nodeName&quot;:&quot;ROOT&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EVENT_SCRIPTS&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;EVENT_CONDITION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EVENT_AND_COMPARISON&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;COMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput1&quot;\,&quot;type&quot;:&quot;AFCOMPONENT|FIELD|DATE FIELD|DATE&quot;\,&quot;name&quot;:&quot;dateinput1&quot;}}\,{&quot;nodeName&quot;:&quot;EVENT_AND_COMPARISON_OPERATOR&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EQUALS_TO&quot;\,&quot;value&quot;:null}}\,{&quot;nodeName&quot;:&quot;PRIMITIVE_EXPRESSION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;DATE_LITERAL&quot;\,&quot;value&quot;:&quot;2022-12-23&quot;}}]}\,&quot;nested&quot;:false}\,{&quot;nodeName&quot;:&quot;Then&quot;\,&quot;value&quot;:null}\,{&quot;nodeName&quot;:&quot;BLOCK_STATEMENTS&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;BLOCK_STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;SHOW_STATEMENT&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;AFCOMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput3&quot;\,&quot;displayName&quot;:&quot;Date Input 3&quot;\,&quot;type&quot;:&quot;AFCOMPONENT&quot;\,&quot;displayPath&quot;:&quot;FORM/Date Input 3/&quot;\,&quot;name&quot;:&quot;dateinput3&quot;\,&quot;parent&quot;:&quot;$form&quot;}}]}}\,{&quot;nodeName&quot;:&quot;BLOCK_STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;HIDE_STATEMENT&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;AFCOMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput4&quot;\,&quot;displayName&quot;:&quot;Date Input 4&quot;\,&quot;type&quot;:&quot;AFCOMPONENT&quot;\,&quot;displayPath&quot;:&quot;FORM/Date Input 4/&quot;\,&quot;name&quot;:&quot;dateinput4&quot;\,&quot;parent&quot;:&quot;$form&quot;}}]}}]}]}}]\,&quot;isValid&quot;:true\,&quot;enabled&quot;:true\,&quot;version&quot;:1\,&quot;script&quot;:[&quot;if($field == '2022-12-23'\, dispatchEvent(dateinput3\, 'custom:setProperty'\, {visible : true()})\, {})&quot;\,&quot;if($field == '2022-12-23'\, dispatchEvent(dateinput4\, 'custom:setProperty'\, {visible : false()})\, {})&quot;]\,&quot;eventName&quot;:&quot;Value Commit&quot;\,&quot;ruleType&quot;:&quot;&quot;\,&quot;description&quot;:&quot;&quot;},{&quot;nodeName&quot;:&quot;ROOT&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EVENT_SCRIPTS&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;EVENT_CONDITION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EVENT_AND_COMPARISON&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;COMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput1&quot;\,&quot;type&quot;:&quot;DATE&quot;\,&quot;name&quot;:&quot;dateinput1&quot;}}\,{&quot;nodeName&quot;:&quot;EVENT_AND_COMPARISON_OPERATOR&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EQUALS_TO&quot;\,&quot;value&quot;:null}}\,{&quot;nodeName&quot;:&quot;PRIMITIVE_EXPRESSION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;DATE_LITERAL&quot;\,&quot;value&quot;:&quot;2023-01-01&quot;}}]}\,&quot;nested&quot;:false}\,{&quot;nodeName&quot;:&quot;Then&quot;\,&quot;value&quot;:null}\,{&quot;nodeName&quot;:&quot;BLOCK_STATEMENTS&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;BLOCK_STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;ENABLE_STATEMENT&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;AFCOMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput2&quot;\,&quot;displayName&quot;:&quot;Date Input 2&quot;\,&quot;type&quot;:&quot;FIELD&quot;\,&quot;displayPath&quot;:&quot;FORM/Date Input 2/&quot;\,&quot;name&quot;:&quot;dateinput2&quot;\,&quot;parent&quot;:&quot;$form&quot;}}]}}\,{&quot;nodeName&quot;:&quot;BLOCK_STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;DISABLE_STATEMENT&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;AFCOMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput4&quot;\,&quot;displayName&quot;:&quot;Date Input 4&quot;\,&quot;type&quot;:&quot;FIELD&quot;\,&quot;displayPath&quot;:&quot;FORM/Date Input 4/&quot;\,&quot;name&quot;:&quot;dateinput4&quot;\,&quot;parent&quot;:&quot;$form&quot;}}]}}]}]}}]\,&quot;isValid&quot;:true\,&quot;enabled&quot;:true\,&quot;version&quot;:1\,&quot;script&quot;:[&quot;if($field == '2023-01-01'\, dispatchEvent(dateinput2\, 'custom:setProperty'\, {enabled : true()})\, {})&quot;\,&quot;if($field == '2023-01-01'\, dispatchEvent(dateinput4\, 'custom:setProperty'\, {enabled : false()})\, {})&quot;]\,&quot;eventName&quot;:&quot;Value Commit&quot;\,&quot;ruleType&quot;:&quot;&quot;\,&quot;description&quot;:&quot;&quot;}]"
jcr:primaryType="nt:unstructured"
validationStatus="valid"/>
fd:valueCommit="[{&quot;nodeName&quot;:&quot;ROOT&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EVENT_SCRIPTS&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;EVENT_CONDITION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EVENT_AND_COMPARISON&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;COMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput1&quot;\,&quot;type&quot;:&quot;AFCOMPONENT|FIELD|DATE FIELD|DATE&quot;\,&quot;name&quot;:&quot;dateinput1&quot;}}\,{&quot;nodeName&quot;:&quot;EVENT_AND_COMPARISON_OPERATOR&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EQUALS_TO&quot;\,&quot;value&quot;:null}}\,{&quot;nodeName&quot;:&quot;PRIMITIVE_EXPRESSION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;DATE_LITERAL&quot;\,&quot;value&quot;:&quot;2022-12-23&quot;}}]}\,&quot;nested&quot;:false}\,{&quot;nodeName&quot;:&quot;Then&quot;\,&quot;value&quot;:null}\,{&quot;nodeName&quot;:&quot;BLOCK_STATEMENTS&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;BLOCK_STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;SHOW_STATEMENT&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;AFCOMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput3&quot;\,&quot;displayName&quot;:&quot;Date Input 3&quot;\,&quot;type&quot;:&quot;AFCOMPONENT&quot;\,&quot;displayPath&quot;:&quot;FORM/Date Input 3/&quot;\,&quot;name&quot;:&quot;dateinput3&quot;\,&quot;parent&quot;:&quot;$form&quot;}}]}}\,{&quot;nodeName&quot;:&quot;BLOCK_STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;HIDE_STATEMENT&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;AFCOMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput4&quot;\,&quot;displayName&quot;:&quot;Date Input 4&quot;\,&quot;type&quot;:&quot;AFCOMPONENT&quot;\,&quot;displayPath&quot;:&quot;FORM/Date Input 4/&quot;\,&quot;name&quot;:&quot;dateinput4&quot;\,&quot;parent&quot;:&quot;$form&quot;}}]}}]}]}}]\,&quot;isValid&quot;:true\,&quot;enabled&quot;:true\,&quot;version&quot;:1\,&quot;script&quot;:[&quot;if($field == '2022-12-23'\, dispatchEvent(dateinput3\, 'custom:setProperty'\, {visible : true()})\, {})&quot;\,&quot;if($field == '2022-12-23'\, dispatchEvent(dateinput4\, 'custom:setProperty'\, {visible : false()})\, {})&quot;]\,&quot;eventName&quot;:&quot;Value Commit&quot;\,&quot;ruleType&quot;:&quot;&quot;\,&quot;description&quot;:&quot;&quot;},{&quot;nodeName&quot;:&quot;ROOT&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EVENT_SCRIPTS&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;EVENT_CONDITION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EVENT_AND_COMPARISON&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;COMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput1&quot;\,&quot;type&quot;:&quot;AFCOMPONENT|FIELD|DATE FIELD|DATE&quot;\,&quot;name&quot;:&quot;dateinput1&quot;}}\,{&quot;nodeName&quot;:&quot;EVENT_AND_COMPARISON_OPERATOR&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EQUALS_TO&quot;\,&quot;value&quot;:null}}\,{&quot;nodeName&quot;:&quot;PRIMITIVE_EXPRESSION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;DATE_LITERAL&quot;\,&quot;value&quot;:&quot;2023-01-01&quot;}}]}\,&quot;nested&quot;:false}\,{&quot;nodeName&quot;:&quot;Then&quot;\,&quot;value&quot;:null}\,{&quot;nodeName&quot;:&quot;BLOCK_STATEMENTS&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;BLOCK_STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;ENABLE_STATEMENT&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;AFCOMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput2&quot;\,&quot;displayName&quot;:&quot;Date Input 2&quot;\,&quot;type&quot;:&quot;FIELD&quot;\,&quot;displayPath&quot;:&quot;FORM/Date Input 2/&quot;\,&quot;name&quot;:&quot;dateinput2&quot;\,&quot;parent&quot;:&quot;$form&quot;}}]}}\,{&quot;nodeName&quot;:&quot;BLOCK_STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;DISABLE_STATEMENT&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;AFCOMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput4&quot;\,&quot;displayName&quot;:&quot;Date Input 4&quot;\,&quot;type&quot;:&quot;FIELD&quot;\,&quot;displayPath&quot;:&quot;FORM/Date Input 4/&quot;\,&quot;name&quot;:&quot;dateinput4&quot;\,&quot;parent&quot;:&quot;$form&quot;}}]}}]}]}}]\,&quot;isValid&quot;:true\,&quot;enabled&quot;:true\,&quot;version&quot;:1\,&quot;script&quot;:[&quot;if($field == '2023-01-01'\, dispatchEvent(dateinput2\, 'custom:setProperty'\, {enabled : true()})\, {})&quot;\,&quot;if($field == '2023-01-01'\, dispatchEvent(dateinput4\, 'custom:setProperty'\, {enabled : false()})\, {})&quot;]\,&quot;eventName&quot;:&quot;Value Commit&quot;\,&quot;ruleType&quot;:&quot;&quot;\,&quot;description&quot;:&quot;&quot;},{&quot;nodeName&quot;:&quot;ROOT&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EVENT_SCRIPTS&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;EVENT_CONDITION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;BINARY_EVENT_CONDITION&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;EVENT_CONDITION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EVENT_AND_COMPARISON&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;COMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput1&quot;\,&quot;type&quot;:&quot;DATE&quot;\,&quot;name&quot;:&quot;dateinput1&quot;}}\,{&quot;nodeName&quot;:&quot;EVENT_AND_COMPARISON_OPERATOR&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;is changed&quot;\,&quot;value&quot;:null}}\,{&quot;nodeName&quot;:&quot;PRIMITIVE_EXPRESSION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;DATE_LITERAL&quot;\,&quot;value&quot;:null}}]}\,&quot;nested&quot;:false}\,{&quot;nodeName&quot;:&quot;OPERATOR&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;AND&quot;\,&quot;value&quot;:null}}\,{&quot;nodeName&quot;:&quot;EVENT_CONDITION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EVENT_AND_COMPARISON&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;COMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.dateinput1&quot;\,&quot;type&quot;:&quot;DATE&quot;\,&quot;name&quot;:&quot;dateinput1&quot;}}\,{&quot;nodeName&quot;:&quot;EVENT_AND_COMPARISON_OPERATOR&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;EQUALS_TO&quot;\,&quot;value&quot;:null}}\,{&quot;nodeName&quot;:&quot;PRIMITIVE_EXPRESSION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;DATE_LITERAL&quot;\,&quot;value&quot;:&quot;2024-04-08&quot;}}]}\,&quot;nested&quot;:false}]}\,&quot;nested&quot;:false}\,{&quot;nodeName&quot;:&quot;Then&quot;\,&quot;value&quot;:null}\,{&quot;nodeName&quot;:&quot;BLOCK_STATEMENTS&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;BLOCK_STATEMENT&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;SET_PROPERTY&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;MEMBER_EXPRESSION&quot;\,&quot;items&quot;:[{&quot;nodeName&quot;:&quot;PROPERTY_LIST&quot;\,&quot;value&quot;:&quot;readOnly&quot;}\,{&quot;nodeName&quot;:&quot;of&quot;\,&quot;value&quot;:null}\,{&quot;nodeName&quot;:&quot;COMPONENT&quot;\,&quot;value&quot;:{&quot;id&quot;:&quot;$form.datepicker_14627895491712578089293&quot;\,&quot;displayName&quot;:&quot;Readonly with edit and display pattern&quot;\,&quot;type&quot;:&quot;FIELD|DATE FIELD&quot;\,&quot;displayPath&quot;:&quot;FORM/Readonly with edit and display pattern/&quot;\,&quot;name&quot;:&quot;datepicker_14627895491712578089293&quot;\,&quot;parent&quot;:&quot;$form&quot;}}]}\,{&quot;nodeName&quot;:&quot;to&quot;\,&quot;value&quot;:null}\,{&quot;nodeName&quot;:&quot;EXTENDED_EXPRESSION&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;BOOLEAN_LITERAL&quot;\,&quot;choice&quot;:{&quot;nodeName&quot;:&quot;False&quot;\,&quot;value&quot;:null}}}]}}]}]}}]\,&quot;isValid&quot;:true\,&quot;enabled&quot;:true\,&quot;version&quot;:1\,&quot;script&quot;:[&quot;if(($field.$value'null' &amp;&amp; $field.$value == '2024-04-08')\, dispatchEvent(datepicker_14627895491712578089293\, 'custom:setProperty'\, {readOnly : false()})\, {})&quot;]\,&quot;eventName&quot;:&quot;Value Commit&quot;\,&quot;ruleType&quot;:&quot;&quot;\,&quot;description&quot;:&quot;&quot;}]"
jcr:primaryType="nt:unstructured"
validationStatus="valid"/>
<fd:events
jcr:primaryType="nt:unstructured"
change="[if($field == '2022-12-23'\, dispatchEvent(dateinput3\, 'custom:setProperty'\, {visible : true()})\, {}),if($field == '2022-12-23'\, dispatchEvent(dateinput4\, 'custom:setProperty'\, {visible : false()})\, {}),if($field == '2023-01-01'\, dispatchEvent(dateinput2\, 'custom:setProperty'\, {enabled : true()})\, {}),if($field == '2023-01-01'\, dispatchEvent(dateinput4\, 'custom:setProperty'\, {enabled : false()})\, {})]"/>
jcr:primaryType="nt:unstructured"
change="[if(contains($event.payload.changes[].propertyName\, 'value')\, if($field == '2022-12-23'\, dispatchEvent(dateinput3\, 'custom:setProperty'\, {visible : true()})\, {})\, {}),if(contains($event.payload.changes[].propertyName\, 'value')\, if($field == '2022-12-23'\, dispatchEvent(dateinput4\, 'custom:setProperty'\, {visible : false()})\, {})\, {}),if(contains($event.payload.changes[].propertyName\, 'value')\, if($field == '2023-01-01'\, dispatchEvent(dateinput2\, 'custom:setProperty'\, {enabled : true()})\, {})\, {}),if(contains($event.payload.changes[].propertyName\, 'value')\, if($field == '2023-01-01'\, dispatchEvent(dateinput4\, 'custom:setProperty'\, {enabled : false()})\, {})\, {}),if(contains($event.payload.changes[].propertyName\, 'value')\, if(($field.$value'null' &amp;&amp; $field.$value == '2024-04-08')\, dispatchEvent(datepicker_14627895491712578089293\, 'custom:setProperty'\, {readOnly : false()})\, {})\, {})]"/>
</dateinput1>
<dateinput2
jcr:primaryType="nt:unstructured"
Expand Down Expand Up @@ -166,6 +166,27 @@
textIsRich="[true,true,true]"
unboundFormElement="{Boolean}false"
visible="{Boolean}true"/>
<datepicker_1462789549
jcr:created="{Date}2024-04-08T17:38:08.872+05:30"
jcr:createdBy="admin"
jcr:lastModified="{Date}2024-04-08T17:38:52.275+05:30"
jcr:lastModifiedBy="admin"
jcr:primaryType="nt:unstructured"
jcr:title="Readonly with edit and display pattern"
sling:resourceType="forms-components-examples/components/form/datepicker"
default="2024-04-08"
displayFormat="d MMMM, y"
displayPatternType="d MMMM, y"
editFormat="d/M/y"
editPatternType="d/M/y"
enabled="{Boolean}true"
fieldType="date-input"
hideTitle="false"
name="datepicker_14627895491712578089293"
readOnly="{Boolean}true"
textIsRich="[true,true,true]"
unboundFormElement="{Boolean}false"
visible="{Boolean}true"/>
</guideContainer>
</jcr:content>
</jcr:root>
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,13 @@
}
}

updateReadOnly(readOnly, state) {
super.updateReadOnly(readOnly, state);
if (this.widgetObject != null) {
this.widgetObject.markAsReadOnly(readOnly);
}
}

setModel(model) {
super.setModel(model);
if (!this.#noFormats()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ if (typeof window.DatePickerWidget === 'undefined') {

#dp = null;
#curInstance = null;
#calendarIcon = null;
static #visible = false;
static #clickedWindow;

Expand Down Expand Up @@ -322,6 +323,18 @@ if (typeof window.DatePickerWidget === 'undefined') {
widget.click();
}
});
this.#calendarIcon = calendarIcon;
if (options.readOnly) {
this.markAsReadOnly(true)
}
}
}

markAsReadOnly(readonly) {
if (readonly) {
this.#calendarIcon.style.display = "none";
} else {
this.#calendarIcon.style.display = "";
}
}

Expand Down
16 changes: 15 additions & 1 deletion ui.tests/test-module/specs/datepicker/datepicker.runtime.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ describe("Form Runtime with Date Picker", () => {
}
});

it.only("Test custom error message when incorrect date format is entered", () => {
it("Test custom error message when incorrect date format is entered", () => {
const [datePicker7, datePicker7FieldView] = Object.entries(formContainer._fields)[6];
const incorrectInputs = ["adfasdfa", "29/2/2023", "32/1/2023", "1/32/23", "1-1-2023"];
incorrectInputs.forEach(incorrectInput => {
Expand All @@ -269,4 +269,18 @@ describe("Form Runtime with Date Picker", () => {
});
});
});

it("should not show calendar widget if marked readonly", () => {
const [datePicker1, datePicker1FieldView] = Object.entries(formContainer._fields)[0];
const [datePicker8, datePicker8FieldView] = Object.entries(formContainer._fields)[9];
cy.get(`#${datePicker8}`).find(".cmp-adaptiveform-datepicker__calendar-icon").should('have.css', 'display', 'none');
cy.get(`#${datePicker8}`).find("input").focus()
.then(() => {
cy.get(`#${datePicker8}`).find("input").blur().should("have.value","8 April, 2024");
})
cy.get(`#${datePicker1}`).find("input").clear().type('2024-04-08');
cy.get(`#${datePicker1}`).find("input").blur().then(() => {
cy.get(`#${datePicker8}`).find(".cmp-adaptiveform-datepicker__calendar-icon").should('have.css', 'display', 'block');
})
});
})