mirror of https://github.com/Squidex/squidex.git
Browse Source
* Improved mongo config. * Update dependencies. * Disable test in CI for now. * Temp * Temp * More form rows. * Fix label. * Form row improvements.pull/1276/head
committed by
GitHub
121 changed files with 1440 additions and 1937 deletions
@ -1,12 +1,9 @@ |
|||
<div class="row form-group mt-3"> |
|||
<label class="col-3 text-end">{{ property.display }}</label> |
|||
<div class="col-9"> |
|||
@if (valueType === "MultilineJson") { |
|||
<sqx-code-editor disabled="true" height="auto" [ngModel]="valueFormatted" /> |
|||
} @else if (valueType === "MultilineAny") { |
|||
<sqx-code-editor disabled="true" height="auto" mode="ace/mode/text" [ngModel]="valueFormatted" /> |
|||
} @else { |
|||
<div class="simple-value">{{ valueFormatted }}</div> |
|||
} |
|||
</div> |
|||
</div> |
|||
<sqx-form-row [for]="property.name" hideError label="property.display"> |
|||
@if (valueType === "MultilineJson") { |
|||
<sqx-code-editor disabled="true" height="auto" [ngModel]="valueFormatted" /> |
|||
} @else if (valueType === "MultilineAny") { |
|||
<sqx-code-editor disabled="true" height="auto" mode="ace/mode/text" [ngModel]="valueFormatted" /> |
|||
} @else { |
|||
<div class="simple-value">{{ valueFormatted }}</div> |
|||
} |
|||
</sqx-form-row> |
|||
|
|||
@ -1,31 +1,26 @@ |
|||
<div class="form-horizontal" [formGroup]="triggerForm.form"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="condition">{{ "common.condition" | sqxTranslate }}</label> |
|||
<sqx-form-row for="condition" label="common.condition"> |
|||
<textarea class="form-control code" id="condition" formControlName="condition" placeholder="{{ 'rules.conditionHint' | sqxTranslate }}"></textarea> |
|||
|
|||
<div class="col-9"> |
|||
<sqx-control-errors for="condition" /> |
|||
<textarea class="form-control code" id="condition" formControlName="condition" placeholder="{{ 'rules.conditionHint' | sqxTranslate }}"></textarea> |
|||
<div class="help"> |
|||
<h4>{{ "common.conditions" | sqxTranslate }}</h4> |
|||
<sqx-form-hint> {{ "rules.conditionHint2" | sqxTranslate }} </sqx-form-hint> |
|||
<ul class="help-examples"> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.event" | sqxTranslate }}: <br /> |
|||
<sqx-code>event.type == 'Created' || event.type == 'Updated'</sqx-code> |
|||
</li> |
|||
|
|||
<div class="help"> |
|||
<h4>{{ "common.conditions" | sqxTranslate }}</h4> |
|||
<sqx-form-hint> {{ "rules.conditionHint2" | sqxTranslate }} </sqx-form-hint> |
|||
<ul class="help-examples"> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.event" | sqxTranslate }}: <br /> |
|||
<sqx-code>event.type == 'Created' || event.type == 'Updated'</sqx-code> |
|||
</li> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.largeAssets" | sqxTranslate }}: <br /> |
|||
<sqx-code>event.fileSize > 100000000</sqx-code> |
|||
</li> |
|||
|
|||
<li class="help-example"> |
|||
{{ "rules.conditions.largeAssets" | sqxTranslate }}: <br /> |
|||
<sqx-code>event.fileSize > 100000000</sqx-code> |
|||
</li> |
|||
|
|||
<li class="help-example"> |
|||
{{ "rules.conditions.images" | sqxTranslate }}: <br /> |
|||
<sqx-code>event.isImage</sqx-code> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.images" | sqxTranslate }}: <br /> |
|||
<sqx-code>event.isImage</sqx-code> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,26 +1,21 @@ |
|||
<div class="form-horizontal" [formGroup]="triggerForm.form"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="condition">{{ "common.condition" | sqxTranslate }}</label> |
|||
<sqx-form-row for="condition" label="common.condition"> |
|||
<textarea class="form-control code" id="condition" formControlName="condition" placeholder="{{ 'rules.conditionHint' | sqxTranslate }}"></textarea> |
|||
|
|||
<div class="col-9"> |
|||
<sqx-control-errors for="condition" /> |
|||
<textarea class="form-control code" id="condition" formControlName="condition" placeholder="{{ 'rules.conditionHint' | sqxTranslate }}"></textarea> |
|||
<div class="help"> |
|||
<h4>{{ "common.conditions" | sqxTranslate }}</h4> |
|||
<sqx-form-hint> {{ "rules.conditionHint2" | sqxTranslate }} </sqx-form-hint> |
|||
<ul class="help-examples"> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.commentUser" | sqxTranslate }}: <br /> |
|||
<sqx-code>event.mentionedUser.email === 'mail2stehle@gmail.com'</sqx-code> |
|||
</li> |
|||
|
|||
<div class="help"> |
|||
<h4>{{ "common.conditions" | sqxTranslate }}</h4> |
|||
<sqx-form-hint> {{ "rules.conditionHint2" | sqxTranslate }} </sqx-form-hint> |
|||
<ul class="help-examples"> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.commentUser" | sqxTranslate }}: <br /> |
|||
<sqx-code>event.mentionedUser.email === 'mail2stehle@gmail.com'</sqx-code> |
|||
</li> |
|||
|
|||
<li class="help-example"> |
|||
{{ "rules.conditions.commentKeyword" | sqxTranslate }}: <br /> |
|||
<sqx-code>event.text.indexOf('urgent') >= 0</sqx-code> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.commentKeyword" | sqxTranslate }}: <br /> |
|||
<sqx-code>event.text.indexOf('urgent') >= 0</sqx-code> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,56 +1,45 @@ |
|||
<div class="form-horizontal" [formGroup]="triggerForm.form"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="cronExpression"> {{ "rules.conditions.cronExpression" | sqxTranslate }}</label> |
|||
<sqx-form-row for="cronExpression" label="rules.conditions.cronExpression"> |
|||
<input class="form-control" id="cronExpression" formControlName="cronExpression" /> |
|||
|
|||
<div class="col-9"> |
|||
<sqx-control-errors for="cronExpression" /> |
|||
<input class="form-control" id="cronExpression" formControlName="cronExpression" /> |
|||
|
|||
<sqx-form-hint> |
|||
{{ "rules.conditions.cronExpressionHint" | sqxTranslate }} |
|||
<div> |
|||
{{ "rules.readMore" | sqxTranslate }}: |
|||
<a href="https://en.wikipedia.org/wiki/Cron" sqxExternalLink tabindex="-1"> |
|||
{{ "common.documentation" | sqxTranslate }} |
|||
</a> |
|||
</div> |
|||
</sqx-form-hint> |
|||
<sqx-form-hint> |
|||
{{ "rules.conditions.cronExpressionHint" | sqxTranslate }} |
|||
<div> |
|||
{{ "rules.readMore" | sqxTranslate }}: |
|||
<a href="https://en.wikipedia.org/wiki/Cron" sqxExternalLink tabindex="-1"> |
|||
{{ "common.documentation" | sqxTranslate }} |
|||
</a> |
|||
</div> |
|||
</sqx-form-hint> |
|||
|
|||
<div class="help"> |
|||
<h4>{{ "rules.conditions.cronExpressionsTitle" | sqxTranslate }}</h4> |
|||
<sqx-form-hint> {{ "rules.conditions.cronExpressionsHint" | sqxTranslate }} </sqx-form-hint> |
|||
<ul class="help-examples"> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.cronExpressionEvery4Hours" | sqxTranslate }}: <br /> |
|||
<sqx-code>0 */4 * * *</sqx-code> |
|||
</li> |
|||
<div class="help"> |
|||
<h4>{{ "rules.conditions.cronExpressionsTitle" | sqxTranslate }}</h4> |
|||
<sqx-form-hint> {{ "rules.conditions.cronExpressionsHint" | sqxTranslate }} </sqx-form-hint> |
|||
<ul class="help-examples"> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.cronExpressionEvery4Hours" | sqxTranslate }}: <br /> |
|||
<sqx-code>0 */4 * * *</sqx-code> |
|||
</li> |
|||
|
|||
<li class="help-example"> |
|||
{{ "rules.conditions.cronExpressionEveryMorning" | sqxTranslate }}: <br /> |
|||
<sqx-code>0 6 * * *</sqx-code> |
|||
</li> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.cronExpressionEveryMorning" | sqxTranslate }}: <br /> |
|||
<sqx-code>0 6 * * *</sqx-code> |
|||
</li> |
|||
|
|||
<li class="help-example"> |
|||
{{ "rules.conditions.cronExpressionEveryMonth" | sqxTranslate }}: <br /> |
|||
<sqx-code>0 6 1 * *</sqx-code> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.cronExpressionEveryMonth" | sqxTranslate }}: <br /> |
|||
<sqx-code>0 6 1 * *</sqx-code> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="cronTimezone">{{ "rules.conditions.cronTimezone" | sqxTranslate }}</label> |
|||
|
|||
<div class="col-9"> |
|||
<sqx-control-errors for="cronTimezone" /> |
|||
<select class="form-select" id="cronTimezone" formControlName="cronTimezone"> |
|||
<option></option> |
|||
@for (timezone of timezones | async; track timezone) { |
|||
<option [ngValue]="timezone">{{ timezone }}</option> |
|||
} |
|||
</select> |
|||
<sqx-form-hint> {{ "rules.conditions.cronTimezoneHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row for="cronTimezone" hint="rules.conditions.cronTimezoneHint" label="rules.conditions.cronTimezone"> |
|||
<select class="form-select" id="cronTimezone" formControlName="cronTimezone"> |
|||
<option></option> |
|||
@for (timezone of timezones | async; track timezone) { |
|||
<option [ngValue]="timezone">{{ timezone }}</option> |
|||
} |
|||
</select> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,26 +1,21 @@ |
|||
<div class="form-horizontal" [formGroup]="triggerForm.form"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="condition">{{ "common.condition" | sqxTranslate }}</label> |
|||
<sqx-form-row for="condition" label="common.condition"> |
|||
<textarea class="form-control code" id="condition" formControlName="condition" placeholder="{{ 'rules.conditionHint' | sqxTranslate }}"></textarea> |
|||
|
|||
<div class="col-9"> |
|||
<sqx-control-errors for="condition" /> |
|||
<textarea class="form-control code" id="condition" formControlName="condition" placeholder="{{ 'rules.conditionHint' | sqxTranslate }}"></textarea> |
|||
<div class="help"> |
|||
<h4>{{ "common.conditions" | sqxTranslate }}</h4> |
|||
<sqx-form-hint> {{ "rules.conditionHint2" | sqxTranslate }} </sqx-form-hint> |
|||
<ul class="help-examples"> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.event" | sqxTranslate }}: <br /> |
|||
<sqx-code>event.type == 'Created' || event.type == 'Updated'</sqx-code> |
|||
</li> |
|||
|
|||
<div class="help"> |
|||
<h4>{{ "common.conditions" | sqxTranslate }}</h4> |
|||
<sqx-form-hint> {{ "rules.conditionHint2" | sqxTranslate }} </sqx-form-hint> |
|||
<ul class="help-examples"> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.event" | sqxTranslate }}: <br /> |
|||
<sqx-code>event.type == 'Created' || event.type == 'Updated'</sqx-code> |
|||
</li> |
|||
|
|||
<li class="help-example"> |
|||
{{ "rules.conditions.schema" | sqxTranslate }}: <br /> |
|||
<sqx-code>schemaId.name === 'my-schema'</sqx-code> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
<li class="help-example"> |
|||
{{ "rules.conditions.schema" | sqxTranslate }}: <br /> |
|||
<sqx-code>schemaId.name === 'my-schema'</sqx-code> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,21 +1,9 @@ |
|||
<div class="form-horizontal" [formGroup]="triggerForm.form"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="limit">{{ "rules.conditions.usageLimit" | sqxTranslate }}</label> |
|||
<sqx-form-row for="limit" hint="rules.conditions.usageLimitHint" label="rules.conditions.usageLimit"> |
|||
<input class="form-control" id="limit" formControlName="limit" step="1" type="number" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="col-9"> |
|||
<sqx-control-errors for="limit" /> |
|||
<input class="form-control" id="limit" formControlName="limit" step="1" type="number" /> |
|||
<sqx-form-hint> {{ "rules.conditions.usageLimitHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="condition">{{ "rules.conditions.usageDays" | sqxTranslate }}</label> |
|||
|
|||
<div class="col-9"> |
|||
<sqx-control-errors for="numDays" /> |
|||
<input class="form-control" id="condition" formControlName="numDays" step="1" type="number" /> |
|||
<sqx-form-hint> {{ "rules.conditions.usageDaysHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row for="numDays" hint="rules.conditions.usageDaysHint" label="rules.conditions.usageDays"> |
|||
<input class="form-control" id="condition" formControlName="numDays" step="1" type="number" /> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,37 +1,19 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldName">{{ "common.name" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<input class="form-control" id="{{ field.fieldId }}_fieldName" [ngModel]="field.name" [ngModelOptions]="{ standalone: true }" readonly /> |
|||
<sqx-form-hint> {{ "schemas.field.nameHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #nameRow for="name" hint="schemas.field.nameHint" label="common.name" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="nameRow.fieldName" [ngModel]="field.name" [ngModelOptions]="{ standalone: true }" readonly /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldLabel">{{ "common.label" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<sqx-control-errors for="label" /> |
|||
<input class="form-control" id="{{ field.fieldId }}_fieldLabel" formControlName="label" maxlength="100" /> |
|||
<sqx-form-hint> {{ "schemas.field.labelHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #labelRow for="label" hint="schemas.field.labelHint" label="common.label" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="labelRow.fieldName" formControlName="label" maxlength="100" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldHints">{{ "common.hints" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<sqx-control-errors for="hints" /> |
|||
<input class="form-control" id="{{ field.fieldId }}_fieldHints" formControlName="hints" maxlength="1000" /> |
|||
<sqx-form-hint> {{ "schemas.field.hintsHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #hintsRow for="hints" hint="schemas.field.hintsHint" label="common.hints" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="hintsRow.fieldName" formControlName="hints" maxlength="1000" /> |
|||
</sqx-form-row> |
|||
|
|||
@if (field.properties.isContentField) { |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "common.tags" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<sqx-tag-editor id="schemaTags" formControlName="tags" /> |
|||
<sqx-form-hint> {{ "schemas.field.tagsHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #tagsRow for="tags" hint="schemas.field.tagsHint" label="common.tags" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor [id]="tagsRow.fieldName" formControlName="tags" /> |
|||
</sqx-form-row> |
|||
} |
|||
</div> |
|||
|
|||
@ -1,12 +1,9 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.defaultValue" | sqxTranslate }}</label> |
|||
<div class="col-3"> |
|||
<select class="form-select" formControlName="calculatedDefaultValue"> |
|||
@for (value of calculatedDefaultValues; track value) { |
|||
<option [ngValue]="value">{{ value }}</option> |
|||
} |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row for="calculatedDefaultValue" label="schemas.field.defaultValue"> |
|||
<select class="form-select" formControlName="calculatedDefaultValue"> |
|||
@for (value of calculatedDefaultValues; track value) { |
|||
<option [ngValue]="value">{{ value }}</option> |
|||
} |
|||
</select> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,31 +1,19 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.array.count" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minItems" |
|||
placeholder="{{ 'schemas.fieldTypes.array.countMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<sqx-form-row for="minItems" label="schemas.fieldTypes.array.count" [prefix]="field.fieldId"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input class="form-control" formControlName="minItems" placeholder="{{ 'schemas.fieldTypes.array.countMin' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxItems" |
|||
placeholder="{{ 'schemas.fieldTypes.array.countMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<div class="col"> |
|||
<input class="form-control" formControlName="maxItems" placeholder="{{ 'schemas.fieldTypes.array.countMax' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.array.uniqueFields" | sqxTranslate }}</label> |
|||
<div class="col-9"><sqx-tag-editor formControlName="uniqueFields" /></div> |
|||
</div> |
|||
<sqx-form-row #uniqueFieldsRow for="uniqueFields" label="schemas.fieldTypes.array.uniqueFields" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor [id]="uniqueFieldsRow.fieldName" formControlName="uniqueFields" /> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,53 +1,37 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_previewMode"> |
|||
{{ "schemas.fieldTypes.assets.previewMode" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<select class="form-select" id="{{ field.fieldId }}_previewMode" formControlName="previewMode"> |
|||
<option value="ImageAndFileName">{{ "schemas.fieldTypes.assets.previewImageAndFileName" | sqxTranslate }}</option> |
|||
<sqx-form-row |
|||
#previewRow |
|||
for="previewMode" |
|||
hint="schemas.fieldTypes.assets.previewModeHint" |
|||
label="schemas.fieldTypes.assets.previewMode" |
|||
[prefix]="field.fieldId"> |
|||
<select class="form-select" [id]="previewRow.fieldName" formControlName="previewMode"> |
|||
<option value="ImageAndFileName">{{ "schemas.fieldTypes.assets.previewImageAndFileName" | sqxTranslate }}</option> |
|||
<option value="Image">{{ "schemas.fieldTypes.assets.previewImage" | sqxTranslate }}</option> |
|||
<option value="FileName">{{ "schemas.fieldTypes.assets.previewFileName" | sqxTranslate }}</option> |
|||
</select> |
|||
</sqx-form-row> |
|||
|
|||
<option value="Image">{{ "schemas.fieldTypes.assets.previewImage" | sqxTranslate }}</option> |
|||
<sqx-form-row |
|||
#previewFormatRow |
|||
for="previewFormat" |
|||
hint="schemas.fieldTypes.assets.previewFormatHint" |
|||
label="schemas.fieldTypes.assets.previewFormat" |
|||
[prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="previewFormatRow.fieldName" formControlName="previewFormat" /> |
|||
</sqx-form-row> |
|||
|
|||
<option value="FileName">{{ "schemas.fieldTypes.assets.previewFileName" | sqxTranslate }}</option> |
|||
</select> |
|||
<sqx-form-hint> {{ "schemas.fieldTypes.assets.previewModeHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row |
|||
#resolveFirstRow |
|||
check |
|||
for="resolveFirst" |
|||
hint="schemas.fieldTypes.assets.resolveHint" |
|||
label="schemas.fieldTypes.assets.resolve" |
|||
[prefix]="field.fieldId"> |
|||
<input class="form-check-input" [id]="resolveFirstRow.fieldName" formControlName="resolveFirst" type="checkbox" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_previewFormat"> |
|||
{{ "schemas.fieldTypes.assets.previewFormat" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<input class="form-control" id="{{ field.fieldId }}_previewFormat" formControlName="previewFormat" /> |
|||
<sqx-form-hint> |
|||
<span inline="true" [sqxMarkdown]="'schemas.fieldTypes.assets.previewFormatHint' | sqxTranslate"></span> |
|||
</sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input class="form-check-input" id="{{ field.fieldId }}_fieldResolveFirst" formControlName="resolveFirst" type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_fieldResolveFirst"> |
|||
{{ "schemas.fieldTypes.assets.resolve" | sqxTranslate }} |
|||
</label> |
|||
</div> |
|||
<sqx-form-hint> |
|||
<span inline="true" [sqxMarkdown]="'schemas.fieldTypes.assets.resolveHint' | sqxTranslate"></span> |
|||
</sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_folderId"> |
|||
{{ "schemas.fieldTypes.assets.folderId" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<sqx-asset-folder-dropdown formControlName="folderId" /> |
|||
<sqx-form-hint> {{ "schemas.fieldTypes.assets.folderIdHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row for="folderId" hint="schemas.fieldTypes.assets.folderIdHint" label="schemas.fieldTypes.assets.folderId" [prefix]="field.fieldId"> |
|||
<sqx-asset-folder-dropdown formControlName="folderId" /> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,160 +1,97 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.assets.count" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minItems" |
|||
placeholder="{{ 'schemas.fieldTypes.assets.countMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxItems" |
|||
placeholder="{{ 'schemas.fieldTypes.assets.countMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
|
|||
<div class="col col-label"></div> |
|||
<sqx-form-row for="minItems" hideError label="schemas.fieldTypes.assets.count" [prefix]="field.fieldId" showUnit="true"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input class="form-control" formControlName="minItems" placeholder="{{ 'schemas.fieldTypes.assets.countMin' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.assets.size" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minSize" |
|||
placeholder="{{ 'schemas.fieldTypes.assets.sizeMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxSize" |
|||
placeholder="{{ 'schemas.fieldTypes.assets.sizeMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
|
|||
<div class="col col-label"> |
|||
<label class="col-form-label">{{ "common.bytes" | sqxTranslate }}</label> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<hr /> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.assets.expectedType" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<select class="form-select" formControlName="expectedType"> |
|||
<option></option> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<option ngValue="Image">Image</option> |
|||
|
|||
<option ngValue="Audio">Audio</option> |
|||
<div class="col"> |
|||
<input class="form-control" formControlName="maxItems" placeholder="{{ 'schemas.fieldTypes.assets.countMax' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
|
|||
<option ngValue="Video">Video</option> |
|||
<sqx-form-row for="minSize" hideError label="schemas.fieldTypes.assets.size" [prefix]="field.fieldId" unit="common.bytes"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input class="form-control" formControlName="minSize" placeholder="{{ 'schemas.fieldTypes.assets.sizeMin' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
|
|||
<option ngValue="Unknown">Unknown</option> |
|||
</select> |
|||
</div> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col col-label"></div> |
|||
<div class="col"> |
|||
<input class="form-control" formControlName="maxSize" placeholder="{{ 'schemas.fieldTypes.assets.sizeMax' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
|
|||
<hr /> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "common.width" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"><input class="form-control" formControlName="minWidth" type="number" /></div> |
|||
<sqx-form-row for="minSize" label="schemas.fieldTypes.assets.expectedType" [prefix]="field.fieldId" showUnit="true"> |
|||
<select class="form-select" formControlName="expectedType"> |
|||
<option></option> |
|||
<option ngValue="Image">Image</option> |
|||
<option ngValue="Audio">Audio</option> |
|||
<option ngValue="Video">Video</option> |
|||
<option ngValue="Unknown">Unknown</option> |
|||
</select> |
|||
</sqx-form-row> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
<sqx-form-row for="minWidth" hideError label="common.width" [prefix]="field.fieldId" unit="px"> |
|||
<div class="row g-0"> |
|||
<div class="col"><input class="form-control" formControlName="minWidth" type="number" /></div> |
|||
|
|||
<div class="col"><input class="form-control" formControlName="maxWidth" type="number" /></div> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col col-label"><label class="col-form-label">px</label></div> |
|||
</div> |
|||
<div class="col"><input class="form-control" formControlName="maxWidth" type="number" /></div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "common.height" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"><input class="form-control" formControlName="minHeight" type="number" /></div> |
|||
</sqx-form-row> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
<sqx-form-row for="minHeight" hideError label="common.height" [prefix]="field.fieldId" unit="px"> |
|||
<div class="row g-0"> |
|||
<div class="col"><input class="form-control" formControlName="minHeight" type="number" /></div> |
|||
|
|||
<div class="col"><input class="form-control" formControlName="maxHeight" type="number" /></div> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col col-label"><label class="col-form-label">px</label></div> |
|||
</div> |
|||
<div class="col"><input class="form-control" formControlName="maxHeight" type="number" /></div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "common.aspectRatio" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"><input class="form-control" formControlName="aspectWidth" type="number" /></div> |
|||
</sqx-form-row> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">:</label></div> |
|||
<sqx-form-row for="aspectRatio" hideError label="common.aspectRatio" [prefix]="field.fieldId" unit="px"> |
|||
<div class="row g-0"> |
|||
<div class="col"><input class="form-control" formControlName="aspectWidth" type="number" /></div> |
|||
|
|||
<div class="col"><input class="form-control" formControlName="aspectHeight" type="number" /></div> |
|||
<div class="col-auto"><label class="col-form-label minmax">:</label></div> |
|||
|
|||
<div class="col col-label"><label class="col-form-label">px</label></div> |
|||
</div> |
|||
<div class="col"><input class="form-control" formControlName="aspectHeight" type="number" /></div> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
|
|||
<hr /> |
|||
|
|||
<div class="form-group row"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input class="form-check-input" id="{{ field.fieldId }}_fieldAllowDuplicates" formControlName="allowDuplicates" type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_fieldAllowDuplicates"> |
|||
{{ "schemas.fieldTypes.assets.allowDuplicates" | sqxTranslate }} |
|||
</label> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #allowDuplicatesRow check for="allowDuplicates" hideError label="schemas.fieldTypes.assets.allowDuplicates" [prefix]="field.fieldId"> |
|||
<input class="form-check-input" [id]="allowDuplicatesRow.fieldName" formControlName="allowDuplicates" type="checkbox" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.assets.fileExtensions" | sqxTranslate }}</label> |
|||
<div class="col-9"><sqx-tag-editor formControlName="allowedExtensions" /></div> |
|||
</div> |
|||
<sqx-form-row #allowedExtensionsRow for="allowedExtensions" hideError label="schemas.fieldTypes.assets.fileExtensions" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor [id]="allowedExtensionsRow.fieldName" formControlName="allowedExtensions" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.defaultValue" | sqxTranslate }}</label> |
|||
<div class="col-9"><sqx-tag-editor formControlName="defaultValue" /></div> |
|||
</div> |
|||
<sqx-form-row #defaultValueRow for="defaultValue" hideError label="schemas.field.defaultValue" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor [id]="defaultValueRow.fieldName" formControlName="defaultValue" /> |
|||
</sqx-form-row> |
|||
|
|||
@if (isLocalizable) { |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.defaultValues" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<sqx-localized-input formControlName="defaultValues" [languages]="languages" type="tags" /> |
|||
<sqx-form-hint> {{ "schemas.field.defaultValuesHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row |
|||
#defaultValuesRow |
|||
for="defaultValues" |
|||
hideError |
|||
hint="schemas.field.defaultValuesHint" |
|||
label="schemas.field.defaultValues" |
|||
[prefix]="field.fieldId"> |
|||
<sqx-localized-input [id]="defaultValuesRow.fieldName" formControlName="defaultValues" [languages]="languages" type="tags" /> |
|||
</sqx-form-row> |
|||
} |
|||
</div> |
|||
|
|||
@ -1,34 +1,18 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldPlaceholder"> |
|||
{{ "schemas.field.placeholder" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<input class="form-control" id="{{ field.fieldId }}_fieldPlaceholder" formControlName="placeholder" maxlength="100" /> |
|||
<sqx-form-hint> {{ "schemas.field.placeholderHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #placeholderRow for="placeholder" hint="schemas.field.placeholderHint" label="schemas.field.placeholder" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="placeholderRow.fieldName" formControlName="placeholder" maxlength="100" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.editor" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
@for (editor of editors; track editor) { |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === editor"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" [value]="editor" /> |
|||
<i class="icon-control-{{ editor }}"></i> <span class="radio-label">{{ editor }}</span> |
|||
</label> |
|||
} |
|||
</div> |
|||
</div> |
|||
<sqx-form-row for="editor" label="schemas.field.editor" [prefix]="field.fieldId"> |
|||
@for (editor of editors; track editor) { |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === editor"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" [value]="editor" /> |
|||
<i class="icon-control-{{ editor }}"></i> <span class="radio-label">{{ editor }}</span> |
|||
</label> |
|||
} |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input class="form-check-input" id="{{ field.fieldId }}_fieldInlineEditable" formControlName="inlineEditable" type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_fieldInlineEditable"> |
|||
{{ "schemas.field.inlineEditable" | sqxTranslate }} |
|||
</label> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #inlineEditableRow check for="inlineEditable" label="schemas.field.inlineEditable" [prefix]="field.fieldId"> |
|||
<input class="form-check-input" [id]="inlineEditableRow.fieldName" formControlName="inlineEditable" type="checkbox" /> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,29 +1,11 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input |
|||
class="form-check-input" |
|||
id="{{ field.fieldId }}_fieldDefaultValue" |
|||
formControlName="defaultValue" |
|||
sqxIndeterminateValue |
|||
type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_fieldDefaultValue"> |
|||
{{ "schemas.field.defaultValue" | sqxTranslate }} |
|||
</label> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #defaultValueRow for="defaultValue" label="schemas.field.defaultValue" [prefix]="field.fieldId"> |
|||
<input class="form-check-input" [id]="defaultValueRow.fieldName" formControlName="defaultValue" sqxIndeterminateValue type="checkbox" /> |
|||
</sqx-form-row> |
|||
|
|||
@if (isLocalizable) { |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldDefaultValues"> |
|||
{{ "schemas.field.defaultValues" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<sqx-localized-input id="{{ field.fieldId }}_fieldDefaultValues" formControlName="defaultValues" [languages]="languages" type="boolean" /> |
|||
<sqx-form-hint> {{ "schemas.field.defaultValuesHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #defaultValueRows for="defaultValues" hint="schemas.field.defaultValuesHint" label="schemas.field.defaultValues" [prefix]="field.fieldId"> |
|||
<sqx-localized-input [id]="defaultValueRows.fieldName" formControlName="defaultValues" [languages]="languages" type="boolean" /> |
|||
</sqx-form-row> |
|||
} |
|||
</div> |
|||
|
|||
@ -1,12 +1,10 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldSchemaIds">{{ "common.schemas" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<sqx-tag-editor |
|||
formControlName="schemaIds" |
|||
[itemConverter]="(schemasSource.converter | async)!" |
|||
[itemsSource]="(schemasSource.converter | async)?.suggestions" |
|||
placeholder="{{ 'common.tagAddSchema' | sqxTranslate }}" /> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row for="schemaIds" label="common.schemas" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor |
|||
id="schemaIds" |
|||
formControlName="schemaIds" |
|||
[itemConverter]="(schemasSource.converter | async)!" |
|||
[itemsSource]="(schemasSource.converter | async)?.suggestions" |
|||
placeholder="{{ 'common.tagAddSchema' | sqxTranslate }}" /> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,12 +1,9 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.defaultValue" | sqxTranslate }}</label> |
|||
<div class="col-3"> |
|||
<select class="form-select" formControlName="calculatedDefaultValue"> |
|||
@for (value of calculatedDefaultValues; track value) { |
|||
<option [ngValue]="value">{{ value }}</option> |
|||
} |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row for="calculatedDefaultValue" label="schemas.field.defaultValue" [prefix]="field.fieldId"> |
|||
<select class="form-select" formControlName="calculatedDefaultValue"> |
|||
@for (value of calculatedDefaultValues; track value) { |
|||
<option [ngValue]="value">{{ value }}</option> |
|||
} |
|||
</select> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,42 +1,36 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.references.count" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minItems" |
|||
placeholder="{{ 'schemas.fieldTypes.references.countMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<sqx-form-row for="minItems" hideError label="schemas.fieldTypes.references.count" [prefix]="field.fieldId"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minItems" |
|||
placeholder="{{ 'schemas.fieldTypes.references.countMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxItems" |
|||
placeholder="{{ 'schemas.fieldTypes.references.countMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxItems" |
|||
placeholder="{{ 'schemas.fieldTypes.references.countMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldSchemaIds">{{ "common.schemas" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<sqx-tag-editor |
|||
formControlName="schemaIds" |
|||
[itemConverter]="(schemasSource.converter | async)!" |
|||
[itemsSource]="(schemasSource.converter | async)?.suggestions" |
|||
placeholder="{{ 'common.tagAddSchema' | sqxTranslate }}" /> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #schemaIdsRow for="schemaIds" label="common.schemas" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor |
|||
[id]="schemaIdsRow.fieldName" |
|||
formControlName="schemaIds" |
|||
[itemConverter]="(schemasSource.converter | async)!" |
|||
[itemsSource]="(schemasSource.converter | async)?.suggestions" |
|||
placeholder="{{ 'common.tagAddSchema' | sqxTranslate }}" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.array.uniqueFields" | sqxTranslate }}</label> |
|||
<div class="col-9"><sqx-tag-editor formControlName="uniqueFields" /></div> |
|||
</div> |
|||
<sqx-form-row #uniqueFieldsRow for="uniqueFields" label="schemas.fieldTypes.array.uniqueFields" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor [id]="uniqueFieldsRow.fieldName" formControlName="uniqueFields" /> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,35 +1,18 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldPlaceholder"> |
|||
{{ "schemas.field.placeholder" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<input class="form-control" id="{{ field.fieldId }}_fieldPlaceholder" formControlName="placeholder" maxlength="100" /> |
|||
<sqx-form-hint> {{ "schemas.field.placeholderHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #placeholderRow for="placeholder" hint="schemas.field.placeholderHint" label="schemas.field.placeholder" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="placeholderRow.fieldName" formControlName="placeholder" maxlength="100" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldFormat"> |
|||
{{ "schemas.fieldTypes.dateTime.format" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<input class="form-control" id="{{ field.fieldId }}_fieldFormat" formControlName="format" maxlength="100" /> |
|||
<sqx-form-hint> |
|||
<span inline="true" [sqxMarkdown]="'schemas.fieldTypes.dateTime.formatHint' | sqxTranslate"></span> |
|||
</sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #formatRow for="format" hint="schemas.fieldTypes.dateTime.formatHint" label="schemas.fieldTypes.dateTime.format" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="formatRow.fieldName" formControlName="format" maxlength="100" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.editor" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
@for (editor of editors; track editor) { |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === editor"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" [value]="editor" /> |
|||
<i class="icon-control-{{ editor }}"></i> <span class="radio-label">{{ editor }}</span> |
|||
</label> |
|||
} |
|||
</div> |
|||
</div> |
|||
<sqx-form-row for="editor" label="schemas.field.editor" [prefix]="field.fieldId"> |
|||
@for (editor of editors; track editor) { |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === editor"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" [value]="editor" /> |
|||
<i class="icon-control-{{ editor }}"></i> <span class="radio-label">{{ editor }}</span> |
|||
</label> |
|||
} |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,45 +1,38 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.dateTime.rangeMin" | sqxTranslate }}</label> |
|||
<div class="col-9"><sqx-date-time-editor formControlName="minValue" mode="DateTime" /></div> |
|||
</div> |
|||
<sqx-form-row for="minValue" label="schemas.fieldTypes.dateTime.rangeMin" [prefix]="field.fieldId"> |
|||
<sqx-date-time-editor formControlName="minValue" mode="DateTime" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.dateTime.rangeMax" | sqxTranslate }}</label> |
|||
<div class="col-9"><sqx-date-time-editor formControlName="maxValue" mode="DateTime" /></div> |
|||
</div> |
|||
<sqx-form-row for="maxValue" label="schemas.fieldTypes.dateTime.rangeMax" [prefix]="field.fieldId"> |
|||
<sqx-date-time-editor formControlName="maxValue" mode="DateTime" /> |
|||
</sqx-form-row> |
|||
|
|||
@if (showDefaultValues | async) { |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.dateTime.defaultMode" | sqxTranslate }}</label> |
|||
<div class="col-3"> |
|||
<select class="form-select" formControlName="calculatedDefaultValue"> |
|||
<option></option> |
|||
<sqx-form-row for="calculatedDefaultValue" label="schemas.fieldTypes.dateTime.defaultMode" [prefix]="field.fieldId"> |
|||
<select class="form-select" formControlName="calculatedDefaultValue"> |
|||
<option></option> |
|||
|
|||
@for (value of calculatedDefaultValues; track value) { |
|||
<option [ngValue]="value">{{ value }}</option> |
|||
} |
|||
</select> |
|||
</div> |
|||
</div> |
|||
@for (value of calculatedDefaultValues; track value) { |
|||
<option [ngValue]="value">{{ value }}</option> |
|||
} |
|||
</select> |
|||
</sqx-form-row> |
|||
|
|||
@if (showDefaultValue | async) { |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.defaultValue" | sqxTranslate }}</label> |
|||
<div class="col-9"><sqx-date-time-editor formControlName="defaultValue" mode="DateTime" /></div> |
|||
</div> |
|||
<sqx-form-row #defaultValueRow for="defaultValue" label="schemas.field.defaultValue" [prefix]="field.fieldId"> |
|||
<sqx-date-time-editor [id]="defaultValueRow.fieldName" formControlName="defaultValue" mode="DateTime" /> |
|||
</sqx-form-row> |
|||
} |
|||
|
|||
@if (isLocalizable) { |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldDefaultValues"> |
|||
{{ "schemas.field.defaultValues" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<sqx-localized-input id="{{ field.fieldId }}_fieldDefaultValues" formControlName="defaultValues" [languages]="languages" type="datetime" /> |
|||
<sqx-form-hint> {{ "schemas.field.defaultValuesHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row |
|||
#defaultValueRows |
|||
for="defaultValues" |
|||
hint="schemas.field.defaultValuesHint" |
|||
label="schemas.field.defaultValues" |
|||
[prefix]="field.fieldId"> |
|||
<sqx-localized-input [id]="defaultValueRows.fieldName" formControlName="defaultValues" [languages]="languages" type="datetime" /> |
|||
</sqx-form-row> |
|||
} |
|||
} |
|||
</div> |
|||
|
|||
@ -1,11 +1,8 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.editor" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === 'Map'"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" value="Map" /> |
|||
<i class="icon-control-Map"></i> <span class="radio-label">Map</span> |
|||
</label> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row for="editor" label="schemas.field.editor" [prefix]="field.fieldId"> |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === 'Map'"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" value="Map" /> |
|||
<i class="icon-control-Map"></i> <span class="radio-label">Map</span> |
|||
</label> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,7 +1,5 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group"> |
|||
<label>{{ "schemas.field.graphQLSchema" | sqxTranslate }}</label> |
|||
<sqx-form-row for="graphQLSchema" hint="schemas.field.graphQLSchemaHint" label="schemas.field.graphQLSchema" [prefix]="field.fieldId" vertical> |
|||
<sqx-code-editor formControlName="graphQLSchema" [height]="350" mode="ace/mode/graphqlschema" /> |
|||
<sqx-form-hint> {{ "schemas.field.graphQLSchemaHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,39 +1,22 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldPlaceholder"> |
|||
{{ "schemas.field.placeholder" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<input class="form-control" id="{{ field.fieldId }}_fieldPlaceholder" formControlName="placeholder" maxlength="100" /> |
|||
<sqx-form-hint> {{ "schemas.field.placeholderHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #placeholderRow for="placeholder" hint="schemas.field.placeholderHint" label="schemas.field.placeholder" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="placeholderRow.fieldName" formControlName="placeholder" maxlength="100" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.editor" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
@for (editor of editors; track editor) { |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === editor"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" [value]="editor" /> |
|||
<i class="icon-control-{{ editor }}"></i> <span class="radio-label">{{ editor }}</span> |
|||
</label> |
|||
} |
|||
</div> |
|||
</div> |
|||
<sqx-form-row for="editor" label="schemas.field.editor" [prefix]="field.fieldId"> |
|||
@for (editor of editors; track editor) { |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === editor"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" [value]="editor" /> |
|||
<i class="icon-control-{{ editor }}"></i> <span class="radio-label">{{ editor }}</span> |
|||
</label> |
|||
} |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row" [class.hidden]="hideAllowedValues | async"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.allowedValues" | sqxTranslate }}</label> |
|||
<div class="col-9"><sqx-tag-editor formControlName="allowedValues" [itemConverter]="converter" /></div> |
|||
</div> |
|||
<sqx-form-row #allowedValuesRow [class.hidden]="hideAllowedValues | async" for="allowedValues" label="schemas.field.allowedValues" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor [id]="allowedValuesRow.fieldName" formControlName="allowedValues" [itemConverter]="converter" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row" [class.hidden]="hideInlineEditable | async"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input class="form-check-input" id="{{ field.fieldId }}_fieldInlineEditable" formControlName="inlineEditable" type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_fieldInlineEditable"> |
|||
{{ "schemas.field.inlineEditable" | sqxTranslate }} |
|||
</label> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #inlineEditableRow check for="inlineEditable" label="schemas.field.inlineEditable" [prefix]="field.fieldId"> |
|||
<input class="form-check-input" [id]="inlineEditableRow.fieldName" formControlName="inlineEditable" type="checkbox" /> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,60 +1,31 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
@if (showUnique) { |
|||
<div class="form-group row"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input class="form-check-input" id="{{ field.fieldId }}_fieldUnique" formControlName="isUnique" type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_fieldUnique"> |
|||
{{ "schemas.field.unique" | sqxTranslate }} |
|||
</label> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #isUniqueRow check for="isUnique" label="schemas.field.unique" [prefix]="field.fieldId"> |
|||
<input class="form-check-input" [id]="isUniqueRow.fieldName" formControlName="isUnique" type="checkbox" /> |
|||
</sqx-form-row> |
|||
} |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.number.range" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minValue" |
|||
placeholder="{{ 'schemas.fieldTypes.number.rangeMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<sqx-form-row for="minValue" hideError label="schemas.fieldTypes.number.range" [prefix]="field.fieldId"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input class="form-control" formControlName="minValue" placeholder="{{ 'schemas.fieldTypes.number.rangeMin' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxValue" |
|||
placeholder="{{ 'schemas.fieldTypes.number.rangeMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<div class="col"> |
|||
<input class="form-control" formControlName="maxValue" placeholder="{{ 'schemas.fieldTypes.number.rangeMax' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldDefaultValue"> |
|||
{{ "schemas.field.defaultValue" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<input class="form-control" id="{{ field.fieldId }}_fieldDefaultValue" formControlName="defaultValue" type="number" /> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #defaultValueRow for="defaultValue" label="schemas.field.defaultValue" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="defaultValueRow.fieldName" formControlName="defaultValue" type="number" /> |
|||
</sqx-form-row> |
|||
|
|||
@if (isLocalizable) { |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldDefaultValues"> |
|||
{{ "schemas.field.defaultValues" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<sqx-localized-input id="{{ field.fieldId }}_fieldDefaultValues" formControlName="defaultValues" [languages]="languages" type="number" /> |
|||
<sqx-form-hint> {{ "schemas.field.defaultValuesHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #defaultValuesRow for="defaultValues" hint="schemas.field.defaultValuesHint" label="schemas.field.defaultValues" [prefix]="field.fieldId"> |
|||
<sqx-localized-input [id]="defaultValuesRow.fieldName" formControlName="defaultValues" [languages]="languages" type="number" /> |
|||
</sqx-form-row> |
|||
} |
|||
</div> |
|||
|
|||
@ -1,37 +1,26 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.editor" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
@for (editor of editors; track editor) { |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === editor"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" [value]="editor" /> |
|||
<i class="icon-control-{{ editor }}"></i> <span class="radio-label">{{ editor }}</span> |
|||
</label> |
|||
} |
|||
</div> |
|||
</div> |
|||
<sqx-form-row for="editor" label="schemas.field.editor" [prefix]="field.fieldId"> |
|||
@for (editor of editors; track editor) { |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === editor"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" [value]="editor" /> |
|||
<i class="icon-control-{{ editor }}"></i> <span class="radio-label">{{ editor }}</span> |
|||
</label> |
|||
} |
|||
</sqx-form-row> |
|||
|
|||
@if (field.properties.isContentField) { |
|||
<div class="form-group row"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input class="form-check-input" id="{{ field.fieldId }}_fieldResolveReference" formControlName="resolveReference" type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_fieldResolveReference"> |
|||
{{ "schemas.fieldTypes.references.resolve" | sqxTranslate }} |
|||
</label> |
|||
</div> |
|||
<sqx-form-hint> {{ "schemas.fieldTypes.references.resolveHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row |
|||
#isContentFieldRow |
|||
check |
|||
for="resolveReference" |
|||
hint="schemas.fieldTypes.references.resolveHint" |
|||
label="schemas.fieldTypes.references.resolve" |
|||
[prefix]="field.fieldId"> |
|||
<input class="form-check-input" [id]="isContentFieldRow.fieldName" formControlName="resolveReference" type="checkbox" /> |
|||
</sqx-form-row> |
|||
} |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_query"> |
|||
{{ "schemas.fieldTypes.references.query" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<input class="form-control" id="{{ field.fieldId }}_query" formControlName="query" type="text" /> |
|||
<sqx-form-hint> {{ "schemas.fieldTypes.references.queryHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #queryRow for="query" hint="schemas.fieldTypes.references.queryHint" label="schemas.fieldTypes.references.query" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="queryRow.fieldName" formControlName="query" type="text" /> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,74 +1,49 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldSchemaIds">{{ "common.schemas" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<sqx-tag-editor |
|||
formControlName="schemaIds" |
|||
[itemConverter]="(schemasSource.normalConverter | async)!" |
|||
[itemsSource]="(schemasSource.normalConverter | async)?.suggestions" |
|||
placeholder="{{ 'common.tagAddSchema' | sqxTranslate }}" /> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input class="form-check-input" id="{{ field.fieldId }}_fieldAllowDuplicates" formControlName="allowDuplicates" type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_fieldAllowDuplicates"> |
|||
{{ "schemas.fieldTypes.assets.allowDuplicates" | sqxTranslate }} |
|||
</label> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.references.count" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minItems" |
|||
placeholder="{{ 'schemas.fieldTypes.references.countMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<sqx-form-row #schemaIdsRow for="schemaIds" label="common.schemas" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor |
|||
[id]="schemaIdsRow.fieldName" |
|||
formControlName="schemaIds" |
|||
[itemConverter]="(schemasSource.normalConverter | async)!" |
|||
[itemsSource]="(schemasSource.normalConverter | async)?.suggestions" |
|||
placeholder="{{ 'common.tagAddSchema' | sqxTranslate }}" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
<sqx-form-row #allowDuplicates check for="allowDuplicates" label="schemas.fieldTypes.assets.allowDuplicates" [prefix]="field.fieldId"> |
|||
<input class="form-check-input" [id]="allowDuplicates.fieldName" formControlName="allowDuplicates" type="checkbox" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxItems" |
|||
placeholder="{{ 'schemas.fieldTypes.references.countMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<sqx-form-row for="countMin" hideError="true" label="schemas.fieldTypes.references.count" [prefix]="field.fieldId"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minItems" |
|||
placeholder="{{ 'schemas.fieldTypes.references.countMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row mb-3"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input class="form-check-input" id="{{ field.fieldId }}_fieldMustBePublished" formControlName="mustBePublished" type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_fieldMustBePublished"> |
|||
{{ "schemas.fieldTypes.references.mustBePublished" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxItems" |
|||
placeholder="{{ 'schemas.fieldTypes.references.countMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
<sqx-form-row #mustBePublishedRow check for="mustBePublished" label="schemas.fieldTypes.references.mustBePublished" [prefix]="field.fieldId"> |
|||
<input class="form-check-input" [id]="mustBePublishedRow.fieldName" formControlName="mustBePublished" type="checkbox" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.defaultValue" | sqxTranslate }}</label> |
|||
<div class="col-9"><sqx-tag-editor formControlName="defaultValue" /></div> |
|||
</div> |
|||
<sqx-form-row #defaultValueRow for="defaultValue" label="schemas.field.defaultValue" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor [id]="defaultValueRow.fieldName" formControlName="defaultValue" /> |
|||
</sqx-form-row> |
|||
|
|||
@if (isLocalizable) { |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.defaultValues" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<sqx-localized-input formControlName="defaultValues" [languages]="languages" type="tags" /> |
|||
<sqx-form-hint> {{ "schemas.field.defaultValuesHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #defaultValuesRow for="defaultValues" hint="schemas.field.defaultValuesHint" label="schemas.field.defaultValues" [prefix]="field.fieldId"> |
|||
<sqx-localized-input [id]="defaultValuesRow.fieldName" formControlName="defaultValues" [languages]="languages" type="tags" /> |
|||
</sqx-form-row> |
|||
} |
|||
</div> |
|||
|
|||
@ -1,30 +1,18 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.string.classNames" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<sqx-tag-editor formControlName="classNames" /> |
|||
<sqx-form-hint> {{ "schemas.fieldTypes.string.classNamesHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #classNamesRow for="classNames" hint="schemas.fieldTypes.string.classNamesHint" label="schemas.fieldTypes.string.classNames" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor [id]="classNamesRow.fieldName" formControlName="classNames" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_folderId"> |
|||
{{ "schemas.fieldTypes.string.folderId" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<sqx-asset-folder-dropdown formControlName="folderId" /> |
|||
<sqx-form-hint> {{ "schemas.fieldTypes.string.folderIdHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row for="folderId" hint="schemas.fieldTypes.string.folderIdHint" label="schemas.fieldTypes.string.folderId" [prefix]="field.fieldId"> |
|||
<sqx-asset-folder-dropdown formControlName="folderId" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldSchemaIds">{{ "common.schemas" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<sqx-tag-editor |
|||
formControlName="schemaIds" |
|||
[itemConverter]="(schemasSource.normalConverter | async)!" |
|||
[itemsSource]="(schemasSource.normalConverter | async)?.suggestions" |
|||
placeholder="{{ 'common.tagAddSchema' | sqxTranslate }}" /> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #schemaIdsRow for="schemaIds" label="common.schemas" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor |
|||
[id]="schemaIdsRow.fieldName" |
|||
formControlName="schemaIds" |
|||
[itemConverter]="(schemasSource.normalConverter | async)!" |
|||
[itemsSource]="(schemasSource.normalConverter | async)?.suggestions" |
|||
placeholder="{{ 'common.tagAddSchema' | sqxTranslate }}" /> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,76 +1,59 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.string.length" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minLength" |
|||
placeholder="{{ 'schemas.fieldTypes.string.lengthMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<sqx-form-row for="minLength" hideError label="schemas.fieldTypes.string.length" [prefix]="field.fieldId"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minLength" |
|||
placeholder="{{ 'schemas.fieldTypes.string.lengthMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxLength" |
|||
placeholder="{{ 'schemas.fieldTypes.string.lengthMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxLength" |
|||
placeholder="{{ 'schemas.fieldTypes.string.lengthMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.string.characters" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minCharacters" |
|||
placeholder="{{ 'schemas.fieldTypes.string.charactersMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
</sqx-form-row> |
|||
|
|||
<sqx-form-row for="minCharacters" hideError label="schemas.fieldTypes.string.characters" [prefix]="field.fieldId"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minCharacters" |
|||
placeholder="{{ 'schemas.fieldTypes.string.charactersMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxCharacters" |
|||
placeholder="{{ 'schemas.fieldTypes.string.charactersMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxCharacters" |
|||
placeholder="{{ 'schemas.fieldTypes.string.charactersMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.string.words" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minWords" |
|||
placeholder="{{ 'schemas.fieldTypes.string.wordsMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<sqx-form-row for="minWords" hideError label="schemas.fieldTypes.string.words" [prefix]="field.fieldId"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input class="form-control" formControlName="minWords" placeholder="{{ 'schemas.fieldTypes.string.wordsMin' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxWords" |
|||
placeholder="{{ 'schemas.fieldTypes.string.wordsMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<div class="col"> |
|||
<input class="form-control" formControlName="maxWords" placeholder="{{ 'schemas.fieldTypes.string.wordsMax' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,92 +1,60 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldPlaceholder"> |
|||
{{ "schemas.field.placeholder" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<input class="form-control" id="{{ field.fieldId }}_fieldPlaceholder" formControlName="placeholder" maxlength="100" /> |
|||
<sqx-form-hint> {{ "schemas.field.placeholderHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.editor" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
@for (editor of editors; track editor) { |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === editor"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" [value]="editor" /> |
|||
<i class="icon-control-{{ editor }}"></i> <span class="radio-label">{{ editor }}</span> |
|||
</label> |
|||
} |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row" [class.hidden]="hideClassNames | async"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.string.classNames" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<sqx-tag-editor formControlName="classNames" /> |
|||
<sqx-form-hint> {{ "schemas.fieldTypes.string.classNamesHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row" [class.hidden]="hideAllowedValues | async"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.allowedValues" | sqxTranslate }}</label> |
|||
<div class="col-9"><sqx-tag-editor formControlName="allowedValues" /></div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_folderId"> |
|||
{{ "schemas.fieldTypes.string.folderId" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<sqx-asset-folder-dropdown formControlName="folderId" /> |
|||
<sqx-form-hint> {{ "schemas.fieldTypes.string.folderIdHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row" [class.hidden]="hideAllowedValues | async"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input class="form-check-input" id="{{ field.fieldId }}_createEnum" formControlName="createEnum" type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_createEnum"> |
|||
{{ "schemas.field.createEnum" | sqxTranslate }} |
|||
</label> |
|||
</div> |
|||
<sqx-form-hint> {{ "schemas.field.createEnumHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row" [class.hidden]="hideInlineEditable | async"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input class="form-check-input" id="{{ field.fieldId }}_fieldInlineEditable" formControlName="inlineEditable" type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_fieldInlineEditable"> |
|||
{{ "schemas.field.inlineEditable" | sqxTranslate }} |
|||
</label> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input class="form-check-input" id="{{ field.fieldId }}_fieldIsEmbeddable" formControlName="isEmbeddable" type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_fieldIsEmbeddable"> |
|||
{{ "schemas.field.isEmbeddable" | sqxTranslate }} |
|||
</label> |
|||
</div> |
|||
<sqx-form-hint> {{ "schemas.field.isEmbeddableHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row" [class.hidden]="hideSchemaIds | async"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldSchemaIds">{{ "common.schemas" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<sqx-tag-editor |
|||
formControlName="schemaIds" |
|||
[itemConverter]="(schemasSource.normalConverter | async)!" |
|||
[itemsSource]="(schemasSource.normalConverter | async)?.suggestions" |
|||
placeholder="{{ 'common.tagAddSchema' | sqxTranslate }}" /> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #placeholderRow for="placeholder" hint="schemas.field.placeholderHint" label="schemas.field.placeholder" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="placeholderRow.fieldName" formControlName="placeholder" maxlength="100" /> |
|||
</sqx-form-row> |
|||
|
|||
<sqx-form-row for="editor" label="schemas.field.editor" [prefix]="field.fieldId"> |
|||
@for (editor of editors; track editor) { |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === editor"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" [value]="editor" /> |
|||
<i class="icon-control-{{ editor }}"></i> <span class="radio-label">{{ editor }}</span> |
|||
</label> |
|||
} |
|||
</sqx-form-row> |
|||
|
|||
<sqx-form-row |
|||
#classNamesRow |
|||
[class.hidden]="hideClassNames | async" |
|||
for="classNames" |
|||
hint="schemas.fieldTypes.string.classNamesHint" |
|||
label="schemas.fieldTypes.string.classNames" |
|||
[prefix]="field.fieldId"> |
|||
<sqx-tag-editor [id]="classNamesRow.fieldName" formControlName="classNames" /> |
|||
</sqx-form-row> |
|||
|
|||
<sqx-form-row #allowedValuesRow [class.hidden]="hideAllowedValues | async" for="allowedValues" label="schemas.field.allowedValues" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor [id]="allowedValuesRow.fieldName" formControlName="allowedValues" /> |
|||
</sqx-form-row> |
|||
|
|||
<sqx-form-row for="folderId" hint="schemas.fieldTypes.string.folderIdHint" label="schemas.fieldTypes.string.folderId" [prefix]="field.fieldId"> |
|||
<sqx-asset-folder-dropdown formControlName="folderId" /> |
|||
</sqx-form-row> |
|||
|
|||
<sqx-form-row |
|||
#createEnumRow |
|||
check |
|||
[class.hidden]="hideAllowedValues | async" |
|||
for="createEnum" |
|||
hint="schemas.field.createEnumHint" |
|||
label="schemas.field.createEnum" |
|||
[prefix]="field.fieldId"> |
|||
<input class="form-check-input" [id]="createEnumRow.fieldName" formControlName="createEnum" type="checkbox" /> |
|||
</sqx-form-row> |
|||
|
|||
<sqx-form-row #inlineEditableRow check for="inlineEditable" label="schemas.field.inlineEditable" [prefix]="field.fieldId"> |
|||
<input class="form-check-input" [id]="inlineEditableRow.fieldName" formControlName="inlineEditable" type="checkbox" /> |
|||
</sqx-form-row> |
|||
|
|||
<sqx-form-row #isEmbeddableRow check for="isEmbeddable" hint="schemas.field.isEmbeddableHint" label="schemas.field.isEmbeddable" [prefix]="field.fieldId"> |
|||
<input class="form-check-input" [id]="isEmbeddableRow.fieldName" formControlName="isEmbeddable" type="checkbox" /> |
|||
</sqx-form-row> |
|||
|
|||
<sqx-form-row #schemaIdsRow for="schemaIds" label="common.schemas" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor |
|||
[id]="schemaIdsRow.fieldName" |
|||
formControlName="schemaIds" |
|||
[itemConverter]="(schemasSource.normalConverter | async)!" |
|||
[itemsSource]="(schemasSource.normalConverter | async)?.suggestions" |
|||
placeholder="{{ 'common.tagAddSchema' | sqxTranslate }}" /> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,166 +1,117 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
@if (showUnique) { |
|||
<div class="form-group row"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input class="form-check-input" id="{{ field.fieldId }}_fieldUnique" formControlName="isUnique" type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_fieldUnique"> |
|||
{{ "schemas.field.unique" | sqxTranslate }} |
|||
</label> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #placeholderRow for="placeholder" hint="schemas.field.placeholderHint" label="schemas.field.placeholder" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="placeholderRow.fieldName" formControlName="placeholder" maxlength="100" /> |
|||
</sqx-form-row> |
|||
} |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.string.length" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minLength" |
|||
placeholder="{{ 'schemas.fieldTypes.string.lengthMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxLength" |
|||
placeholder="{{ 'schemas.fieldTypes.string.lengthMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<sqx-form-row for="minLength" hideError label="schemas.fieldTypes.string.length" [prefix]="field.fieldId"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minLength" |
|||
placeholder="{{ 'schemas.fieldTypes.string.lengthMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldPattern">{{ "common.pattern" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<input |
|||
class="form-control" |
|||
id="{{ field.fieldId }}_fieldPattern" |
|||
#inputPattern |
|||
autocapitalize="off" |
|||
autocomplete="off" |
|||
autocorrect="off" |
|||
(focus)="patternsModal.show()" |
|||
formControlName="pattern" |
|||
placeholder="{{ 'schemas.fieldTypes.string.pattern' | sqxTranslate }}" /> |
|||
@if (settings.patterns.length > 0 && (showPatternSuggestions | async)) { |
|||
<sqx-dropdown-menu class="control-dropdown" position="bottom-start" scrollY="true" [sqxAnchoredTo]="inputPattern" *sqxModal="patternsModal"> |
|||
<h4>{{ "schemas.fieldTypes.string.suggestions" | sqxTranslate }}</h4> |
|||
|
|||
@for (pattern of settings.patterns; track pattern) { |
|||
<div class="control-dropdown-item control-dropdown-item-selectable" (mousedown)="setPattern(pattern)"> |
|||
<div class="truncate">{{ pattern.name }}</div> |
|||
|
|||
<div class="truncate text-muted">{{ pattern.regex }}</div> |
|||
</div> |
|||
} |
|||
</sqx-dropdown-menu> |
|||
} |
|||
<sqx-form-hint> {{ patternName }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
|
|||
@if (showPatternMessage | async) { |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldPatternMessage"> |
|||
{{ "schemas.fieldTypes.string.patternMessage" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<input class="form-control" id="{{ field.fieldId }}_fieldPatternMessage" formControlName="patternMessage" /> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxLength" |
|||
placeholder="{{ 'schemas.fieldTypes.string.lengthMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
|
|||
<sqx-form-row #patternRow for="pattern" [hint]="patternName" label="common.pattern" [prefix]="field.fieldId"> |
|||
<input |
|||
class="form-control" |
|||
[id]="patternRow.fieldName" |
|||
#inputPattern |
|||
autocapitalize="off" |
|||
autocomplete="off" |
|||
autocorrect="off" |
|||
(focus)="patternsModal.show()" |
|||
formControlName="pattern" |
|||
placeholder="{{ 'schemas.fieldTypes.string.pattern' | sqxTranslate }}" /> |
|||
@if (settings.patterns.length > 0 && (showPatternSuggestions | async)) { |
|||
<sqx-dropdown-menu class="control-dropdown" position="bottom-start" scrollY="true" [sqxAnchoredTo]="inputPattern" *sqxModal="patternsModal"> |
|||
<h4>{{ "schemas.fieldTypes.string.suggestions" | sqxTranslate }}</h4> |
|||
|
|||
@for (pattern of settings.patterns; track pattern) { |
|||
<div class="control-dropdown-item control-dropdown-item-selectable" (mousedown)="setPattern(pattern)"> |
|||
<div class="truncate">{{ pattern.name }}</div> |
|||
|
|||
<div class="truncate text-muted">{{ pattern.regex }}</div> |
|||
</div> |
|||
} |
|||
</sqx-dropdown-menu> |
|||
} |
|||
</sqx-form-row> |
|||
|
|||
@if (showPatternMessage | async) { |
|||
<sqx-form-row #patternMessageRow for="patternMessage" label="schemas.fieldTypes.string.patternMessage" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="patternMessageRow.fieldName" formControlName="patternMessage" /> |
|||
</sqx-form-row> |
|||
} |
|||
|
|||
<div class="form-group row"> |
|||
<div class="col-9 offset-3"> |
|||
<sqx-form-hint> {{ "schemas.fieldTypes.string.wordHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.string.contentType" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<select class="form-select" formControlName="contentType"> |
|||
@for (contentType of contentTypes; track contentType) { |
|||
<option [ngValue]="contentType">{{ contentType }}</option> |
|||
} |
|||
</select> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.string.characters" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minCharacters" |
|||
placeholder="{{ 'schemas.fieldTypes.string.charactersMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxCharacters" |
|||
placeholder="{{ 'schemas.fieldTypes.string.charactersMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<sqx-form-row check for="none" hideError hint="schemas.fieldTypes.string.wordHint" [prefix]="field.fieldId" /> |
|||
|
|||
<sqx-form-row for="contentType" label="schemas.fieldTypes.string.contentType" [prefix]="field.fieldId"> |
|||
<select class="form-select" formControlName="contentType"> |
|||
@for (contentType of contentTypes; track contentType) { |
|||
<option [ngValue]="contentType">{{ contentType }}</option> |
|||
} |
|||
</select> |
|||
</sqx-form-row> |
|||
|
|||
<sqx-form-row for="minCharacters" hideError label="schemas.fieldTypes.string.characters" [prefix]="field.fieldId"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minCharacters" |
|||
placeholder="{{ 'schemas.fieldTypes.string.charactersMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.string.words" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minWords" |
|||
placeholder="{{ 'schemas.fieldTypes.string.wordsMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxWords" |
|||
placeholder="{{ 'schemas.fieldTypes.string.wordsMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxCharacters" |
|||
placeholder="{{ 'schemas.fieldTypes.string.charactersMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldDefaultValue"> |
|||
{{ "schemas.field.defaultValue" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"><input class="form-control" id="{{ field.fieldId }}_fieldDefaultValue" formControlName="defaultValue" /></div> |
|||
</div> |
|||
<sqx-form-row for="minWords" hideError label="schemas.fieldTypes.string.words" [prefix]="field.fieldId"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input class="form-control" formControlName="minWords" placeholder="{{ 'schemas.fieldTypes.string.wordsMin' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
|
|||
@if (isLocalizable) { |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldDefaultValues"> |
|||
{{ "schemas.field.defaultValues" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<sqx-localized-input id="{{ field.fieldId }}_fieldDefaultValues" formControlName="defaultValues" [languages]="languages" /> |
|||
<sqx-form-hint> {{ "schemas.field.defaultValuesHint" | sqxTranslate }} </sqx-form-hint> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input class="form-control" formControlName="maxWords" placeholder="{{ 'schemas.fieldTypes.string.wordsMax' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
|
|||
<sqx-form-row #defaultValueRow for="defaultValue" label="schemas.field.defaultValue" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="defaultValueRow.fieldName" formControlName="defaultValue" /> |
|||
</sqx-form-row> |
|||
|
|||
@if (isLocalizable) { |
|||
<sqx-form-row #defaultValuesRow for="defaultValues" hint="schemas.field.defaultValuesHint" label="schemas.field.defaultValues" [prefix]="field.fieldId"> |
|||
<sqx-localized-input [id]="defaultValuesRow.fieldName" formControlName="defaultValues" [languages]="languages" /> |
|||
</sqx-form-row> |
|||
} |
|||
</div> |
|||
|
|||
@ -1,40 +1,22 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label" for="{{ field.fieldId }}_fieldPlaceholder"> |
|||
{{ "schemas.field.placeholder" | sqxTranslate }} |
|||
</label> |
|||
<div class="col-9"> |
|||
<input class="form-control" id="{{ field.fieldId }}_fieldPlaceholder" formControlName="placeholder" maxlength="100" /> |
|||
<sqx-form-hint> {{ "schemas.field.placeholderHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #placeholderRow for="placeholder" hint="schemas.field.placeholderHint" label="schemas.field.placeholder" [prefix]="field.fieldId"> |
|||
<input class="form-control" [id]="placeholderRow.fieldName" formControlName="placeholder" maxlength="100" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.editor" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
@for (editor of editors; track editor) { |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === editor"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" [value]="editor" /> |
|||
<i class="icon-control-{{ editor }}"></i> <span class="radio-label">{{ editor }}</span> |
|||
</label> |
|||
} |
|||
</div> |
|||
</div> |
|||
<sqx-form-row for="editor" label="schemas.field.editor" [prefix]="field.fieldId"> |
|||
@for (editor of editors; track editor) { |
|||
<label class="btn btn-radio" [class.active]="fieldForm.controls['editor'].value === editor"> |
|||
<input class="radio-input" formControlName="editor" name="editor" type="radio" [value]="editor" /> |
|||
<i class="icon-control-{{ editor }}"></i> <span class="radio-label">{{ editor }}</span> |
|||
</label> |
|||
} |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.allowedValues" | sqxTranslate }}</label> |
|||
<div class="col-9"><sqx-tag-editor formControlName="allowedValues" /></div> |
|||
</div> |
|||
<sqx-form-row #allowedValuesRow for="allowedValues" label="schemas.field.allowedValues" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor [id]="allowedValuesRow.fieldName" formControlName="allowedValues" /> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<div class="col-9 offset-3"> |
|||
<div class="form-check"> |
|||
<input class="form-check-input" id="{{ field.fieldId }}_createEnum" formControlName="createEnum" type="checkbox" /> |
|||
<label class="form-check-label" for="{{ field.fieldId }}_createEnum"> |
|||
{{ "schemas.field.createEnum" | sqxTranslate }} |
|||
</label> |
|||
</div> |
|||
<sqx-form-hint> {{ "schemas.field.createEnumHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #createEnumRow check for="createEnum" hint="schemas.field.createEnumHint" label="schemas.field.createEnum" [prefix]="field.fieldId"> |
|||
<input class="form-check-input" [id]="createEnumRow.fieldName" formControlName="createEnum" type="checkbox" /> |
|||
</sqx-form-row> |
|||
</div> |
|||
|
|||
@ -1,41 +1,25 @@ |
|||
<div [formGroup]="fieldForm"> |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.fieldTypes.tags.count" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="minItems" |
|||
placeholder="{{ 'schemas.fieldTypes.tags.countMin' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<sqx-form-row for="minItems" hideError label="schemas.fieldTypes.tags.count" [prefix]="field.fieldId"> |
|||
<div class="row g-0"> |
|||
<div class="col"> |
|||
<input class="form-control" formControlName="minItems" placeholder="{{ 'schemas.fieldTypes.tags.countMin' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
|
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
<div class="col-auto"><label class="col-form-label minmax">-</label></div> |
|||
|
|||
<div class="col"> |
|||
<input |
|||
class="form-control" |
|||
formControlName="maxItems" |
|||
placeholder="{{ 'schemas.fieldTypes.tags.countMax' | sqxTranslate }}" |
|||
type="number" /> |
|||
</div> |
|||
<div class="col"> |
|||
<input class="form-control" formControlName="maxItems" placeholder="{{ 'schemas.fieldTypes.tags.countMax' | sqxTranslate }}" type="number" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</sqx-form-row> |
|||
|
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.defaultValue" | sqxTranslate }}</label> |
|||
<div class="col-9"><sqx-tag-editor formControlName="defaultValue" /></div> |
|||
</div> |
|||
<sqx-form-row #defaultValueRow for="defaultValue" label="schemas.field.defaultValue" [prefix]="field.fieldId"> |
|||
<sqx-tag-editor [id]="defaultValueRow.fieldName" formControlName="defaultValue" /> |
|||
</sqx-form-row> |
|||
|
|||
@if (isLocalizable) { |
|||
<div class="form-group row"> |
|||
<label class="col-3 col-form-label">{{ "schemas.field.defaultValues" | sqxTranslate }}</label> |
|||
<div class="col-9"> |
|||
<sqx-localized-input formControlName="defaultValues" [languages]="languages" type="tags" /> |
|||
<sqx-form-hint> {{ "schemas.field.defaultValuesHint" | sqxTranslate }} </sqx-form-hint> |
|||
</div> |
|||
</div> |
|||
<sqx-form-row #defaultValuesRow for="defaultValues" hint="schemas.field.defaultValuesHint" label="schemas.field.defaultValues" [prefix]="field.fieldId"> |
|||
<sqx-localized-input [id]="defaultValuesRow.fieldName" formControlName="defaultValues" [languages]="languages" type="tags" /> |
|||
</sqx-form-row> |
|||
} |
|||
</div> |
|||
|
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue