@reldens/cms 0.56.0 → 0.58.0

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.
@@ -177,8 +177,7 @@ window.addEventListener('DOMContentLoaded', () => {
177
177
  params.set('sortBy', columnName);
178
178
  params.set('sortDirection', sortDirection);
179
179
  }
180
- let newUrl = url.pathname+'?'+params;
181
- window.location.href = newUrl;
180
+ window.location.href = url.pathname+'?'+params;
182
181
  return false;
183
182
  });
184
183
  }
@@ -190,44 +189,35 @@ window.addEventListener('DOMContentLoaded', () => {
190
189
  if(sortableHeaders){
191
190
  for(let header of sortableHeaders){
192
191
  header.addEventListener('click', () => {
192
+ let sortForm = header.querySelector('.sort-form');
193
+ if(!sortForm){
194
+ return;
195
+ }
193
196
  let columnName = header.getAttribute('data-column');
194
- let currentSortDirection = header.classList.contains('sorted-asc') ? 'asc' : header.classList.contains('sorted-desc') ? 'desc' : '';
197
+ let currentSortDirection = header.classList.contains('sorted-asc')
198
+ ? 'asc'
199
+ : header.classList.contains('sorted-desc') ? 'desc' : '';
195
200
  let newSortDirection = 'asc';
196
201
  if('asc' === currentSortDirection){
197
202
  newSortDirection = 'desc';
198
203
  }
199
- let sortForm = document.createElement('form');
200
- sortForm.method = 'POST';
201
- sortForm.action = window.location.pathname;
202
- let sortByInput = document.createElement('input');
203
- sortByInput.type = 'hidden';
204
- sortByInput.name = 'sortBy';
204
+ let sortByInput = sortForm.querySelector('input[name="sortBy"]');
205
+ let sortDirectionInput = sortForm.querySelector('input[name="sortDirection"]');
205
206
  sortByInput.value = columnName;
206
- sortForm.appendChild(sortByInput);
207
- let sortDirectionInput = document.createElement('input');
208
- sortDirectionInput.type = 'hidden';
209
- sortDirectionInput.name = 'sortDirection';
210
207
  sortDirectionInput.value = newSortDirection;
211
- sortForm.appendChild(sortDirectionInput);
212
208
  let entitySearchInput = document.querySelector('#entityFilterTerm');
213
- if(entitySearchInput && entitySearchInput.value){
214
- let filterTermInput = document.createElement('input');
215
- filterTermInput.type = 'hidden';
216
- filterTermInput.name = 'entityFilterTerm';
217
- filterTermInput.value = entitySearchInput.value;
218
- sortForm.appendChild(filterTermInput);
209
+ let entityFilterTermInput = sortForm.querySelector('input[name="entityFilterTerm"]');
210
+ if(entityFilterTermInput){
211
+ entityFilterTermInput.value = entitySearchInput?.value || '';
219
212
  }
220
213
  let allFilters = document.querySelectorAll('.filters-toggle-content .filter input');
221
214
  for(let filterInput of allFilters){
222
- if(filterInput.value){
223
- let filterFieldInput = document.createElement('input');
224
- filterFieldInput.type = 'hidden';
225
- filterFieldInput.name = filterInput.name;
226
- filterFieldInput.value = filterInput.value;
227
- sortForm.appendChild(filterFieldInput);
215
+ let filterName = filterInput.name.replace('filters[', '').replace(']', '');
216
+ let sortFormFilterInput = sortForm.querySelector('input[data-filter-key="'+filterName+'"]');
217
+ if(sortFormFilterInput){
218
+ sortFormFilterInput.value = filterInput.value;
228
219
  }
229
220
  }
230
- document.body.appendChild(sortForm);
231
221
  sortForm.submit();
232
222
  });
233
223
  }
@@ -27,6 +27,14 @@
27
27
  </svg>
28
28
  </span>
29
29
  </div>
30
+ <form class="sort-form hidden" method="POST" action="{{&listRoute}}">
31
+ <input type="hidden" name="sortBy" value=""/>
32
+ <input type="hidden" name="sortDirection" value=""/>
33
+ <input type="hidden" name="entityFilterTerm" value=""/>
34
+ {{#filters}}
35
+ <input type="hidden" name="filters[{{&propertyKey}}]" value="" data-filter-key="{{&propertyKey}}"/>
36
+ {{/filters}}
37
+ </form>
30
38
  </th>
31
39
  {{/fieldsHeaders}}
32
40
  <th class="field field-edit"></th>
@@ -611,7 +611,7 @@ class RouterContents
611
611
  fieldValue = '' !== fieldValue ? sc.formatDate(new Date(fieldValue)) : '';
612
612
  }
613
613
  if('reference' === resourceProperty.type){
614
- let relationEntity = entity[resourceProperty.alias || resourceProperty.reference];
614
+ let relationEntity = entity[resourceProperty.alias || 'related_'+resourceProperty.reference];
615
615
  if(relationEntity){
616
616
  let relation = this.relations()[resourceProperty.reference];
617
617
  if(relation){
@@ -123,7 +123,7 @@ class ContentRenderer
123
123
  return layoutContent;
124
124
  }
125
125
  let routerKey = route?.router;
126
- let categoryName = currentEntityData?.cms_categories?.name;
126
+ let categoryName = currentEntityData?.related_cms_categories?.name;
127
127
  let siteHandle = this.templateResolver.resolveDomainToSiteKey(domain)
128
128
  + (routerKey ? ' '+routerKey : '')
129
129
  + (categoryName ? ' cat-'+categoryName : '');
@@ -65,14 +65,11 @@ class SitemapLoader
65
65
  try {
66
66
  let routesWithPages = await this.routesRepository.loadWithRelations(filters, 'cms_pages');
67
67
  let sitemapPages = routesWithPages.filter(route => {
68
- if(!route.cms_pages || 0 === route.cms_pages.length){
68
+ if(!route.related_cms_pages || 0 === route.related_cms_pages.length){
69
69
  return false;
70
70
  }
71
- let page = route.cms_pages[0];
72
- if('noindex,nofollow' === page.meta_robots){
73
- return false;
74
- }
75
- return true;
71
+ return 'noindex,nofollow' !== route.related_cms_pages[0].meta_robots;
72
+
76
73
  });
77
74
  req.sitemapPages = sitemapPages;
78
75
  eventData.variables.sitemapPages = sitemapPages;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@reldens/cms",
3
3
  "scope": "@reldens",
4
- "version": "0.56.0",
4
+ "version": "0.58.0",
5
5
  "description": "Reldens - CMS",
6
6
  "author": "Damian A. Pastorini",
7
7
  "license": "MIT",
@@ -35,9 +35,9 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@reldens/server-utils": "^0.46.0",
38
- "@reldens/storage": "^0.89.0",
38
+ "@reldens/storage": "^0.91.0",
39
39
  "@reldens/utils": "^0.54.0",
40
- "dotenv": "17.2.3",
40
+ "dotenv": "17.2.4",
41
41
  "mustache": "4.2.0"
42
42
  }
43
43
  }