Early Childhood Care and Education Unit

  • The Ministry of Education established the Early Childhood Care and Education Unit to support its goal "to ensure that all children, regardless of income, special education need or background, have access to high-quality early childhood care and education" (Stabilisation Plan, January 2011). The Ministry of Education established the Early Childhood Care and Education Unit to support its goal "to ensure that all children, regardless of income, special education need or background, have access to high-quality early childhood care and education" (Stabilisation Plan, January 2011).

Early Childhood Care and Education Unit

  • The Ministry of Education established the Early Childhood Care and Education Unit to support its goal "to ensure that all children, regardless of income, special education need or background, have access to high-quality early childhood care and education" (Stabilisation Plan, January 2011). The Ministry of Education established the Early Childhood Care and Education Unit to support its goal "to ensure that all children, regardless of income, special education need or background, have access to high-quality early childhood care and education" (Stabilisation Plan, January 2011).

Contact Information
phone
(345) 244-2417
Contact Information
phone
Phone:
(345) 244-2417
email
Email:
ecce@gov.ky
An error occurred while processing the template.
Java method "jdk.proxy147.$Proxy982.getArticleByUrlTitle(long, String)" threw an exception when invoked on jdk.proxy147.$Proxy982 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@53c9288a"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign departmentJSON = JournalArtic...  [in template "20097#20123#110842" at line 9, column 17]
----
1<div class ="list-eservices-container" style="display:grid; grid-template-columns: repeat(auto-fit, minmax(max(500px,2vw), 1fr)); grid-gap: 2rem; 
2"> 
3	 
4 
5<#assign ddmFieldLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMFieldLocalService")/> 
6		<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")/> 
7	  <#assign currentURLSplit = currentURL?split("/")/> 
8		<#assign departmentTitle = currentURLSplit[6]?keep_before("?")/> 
9		<#assign departmentJSON = JournalArticleLocalService.getArticleByUrlTitle(groupId, departmentTitle)/> 
10	  <#assign departmentId = departmentJSON.resourcePrimKey/> 
11	<#if entries?has_content> 
12		<#list entries as curEntry> 
13			 <#assign fields = curEntry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValues()/> 
14			 <#assign original_journal_article=JournalArticleLocalService.fetchArticle(curEntry.classPK-1)/> 
15			 <#assign current_version_journal_article=JournalArticleLocalService.fetchArticle(groupId,original_journal_article.getArticleId())/> 
16			 <#assign docXml=current_version_journal_article.getDocument()/> 
17			 <#assign asset_type = JournalArticleLocalService.getArticle(curEntry.classPK-1).getDDMStructure().getName(locale)?trim/> 
18						<#if asset_type == 'eService'> 
19									<#if docXml.selectSingleNode("/root/dynamic-element[@name='department_name']/dynamic-content")?has_content> 
20											<#assign taggedDepartmentJSON = docXml.selectSingleNode("/root/dynamic-element[@name='department_name']/dynamic-content").getText()/> 
21									</#if> 
22									<#if docXml.selectSingleNode("/root/dynamic-element[@name='service_url']/dynamic-content")?has_content> 
23											<#assign service_url = docXml.selectSingleNode("/root/dynamic-element[@name='service_url']/dynamic-content").getText()/> 
24									</#if> 
25							<#if taggedDepartmentJSON != '{}'>	 
26							<#assign taggedDepartmentClassPK = taggedDepartmentJSON?eval.classPK?number/> 
27								</#if> 
28							<#if (taggedDepartmentClassPK == departmentId)> 
29		 
30          <div class="row search_result_item " style="padding: 1.5rem 1rem 1rem 0.5rem; margin: 0 0 1rem 0 !important;"> 
31						<div class="col-md-10 asset_title"> 
32							 <a href="${service_url}"  class="is-eservice" style="color: #0067B1" onclick="recordClick('${current_version_journal_article.articleId}', '${curEntry.getTitle(locale)}', '${service_url}'); return false;"> 
33                                ${curEntry.getTitle(locale)} 
34                            </a> 
35						</div>						 
36						<#if docXml.selectSingleNode("/root/dynamic-element[@name='short_description']/dynamic-content")?has_content> 
37							<#assign short_description = docXml.selectSingleNode("/root/dynamic-element[@name='short_description']/dynamic-content").getText()/> 
38	<div class="col-md-12 asset_desc"> 
39								${short_description} 
40							</div> 
41						</#if> 
42<#if docXml.selectSingleNode("/root/dynamic-element[@name='support_number']/dynamic-content")?has_content> 
43							<#assign support_number = docXml.selectSingleNode("/root/dynamic-element[@name='support_number']/dynamic-content").getText()/> 
44								<div class="col-md-12 pt-1"> 
45									<#if support_number?has_content> 
46										<span class="support_label">Phone:</span> <a href="tel:${support_number}" class="support_value">${support_number}</a> 
47									<#else> 
48										<span class="support_label">Phone:</span> <span style="font-weight:normal">Not available</span> 
49									</#if> 
50								</div> 
51						</#if> 
52						<#if docXml.selectSingleNode("/root/dynamic-element[@name='support_email']/dynamic-content")?has_content> 
53							<#assign support_email = docXml.selectSingleNode("/root/dynamic-element[@name='support_email']/dynamic-content").getText()/> 
54 
55								<div class="col-md-12 pt-1"> 
56									<#if support_email?has_content> 
57										<span class="support_label">Email:</span> <a href="mailto:${support_email}" class="support_value">${support_email}</a> 
58									<#else> 
59										<span class="support_label">Email:</span> <span style="font-weight:normal">Not available</span> 
60									</#if> 
61								</div> 
62						</#if> 
63										<div class="col-md-2 dep_name_responsive text-center"> 
64									<#if docXml.selectSingleNode("/root/dynamic-element[@name='department_name']/dynamic-content")?has_content> 
65							<#assign department_name = docXml.selectSingleNode("/root/dynamic-element[@name='department_name']/dynamic-content").getText()?eval/> 
66							<#if department_name.title??> 
67								<#assign dep_old_id = JournalArticleLocalService.fetchArticle(getterUtil.getLong(department_name.classPK)-1) /> 
68								<#assign new_dep_id=JournalArticleLocalService.fetchArticle(groupId,dep_old_id.getArticleId())/> 
69								<#assign depXml=new_dep_id.getDocument()/> 
70									<#if depXml.selectSingleNode("/root/dynamic-element[@name='abbreviation']/dynamic-content")?has_content> 
71										<#if depXml.selectSingleNode("/root/dynamic-element[@name='website_url']/dynamic-content")?has_content> 
72											<#if depXml.selectSingleNode("/root/dynamic-element[@name='website_url']/dynamic-content")?contains("https") || depXml.selectSingleNode("/root/dynamic-element[@name='website_url']/dynamic-content")?contains("http")> 
73												<a href="${depXml.selectSingleNode("/root/dynamic-element[@name='website_url']/dynamic-content").getText()}" target="_blank">${depXml.selectSingleNode("/root/dynamic-element[@name='abbreviation']/dynamic-content").getText()}</a> 
74											<#else> 
75												<#assign new_url = 'http://' + depXml.selectSingleNode("/root/dynamic-element[@name='website_url']/dynamic-content").getText()/> 
76												<a href="${new_url}" target="_blank">${depXml.selectSingleNode("/root/dynamic-element[@name='abbreviation']/dynamic-content").getText()}</a> 
77											</#if> 
78											<#else> 
79												${depXml.selectSingleNode("/root/dynamic-element[@name='abbreviation']/dynamic-content").getText()} 
80										</#if> 
81										<#else> 
82																	${department_name.title}</a> 
83											 
84									</#if> 
85									</#if> 
86						</#if> 
87 
88								</div> 
89											 
90			</div> 
91			</#if> 
92								</#if> 
93							 
94							 
95			</#list> 
96		</#if> 
97 
98									 
99</div> 
100							 
101		 
102 
103										<style> 
104				.pagination-results{ 
105					visibility:hidden; 
106
107				.search-results-container{ 
108				 
109
110				.asset_title { 
111				font-size:1.4rem; 
112				font-weight: 700; 
113				line-height: 1.25rem; 
114				color: var(--color-action-primary-default); 
115
116				.asset_desc { 
117				font-size:1rem; 
118					padding-top:0.4rem; 
119					padding-bottom:0.4rem; 
120
121				.search_result_item { 
122				border: 0.0625rem solid var(--color-neutral-3); 
123				border-radius: 0.5rem; 
124				margin-bottom: 1rem; /*1rem 0*/ 
125					 
126
127				 
128				.dep_name_responsive { 
129				display:none; 
130
131				 
132				@media only screen and (max-width: 750px) { 
133					.dep_name { 
134					display:none;  
135					}  
136					.dep_name_responsive { 
137					display:block; 
138						padding: 0.125rem 0.5rem; 
139background: var(--color-neutral-5); 
140border-radius: 0.25rem; 
141color: var(--color-neutral-0); 
142font-weight: 700; 
143font-size: 0.8125rem; 
144line-height: 1.25rem; 
145						margin-top:1rem; 
146
147
148				 
149				.support_label  { 
150				font-size:1rem; 
151
152				 
153				.support_value { 
154				font-size:1rem; 
155
156											 
157											 
158				 
159				@media only screen and (max-width: 481px) { 
160					.ml-10, .mx-10, .mr-10{ 
161						margin-left: 0 !important; 
162						margin-right: 0 !important; 
163
164					 
165					.pl-5, .px-5{ 
166						padding-left: var(--spacer-4, 3rem) !important; 
167
168					 
169					.list-eservices-container { 
170					display: block !important; 
171
172					 
173					/*.search_result_item{ 
174		margin-right: 4rem !important; 
175		padding-right: 4rem !important; 
176	}*/ 
177	 
178	.asset_desc{ 
179		padding-right: 4rem !important; 
180
181	 
182	.dep_name_responsive{ 
183		margin-right: 4rem; 
184
185					 
186					.row{ 
187						display: block !important; 
188
189					 
190					/*.asset_title{ 
191						padding-right:4rem !important; 
192					}*/ 
193					 
194
195				 
196				@media only screen and (max-width: 641px) { 
197					.ml-10, .mx-10, .mr-10{ 
198						margin-left: 0 !important; 
199						margin-right: 0 !important; 
200
201					 
202					.pl-5, .px-5{ 
203						padding-left: var(--spacer-4, 3rem) !important; 
204
205					 
206
207     
208@media only screen and (max-width: 769px) { 
209    .ml-10, .mx-10, .mr-10{ 
210						margin-left: 0 !important; 
211			margin-right: 0 !important; 
212
213	 
214	.pl-5, .px-5{ 
215						padding-left: var(--spacer-4, 3rem) !important; 
216
217	 
218	 
219
220				 
221			</style> 
222							 
223<script> 
224function recordClick(eserviceId, eserviceName, serviceUrl) { 
225    const authToken = Liferay.authToken; 
226     
227    fetch('/o/clickthrough/record-click/' + eserviceId + '/' + eserviceName + '/?p_auth=' + authToken, { 
228        method: 'POST', 
229        headers: { 
230            'Content-Type': 'application/json', 
231        }, 
232        credentials: 'include' 
233    }) 
234    .catch(error => { 
235        // Error handling without logging 
236    }) 
237    .finally(() => { 
238        // Check if dialog exists 
239        const dialog = document.getElementById("myDialog"); 
240         
241        if (dialog && dialog.style.display !== 'block') { 
242            window.location.href = serviceUrl; 
243
244        else { 
245            window.location.href = serviceUrl; 
246
247    }); 
248     
249    return false; 
250
251</script>