@conduction/nextcloud-vue 2.137.0 → 2.138.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.
Files changed (86) hide show
  1. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue.js +1 -1
  2. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js +6 -4
  3. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js.map +1 -1
  4. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js.map +1 -1
  5. package/dist/esm/components/CnDetailCard/CnDetailCard.vue.js +1 -1
  6. package/dist/esm/components/CnDetailCard/CnDetailCard.vue2.js +6 -0
  7. package/dist/esm/components/CnDetailCard/CnDetailCard.vue2.js.map +1 -1
  8. package/dist/esm/components/CnDetailCard/CnDetailCard.vue3.js +24 -7
  9. package/dist/esm/components/CnDetailCard/CnDetailCard.vue3.js.map +1 -1
  10. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue.js +1 -1
  11. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js +2 -0
  12. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue2.js.map +1 -1
  13. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHost.vue3.js.map +1 -1
  14. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue.js +1 -1
  15. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js +43 -1
  16. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js.map +1 -1
  17. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js.map +1 -1
  18. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +34 -2
  19. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  20. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +23 -15
  21. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  22. package/dist/esm/components/CnMailTab/dashboardRegistration.js +4 -0
  23. package/dist/esm/components/CnMailTab/dashboardRegistration.js.map +1 -1
  24. package/dist/esm/components/CnNotificationMatrix/CnNotificationMatrix.vue.js +1 -1
  25. package/dist/esm/components/CnNotificationMatrix/CnNotificationMatrix.vue2.js.map +1 -1
  26. package/dist/esm/components/CnNotificationMatrix/CnNotificationMatrix.vue3.js.map +1 -1
  27. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue.js +1 -1
  28. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js +2 -0
  29. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue2.js.map +1 -1
  30. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js +2 -1
  31. package/dist/esm/components/CnObjectSidebar/CnFilesTab.vue3.js.map +1 -1
  32. package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue.js +1 -1
  33. package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue2.js +6 -0
  34. package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue2.js.map +1 -1
  35. package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue3.js +3 -3
  36. package/dist/esm/components/CnOrderedListField/CnOrderedListField.vue3.js.map +1 -1
  37. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  38. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +16 -0
  39. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  40. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +11 -5
  41. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  42. package/dist/esm/components/CnSavedViewMenuSettings/CnSavedViewMenuSettings.vue.js +1 -1
  43. package/dist/esm/components/CnSavedViewMenuSettings/CnSavedViewMenuSettings.vue2.js.map +1 -1
  44. package/dist/esm/components/CnSavedViewMenuSettings/CnSavedViewMenuSettings.vue3.js +1 -0
  45. package/dist/esm/components/CnSavedViewMenuSettings/CnSavedViewMenuSettings.vue3.js.map +1 -1
  46. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue.js +1 -1
  47. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue2.js.map +1 -1
  48. package/dist/esm/components/CnUserSettingsDialog/CnUserSettingsDialog.vue3.js.map +1 -1
  49. package/dist/esm/composables/indexSources.js +36 -9
  50. package/dist/esm/composables/indexSources.js.map +1 -1
  51. package/dist/esm/l10n/en.json.js +10 -1
  52. package/dist/esm/l10n/en.json.js.map +1 -1
  53. package/dist/esm/l10n/nl.json.js +10 -1
  54. package/dist/esm/l10n/nl.json.js.map +1 -1
  55. package/dist/esm/library-style.js +1 -1
  56. package/dist/esm/nextcloud-vue.css +431 -360
  57. package/dist/esm/utils/resolveFilterTokens.js +9 -0
  58. package/dist/esm/utils/resolveFilterTokens.js.map +1 -1
  59. package/dist/esm/utils/sentinelTokens.js +1 -1
  60. package/dist/esm/utils/sentinelTokens.js.map +1 -1
  61. package/dist/nextcloud-vue.cjs.js +418 -221
  62. package/dist/nextcloud-vue.cjs.js.map +2 -2
  63. package/dist/nextcloud-vue.css +431 -360
  64. package/l10n/en.json +10 -1
  65. package/l10n/nl.json +10 -1
  66. package/package.json +1 -1
  67. package/src/components/CnCellRenderer/CnCellRenderer.vue +6 -4
  68. package/src/components/CnDetailCard/CnDetailCard.md +1 -0
  69. package/src/components/CnDetailCard/CnDetailCard.vue +25 -1
  70. package/src/components/CnDetailWidgetHost/CnDetailWidgetHost.vue +2 -0
  71. package/src/components/CnFilesBrowser/CnFilesBrowser.vue +43 -1
  72. package/src/components/CnIndexPage/CnIndexPage.vue +34 -1
  73. package/src/components/CnMailTab/dashboardRegistration.js +4 -0
  74. package/src/components/CnNotificationMatrix/CnNotificationMatrix.vue +4 -0
  75. package/src/components/CnObjectSidebar/CnFilesTab.vue +3 -0
  76. package/src/components/CnOrderedListField/CnOrderedListField.vue +11 -1
  77. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +22 -3
  78. package/src/components/CnSavedViewMenuSettings/CnSavedViewMenuSettings.vue +1 -0
  79. package/src/components/CnUserSettingsDialog/CnUserSettingsDialog.vue +3 -0
  80. package/src/composables/indexSources.js +36 -9
  81. package/src/css/dialog.css +8 -0
  82. package/src/css/index-page.css +5 -0
  83. package/src/css/look-board-detail.css +12 -0
  84. package/src/css/look-board.css +26 -0
  85. package/src/utils/resolveFilterTokens.js +9 -0
  86. package/src/utils/sentinelTokens.js +1 -1
