Initial commit
This commit is contained in:
20
client/res/templates/fields/address/detail.tpl
Normal file
20
client/res/templates/fields/address/detail.tpl
Normal file
@@ -0,0 +1,20 @@
|
||||
{{#if formattedAddress}}
|
||||
{{breaklines formattedAddress}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isNone}}
|
||||
<span class="none-value">{{translate 'None'}}</span>
|
||||
{{/if}}
|
||||
|
||||
{{#if isLoading}}
|
||||
<span class="loading-value"></span>
|
||||
{{/if}}
|
||||
|
||||
{{#if viewMap}}
|
||||
<div><a
|
||||
href="{{viewMapLink}}"
|
||||
data-action="viewMap"
|
||||
class="small"
|
||||
style="user-select: none;"
|
||||
>{{translate 'View on Map'}}</a></div>
|
||||
{{/if}}
|
||||
20
client/res/templates/fields/address/edit-1.tpl
Normal file
20
client/res/templates/fields/address/edit-1.tpl
Normal file
@@ -0,0 +1,20 @@
|
||||
<textarea
|
||||
class="form-control auto-height"
|
||||
data-name="{{name}}Street"
|
||||
rows="1" placeholder="{{translate 'Street'}}"
|
||||
autocomplete="espo-street"
|
||||
maxlength="{{streetMaxLength}}"
|
||||
style="resize: none;"
|
||||
>{{streetValue}}</textarea>
|
||||
<div class="row">
|
||||
<div class="col-sm-4 col-xs-4">
|
||||
<input type="text" class="form-control" data-name="{{name}}City" value="{{cityValue}}" placeholder="{{translate 'City'}}" autocomplete="espo-city" maxlength="{{cityMaxLength}}">
|
||||
</div>
|
||||
<div class="col-sm-4 col-xs-4">
|
||||
<input type="text" class="form-control" data-name="{{name}}State" value="{{stateValue}}" placeholder="{{translate 'State'}}" autocomplete="espo-state" maxlength="{{stateMaxLength}}">
|
||||
</div>
|
||||
<div class="col-sm-4 col-xs-4">
|
||||
<input type="text" class="form-control" data-name="{{name}}PostalCode" value="{{postalCodeValue}}" placeholder="{{translate 'PostalCode'}}" autocomplete="espo-postalCode" maxlength="{{postalCodeMaxLength}}" spellcheck="false">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" class="form-control" data-name="{{name}}Country" value="{{countryValue}}" placeholder="{{translate 'Country'}}" autocomplete="espo-country" maxlength="{{countryMaxLength}}">
|
||||
24
client/res/templates/fields/address/edit-2.tpl
Normal file
24
client/res/templates/fields/address/edit-2.tpl
Normal file
@@ -0,0 +1,24 @@
|
||||
<textarea
|
||||
class="form-control auto-height"
|
||||
data-name="{{name}}Street"
|
||||
rows="1" placeholder="{{translate 'Street'}}"
|
||||
autocomplete="espo-street"
|
||||
maxlength="{{streetMaxLength}}"
|
||||
style="resize: none;"
|
||||
>{{streetValue}}</textarea>
|
||||
<div class="row">
|
||||
<div class="col-sm-6 col-xs-6">
|
||||
<input type="text" class="form-control" data-name="{{name}}PostalCode" value="{{postalCodeValue}}" placeholder="{{translate 'PostalCode'}}" autocomplete="espo-postalCode" maxlength="{{postalCodeMaxLength}}" spellcheck="false">
|
||||
</div>
|
||||
<div class="col-sm-6 col-xs-6">
|
||||
<input type="text" class="form-control" data-name="{{name}}City" value="{{cityValue}}" placeholder="{{translate 'City'}}" autocomplete="espo-city" maxlength="{{cityMaxLength}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6 col-xs-6">
|
||||
<input type="text" class="form-control" data-name="{{name}}State" value="{{stateValue}}" placeholder="{{translate 'State'}}" autocomplete="espo-state" maxlength="{{stateMaxLength}}">
|
||||
</div>
|
||||
<div class="col-sm-6 col-xs-6">
|
||||
<input type="text" class="form-control" data-name="{{name}}Country" value="{{countryValue}}" placeholder="{{translate 'Country'}}" autocomplete="espo-country" maxlength="{{countryMaxLength}}">
|
||||
</div>
|
||||
</div>
|
||||
20
client/res/templates/fields/address/edit-3.tpl
Normal file
20
client/res/templates/fields/address/edit-3.tpl
Normal file
@@ -0,0 +1,20 @@
|
||||
<input type="text" class="form-control auto-height" data-name="{{name}}Country" value="{{countryValue}}" placeholder="{{translate 'Country'}}" autocomplete="espo-country" maxlength="{{countryMaxLength}}">
|
||||
<div class="row">
|
||||
<div class="col-sm-4 col-xs-4">
|
||||
<input type="text" class="form-control" data-name="{{name}}PostalCode" value="{{postalCodeValue}}" placeholder="{{translate 'PostalCode'}}" autocomplete="espo-postalCode" maxlength="{{postalCodeMaxLength}}" spellcheck="false">
|
||||
</div>
|
||||
<div class="col-sm-4 col-xs-4">
|
||||
<input type="text" class="form-control" data-name="{{name}}State" value="{{stateValue}}" placeholder="{{translate 'State'}}" autocomplete="espo-state" maxlength="{{stateMaxLength}}">
|
||||
</div>
|
||||
<div class="col-sm-4 col-xs-4">
|
||||
<input type="text" class="form-control" data-name="{{name}}City" value="{{cityValue}}" placeholder="{{translate 'City'}}" autocomplete="espo-city" maxlength="{{cityMaxLength}}">
|
||||
</div>
|
||||
</div>
|
||||
<textarea
|
||||
class="form-control auto-height"
|
||||
data-name="{{name}}Street"
|
||||
rows="1" placeholder="{{translate 'Street'}}"
|
||||
autocomplete="espo-street"
|
||||
maxlength="{{streetMaxLength}}"
|
||||
style="resize: none;"
|
||||
>{{streetValue}}</textarea>
|
||||
20
client/res/templates/fields/address/edit-4.tpl
Normal file
20
client/res/templates/fields/address/edit-4.tpl
Normal file
@@ -0,0 +1,20 @@
|
||||
<textarea
|
||||
class="form-control auto-height"
|
||||
data-name="{{name}}Street"
|
||||
rows="1" placeholder="{{translate 'Street'}}"
|
||||
autocomplete="espo-street"
|
||||
maxlength="{{streetMaxLength}}"
|
||||
style="resize: none;"
|
||||
>{{streetValue}}</textarea>
|
||||
<input type="text" class="form-control" data-name="{{name}}City" value="{{cityValue}}" placeholder="{{translate 'City'}}" autocomplete="espo-city" maxlength="{{cityMaxLength}}">
|
||||
<div class="row">
|
||||
<div class="col-sm-5 col-xs-5">
|
||||
<input type="text" class="form-control" data-name="{{name}}Country" value="{{countryValue}}" placeholder="{{translate 'Country'}}" autocomplete="espo-country" maxlength="{{countryMaxLength}}">
|
||||
</div>
|
||||
<div class="col-sm-3 col-xs-3">
|
||||
<input type="text" class="form-control" data-name="{{name}}State" value="{{stateValue}}" placeholder="{{translate 'State'}}" autocomplete="espo-state" maxlength="{{stateMaxLength}}">
|
||||
</div>
|
||||
<div class="col-sm-4 col-xs-4">
|
||||
<input type="text" class="form-control" data-name="{{name}}PostalCode" value="{{postalCodeValue}}" placeholder="{{translate 'PostalCode'}}" autocomplete="espo-postalCode" maxlength="{{postalCodeMaxLength}}" spellcheck="false">
|
||||
</div>
|
||||
</div>
|
||||
20
client/res/templates/fields/address/edit.tpl
Normal file
20
client/res/templates/fields/address/edit.tpl
Normal file
@@ -0,0 +1,20 @@
|
||||
<textarea
|
||||
class="form-control auto-height"
|
||||
data-name="{{name}}Street"
|
||||
rows="1" placeholder="{{translate 'Street'}}"
|
||||
autocomplete="espo-street"
|
||||
maxlength="{{streetMaxLength}}"
|
||||
style="resize: none;"
|
||||
>{{streetValue}}</textarea>
|
||||
<div class="row">
|
||||
<div class="col-sm-4 col-xs-4">
|
||||
<input type="text" class="form-control" data-name="{{name}}City" value="{{cityValue}}" placeholder="{{translate 'City'}}" autocomplete="espo-city" maxlength="{{cityMaxLength}}">
|
||||
</div>
|
||||
<div class="col-sm-4 col-xs-4">
|
||||
<input type="text" class="form-control" data-name="{{name}}State" value="{{stateValue}}" placeholder="{{translate 'State'}}" autocomplete="espo-state" maxlength="{{stateMaxLength}}">
|
||||
</div>
|
||||
<div class="col-sm-4 col-xs-4">
|
||||
<input type="text" class="form-control" data-name="{{name}}PostalCode" value="{{postalCodeValue}}" placeholder="{{translate 'PostalCode'}}" autocomplete="espo-postalCode" maxlength="{{postalCodeMaxLength}}" spellcheck="false">
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" class="form-control" data-name="{{name}}Country" value="{{countryValue}}" placeholder="{{translate 'Country'}}" autocomplete="espo-country" maxlength="{{countryMaxLength}}">
|
||||
7
client/res/templates/fields/address/list-link.tpl
Normal file
7
client/res/templates/fields/address/list-link.tpl
Normal file
@@ -0,0 +1,7 @@
|
||||
{{#if formattedAddress}}
|
||||
<a
|
||||
href="#{{scope}}/view/{{model.id}}"
|
||||
class="link"
|
||||
data-id="{{model.id}}"
|
||||
>{{breaklines formattedAddress}}</a>
|
||||
{{/if}}
|
||||
2
client/res/templates/fields/address/search.tpl
Normal file
2
client/res/templates/fields/address/search.tpl
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
<input type="text" class="main-element form-control input-sm" data-name="{{name}}" value="{{searchData.value}}" {{#if params.maxLength}} maxlength="{{params.maxLength}}"{{/if}}{{#if params.size}} size="{{params.size}}"{{/if}} autocomplete="espo-{{name}}">
|
||||
3
client/res/templates/fields/array/detail.tpl
Normal file
3
client/res/templates/fields/array/detail.tpl
Normal file
@@ -0,0 +1,3 @@
|
||||
{{#unless isEmpty}}{{{value}}}{{else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>{{else}}<span class="loading-value"></span>{{/if}}
|
||||
{{/unless}}
|
||||
32
client/res/templates/fields/array/edit.tpl
Normal file
32
client/res/templates/fields/array/edit.tpl
Normal file
@@ -0,0 +1,32 @@
|
||||
<div
|
||||
class="link-container list-group{{#if keepItems}} no-input{{/if}}"
|
||||
>{{#each itemHtmlList}}{{{./this}}}{{/each}}</div>
|
||||
<div class="array-control-container">
|
||||
{{#if hasAdd}}
|
||||
<button
|
||||
class="btn btn-default btn-block"
|
||||
type="button"
|
||||
data-action="showAddModal"
|
||||
>{{translate 'Add'}}</button>
|
||||
{{/if}}
|
||||
{{#if allowCustomOptions}}
|
||||
<div class="input-group">
|
||||
<input
|
||||
class="main-element form-control select"
|
||||
type="text"
|
||||
autocomplete="espo-{{name}}"
|
||||
placeholder="{{#if this.options}}{{translate 'Select'}}{{else}}{{translate 'typeAndPressEnter' category='messages'}}{{/if}}"
|
||||
{{#if maxItemLength}} maxlength="{{maxItemLength}}"{{/if}}
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
data-action="addItem"
|
||||
class="btn btn-default btn-icon"
|
||||
type="button"
|
||||
tabindex="-1"
|
||||
title="{{translate 'Add Item'}}"
|
||||
><span class="fas fa-plus"></span></button>
|
||||
</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
6
client/res/templates/fields/array/list-link.tpl
Normal file
6
client/res/templates/fields/array/list-link.tpl
Normal file
@@ -0,0 +1,6 @@
|
||||
<a
|
||||
href="#{{scope}}/view/{{model.id}}"
|
||||
class="link"
|
||||
data-id="{{model.id}}"
|
||||
title="{{value}}"
|
||||
>{{#if value}}{{{value}}}{{else}}{{translate 'None'}}{{/if}}</a>
|
||||
1
client/res/templates/fields/array/list.tpl
Normal file
1
client/res/templates/fields/array/list.tpl
Normal file
@@ -0,0 +1 @@
|
||||
{{#unless isEmpty}}{{{value}}}{{/unless}}
|
||||
7
client/res/templates/fields/array/search.tpl
Normal file
7
client/res/templates/fields/array/search.tpl
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
<select class="form-control search-type input-sm">
|
||||
{{options searchTypeList searchType field='searchRanges'}}
|
||||
</select>
|
||||
<div class="input-container">
|
||||
<input class="main-element" type="text" autocomplete="espo-off">
|
||||
</div>
|
||||
@@ -0,0 +1,9 @@
|
||||
{{#if value}}
|
||||
{{{value}}}
|
||||
{{else}}
|
||||
{{#if valueIsSet}}
|
||||
<span class="none-value">{{translate 'None'}}</span>
|
||||
{{else}}
|
||||
<span class="loading-value"></span>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
38
client/res/templates/fields/attachments-multiple/edit.tpl
Normal file
38
client/res/templates/fields/attachments-multiple/edit.tpl
Normal file
@@ -0,0 +1,38 @@
|
||||
<div class="attachment-upload">
|
||||
<div class="clearfix attachment-control">
|
||||
{{#unless uploadFromFileSystemDisabled}}
|
||||
<div class="pull-left">
|
||||
<label class="attach-file-label" title="{{translate 'Attach File'}}" tabindex="0">
|
||||
<span class="btn btn-default btn-icon"><span class="fas fa-paperclip"></span></span>
|
||||
<input
|
||||
type="file"
|
||||
class="file pull-right"
|
||||
multiple
|
||||
{{#if acceptAttribute}}accept="{{acceptAttribute}}"{{/if}}
|
||||
tabindex="-1"
|
||||
>
|
||||
</label>
|
||||
</div>
|
||||
{{/unless}}
|
||||
|
||||
{{#if sourceList.length}}
|
||||
<div class="pull-left dropdown">
|
||||
<button class="btn btn-default btn-icon dropdown-toggle" type="button" data-toggle="dropdown">
|
||||
<span class="fas fa-file"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
{{#each sourceList}}
|
||||
<li><a
|
||||
role="button"
|
||||
tabindex="0"
|
||||
class="action"
|
||||
data-action="insertFromSource"
|
||||
data-name="{{./this}}"
|
||||
>{{translate this category='insertFromSourceLabels' scope='Attachment'}}</a></li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="attachments"></div>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
{{#if value}}
|
||||
{{{value}}}
|
||||
{{/if}}
|
||||
11
client/res/templates/fields/barcode/detail.tpl
Normal file
11
client/res/templates/fields/barcode/detail.tpl
Normal file
@@ -0,0 +1,11 @@
|
||||
{{#if isNotEmpty}}
|
||||
|
||||
{{#if isSvg}}
|
||||
<svg class="barcode"></svg>
|
||||
{{else}}
|
||||
<div class="barcode"></div>
|
||||
{{/if}}
|
||||
|
||||
{{else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>{{else}}<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
1
client/res/templates/fields/base/detail.tpl
Normal file
1
client/res/templates/fields/base/detail.tpl
Normal file
@@ -0,0 +1 @@
|
||||
{{value}}
|
||||
11
client/res/templates/fields/base/edit.tpl
Normal file
11
client/res/templates/fields/base/edit.tpl
Normal file
@@ -0,0 +1,11 @@
|
||||
<input
|
||||
type="text"
|
||||
class="main-element form-control"
|
||||
data-name="{{name}}"
|
||||
value="{{value}}"
|
||||
{{#if params.maxLength}} maxlength="{{params.maxLength}}"{{/if}}
|
||||
autocomplete="espo-{{name}}"
|
||||
{{#if noSpellCheck}}
|
||||
spellcheck="false"
|
||||
{{/if}}
|
||||
>
|
||||
6
client/res/templates/fields/base/list-link.tpl
Normal file
6
client/res/templates/fields/base/list-link.tpl
Normal file
@@ -0,0 +1,6 @@
|
||||
<a
|
||||
href="#{{scope}}/view/{{model.id}}"
|
||||
class="link"
|
||||
data-id="{{model.id}}"
|
||||
title="{{value}}"
|
||||
>{{#if value}}{{value}}{{else}}{{translate 'None'}}{{/if}}</a>
|
||||
1
client/res/templates/fields/base/list.tpl
Normal file
1
client/res/templates/fields/base/list.tpl
Normal file
@@ -0,0 +1 @@
|
||||
{{value}}
|
||||
12
client/res/templates/fields/base/search.tpl
Normal file
12
client/res/templates/fields/base/search.tpl
Normal file
@@ -0,0 +1,12 @@
|
||||
<input
|
||||
type="text"
|
||||
class="main-element form-control input-sm"
|
||||
data-name="{{name}}"
|
||||
value="{{searchParams.value}}" {{#if params.maxLength}}
|
||||
maxlength="{{params.maxLength}}"{{/if}}{{#if params.size}}
|
||||
size="{{params.size}}"{{/if}}
|
||||
autocomplete="espo-{{name}}"
|
||||
{{#if noSpellCheck}}
|
||||
spellcheck="false"
|
||||
{{/if}}
|
||||
>
|
||||
2
client/res/templates/fields/bool/detail.tpl
Normal file
2
client/res/templates/fields/bool/detail.tpl
Normal file
@@ -0,0 +1,2 @@
|
||||
{{#if valueIsSet}}<input class="form-checkbox" type="checkbox"{{#if value}} checked{{/if}} disabled>{{else}}
|
||||
<span class="loading-value"></span>{{/if}}
|
||||
1
client/res/templates/fields/bool/edit.tpl
Normal file
1
client/res/templates/fields/bool/edit.tpl
Normal file
@@ -0,0 +1 @@
|
||||
<input type="checkbox"{{#if value}} checked{{/if}} data-name="{{name}}" class="main-element form-checkbox">
|
||||
1
client/res/templates/fields/bool/list.tpl
Normal file
1
client/res/templates/fields/bool/list.tpl
Normal file
@@ -0,0 +1 @@
|
||||
<input type="checkbox" class="form-checkbox form-checkbox-simple"{{#if value}} checked{{/if}} disabled>
|
||||
5
client/res/templates/fields/bool/search.tpl
Normal file
5
client/res/templates/fields/bool/search.tpl
Normal file
@@ -0,0 +1,5 @@
|
||||
<select data-name="{{name}}" class="main-element form-control input-sm">
|
||||
<option value="isTrue" {{#ifEqual searchType 'isTrue'}} selected{{/ifEqual}}>{{translate 'Yes'}}</option>
|
||||
<option value="isFalse" {{#ifEqual searchType 'isFalse'}} selected{{/ifEqual}}>{{translate 'No'}}</option>
|
||||
<option value="any" {{#ifEqual searchType 'any'}} selected{{/ifEqual}}>{{translateOption 'any' field='searchRanges'}}</option>
|
||||
</select>
|
||||
15
client/res/templates/fields/checklist/detail.tpl
Normal file
15
client/res/templates/fields/checklist/detail.tpl
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
{{#each optionDataList}}
|
||||
<div class="checklist-item-container">
|
||||
<input
|
||||
type="checkbox"
|
||||
data-name="{{dataName}}"
|
||||
id="{{id}}"
|
||||
class="form-checkbox"
|
||||
{{#if isChecked}} checked{{/if}}
|
||||
disabled="disabled"
|
||||
>
|
||||
<label for="{{id}}" class="checklist-label">{{label}}</label>
|
||||
</div>
|
||||
{{/each}}
|
||||
{{#unless optionDataList.length}}<span class="none-value">{{translate 'None'}}</span>{{/unless}}
|
||||
14
client/res/templates/fields/checklist/edit.tpl
Normal file
14
client/res/templates/fields/checklist/edit.tpl
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
{{#each optionDataList}}
|
||||
<div class="checklist-item-container">
|
||||
<input
|
||||
type="checkbox"
|
||||
data-name="{{dataName}}"
|
||||
id="{{id}}"
|
||||
class="form-checkbox"
|
||||
{{#if isChecked}}checked{{/if}}
|
||||
>
|
||||
<label for="{{id}}" class="checklist-label">{{label}}</label>
|
||||
</div>
|
||||
{{/each}}
|
||||
{{#unless optionDataList.length}}{{translate 'None'}}{{/unless}}
|
||||
2
client/res/templates/fields/colorpicker/detail.tpl
Normal file
2
client/res/templates/fields/colorpicker/detail.tpl
Normal file
@@ -0,0 +1,2 @@
|
||||
{{#if isNotEmpty}}<span class="fas fa-tint" style="color: {{value}}"></span> <span>{{value}}</span>
|
||||
{{else}}<span class="none-value">{{translate 'None'}}</span>{{/if}}
|
||||
11
client/res/templates/fields/colorpicker/edit.tpl
Normal file
11
client/res/templates/fields/colorpicker/edit.tpl
Normal file
@@ -0,0 +1,11 @@
|
||||
<div class="input-group colorpicker-component">
|
||||
<input
|
||||
type="text"
|
||||
class="main-element form-control"
|
||||
data-name="{{name}}"
|
||||
value="{{value}}"
|
||||
{{#if params.maxLength}}maxlength="{{params.maxLength}}"{{/if}}
|
||||
autocomplete="espo-{{name}}"
|
||||
>
|
||||
<span class="btn btn-default input-group-addon"><i></i></span>
|
||||
</div>
|
||||
6
client/res/templates/fields/currency/detail-1.tpl
Normal file
6
client/res/templates/fields/currency/detail-1.tpl
Normal file
@@ -0,0 +1,6 @@
|
||||
{{#if isNotEmpty}}
|
||||
<span class="numeric-text">{{value}}</span> {{currencyValue}}
|
||||
{{else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>{{else}}
|
||||
<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
6
client/res/templates/fields/currency/detail-2.tpl
Normal file
6
client/res/templates/fields/currency/detail-2.tpl
Normal file
@@ -0,0 +1,6 @@
|
||||
{{#if isNotEmpty}}
|
||||
{{currencySymbol}}<span class="numeric-text">{{value}}</span>
|
||||
{{else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>{{else}}
|
||||
<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
6
client/res/templates/fields/currency/detail-3.tpl
Normal file
6
client/res/templates/fields/currency/detail-3.tpl
Normal file
@@ -0,0 +1,6 @@
|
||||
{{#if isNotEmpty}}
|
||||
<span class="numeric-text">{{value}}</span> {{currencySymbol}}
|
||||
{{else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>{{else}}
|
||||
<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
@@ -0,0 +1,6 @@
|
||||
{{#if isNotEmpty}}
|
||||
<span class="numeric-text">{{value}}</span>
|
||||
{{else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>{{else}}
|
||||
<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
6
client/res/templates/fields/currency/detail.tpl
Normal file
6
client/res/templates/fields/currency/detail.tpl
Normal file
@@ -0,0 +1,6 @@
|
||||
{{#if isNotEmpty}}
|
||||
<span class="numeric-text">{{value}}</span> {{currencyValue}}
|
||||
{{else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>{{else}}
|
||||
<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
23
client/res/templates/fields/currency/edit.tpl
Normal file
23
client/res/templates/fields/currency/edit.tpl
Normal file
@@ -0,0 +1,23 @@
|
||||
<div class="input-group input-group-currency">
|
||||
<span class="input-group-item">
|
||||
<input
|
||||
type="text"
|
||||
class="main-element form-control radius-left numeric-text"
|
||||
data-name="{{name}}"
|
||||
value="{{value}}"
|
||||
autocomplete="espo-{{name}}"
|
||||
pattern="[\-]?[0-9,.]*"
|
||||
{{#if params.maxLength}} maxlength="{{params.maxLength}}"{{/if}}
|
||||
>
|
||||
</span>
|
||||
{{#if multipleCurrencies}}
|
||||
<span class="input-group-item">
|
||||
<select
|
||||
data-name="{{currencyFieldName}}"
|
||||
class="form-control radius-right"
|
||||
>{{{options currencyList currencyValue}}}</select>
|
||||
</span>
|
||||
{{else}}
|
||||
<span class="input-group-addon radius-right">{{defaultCurrency}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
3
client/res/templates/fields/currency/list-1.tpl
Normal file
3
client/res/templates/fields/currency/list-1.tpl
Normal file
@@ -0,0 +1,3 @@
|
||||
{{#if isNotEmpty}}
|
||||
<span title="{{value}} {{currencyValue}}"><span class="numeric-text">{{value}}</span> {{currencyValue}}</span>
|
||||
{{/if}}
|
||||
3
client/res/templates/fields/currency/list-2.tpl
Normal file
3
client/res/templates/fields/currency/list-2.tpl
Normal file
@@ -0,0 +1,3 @@
|
||||
{{#if isNotEmpty}}
|
||||
<span title="{{currencySymbol}}{{value}}">{{currencySymbol}}<span class="numeric-text">{{value}}</span></span>
|
||||
{{/if}}
|
||||
3
client/res/templates/fields/currency/list-3.tpl
Normal file
3
client/res/templates/fields/currency/list-3.tpl
Normal file
@@ -0,0 +1,3 @@
|
||||
{{#if isNotEmpty}}
|
||||
<span title="{{currencySymbol}}{{value}}"><span class="numeric-text">{{value}}</span> {{currencySymbol}}</span>
|
||||
{{/if}}
|
||||
3
client/res/templates/fields/currency/list.tpl
Normal file
3
client/res/templates/fields/currency/list.tpl
Normal file
@@ -0,0 +1,3 @@
|
||||
{{#if isNotEmpty}}
|
||||
<span title="{{value}} {{currencyValue}}"><span class="numeric-text">{{value}}</span> {{currencyValue}}</span>
|
||||
{{/if}}
|
||||
14
client/res/templates/fields/date/detail.tpl
Normal file
14
client/res/templates/fields/date/detail.tpl
Normal file
@@ -0,0 +1,14 @@
|
||||
{{#if dateValue ~}}
|
||||
<span
|
||||
{{#if titleDateValue}}title="{{titleDateValue}}"{{/if}}
|
||||
class="{{#if style}} text-{{style}} {{/if}} {{#if useNumericFormat}} numeric-text {{/if}}"
|
||||
>{{dateValue}}</span>
|
||||
{{~/if~}}
|
||||
|
||||
{{~#if isNone}}
|
||||
<span class="none-value">{{translate 'None'}}</span>
|
||||
{{/if~}}
|
||||
|
||||
{{~#if isLoading}}
|
||||
<span class="loading-value"></span>
|
||||
{{/if~}}
|
||||
6
client/res/templates/fields/date/edit.tpl
Normal file
6
client/res/templates/fields/date/edit.tpl
Normal file
@@ -0,0 +1,6 @@
|
||||
<div class="input-group">
|
||||
<input class="main-element form-control numeric-text" type="text" data-name="{{name}}" value="{{dateValue}}" autocomplete="espo-{{name}}">
|
||||
<span class="input-group-btn">
|
||||
<button type="button" class="btn btn-default btn-icon date-picker-btn" tabindex="-1"><i class="far fa-calendar"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
6
client/res/templates/fields/date/list-link.tpl
Normal file
6
client/res/templates/fields/date/list-link.tpl
Normal file
@@ -0,0 +1,6 @@
|
||||
<a
|
||||
href="#{{scope}}/view/{{model.id}}"
|
||||
class="link {{#if useNumericFormat}} numeric-text {{/if}}"
|
||||
data-id="{{model.id}}"
|
||||
title="{{value}}"
|
||||
>{{dateValue}}</a>
|
||||
6
client/res/templates/fields/date/list.tpl
Normal file
6
client/res/templates/fields/date/list.tpl
Normal file
@@ -0,0 +1,6 @@
|
||||
{{#if dateValue~}}
|
||||
<span
|
||||
{{#if titleDateValue}}title="{{titleDateValue}}"{{/if}}
|
||||
class="{{#if style}} text-{{style}} {{/if}} {{#if useNumericFormat}} numeric-text {{/if}}"
|
||||
>{{dateValue}}</span>
|
||||
{{~/if}}
|
||||
43
client/res/templates/fields/date/search.tpl
Normal file
43
client/res/templates/fields/date/search.tpl
Normal file
@@ -0,0 +1,43 @@
|
||||
<select class="form-control search-type input-sm">
|
||||
{{options searchTypeList searchType field='dateSearchRanges'}}
|
||||
</select>
|
||||
<div class="input-group primary">
|
||||
<input
|
||||
class="main-element form-control input-sm numeric-text"
|
||||
type="text"
|
||||
data-name="{{name}}"
|
||||
value="{{dateValue}}"
|
||||
autocomplete="espo-{{name}}"
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-default btn-icon btn-sm date-picker-btn"
|
||||
tabindex="-1"
|
||||
><i class="far fa-calendar"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="input-group input-daterange{{#ifNotEqual searchType 'between'}} hidden{{/ifNotEqual}} additional">
|
||||
<input
|
||||
class="main-element form-control input-sm filter-from numeric-text"
|
||||
type="text"
|
||||
value="{{dateValue}}"
|
||||
autocomplete="espo-{{name}}"
|
||||
>
|
||||
<div class="input-group-addon input-sm"> – </div>
|
||||
<input
|
||||
class="main-element form-control input-sm filter-to numeric-text"
|
||||
type="text"
|
||||
value="{{dateValueTo}}"
|
||||
autocomplete="espo-{{name}}"
|
||||
>
|
||||
</div>
|
||||
<div class="hidden additional-number">
|
||||
<input
|
||||
class="main-element form-control input-sm number numeric-text"
|
||||
type="number"
|
||||
value="{{number}}"
|
||||
placeholder ="{{translate 'Number'}}"
|
||||
autocomplete="espo-{{name}}"
|
||||
>
|
||||
</div>
|
||||
22
client/res/templates/fields/datetime/edit.tpl
Normal file
22
client/res/templates/fields/datetime/edit.tpl
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
<div class="input-group-container-2">
|
||||
<div class="input-group">
|
||||
<input class="main-element form-control numeric-text" type="text" data-name="{{name}}" value="{{date}}" autocomplete="espo-{{name}}">
|
||||
<span class="input-group-btn">
|
||||
<button type="button" class="btn btn-default btn-icon date-picker-btn" tabindex="-1"><i class="far fa-calendar"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<input
|
||||
class="form-control time-part numeric-text"
|
||||
type="text"
|
||||
data-name="{{name}}-time"
|
||||
value="{{time}}"
|
||||
autocomplete="espo-{{name}}"
|
||||
spellcheck="false"
|
||||
>
|
||||
<span class="input-group-btn time-part-btn">
|
||||
<button type="button" class="btn btn-default btn-icon time-picker-btn" tabindex="-1"><i class="far fa-clock"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
3
client/res/templates/fields/duration/edit.tpl
Normal file
3
client/res/templates/fields/duration/edit.tpl
Normal file
@@ -0,0 +1,3 @@
|
||||
<select data-name="{{name}}" class="form-control main-element">
|
||||
{{{durationOptions}}}
|
||||
</select>
|
||||
8
client/res/templates/fields/email-address/edit.tpl
Normal file
8
client/res/templates/fields/email-address/edit.tpl
Normal file
@@ -0,0 +1,8 @@
|
||||
<input
|
||||
type="email"
|
||||
class="main-element form-control"
|
||||
data-name="{{name}}"
|
||||
value="{{value}}"
|
||||
{{#if params.maxLength}} maxlength="{{params.maxLength}}"{{/if}}
|
||||
autocomplete="espo-{{name}}"
|
||||
>
|
||||
36
client/res/templates/fields/email/detail.tpl
Normal file
36
client/res/templates/fields/email/detail.tpl
Normal file
@@ -0,0 +1,36 @@
|
||||
{{#if emailAddressData}}
|
||||
{{#each emailAddressData}}
|
||||
<div>
|
||||
{{#unless invalid}}
|
||||
{{#unless erased}}
|
||||
<a
|
||||
role="button"
|
||||
tabindex="0"
|
||||
data-email-address="{{emailAddress}}"
|
||||
data-action="mailTo"
|
||||
class="selectable"
|
||||
>
|
||||
{{/unless}}
|
||||
{{/unless}}
|
||||
<span {{#if lineThrough}}style="text-decoration: line-through"{{/if}}>{{emailAddress}}</span>
|
||||
{{#unless invalid}}
|
||||
{{#unless erased}}
|
||||
</a>
|
||||
{{/unless}}
|
||||
{{/unless}}
|
||||
</div>
|
||||
{{/each}}
|
||||
{{else}}
|
||||
{{#if value}}
|
||||
<a
|
||||
role="button"
|
||||
tabindex="0"
|
||||
data-email-address="{{value}}"
|
||||
data-action="mailTo"
|
||||
class="selectable"
|
||||
>{{value}}</a>
|
||||
{{else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>{{else}}
|
||||
<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
68
client/res/templates/fields/email/edit.tpl
Normal file
68
client/res/templates/fields/email/edit.tpl
Normal file
@@ -0,0 +1,68 @@
|
||||
<div>
|
||||
{{#each emailAddressData}}
|
||||
<div class="input-group email-address-block {{#if ../onlyPrimary}} only-primary {{/if}}">
|
||||
<input
|
||||
type="email"
|
||||
class="form-control email-address{{#if optOut}} text-strikethrough{{/if}}{{#if invalid}} text-danger{{/if}}"
|
||||
value="{{emailAddress}}" autocomplete="espo-{{../name}}"
|
||||
maxlength={{../itemMaxLength}}
|
||||
>
|
||||
{{#unless ../onlyPrimary}}
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
class="btn btn-default btn-icon email-property{{#if primary}} active{{/if}} hidden"
|
||||
type="button"
|
||||
data-action="switchEmailProperty"
|
||||
data-property-type="primary"
|
||||
data-toggle="tooltip"
|
||||
data-placement="top"
|
||||
title="{{translate 'Primary' scope='EmailAddress'}}"
|
||||
>
|
||||
<span class="fas fa-star fa-sm{{#unless primary}} text-muted{{/unless}}"></span>
|
||||
</button>
|
||||
<button
|
||||
class="btn btn-default btn-icon email-property{{#if optOut}} active{{/if}}"
|
||||
type="button"
|
||||
data-action="switchEmailProperty"
|
||||
data-property-type="optOut"
|
||||
data-toggle="tooltip"
|
||||
data-placement="top"
|
||||
title="{{translate 'Opted Out' scope='EmailAddress'}}"
|
||||
>
|
||||
<span class="fas fa-ban{{#unless optOut}} text-muted{{/unless}}"></span>
|
||||
</button>
|
||||
<button
|
||||
class="btn btn-default btn-icon radius-right email-property{{#if invalid}} active{{/if}}"
|
||||
type="button"
|
||||
data-action="switchEmailProperty"
|
||||
data-property-type="invalid"
|
||||
data-toggle="tooltip"
|
||||
data-placement="top"
|
||||
title="{{translate 'Invalid' scope='EmailAddress'}}"
|
||||
>
|
||||
<span class="fas fa-exclamation-circle{{#unless invalid}} text-muted{{/unless}}"></span>
|
||||
</button>
|
||||
<button
|
||||
class="btn btn-link btn-icon hidden"
|
||||
type="button"
|
||||
tabindex="-1"
|
||||
data-action="removeEmailAddress"
|
||||
data-toggle="tooltip"
|
||||
data-placement="top"
|
||||
title="{{translate 'Remove'}}"
|
||||
>
|
||||
<span class="fas fa-times"></span>
|
||||
</button>
|
||||
</span>
|
||||
{{/unless}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
||||
{{#unless onlyPrimary}}
|
||||
<button
|
||||
class="btn btn-default btn-icon"
|
||||
type="button"
|
||||
data-action="addEmailAddress"
|
||||
><span class="fas fa-plus"></span></button>
|
||||
{{/unless}}
|
||||
17
client/res/templates/fields/email/list.tpl
Normal file
17
client/res/templates/fields/email/list.tpl
Normal file
@@ -0,0 +1,17 @@
|
||||
{{#if isErased}}
|
||||
{{value}}
|
||||
{{else}}
|
||||
{{#unless isInvalid}}
|
||||
<a
|
||||
role="button"
|
||||
tabindex="0"
|
||||
data-email-address="{{value}}"
|
||||
data-action="mailTo"
|
||||
title="{{value}}"
|
||||
class="selectable text-default"
|
||||
{{#if isOptedOut}}style="text-decoration: line-through;"{{/if}}
|
||||
>{{value}}</a>
|
||||
{{else}}
|
||||
<span title="{{value}}" style="text-decoration: line-through;">{{value}}</span>
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
11
client/res/templates/fields/enum/detail.tpl
Normal file
11
client/res/templates/fields/enum/detail.tpl
Normal file
@@ -0,0 +1,11 @@
|
||||
{{#if isNotEmpty}}
|
||||
{{#if style}}
|
||||
<span class="{{class}}-{{style}}"
|
||||
>{{/if}}{{valueTranslated}}{{#if style}}</span>{{/if}}
|
||||
{{else}}
|
||||
{{#if valueIsSet}}
|
||||
<span class="none-value">{{translate 'None'}}</span>
|
||||
{{else}}
|
||||
<span class="loading-value"></span>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
13
client/res/templates/fields/enum/edit.tpl
Normal file
13
client/res/templates/fields/enum/edit.tpl
Normal file
@@ -0,0 +1,13 @@
|
||||
<select
|
||||
data-name="{{name}}"
|
||||
class="form-control main-element {{#if nativeSelect}} native-select {{/if}}"
|
||||
>
|
||||
{{options
|
||||
params.options value
|
||||
scope=scope
|
||||
field=name
|
||||
translatedOptions=translatedOptions
|
||||
includeMissingOption=true
|
||||
styleMap=styleMap
|
||||
}}
|
||||
</select>
|
||||
11
client/res/templates/fields/enum/list-link.tpl
Normal file
11
client/res/templates/fields/enum/list-link.tpl
Normal file
@@ -0,0 +1,11 @@
|
||||
<a href="#{{scope}}/view/{{model.id}}" class="link" data-id="{{model.id}}" title="{{value}}">
|
||||
{{#if value}}
|
||||
{{#if style}}
|
||||
<span
|
||||
class="{{class}}-{{style}}"
|
||||
title="{{valueTranslated}}"
|
||||
>{{/if}}{{valueTranslated}}{{#if style}}</span>{{/if}}
|
||||
{{else}}
|
||||
{{translate 'None'}}
|
||||
{{/if}}
|
||||
</a>
|
||||
7
client/res/templates/fields/enum/list.tpl
Normal file
7
client/res/templates/fields/enum/list.tpl
Normal file
@@ -0,0 +1,7 @@
|
||||
{{#if isNotEmpty}}
|
||||
{{#if style}}
|
||||
<span
|
||||
class="{{class}}-{{style}}"
|
||||
title="{{valueTranslated}}"
|
||||
>{{/if}}{{valueTranslated}}{{#if style}}</span>{{/if}}
|
||||
{{/if}}
|
||||
4
client/res/templates/fields/enum/search.tpl
Normal file
4
client/res/templates/fields/enum/search.tpl
Normal file
@@ -0,0 +1,4 @@
|
||||
<select class="form-control search-type input-sm">
|
||||
{{options searchTypeList searchType field='searchRanges'}}
|
||||
</select>
|
||||
<div class="input-container"><input class="main-element" type="text"></div>
|
||||
7
client/res/templates/fields/file/detail.tpl
Normal file
7
client/res/templates/fields/file/detail.tpl
Normal file
@@ -0,0 +1,7 @@
|
||||
{{#if value}}
|
||||
{{{value}}}
|
||||
{{else}}
|
||||
{{#if valueIsSet}}
|
||||
<span class="none-value">{{translate 'None'}}</span>
|
||||
{{else}}<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
37
client/res/templates/fields/file/edit.tpl
Normal file
37
client/res/templates/fields/file/edit.tpl
Normal file
@@ -0,0 +1,37 @@
|
||||
<div class="attachment-upload">
|
||||
<div class="attachment-button{{#if id}} hidden{{/if}} clearfix ">
|
||||
<div class="pull-left">
|
||||
<label class="attach-file-label" title="{{translate 'Attach File'}}" tabindex="0">
|
||||
<span class="btn btn-default btn-icon"><span class="fas fa-paperclip"></span></span>
|
||||
<input
|
||||
type="file"
|
||||
class="file pull-right"
|
||||
{{#if acceptAttribute}}accept="{{acceptAttribute}}"{{/if}}
|
||||
tabindex="-1"
|
||||
>
|
||||
</label>
|
||||
</div>
|
||||
{{#unless id}}
|
||||
{{#if sourceList.length}}
|
||||
<div class="pull-left dropdown">
|
||||
<button class="btn btn-default btn-icon dropdown-toggle" type="button" data-toggle="dropdown">
|
||||
<span class="fas fa-file"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
{{#each sourceList}}
|
||||
<li><a
|
||||
role="button"
|
||||
tabindex="0"
|
||||
class="action"
|
||||
data-action="insertFromSource"
|
||||
data-name="{{./this}}"
|
||||
>{{translate this category='insertFromSourceLabels' scope='Attachment'}}</a></li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/unless}}
|
||||
</div>
|
||||
|
||||
<div class="attachment"></div>
|
||||
</div>
|
||||
1
client/res/templates/fields/file/list.tpl
Normal file
1
client/res/templates/fields/file/list.tpl
Normal file
@@ -0,0 +1 @@
|
||||
{{#if value}}{{{value}}}{{/if}}
|
||||
2
client/res/templates/fields/float/edit.tpl
Normal file
2
client/res/templates/fields/float/edit.tpl
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
<input type="text" class="main-element form-control numeric-text" data-name="{{name}}" value="{{value}}" autocomplete="espo-{{name}}" pattern="[\-]?[0-9,.]*" {{#if params.maxLength}} maxlength="{{params.maxLength}}"{{/if}}>
|
||||
7
client/res/templates/fields/formula/detail.tpl
Normal file
7
client/res/templates/fields/formula/detail.tpl
Normal file
@@ -0,0 +1,7 @@
|
||||
{{#if isNotEmpty}}
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<div id="{{containerId}}">{{value}}</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}<span class="none-value">{{translate 'None'}}</span>{{/if}}
|
||||
34
client/res/templates/fields/formula/edit.tpl
Normal file
34
client/res/templates/fields/formula/edit.tpl
Normal file
@@ -0,0 +1,34 @@
|
||||
<div class="formula-edit-container clearfix">
|
||||
<div>
|
||||
<div id="{{containerId}}">{{value}}</div>
|
||||
</div>
|
||||
{{#if hasSide}}
|
||||
<div>
|
||||
<div class="button-container">
|
||||
<div class="btn-group pull-right">
|
||||
{{#if hasCheckSyntax}}
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-text btn-sm btn-icon"
|
||||
data-action="checkSyntax"
|
||||
title="{{translate 'Check Syntax' scope='Formula'}}"
|
||||
><span class="far fa-circle"></span></button>
|
||||
{{/if}}
|
||||
{{#if hasInsert}}
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-text btn-sm dropdown-toggle btn-icon"
|
||||
data-toggle="dropdown"
|
||||
><span class="fas fa-plus"></span></button>
|
||||
<ul class="dropdown-menu pull-right">
|
||||
{{#if targetEntityType}}
|
||||
<li><a role="button" tabindex="0" data-action="addAttribute">{{translate 'Attribute'}}</a></li>
|
||||
{{/if}}
|
||||
<li><a role="button" tabindex="0" data-action="addFunction">{{translate 'Function'}}</a></li>
|
||||
</ul>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
4
client/res/templates/fields/int/detail.tpl
Normal file
4
client/res/templates/fields/int/detail.tpl
Normal file
@@ -0,0 +1,4 @@
|
||||
{{#if isNotEmpty}}<span class="numeric-text">{{value}}</span>{{else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>
|
||||
{{else}}<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
2
client/res/templates/fields/int/edit.tpl
Normal file
2
client/res/templates/fields/int/edit.tpl
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
<input type="text" class="main-element form-control numeric-text" data-name="{{name}}" value="{{value}}" autocomplete="espo-{{name}}" pattern="[\-]?[0-9]*" {{#if params.maxLength}} maxlength="{{params.maxLength}}"{{/if}}>
|
||||
1
client/res/templates/fields/int/list.tpl
Normal file
1
client/res/templates/fields/int/list.tpl
Normal file
@@ -0,0 +1 @@
|
||||
{{#if isNotEmpty}}<span title="{{value}}" class="numeric-text">{{value}}</span>{{/if}}
|
||||
25
client/res/templates/fields/int/search.tpl
Normal file
25
client/res/templates/fields/int/search.tpl
Normal file
@@ -0,0 +1,25 @@
|
||||
<select class="form-control search-type input-sm">
|
||||
{{options searchTypeList searchType field='intSearchRanges'}}
|
||||
</select>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control input-sm hidden numeric-text"
|
||||
data-name="{{name}}"
|
||||
value="{{value}}"
|
||||
pattern="[\-]?[0-9]*"
|
||||
{{#if params.maxLength}} maxlength="{{params.maxLength}}"{{/if}}
|
||||
placeholder="{{translate 'Value'}}"
|
||||
autocomplete="espo-{{name}}"
|
||||
spellcheck="false"
|
||||
>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control{{#ifNotEqual searchType 'between'}} hidden{{/ifNotEqual}} additional input-sm numeric-text"
|
||||
data-name="{{name}}-additional"
|
||||
value="{{value2}}"
|
||||
pattern="[\-]?[0-9]*"
|
||||
{{#if params.maxLength}} maxlength="{{params.maxLength}}"{{/if}}
|
||||
placeholder="{{translate 'Value'}}"
|
||||
autocomplete="espo-{{name}}-additional"
|
||||
spellcheck="false"
|
||||
>
|
||||
5
client/res/templates/fields/json-object/detail.tpl
Normal file
5
client/res/templates/fields/json-object/detail.tpl
Normal file
@@ -0,0 +1,5 @@
|
||||
{{#if isNotEmpty}}
|
||||
{{{value}}}
|
||||
{{else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>{{else}}
|
||||
<span class="loading-value"></span>{{/if}}{{/if}}
|
||||
9
client/res/templates/fields/link-multiple/detail.tpl
Normal file
9
client/res/templates/fields/link-multiple/detail.tpl
Normal file
@@ -0,0 +1,9 @@
|
||||
{{#if value}}
|
||||
{{{value}}}
|
||||
{{else}}
|
||||
{{#if valueIsSet}}
|
||||
<span class="none-value">{{translate 'None'}}</span>
|
||||
{{else}}
|
||||
<span class="loading-value"></span>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
28
client/res/templates/fields/link-multiple/edit.tpl
Normal file
28
client/res/templates/fields/link-multiple/edit.tpl
Normal file
@@ -0,0 +1,28 @@
|
||||
<div class="link-container list-group"></div>
|
||||
|
||||
<div class="input-group add-team">
|
||||
<input
|
||||
class="main-element form-control"
|
||||
type="text"
|
||||
value=""
|
||||
autocomplete="espo-{{name}}"
|
||||
placeholder="{{translate 'Select'}}"
|
||||
spellcheck="false"
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
{{#if createButton}}
|
||||
<button
|
||||
data-action="createLink"
|
||||
class="btn btn-default btn-icon"
|
||||
type="button"
|
||||
title="{{translate 'Create'}}"
|
||||
><i class="fas fa-plus"></i></button>
|
||||
{{/if}}
|
||||
<button
|
||||
data-action="selectLink"
|
||||
class="btn btn-default btn-icon"
|
||||
type="button"
|
||||
title="{{translate 'Select'}}"
|
||||
><span class="fas fa-angle-up"></span></button>
|
||||
</span>
|
||||
</div>
|
||||
3
client/res/templates/fields/link-multiple/list.tpl
Normal file
3
client/res/templates/fields/link-multiple/list.tpl
Normal file
@@ -0,0 +1,3 @@
|
||||
{{#if value}}
|
||||
{{{value}}}
|
||||
{{/if}}
|
||||
29
client/res/templates/fields/link-multiple/search.tpl
Normal file
29
client/res/templates/fields/link-multiple/search.tpl
Normal file
@@ -0,0 +1,29 @@
|
||||
<select class="form-control search-type input-sm">
|
||||
{{options searchTypeList searchType field='searchRanges'}}
|
||||
</select>
|
||||
|
||||
<div class="link-group-container hidden">
|
||||
|
||||
<div class="link-container list-group"></div>
|
||||
|
||||
<div class="input-group add-team">
|
||||
<input
|
||||
class="main-element form-control input-sm"
|
||||
type="text"
|
||||
value=""
|
||||
autocomplete="espo-{{name}}"
|
||||
placeholder="{{translate 'Select'}}"
|
||||
spellcheck="false"
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
data-action="selectLink"
|
||||
class="btn btn-default btn-icon btn-sm"
|
||||
type="button"
|
||||
title="{{translate 'Select'}}"
|
||||
><span class="fas fa-angle-up"></span></button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<input type="hidden" data-name="{{name}}Ids" value="{{searchParams.value}}" class="ids">
|
||||
</div>
|
||||
8
client/res/templates/fields/link-parent/detail.tpl
Normal file
8
client/res/templates/fields/link-parent/detail.tpl
Normal file
@@ -0,0 +1,8 @@
|
||||
{{#if idValue}}{{#if iconHtml}}{{{iconHtml}}}{{/if}}<a href="#{{foreignScope}}/view/{{idValue}}" title="{{translate foreignScope category='scopeNames'}}">{{nameValue}}</a>
|
||||
{{else}}
|
||||
{{#if valueIsSet}}
|
||||
{{#if displayEntityType}}{{translate typeValue category='scopeNames'}}
|
||||
{{else}}<span class="none-value">{{translate 'None'}}</span>
|
||||
{{/if}}
|
||||
{{else}}<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
36
client/res/templates/fields/link-parent/edit.tpl
Normal file
36
client/res/templates/fields/link-parent/edit.tpl
Normal file
@@ -0,0 +1,36 @@
|
||||
<div class="input-group input-group-link-parent">
|
||||
{{#if foreignScopeList.length}}
|
||||
<span class="input-group-item">
|
||||
<select class="form-control radius-left" data-name="{{typeName}}">
|
||||
{{options foreignScopeList foreignScope category='scopeNames'}}
|
||||
</select>
|
||||
</span>
|
||||
<span class="input-group-item input-group-item-middle">
|
||||
<input
|
||||
class="main-element form-control"
|
||||
type="text"
|
||||
data-name="{{nameName}}"
|
||||
value="{{nameValue}}"
|
||||
autocomplete="espo-{{name}}"
|
||||
placeholder="{{translate 'Select'}}"
|
||||
spellcheck="false"
|
||||
>
|
||||
</span>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
data-action="selectLink"
|
||||
class="btn btn-default btn-icon"
|
||||
type="button"
|
||||
title="{{translate 'Select'}}"
|
||||
><i class="fas fa-angle-up"></i></button>
|
||||
<button
|
||||
data-action="clearLink"
|
||||
class="btn btn-default btn-icon"
|
||||
type="button"
|
||||
><i class="fas fa-times"></i></button>
|
||||
</span>
|
||||
{{else}}
|
||||
{{translate 'None'}}
|
||||
{{/if}}
|
||||
</div>
|
||||
<input type="hidden" data-name="{{idName}}" value="{{idValue}}">
|
||||
7
client/res/templates/fields/link-parent/list-link.tpl
Normal file
7
client/res/templates/fields/link-parent/list-link.tpl
Normal file
@@ -0,0 +1,7 @@
|
||||
<a href="#{{scope}}/view/{{model.id}}" class="link" data-id="{{model.id}}" title="{{value}}">
|
||||
{{#if idValue}}
|
||||
{{#if value}}{{value}}{{else}}{{translate 'None'}}{{/if}}
|
||||
{{else}}
|
||||
{{translate 'None'}}
|
||||
{{/if}}
|
||||
</a>
|
||||
8
client/res/templates/fields/link-parent/list.tpl
Normal file
8
client/res/templates/fields/link-parent/list.tpl
Normal file
@@ -0,0 +1,8 @@
|
||||
{{#if idValue~}}
|
||||
{{#if iconHtml}}{{{iconHtml}}}{{/if~}}
|
||||
<a
|
||||
href="#{{foreignScope}}/view/{{idValue}}"
|
||||
title="{{nameValue}}"
|
||||
class="text-default"
|
||||
>{{nameValue}}</a>
|
||||
{{~/if}}
|
||||
32
client/res/templates/fields/link-parent/search.tpl
Normal file
32
client/res/templates/fields/link-parent/search.tpl
Normal file
@@ -0,0 +1,32 @@
|
||||
<select class="form-control search-type input-sm">
|
||||
{{options searchTypeList searchType field='searchRanges'}}
|
||||
</select>
|
||||
<div class="primary">
|
||||
<select class="form-control input-sm entity-type" data-name="{{typeName}}">
|
||||
{{options foreignScopeList searchData.typeValue category='scopeNames'}}
|
||||
</select>
|
||||
<div class="input-group">
|
||||
<input
|
||||
class="form-control input-sm"
|
||||
type="text"
|
||||
data-name="{{nameName}}"
|
||||
value="{{searchData.nameValue}}"
|
||||
autocomplete="espo-{{name}}"
|
||||
placeholder="{{translate 'Select'}}"
|
||||
spellcheck="false"
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-default btn-icon"
|
||||
data-action="selectLink"
|
||||
title="{{translate 'Select'}}"><i class="fas fa-angle-up"></i></button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-default btn-icon"
|
||||
data-action="clearLink"
|
||||
><i class="fas fa-times"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<input type="hidden" data-name="{{idName}}" value="{{searchData.idValue}}">
|
||||
</div>
|
||||
9
client/res/templates/fields/link/detail.tpl
Normal file
9
client/res/templates/fields/link/detail.tpl
Normal file
@@ -0,0 +1,9 @@
|
||||
{{#if url}}
|
||||
{{#if iconHtml}}{{{iconHtml}}}{{/if}}<a href="{{url}}" class="{{#if linkClass}}{{linkClass}}{{/if}}">{{nameValue}}</a>
|
||||
{{else}}
|
||||
{{#if valueIsSet}}
|
||||
<span class="none-value">{{translate 'None'}}</span>
|
||||
{{else}}
|
||||
<span class="loading-value"></span>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
33
client/res/templates/fields/link/edit.tpl
Normal file
33
client/res/templates/fields/link/edit.tpl
Normal file
@@ -0,0 +1,33 @@
|
||||
<div class="input-group">
|
||||
<input
|
||||
class="main-element form-control"
|
||||
type="text"
|
||||
data-name="{{nameName}}"
|
||||
value="{{nameValue}}"
|
||||
autocomplete="espo-{{name}}"
|
||||
placeholder="{{translate 'Select'}}"
|
||||
spellcheck="false"
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
{{#if createButton}}
|
||||
<button
|
||||
data-action="createLink"
|
||||
class="btn btn-default btn-icon{{#if idValue}} hidden{{/if}}"
|
||||
type="button"
|
||||
title="{{translate 'Create'}}"
|
||||
><i class="fas fa-plus"></i></button>
|
||||
{{/if}}
|
||||
<button
|
||||
data-action="selectLink"
|
||||
class="btn btn-default btn-icon"
|
||||
type="button"
|
||||
title="{{translate 'Select'}}"
|
||||
><i class="fas fa-angle-up"></i></button>
|
||||
<button
|
||||
data-action="clearLink"
|
||||
class="btn btn-default btn-icon"
|
||||
type="button"
|
||||
><i class="fas fa-times"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<input type="hidden" data-name="{{idName}}" value="{{idValue}}">
|
||||
3
client/res/templates/fields/link/list.tpl
Normal file
3
client/res/templates/fields/link/list.tpl
Normal file
@@ -0,0 +1,3 @@
|
||||
{{#if url~}}
|
||||
{{~#if iconHtml}}{{{iconHtml}}}{{/if}}<a href="{{url}}" title="{{nameValue}}" class="text-default">{{nameValue}}</a>
|
||||
{{/if}}
|
||||
54
client/res/templates/fields/link/search.tpl
Normal file
54
client/res/templates/fields/link/search.tpl
Normal file
@@ -0,0 +1,54 @@
|
||||
<select class="form-control search-type input-sm">
|
||||
{{options searchTypeList searchType field='searchRanges'}}
|
||||
</select>
|
||||
<div class="primary">
|
||||
<div class="input-group">
|
||||
<input
|
||||
class="form-control input-sm"
|
||||
type="text"
|
||||
data-name="{{nameName}}"
|
||||
value="{{searchData.nameValue}}"
|
||||
autocomplete="espo-{{name}}"
|
||||
placeholder="{{translate 'Select'}}"
|
||||
spellcheck="false"
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-default btn-icon"
|
||||
data-action="selectLink"
|
||||
title="{{translate 'Select'}}"
|
||||
><i class="fas fa-angle-up"></i></button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-default btn-icon"
|
||||
data-action="clearLink"
|
||||
><i class="fas fa-times"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<input type="hidden" data-name="{{idName}}" value="{{searchData.idValue}}">
|
||||
</div>
|
||||
|
||||
<div class="one-of-container hidden">
|
||||
<div class="link-one-of-container link-container list-group">
|
||||
</div>
|
||||
|
||||
<div class="input-group add-team">
|
||||
<input
|
||||
class="form-control input-sm element-one-of"
|
||||
type="text"
|
||||
value=""
|
||||
autocomplete="espo-{{name}}"
|
||||
placeholder="{{translate 'Select'}}"
|
||||
spellcheck="false"
|
||||
>
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
data-action="selectLinkOneOf"
|
||||
class="btn btn-default btn-sm btn-icon"
|
||||
type="button" tabindex="-1"
|
||||
title="{{translate 'Select'}}"
|
||||
><span class="fas fa-angle-up"></span></button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
5
client/res/templates/fields/map/detail.tpl
Normal file
5
client/res/templates/fields/map/detail.tpl
Normal file
@@ -0,0 +1,5 @@
|
||||
{{#if hasAddress}}
|
||||
<div class="map"></div>
|
||||
{{else}}
|
||||
<span class="none-value">{{translate 'None'}}</span>
|
||||
{{/if}}
|
||||
2
client/res/templates/fields/multi-enum/edit.tpl
Normal file
2
client/res/templates/fields/multi-enum/edit.tpl
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
<input data-name="{{name}}" type="text" class="{{#if viewObject.params.displayAsList}}as-list{{/if}}">
|
||||
1
client/res/templates/fields/password/detail.tpl
Normal file
1
client/res/templates/fields/password/detail.tpl
Normal file
@@ -0,0 +1 @@
|
||||
**********
|
||||
11
client/res/templates/fields/password/edit.tpl
Normal file
11
client/res/templates/fields/password/edit.tpl
Normal file
@@ -0,0 +1,11 @@
|
||||
{{#unless isNew}}
|
||||
<a role="button" tabindex="0" data-action="change">{{translate 'change'}}</a>
|
||||
{{/unless}}
|
||||
<input
|
||||
type="password"
|
||||
class="main-element form-control{{#unless isNew}} hidden{{/unless}}"
|
||||
data-name="{{name}}"
|
||||
value="{{value}}"
|
||||
autocomplete="new-password"
|
||||
{{#if params.maxLength}} maxlength="{{params.maxLength}}"{{/if}}
|
||||
>
|
||||
5
client/res/templates/fields/person-name/detail.tpl
Normal file
5
client/res/templates/fields/person-name/detail.tpl
Normal file
@@ -0,0 +1,5 @@
|
||||
{{#if isNotEmpty}}{{formattedValue}}
|
||||
{{else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>{{else}}
|
||||
<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
@@ -0,0 +1,16 @@
|
||||
<div class="row">
|
||||
<div class="col-sm-3 col-xs-3">
|
||||
<select data-name="salutation{{ucName}}" class="form-control">
|
||||
{{options salutationOptions salutationValue field='salutationName' scope=scope}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-5 col-xs-5">
|
||||
<input type="text" class="form-control" data-name="first{{ucName}}" value="{{firstValue}}" placeholder="{{translate 'First Name'}}"{{#if firstMaxLength}} maxlength="{{firstMaxLength}}"{{/if}} autocomplete="espo-first{{ucName}}">
|
||||
</div>
|
||||
<div class="col-sm-4 col-xs-4">
|
||||
<input type="text" class="form-control" data-name="middle{{ucName}}" value="{{middleValue}}" placeholder="{{translate 'Middle Name'}}"{{#if middleMaxLength}} maxlength="{{middleMaxLength}}"{{/if}} autocomplete="espo-middle{{ucName}}">
|
||||
</div>
|
||||
<div class="col-sm-12 col-xs-12">
|
||||
<input type="text" class="form-control" data-name="last{{ucName}}" value="{{lastValue}}" placeholder="{{translate 'Last Name'}}"{{#if lastMaxLength}} maxlength="{{lastMaxLength}}"{{/if}} autocomplete="espo-last{{ucName}}">
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,16 @@
|
||||
<div class="row">
|
||||
<div class="col-sm-3 col-xs-3">
|
||||
<select data-name="salutation{{ucName}}" class="form-control">
|
||||
{{options salutationOptions salutationValue field='salutationName' scope=scope}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<input type="text" class="form-control" data-name="last{{ucName}}" value="{{lastValue}}" placeholder="{{translate 'Last Name'}}"{{#if lastMaxLength}} maxlength="{{lastMaxLength}}"{{/if}} autocomplete="espo-last{{ucName}}">
|
||||
</div>
|
||||
<div class="col-sm-6 col-xs-6">
|
||||
<input type="text" class="form-control" data-name="first{{ucName}}" value="{{firstValue}}" placeholder="{{translate 'First Name'}}"{{#if firstMaxLength}} maxlength="{{firstMaxLength}}"{{/if}} autocomplete="espo-first{{ucName}}">
|
||||
</div>
|
||||
<div class="col-sm-6 col-xs-6">
|
||||
<input type="text" class="form-control" data-name="middle{{ucName}}" value="{{middleValue}}" placeholder="{{translate 'Middle Name'}}"{{#if middleMaxLength}} maxlength="{{middleMaxLength}}"{{/if}} autocomplete="espo-middle{{ucName}}">
|
||||
</div>
|
||||
</div>
|
||||
13
client/res/templates/fields/person-name/edit-last-first.tpl
Normal file
13
client/res/templates/fields/person-name/edit-last-first.tpl
Normal file
@@ -0,0 +1,13 @@
|
||||
<div class="row">
|
||||
<div class="col-sm-3 col-xs-3">
|
||||
<select data-name="salutation{{ucName}}" class="form-control">
|
||||
{{options salutationOptions salutationValue field='salutationName' scope=scope}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-5 col-xs-5">
|
||||
<input type="text" class="form-control" data-name="last{{ucName}}" value="{{lastValue}}" placeholder="{{translate 'Last Name'}}"{{#if lastMaxLength}} maxlength="{{lastMaxLength}}"{{/if}} autocomplete="espo-last{{ucName}}">
|
||||
</div>
|
||||
<div class="col-sm-4 col-xs-4">
|
||||
<input type="text" class="form-control" data-name="first{{ucName}}" value="{{firstValue}}" placeholder="{{translate 'First Name'}}"{{#if firstMaxLength}} maxlength="{{firstMaxLength}}"{{/if}} autocomplete="espo-first{{ucName}}">
|
||||
</div>
|
||||
</div>
|
||||
13
client/res/templates/fields/person-name/edit.tpl
Normal file
13
client/res/templates/fields/person-name/edit.tpl
Normal file
@@ -0,0 +1,13 @@
|
||||
<div class="row">
|
||||
<div class="col-sm-3 col-xs-3">
|
||||
<select data-name="salutation{{ucName}}" class="form-control">
|
||||
{{options salutationOptions salutationValue field='salutationName' scope=scope}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-4 col-xs-4">
|
||||
<input type="text" class="form-control" data-name="first{{ucName}}" value="{{firstValue}}" placeholder="{{translate 'First Name'}}"{{#if firstMaxLength}} maxlength="{{firstMaxLength}}"{{/if}} autocomplete="espo-first{{ucName}}">
|
||||
</div>
|
||||
<div class="col-sm-5 col-xs-5">
|
||||
<input type="text" class="form-control" data-name="last{{ucName}}" value="{{lastValue}}" placeholder="{{translate 'Last Name'}}"{{#if lastMaxLength}} maxlength="{{lastMaxLength}}"{{/if}} autocomplete="espo-last{{ucName}}">
|
||||
</div>
|
||||
</div>
|
||||
38
client/res/templates/fields/phone/detail.tpl
Normal file
38
client/res/templates/fields/phone/detail.tpl
Normal file
@@ -0,0 +1,38 @@
|
||||
{{#if phoneNumberData}}
|
||||
{{#each phoneNumberData}}
|
||||
<div>
|
||||
{{#unless invalid}}
|
||||
{{#unless erased}}
|
||||
<a
|
||||
href="tel:{{valueForLink}}"
|
||||
data-phone-number="{{valueForLink}}"
|
||||
data-action="dial"
|
||||
style="display: inline-block;"
|
||||
class="selectable"
|
||||
>
|
||||
{{/unless}}
|
||||
{{/unless}}
|
||||
<span {{#if lineThrough}}style="text-decoration: line-through"{{/if}}>{{phoneNumber}}</span>
|
||||
{{#unless invalid}}
|
||||
{{#unless erased}}
|
||||
</a>
|
||||
{{/unless}}
|
||||
{{/unless}}
|
||||
{{#if type}}
|
||||
<span class="text-muted small">{{translateOption type scope=../scope field=../name}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
{{else}}
|
||||
{{#if value}}
|
||||
{{#if lineThrough}}<s>{{/if}}<a
|
||||
href="tel:{{valueForLink}}"
|
||||
data-phone-number="{{valueForLink}}"
|
||||
data-action="dial"
|
||||
class="selectable"
|
||||
>{{value}}</a>{{#if lineThrough}}</s>{{/if}}
|
||||
{{else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>{{else}}
|
||||
<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
79
client/res/templates/fields/phone/edit.tpl
Normal file
79
client/res/templates/fields/phone/edit.tpl
Normal file
@@ -0,0 +1,79 @@
|
||||
<div class="phone-number-block-container">
|
||||
{{#each phoneNumberData}}
|
||||
<div class="input-group phone-number-block {{#if ../onlyPrimary}} only-primary {{/if}}">
|
||||
{{#unless ../onlyPrimary}}
|
||||
<span class="input-group-item">
|
||||
<select
|
||||
data-property-type="type"
|
||||
class="form-control radius-left"
|
||||
>{{options ../params.typeList type scope=../scope field=../name}}</select>
|
||||
</span>
|
||||
{{/unless}}
|
||||
<span class="input-group-item input-group-item-middle input-phone-number-item">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control phone-number numeric-text no-margin-shifting {{#if optOut}} text-strikethrough {{/if}} {{#if invalid}} text-danger {{/if}}"
|
||||
value="{{phoneNumber}}"
|
||||
autocomplete="espo-{{../name}}"
|
||||
maxlength={{../itemMaxLength}}
|
||||
>
|
||||
</span>
|
||||
{{#unless ../onlyPrimary}}
|
||||
<span class="input-group-btn">
|
||||
<button
|
||||
class="btn btn-default btn-icon phone-property{{#if primary}} active{{/if}} hidden"
|
||||
type="button"
|
||||
data-action="switchPhoneProperty"
|
||||
data-property-type="primary"
|
||||
data-toggle="tooltip"
|
||||
data-placement="top"
|
||||
title="{{translate 'Primary' scope='PhoneNumber'}}"
|
||||
>
|
||||
<span class="fas fa-star fa-sm{{#unless primary}} text-muted{{/unless}}"></span>
|
||||
</button>
|
||||
<button
|
||||
class="btn btn-default btn-icon phone-property{{#if optOut}} active{{/if}}"
|
||||
type="button"
|
||||
data-action="switchPhoneProperty"
|
||||
data-property-type="optOut"
|
||||
data-toggle="tooltip"
|
||||
data-placement="top"
|
||||
title="{{translate 'Opted Out' scope='EmailAddress'}}"
|
||||
>
|
||||
<span class="fas fa-ban{{#unless optOut}} text-muted{{/unless}}"></span>
|
||||
</button>
|
||||
<button
|
||||
class="btn btn-default btn-icon radius-right phone-property{{#if invalid}} active{{/if}}"
|
||||
type="button"
|
||||
data-action="switchPhoneProperty"
|
||||
data-property-type="invalid"
|
||||
data-toggle="tooltip"
|
||||
data-placement="top"
|
||||
title="{{translate 'Invalid' scope='EmailAddress'}}"
|
||||
>
|
||||
<span class="fas fa-exclamation-circle{{#unless invalid}} text-muted{{/unless}}"></span>
|
||||
</button>
|
||||
<button
|
||||
class="btn btn-link btn-icon hidden"
|
||||
type="button"
|
||||
tabindex="-1"
|
||||
data-action="removePhoneNumber"
|
||||
data-toggle="tooltip"
|
||||
data-placement="top"
|
||||
title="{{translate 'Remove'}}"
|
||||
>
|
||||
<span class="fas fa-times"></span>
|
||||
</button>
|
||||
</span>
|
||||
{{/unless}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
||||
{{#unless onlyPrimary}}
|
||||
<button
|
||||
class="btn btn-default btn-icon"
|
||||
type="button"
|
||||
data-action="addPhoneNumber"
|
||||
><span class="fas fa-plus"></span></button>
|
||||
{{/unless}}
|
||||
16
client/res/templates/fields/phone/list.tpl
Normal file
16
client/res/templates/fields/phone/list.tpl
Normal file
@@ -0,0 +1,16 @@
|
||||
{{#if isErased}}
|
||||
{{value}}
|
||||
{{else}}
|
||||
{{#unless isInvalid}}
|
||||
<a
|
||||
href="tel:{{valueForLink}}"
|
||||
data-phone-number="{{valueForLink}}"
|
||||
data-action="dial"
|
||||
title="{{value}}"
|
||||
class="selectable text-default"
|
||||
{{#if isOptedOut}}style="text-decoration: line-through;"{{/if}}
|
||||
>{{value}}</a>
|
||||
{{else}}
|
||||
<span title="{{value}}" style="text-decoration: line-through;">{{value}}</span>
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
13
client/res/templates/fields/range-currency/edit.tpl
Normal file
13
client/res/templates/fields/range-currency/edit.tpl
Normal file
@@ -0,0 +1,13 @@
|
||||
<div class="row">
|
||||
<div class="col-sm-6 col-xs-6">
|
||||
<input type="text" class="form-control" data-name="from{{ucName}}" value="{{fromValue}}" placeholder="{{translate 'From' scope=scope}}">
|
||||
</div>
|
||||
<div class="col-sm-6 col-xs-6">
|
||||
<input type="text" class="form-control" data-name="to{{ucName}}" value="{{toValue}}" placeholder="{{translate 'To' scope=scope}}">
|
||||
</div>
|
||||
<div class="col-sm-12 col-xs-12">
|
||||
<select data-name="{{currencyField}}" class="form-control">
|
||||
{{{options currencyList currencyValue}}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
1
client/res/templates/fields/range-int/detail.tpl
Normal file
1
client/res/templates/fields/range-int/detail.tpl
Normal file
@@ -0,0 +1 @@
|
||||
{{{value}}}
|
||||
8
client/res/templates/fields/range-int/edit.tpl
Normal file
8
client/res/templates/fields/range-int/edit.tpl
Normal file
@@ -0,0 +1,8 @@
|
||||
<div class="row">
|
||||
<div class="col-sm-6 col-xs-6">
|
||||
<input type="text" class="form-control" data-name="from{{ucName}}" value="{{fromValue}}" placeholder="{{translate 'From' scope=scope}}">
|
||||
</div>
|
||||
<div class="col-sm-6 col-xs-6">
|
||||
<input type="text" class="form-control" data-name="to{{ucName}}" value="{{toValue}}" placeholder="{{translate 'To' scope=scope}}">
|
||||
</div>
|
||||
</div>
|
||||
20
client/res/templates/fields/text/detail.tpl
Normal file
20
client/res/templates/fields/text/detail.tpl
Normal file
@@ -0,0 +1,20 @@
|
||||
{{#if isNotEmpty}}
|
||||
<div
|
||||
class="complex-text-container{{#if isCut}} cut{{/if}}"
|
||||
{{#if cutHeight}} style="max-height: {{cutHeight}}px;"{{/if}}
|
||||
>
|
||||
<div class="complex-text">{{#unless displayRawText}}{{#if htmlValue}}{{{htmlValue}}}{{else}}{{complexText value}}{{/if}}{{else}}{{breaklines value}}{{/unless}}</div>
|
||||
</div>
|
||||
{{#if isCut}}
|
||||
<div class="see-more-container hidden">
|
||||
<a
|
||||
role="button"
|
||||
tabindex="0"
|
||||
data-action="seeMoreText"
|
||||
><span class="fas fa-sm fa-chevron-down"></span> <span class="text">{{translate 'See more'}}</span></a>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>{{else}}
|
||||
<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
18
client/res/templates/fields/text/edit.tpl
Normal file
18
client/res/templates/fields/text/edit.tpl
Normal file
@@ -0,0 +1,18 @@
|
||||
<textarea
|
||||
class="main-element form-control auto-height"
|
||||
data-name="{{name}}"
|
||||
{{#if params.maxLength}}maxlength="{{params.maxLength}}"{{/if}}
|
||||
rows="{{rows}}"
|
||||
autocomplete="espo-{{name}}"
|
||||
style="resize: {{#unless noResize}} vertical{{else}}none{{/unless}};"
|
||||
>{{value}}</textarea>
|
||||
{{#if preview}}
|
||||
<div>
|
||||
<a
|
||||
role="button"
|
||||
class="text-muted pull-right stream-post-preview{{#unless isNotEmpty}} hidden{{/unless}}"
|
||||
data-action="previewText"
|
||||
title="{{translate 'Preview'}}"
|
||||
><span class="fas fa-eye"></span></a>
|
||||
</div>
|
||||
{{/if}}
|
||||
15
client/res/templates/fields/text/list.tpl
Normal file
15
client/res/templates/fields/text/list.tpl
Normal file
@@ -0,0 +1,15 @@
|
||||
{{#if isNotEmpty}}
|
||||
<div
|
||||
class="complex-text-container{{#if isCut}} cut{{/if}}"
|
||||
{{#if cutHeight}} style="max-height: {{cutHeight}}px;"{{/if}}
|
||||
><div
|
||||
class="complex-text"
|
||||
>{{#unless displayRawText}}{{#if htmlValue}}{{{htmlValue}}}{{else}}{{complexText value}}{{/if}}{{else}}{{breaklines value}}{{/unless}}</div></div>
|
||||
{{#if isCut}}<div
|
||||
class="see-more-container hidden"
|
||||
><a
|
||||
role="button"
|
||||
tabindex="0"
|
||||
data-action="seeMoreText"
|
||||
><span class="fas fa-sm fa-chevron-down"></span> <span class="text">{{translate 'See more'}}</span></a></div>{{/if}}
|
||||
{{/if}}
|
||||
13
client/res/templates/fields/text/search.tpl
Normal file
13
client/res/templates/fields/text/search.tpl
Normal file
@@ -0,0 +1,13 @@
|
||||
<select class="form-control search-type input-sm">
|
||||
{{options searchTypeList searchType field='varcharSearchRanges'}}
|
||||
</select>
|
||||
<input
|
||||
type="text"
|
||||
class="main-element form-control input-sm"
|
||||
data-name="{{name}}"
|
||||
value="{{searchData.value}}"
|
||||
{{#if params.maxLength}}maxlength="{{params.maxLength}}"{{/if}}
|
||||
{{#if params.size}} size="{{params.size}}"{{/if}}
|
||||
autocomplete="espo-{{name}}"
|
||||
placeholder="{{translate 'Value'}}"
|
||||
>
|
||||
18
client/res/templates/fields/url/detail.tpl
Normal file
18
client/res/templates/fields/url/detail.tpl
Normal file
@@ -0,0 +1,18 @@
|
||||
{{#if value~}}
|
||||
{{~#if copyToClipboard~}}
|
||||
<a
|
||||
role="button"
|
||||
data-action="copyToClipboard"
|
||||
class="pull-right text-soft"
|
||||
title="{{translate 'Copy to Clipboard'}}"
|
||||
><span class="far fa-copy"></span></a>
|
||||
{{~/if~}}
|
||||
<a
|
||||
href="{{url}}"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>{{value}}</a>
|
||||
{{~else}}
|
||||
{{#if valueIsSet}}<span class="none-value">{{translate 'None'}}</span>{{else}}
|
||||
<span class="loading-value"></span>{{/if}}
|
||||
{{/if}}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user