@ditojs/admin 2.75.1 → 2.75.2

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ditojs/admin",
3
- "version": "2.75.1",
3
+ "version": "2.75.2",
4
4
  "type": "module",
5
5
  "description": "Dito.js Admin is a schema based admin interface for Dito.js Server, featuring auto-generated views and forms and built with Vue.js",
6
6
  "repository": "https://github.com/ditojs/dito/tree/master/packages/admin",
@@ -93,5 +93,5 @@
93
93
  "typescript": "^5.9.3",
94
94
  "vite": "^7.3.1"
95
95
  },
96
- "gitHead": "d16421580ee018bd1e606570bbf7b41c0f537fc8"
96
+ "gitHead": "70ff8a3042925a27c2b2a792505db04038f92493"
97
97
  }
@@ -21,6 +21,10 @@
21
21
  @mousedown.stop
22
22
  )
23
23
  slot(name="append")
24
+ .dito-info(
25
+ v-if="inlineInfo"
26
+ :data-info="inlineInfo"
27
+ )
24
28
  </template>
25
29
 
26
30
  <script>
@@ -41,6 +45,7 @@ export default DitoComponent.component('DitoAffixes', {
41
45
  absolute: { type: Boolean, default: false },
42
46
  clearable: { type: Boolean, default: false },
43
47
  disabled: { type: Boolean, default: false },
48
+ inlineInfo: { type: String, default: null },
44
49
  parentContext: { type: Object, required: true }
45
50
  },
46
51
 
@@ -85,6 +90,7 @@ export default DitoComponent.component('DitoAffixes', {
85
90
  return (
86
91
  this.visibleItems.length > 0 ||
87
92
  this.clearable ||
93
+ this.inlineInfo ||
88
94
  hasSlotContent(this.$slots.prepend) ||
89
95
  hasSlotContent(this.$slots.append)
90
96
  )
@@ -210,9 +210,9 @@ export default DitoComponent.component('DitoContainer', {
210
210
  const { class: classes } = this.schema
211
211
  const prefix = 'dito-container'
212
212
  return {
213
- [`${prefix}--single`]: this.single,
214
213
  [`${prefix}--disabled`]: this.componentDisabled,
215
214
  [`${prefix}--has-errors`]: !!this.errors,
215
+ [`${prefix}--single`]: this.single,
216
216
  [`${prefix}--compact`]: this.compact,
217
217
  [`${prefix}--label-vertical`]: this.verticalLabels,
218
218
  [`${prefix}--omit-spacing`]: omitSpacing(this.schema),
@@ -122,6 +122,8 @@ export default DitoComponent.component('DitoLabel', {
122
122
  }
123
123
 
124
124
  label {
125
+ @include ellipsis;
126
+
125
127
  cursor: inherit;
126
128
  font-weight: bold;
127
129
  line-height: $input-height;
@@ -23,7 +23,7 @@ export default DitoComponent.component('DitoNotifications', {
23
23
  },
24
24
 
25
25
  methods: {
26
- notify({ type = 'info', title, text, error } = {}) {
26
+ notify({ type = 'info', title, text, error, duration } = {}) {
27
27
  title ||= (
28
28
  {
29
29
  warning: 'Warning',
@@ -59,8 +59,13 @@ export default DitoComponent.component('DitoNotifications', {
59
59
  // amount of milliseconds multiplied with the amount of characters
60
60
  // displayed in the notification, plus 40 (40 + title + message):
61
61
  const { durationFactor = 20 } = notifications
62
- const duration = (40 + text.length + title.length) * durationFactor
63
- this.$notify({ type, title, text, duration })
62
+ duration ??= (40 + text.length + title.length) * durationFactor
63
+ this.$notify({
64
+ type,
65
+ title,
66
+ text,
67
+ duration: duration === 0 ? -1 : duration // < 0 -> <= 0 = sticky
68
+ })
64
69
  }
65
70
  },
66
71
 
@@ -65,8 +65,8 @@ export default DitoComponent.component('DitoPane', {
65
65
  meta: { type: Object, required: true },
66
66
  store: { type: Object, required: true },
67
67
  tab: { type: String, default: null },
68
- padding: { type: String, default: null },
69
68
  single: { type: Boolean, default: false },
69
+ padding: { type: String, default: null },
70
70
  disabled: { type: Boolean, default: false },
71
71
  compact: { type: Boolean, default: false },
72
72
  generateLabels: { type: Boolean, default: false },
@@ -86,9 +86,10 @@ export default DitoComponent.component('DitoPane', {
86
86
  },
87
87
 
88
88
  classes() {
89
+ const prefix = 'dito-pane'
89
90
  return {
90
- 'dito-pane--single': this.isSingleComponent,
91
- [`dito-pane--padding-${this.padding}`]: !!this.padding
91
+ [`${prefix}--single`]: this.isSingleComponent,
92
+ [`${prefix}--padding-${this.padding}`]: !!this.padding
92
93
  }
93
94
  },
94
95
 
@@ -72,7 +72,7 @@ slot(name="prepend")
72
72
  :meta="meta"
73
73
  :store="store"
74
74
  :padding="padding"
75
- :single="!inlined && !hasMainPane"
75
+ :single="single && !inlined && !hasMainPane"
76
76
  :disabled="disabled"
77
77
  :compact="compact"
78
78
  :generateLabels="generateLabels"
@@ -87,7 +87,7 @@ slot(name="prepend")
87
87
  :meta="meta"
88
88
  :store="store"
89
89
  :padding="padding"
90
- :single="!inlined && !hasTabs"
90
+ :single="single && !inlined && !hasTabs"
91
91
  :disabled="disabled"
92
92
  :compact="compact"
93
93
  :generateLabels="generateLabels"
@@ -156,6 +156,7 @@ export default DitoComponent.component('DitoSchema', {
156
156
  meta: { type: Object, default: () => ({}) },
157
157
  store: { type: Object, default: () => ({}) },
158
158
  label: { type: [String, Object], default: null },
159
+ single: { type: Boolean, default: false },
159
160
  padding: { type: String, default: null },
160
161
  active: { type: Boolean, default: true },
161
162
  inlined: { type: Boolean, default: false },
@@ -23,6 +23,7 @@ template(
23
23
  padding="root"
24
24
  :disabled="isLoading"
25
25
  scrollable
26
+ single
26
27
  )
27
28
  </template>
28
29
 
@@ -101,6 +101,17 @@ export default {
101
101
  type: String
102
102
  }),
103
103
 
104
+ info: getSchemaAccessor('info', {
105
+ type: String,
106
+ default: null
107
+ }),
108
+
109
+ inlineInfo() {
110
+ // When a label is present, info is shown in the label component.
111
+ // Otherwise, we have to show it inline.
112
+ return !this.label ? this.info : null
113
+ },
114
+
104
115
  events() {
105
116
  const events = this.getEvents()
106
117
  // Register callbacks for all provides non-recognized events,
@@ -72,11 +72,6 @@ export default DitoTypeComponent.register(
72
72
  return this.text || labelize(this.verb)
73
73
  },
74
74
 
75
- info: getSchemaAccessor('info', {
76
- type: String,
77
- default: null
78
- }),
79
-
80
75
  prefixes() {
81
76
  return asArray(this.schema.prefix)
82
77
  },
@@ -28,6 +28,7 @@ DitoTrigger.dito-color(
28
28
  mode="input"
29
29
  :clearable="showClearButton"
30
30
  :disabled="disabled"
31
+ :inlineInfo="inlineInfo"
31
32
  :parentContext="context"
32
33
  @clear="clear"
33
34
  )
@@ -26,6 +26,7 @@
26
26
  absolute
27
27
  :clearable="showClearButton"
28
28
  :disabled="disabled"
29
+ :inlineInfo="inlineInfo"
29
30
  :parentContext="context"
30
31
  @clear="clear"
31
32
  )
@@ -42,6 +42,7 @@
42
42
  absolute
43
43
  :clearable="showClearButton"
44
44
  :disabled="disabled"
45
+ :inlineInfo="inlineInfo"
45
46
  :parentContext="context"
46
47
  @clear="clear"
47
48
  )
@@ -24,6 +24,7 @@ DitoInput.dito-number(
24
24
  mode="input"
25
25
  :clearable="showClearButton"
26
26
  :disabled="disabled"
27
+ :inlineInfo="inlineInfo"
27
28
  :parentContext="context"
28
29
  @clear="clear"
29
30
  )
@@ -47,6 +47,7 @@
47
47
  absolute
48
48
  :clearable="showClearButton"
49
49
  :disabled="disabled"
50
+ :inlineInfo="inlineInfo"
50
51
  :parentContext="context"
51
52
  @clear="clear"
52
53
  )
@@ -21,6 +21,7 @@ DitoInput.dito-text(
21
21
  mode="input"
22
22
  :clearable="showClearButton"
23
23
  :disabled="disabled"
24
+ :inlineInfo="inlineInfo"
24
25
  :parentContext="context"
25
26
  @clear="clear"
26
27
  )