@@ -38,7 +38,8 @@ import { countLine } from '../../utils/countLine.js';
38
38
  import { reportBindingProblems } from '../../utils/diagnostics.js';
39
39
  import { fetchGroupedCounts } from '../../utils/fetchAggregate.js';
40
40
  import { fetchListTotal, fetchFilterCounts } from '../../utils/fetchFilterCounts.js';
41
- import { rangeEnds, listText, relativeRangeText, rangeChipText } from '../../utils/filterRangeLabel.js';
41
+ import { fillTemplate } from '../../utils/fillTemplate.js';
42
+ import { listText, rangeEnds, relativeRangeText, rangeChipText } from '../../utils/filterRangeLabel.js';
42
43
  import { unwrapAppConfig } from '../../utils/formatMetric.js';
43
44
  import { loadGroupDisplayName, groupDisplayName } from '../../utils/groupAutocomplete.js';
44
45
  import { HEADING_LEVEL } from '../../utils/headingLevel.js';
@@ -5800,6 +5801,31 @@ var script = {
5800
5801
  return translatePlural('nextcloud-vue', '%n without an address', '%n without an address', this.mapList.missing.length)
5801
5802
  },
5802
5803
 
5804
+ /**
5805
+ * The sentence on that card naming the rows without a place by the
5806
+ * list's title template, three at most and the rest counted: "A, B and
5807
+ * C have no location, so they are not on the map." Empty without a
5808
+ * title template.
5809
+ *
5810
+ * @spec openspec/changes/map-missing-card-names-the-cases/specs/map-missing-card-names-the-cases/spec.md#requirement-the-missing-address-card-names-the-cases-it-counts
5811
+ * @return {string} The sentence.
5812
+ */
5813
+ mapMissingNote() {
5814
+ const list = this.mapConfig && this.mapConfig.list;
5815
+ const template = list && typeof list.title === 'string' ? this.cnTranslate(list.title) : '';
5816
+ const missing = this.mapList.missing;
5817
+ if (template === '' || missing.length === 0) {
5818
+ return ''
5819
+ }
5820
+ const shown = missing.slice(0, 3).map((row) => fillTemplate(template, row, undefined, this.cnFormatters ? { formatters: this.cnFormatters } : null)).filter((title) => title !== '');
5821
+ if (shown.length === 0) {
5822
+ return ''
5823
+ }
5824
+ const rest = missing.length - shown.length;
5825
+ const names = listText(rest > 0 ? [...shown, translatePlural('nextcloud-vue', '%n other', '%n others', rest)] : shown, getCanonicalLocale() || undefined);
5826
+ return translatePlural('nextcloud-vue', '{names} has no location, so it is not on the map.', '{names} have no location, so they are not on the map.', missing.length, { names })
5827
+ },
5828
+
5803
5829
  /** @return {string} The link from that card to the table. */
5804
5830
  mapMissingLink() {
5805
5831
  return translate('nextcloud-vue', 'Show them in the table')
@@ -10102,10 +10128,16 @@ var script = {
10102
10128
  const bucket = facet && Array.isArray(facet.values)
10103
10129
  ? facet.values.find((fv) => fv && typeof fv === 'object' && String(fv.value) === id)
10104
10130
  : null;
10105
- if (bucket && typeof bucket.label === 'string' && bucket.label !== '') {
10131
+ // A facet that only echoes the value names nothing; a group or an
10132
+ // option below may.
10133
+ if (bucket && typeof bucket.label === 'string' && bucket.label !== '' && bucket.label !== id) {
10106
10134
  return this.cnTranslate(bucket.label)
10107
10135
  }
10108
10136
  const prop = this.effectiveSchema?.properties?.[key];
10137
+ // The reader on a user filter is "me" (DqFilterInMenu "Behandelaar: ik").
10138
+ if (prop && prop.referenceType === 'nextcloud-user' && id === (getCurrentUser()?.uid ?? '')) {
10139
+ return translate('nextcloud-vue', 'me')
10140
+ }
10109
10141
  if (prop && prop.referenceType === 'nextcloud-group') {
10110
10142
  const name = groupDisplayName(id);
10111
10143
  if (name === null) {