Skip to content

Commit 01e5673

Browse files
authored
Support min/max length data in "Attributes" section (#909)
Resolves: rdar://131432834
1 parent 6bb34fa commit 01e5673

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

src/components/DocumentationTopic/PrimaryContent/ParameterAttributes.vue

+20
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,15 @@
3737
}) }}<code>&gt; {{ attribute.value }}</code>
3838
</template>
3939
</ParameterMetaAttribute>
40+
<ParameterMetaAttribute
41+
v-if="shouldRender(AttributeKind.minimumLength)"
42+
v-bind="{ kind: AttributeKind.minimumLength, attributes: attributesObject, changes }">
43+
<template v-slot="{ attribute }">
44+
{{ $t('formats.colon', {
45+
content: attribute.title || $t('parameters.minimumLength')
46+
}) }}<code>{{ attribute.value }}</code>
47+
</template>
48+
</ParameterMetaAttribute>
4049
<ParameterMetaAttribute
4150
v-if="shouldRender(AttributeKind.maximum)"
4251
v-bind="{ kind: AttributeKind.maximum, attributes: attributesObject, changes }">
@@ -55,6 +64,15 @@
5564
}) }}<code>&lt; {{ attribute.value }}</code>
5665
</template>
5766
</ParameterMetaAttribute>
67+
<ParameterMetaAttribute
68+
v-if="shouldRender(AttributeKind.maximumLength)"
69+
v-bind="{ kind: AttributeKind.maximumLength, attributes: attributesObject, changes }">
70+
<template v-slot="{ attribute }">
71+
{{ $t('formats.colon', {
72+
content: attribute.title || $t('parameters.maximumLength')
73+
}) }}<code>{{ attribute.value }}</code>
74+
</template>
75+
</ParameterMetaAttribute>
5876
<ParameterMetaAttribute
5977
v-if="shouldRender(AttributeKind.allowedTypes)"
6078
v-bind="{ kind: AttributeKind.allowedTypes, attributes: attributesObject, changes }">
@@ -94,8 +112,10 @@ const AttributeKind = {
94112
default: 'default',
95113
maximum: 'maximum',
96114
maximumExclusive: 'maximumExclusive',
115+
maximumLength: 'maximumLength',
97116
minimum: 'minimum',
98117
minimumExclusive: 'minimumExclusive',
118+
minimumLength: 'minimumLength',
99119
};
100120

101121
/**

src/lang/locales/en-US.json

+2
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,9 @@
172172
"parameters": {
173173
"default": "Default",
174174
"minimum": "Minimum",
175+
"minimumLength": "Minimum length",
175176
"maximum": "Maximum",
177+
"maximumLength": "Maximum length",
176178
"possible-types": "Type | Possible types",
177179
"possible-values": "Value | Possible Values"
178180
},

tests/unit/components/DocumentationTopic/PrimaryContent/ParameterAttributes.spec.js

+14
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ const { ParameterMetaAttribute } = ParameterAttributes.components;
1919
const defaultMetadata = { kind: AttributeKind.default, value: 3, title: 'Default' };
2020
const minimumMetadata = { kind: AttributeKind.minimum, value: 20, title: 'Minimum Value' };
2121
const maximumMetadata = { kind: AttributeKind.maximum, value: 50, title: 'Maximum Length' };
22+
const minimumLengthMetadata = { kind: AttributeKind.minimumLength, value: 1, title: 'Minimum Length' };
23+
const maximumLengthMetadata = { kind: AttributeKind.maximumLength, value: 10, title: 'Maximum Length' };
2224
const minimumExclusiveMetadata = { kind: AttributeKind.minimumExclusive, value: 2, title: 'Minimum' };
2325
const maximumExclusiveMetadata = { kind: AttributeKind.maximumExclusive, value: 5, title: 'Maximum' };
2426
const allowedValuesMetadata = {
@@ -90,6 +92,18 @@ describe('ParameterAttributes', () => {
9092
).toBe('formats.colon Maximum< 5');
9193
});
9294

95+
it('displays min/max length metadata', () => {
96+
const wrapper = mountComponent({
97+
attributes: [
98+
minimumLengthMetadata,
99+
maximumLengthMetadata,
100+
],
101+
});
102+
const metadata = wrapper.findAll('.property-metadata');
103+
expect(metadata.at(0).text()).toBe('formats.colon Minimum Length1');
104+
expect(metadata.at(1).text()).toBe('formats.colon Maximum Length10');
105+
});
106+
93107
it('displays possible types/values metadata', () => {
94108
const wrapper = mountComponent({
95109
attributes: [

0 commit comments

Comments
 (0)