@reldens/cms 0.76.0 → 0.78.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.
@@ -728,6 +728,10 @@
728
728
  font-weight: var(--bold);
729
729
  color: var(--darkGrey);
730
730
  flex: 1;
731
+
732
+ & sup {
733
+ cursor: help;
734
+ }
731
735
  }
732
736
 
733
737
  &.field-value {
@@ -304,6 +304,10 @@ window.addEventListener('DOMContentLoaded', () => {
304
304
  }
305
305
  let idValueInput = editForm.querySelector('.entity-id-value');
306
306
  if(idValueInput){
307
+ let idDisplayInput = editForm.querySelector('[name="disabled-'+idValueInput.name+'"]');
308
+ if(idDisplayInput){
309
+ idDisplayInput.value = '';
310
+ }
307
311
  idValueInput.value = '';
308
312
  }
309
313
  let titleElement = document.querySelector('.entity-edit h2');
@@ -20,7 +20,7 @@
20
20
  </div>
21
21
  {{#editFields}}
22
22
  <div class="edit-field">
23
- <span class="field-name">{{&name}}</span>
23
+ <span class="field-name">{{&name}}{{#isRequired}}<sup title="required">r</sup>{{/isRequired}}{{#hasBothMarkers}}<sup>,</sup>{{/hasBothMarkers}}{{#isUnique}}<sup title="unique">u</sup>{{/isUnique}}</span>
24
24
  <span class="field-value">{{&value}}</span>
25
25
  </div>
26
26
  {{/editFields}}
@@ -145,12 +145,7 @@ class ContentsBuilder
145
145
  value: '{{&'+property+'}}'
146
146
  };
147
147
  });
148
- let editFields = editProperties.map((property) => {
149
- return {
150
- name: this.fetchTranslation(property, entityId),
151
- value: '{{&'+property+'}}'
152
- };
153
- });
148
+ let editFields = this.buildEditFields(editProperties, driverResource.options.properties, entityId);
154
149
  let sectionsContents = this.adminFilesContents?.sections;
155
150
  let extraContentForList = sc.get(sectionsContents?.list, driverResource.entityPath, '');
156
151
  let extraContentForView = await this.render(
@@ -216,6 +211,23 @@ class ContentsBuilder
216
211
  return entitiesContents;
217
212
  }
218
213
 
214
+ buildEditFields(editProperties, properties, entityId)
215
+ {
216
+ let editFields = [];
217
+ for(let propertyKey of editProperties){
218
+ let isRequired = sc.get(properties[propertyKey], 'isRequired', false);
219
+ let isUnique = sc.get(properties[propertyKey], 'isUnique', false);
220
+ editFields.push({
221
+ name: this.fetchTranslation(propertyKey, entityId),
222
+ value: '{{&'+propertyKey+'}}',
223
+ isRequired,
224
+ isUnique,
225
+ hasBothMarkers: isRequired && isUnique
226
+ });
227
+ }
228
+ return editFields;
229
+ }
230
+
219
231
  buildReverseRelationsMap()
220
232
  {
221
233
  let reverseRelations = {};
@@ -357,8 +357,10 @@ class RouterContents
357
357
  let saveResult = await this.saveEntity(id, entityRepository, entityDataPatch);
358
358
  if(!saveResult){
359
359
  Logger.error('Save result error.', saveResult, entityDataPatch);
360
- return this.generateEntityRoute('editPath', driverResource, idProperty, null, id)
361
- +'&result=saveEntityStorageError';
360
+ return this.appendResultParam(
361
+ this.generateEntityRoute('editPath', driverResource, idProperty, null, id),
362
+ 'saveEntityStorageError'
363
+ );
362
364
  }
363
365
  await this.emitEvent('reldens.adminAfterEntitySave', {
364
366
  req,
@@ -382,7 +384,10 @@ class RouterContents
382
384
  }
383
385
  let saveAction = sc.get(req.body, 'saveAction', 'save');
384
386
  if('saveAndContinue' === saveAction){
385
- return this.generateEntityRoute('editPath', driverResource, idProperty, saveResult) +'&result=success';
387
+ return this.appendResultParam(
388
+ this.generateEntityRoute('editPath', driverResource, idProperty, saveResult),
389
+ 'success'
390
+ );
386
391
  }
387
392
  if('saveAndGoBack' === saveAction){
388
393
  return this.rootPath+'/'+entityPath+'?result=success';
@@ -836,6 +841,14 @@ class RouterContents
836
841
  return this.rootPath + '/' + driverResource.entityPath + this[routeType] + idParam;
837
842
  }
838
843
 
844
+ appendResultParam(route, result)
845
+ {
846
+ if(route.includes('?')){
847
+ return route+'&result='+result;
848
+ }
849
+ return route+'?result='+result;
850
+ }
851
+
839
852
  }
840
853
 
841
854
  module.exports.RouterContents = RouterContents;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@reldens/cms",
3
3
  "scope": "@reldens",
4
- "version": "0.76.0",
4
+ "version": "0.78.0",
5
5
  "description": "Reldens - CMS",
6
6
  "author": "Damian A. Pastorini",
7
7
  "license": "MIT",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@reldens/server-utils": "^0.53.0",
38
- "@reldens/storage": "^0.105.0",
38
+ "@reldens/storage": "^0.106.0",
39
39
  "@reldens/utils": "^0.57.0",
40
40
  "dotenv": "17.4.2",
41
41
  "mustache": "4.2.0"