Initial commit

This commit is contained in:
root
2026-01-19 17:44:46 +01:00
commit 823af8b11d
8721 changed files with 1130846 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
{{#each panelList}}
{{#if isRightAfterDelimiter}}
<div class="panels-show-more-delimiter">
<a role="button" tabindex="0" data-action="showMorePanels" title="{{translate 'Show more'}}">
<span class="fas fa-ellipsis-h fa-lg"></span>
</a>
</div>
{{/if}}
{{#if isTabsBeginning}}
<div class="tabs btn-group">
{{#each ../tabDataList}}
<button
class="btn btn-text btn-wide{{#if isActive}} active{{/if}}{{#if hidden}} hidden{{/if}}"
data-tab="{{@key}}"
>{{label}}</button>
{{/each}}
</div>
{{/if}}
<div
class="panel panel-{{#if style}}{{style}}{{else}}default{{/if}} panel-{{name}} headered{{#if hidden}} hidden{{/if}}{{#if sticked}} sticked{{/if}}{{#if tabHidden}} tab-hidden{{/if}}"
data-name="{{name}}"
data-style="{{#if style}}{{style}}{{/if}}"
data-tab="{{tabNumber}}"
>
<div class="panel-heading">
<div class="pull-right btn-group panel-actions-container">{{{var actionsViewKey ../this}}}</div>
<h4 class="panel-title">
{{#unless notRefreshable}}
<span
style="cursor: pointer; user-select: none;"
class="action"
title="{{translate 'clickToRefresh' category='messages'}}"
data-action="refresh"
data-panel="{{name}}"
>
{{/unless}}
{{#if titleHtml}}
{{{titleHtml}}}
{{else}}
{{title}}
{{/if}}
{{#unless notRefreshable}}
</span>
{{/unless}}
</h4>
</div>
<div class="panel-body{{#if isForm}} panel-body-form{{/if}}" data-name="{{name}}">
{{{var name ../this}}}
</div>
</div>
{{/each}}

View File

@@ -0,0 +1,153 @@
<div class="detail" id="{{id}}" data-scope="{{scope}}" tabindex="-1">
{{#unless buttonsDisabled}}
<div class="detail-button-container button-container record-buttons">
<div class="sub-container clearfix">
<div class="btn-group actions-btn-group" role="group">
{{#each buttonList}}
{{button name
scope=../entityType
label=label
labelTranslation=labelTranslation
style=style
hidden=hidden
html=html
title=title
text=text
className='btn-xs-wide detail-action-item'
disabled=disabled
}}
{{/each}}
{{#if dropdownItemList}}
<button
type="button"
class="btn btn-default dropdown-toggle dropdown-item-list-button{{#if dropdownItemListEmpty}} hidden{{/if}}"
data-toggle="dropdown"
><span class="fas fa-ellipsis-h"></span></button>
<ul class="dropdown-menu pull-left">
{{#each dropdownItemList}}
{{#if this}}
{{dropdownItem
name
scope=../entityType
label=label
labelTranslation=labelTranslation
html=html
title=title
text=text
hidden=hidden
disabled=disabled
data=data
className='detail-action-item'
}}
{{else}}
{{#unless @first}}
{{#unless @last}}
<li class="divider"></li>
{{/unless}}
{{/unless}}
{{/if}}
{{/each}}
</ul>
{{/if}}
</div>
{{#if navigateButtonsEnabled}}
<div class="pull-right">
<div class="btn-group" role="group">
<button
type="button"
class="btn btn-text btn-icon action {{#unless previousButtonEnabled}} disabled{{/unless}}"
data-action="previous"
title="{{translate 'Previous Entry'}}"
{{#unless previousButtonEnabled}}disabled="disabled"{{/unless}}
>
<span class="fas fa-chevron-left"></span>
</button>
<button
type="button"
class="btn btn-text btn-icon action {{#unless nextButtonEnabled}} disabled{{/unless}}"
data-action="next"
title="{{translate 'Next Entry'}}"
{{#unless nextButtonEnabled}}disabled="disabled"{{/unless}}
>
<span class="fas fa-chevron-right"></span>
</button>
</div>
</div>
{{/if}}
</div>
</div>
<div class="detail-button-container button-container edit-buttons hidden">
<div class="sub-container clearfix">
<div class="btn-group actions-btn-group" role="group">
{{#each buttonEditList}}
{{button name
scope=../entityType
label=label
labelTranslation=labelTranslation
style=style
hidden=hidden
html=html
title=title
text=text
className='btn-xs-wide edit-action-item'
disabled=disabled
}}
{{/each}}
{{#if dropdownEditItemList}}
<button
type="button"
class="btn btn-default dropdown-toggle dropdown-edit-item-list-button{{#if dropdownEditItemListEmpty}} hidden{{/if}}"
data-toggle="dropdown"
><span class="fas fa-ellipsis-h"></span></button>
<ul class="dropdown-menu pull-left">
{{#each dropdownEditItemList}}
{{#if this}}
{{dropdownItem
name
scope=../entityType
label=label
labelTranslation=labelTranslation
html=html
title=title
text=text
hidden=hidden
disabled=disabled
data=data
className='edit-action-item'
}}
{{else}}
{{#unless @first}}
{{#unless @last}}
<li class="divider"></li>
{{/unless}}
{{/unless}}
{{/if}}
{{/each}}
</ul>
{{/if}}
</div>
</div>
</div>
{{/unless}}
<div class="record-grid{{#if isWide}} record-grid-wide{{/if}}{{#if isSmall}} record-grid-small{{/if}}">
<div class="left">
{{#if hasMiddleTabs}}
<div class="tabs middle-tabs btn-group">
{{#each middleTabDataList}}
<button
class="btn btn-text btn-wide{{#if isActive}} active{{/if}}{{#if hidden}} hidden{{/if}}"
data-tab="{{@key}}"
>{{label}}</button>
{{/each}}
</div>
{{/if}}
<div class="middle">{{{middle}}}</div>
<div class="extra">{{{extra}}}</div>
<div class="bottom">{{{bottom}}}</div>
</div>
<div class="side{{#if hasMiddleTabs}} tabs-margin{{/if}}">
{{{side}}}
</div>
</div>
</div>

View File

@@ -0,0 +1,79 @@
<div class="edit" id="{{id}}" data-scope="{{scope}}" tabindex="-1">
{{#unless buttonsDisabled}}
<div class="detail-button-container button-container record-buttons">
<div class="sub-container clearfix">
<div class="btn-group actions-btn-group" role="group">
{{#each buttonList}}
{{button
name
scope=../entityType
label=label
labelTranslation=labelTranslation
style=style
html=html
hidden=hidden
title=title
text=text
className='btn-xs-wide detail-action-item'
disabled=disabled
}}
{{/each}}
{{#if dropdownItemList}}
<button
type="button"
class="btn btn-default dropdown-toggle{{#if dropdownItemListEmpty}} hidden{{/if}}"
data-toggle="dropdown"
><span class="fas fa-ellipsis-h"></span>
</button>
<ul class="dropdown-menu pull-left">
{{#each dropdownItemList}}
{{#if this}}
{{dropdownItem
name
scope=../entityType
label=label
labelTranslation=labelTranslation
html=html
title=title
text=text
hidden=hidden
disabled=disabled
data=data
className='detail-action-item'
}}
{{else}}
{{#unless @first}}
{{#unless @last}}
<li class="divider"></li>
{{/unless}}
{{/unless}}
{{/if}}
{{/each}}
</ul>
{{/if}}
</div>
</div>
</div>
{{/unless}}
<div class="record-grid{{#if isWide}} record-grid-wide{{/if}}{{#if isSmall}} record-grid-small{{/if}}">
<div class="left">
{{#if hasMiddleTabs}}
<div class="tabs middle-tabs btn-group">
{{#each middleTabDataList}}
<button
class="btn btn-text btn-wide{{#if isActive}} active{{/if}}{{#if hidden}} hidden{{/if}}"
data-tab="{{@key}}"
>{{label}}</button>
{{/each}}
</div>
{{/if}}
<div class="middle">{{{middle}}}</div>
<div class="extra">{{{extra}}}</div>
<div class="bottom">{{{bottom}}}</div>
</div>
<div class="side{{#if hasMiddleTabs}} tabs-margin{{/if}}">
{{{side}}}
</div>
</div>
</div>

View File

@@ -0,0 +1,19 @@
<div class="panel panel-default {{#if isStarred}} starred {{~/if}} ">
<div class="panel-body">
{{#each layoutDataList}}
<div>
{{#if isFirst}}
{{#unless rowActionsDisabled}}
<div class="pull-right item-menu-container fix-position">{{{../itemMenu}}}</div>
{{/unless}}
{{/if}}
<div class="form-group">
<div
class="field{{#if isAlignRight}} field-right-align{{/if}}{{#if isLarge}} field-large{{/if}}{{#if isMuted}} text-muted{{/if}}"
data-name="{{name}}"
>{{{var key ../this}}}</div>
</div>
</div>
{{/each}}
</div>
</div>

View File

@@ -0,0 +1,91 @@
{{#if topBar}}
<div class="list-buttons-container clearfix">
{{#if displayTotalCount}}
<div class="text-muted total-count">
<span
title="{{translate 'Total'}}"
class="total-count-span"
>{{totalCountFormatted}}</span>
</div>
{{/if}}
{{#if settings}}
<div class="settings-container pull-right">{{{settings}}}</div>
{{/if}}
{{#each buttonList}}
{{button
name
scope=../scope
label=label
style=style
class='list-action-item'
}}
{{/each}}
</div>
{{/if}}
<div class="list-kanban-container">
<div class="list-kanban" data-scope="{{scope}}" style="min-width: {{minTableWidthPx}}px">
<div class="kanban-head-container">
<table class="kanban-head">
<thead>
<tr class="kanban-row">
{{#each groupDataList}}
<th
data-name="{{name}}"
class="group-header{{#if style}} group-header-{{style}}{{/if}}"
>
<div>
<span class="kanban-group-label">{{label}}</span>
<a
role="button"
tabindex="0"
title="{{translate 'Create'}}"
class="create-button hidden"
data-action="createInGroup"
data-group="{{name}}"
>
<span class="fas fa-plus fa-sm"></span>
</a>
</div>
</th>
{{/each}}
</tr>
</thead>
</table>
</div>
<div class="kanban-columns-container">
<table class="kanban-columns">
{{#unless isEmptyList}}
<tbody>
<tr class="kanban-row">
{{#each groupDataList}}
<td class="group-column" data-name="{{name}}">
<div>
<div class="group-column-list" data-name="{{name}}">
{{#each dataList}}
<div class="item" data-id="{{id}}">{{{var key ../../this}}}</div>
{{/each}}
</div>
<div class="show-more">
<a data-action="groupShowMore" data-name="{{name}}" title="{{translate 'Show more'}}" class="{{#unless hasShowMore}}hidden {{/unless}}btn btn-link btn-sm"><span class="fas fa-ellipsis-h fa-sm"></span></a>
</div>
</div>
</td>
{{/each}}
</tr>
</tbody>
{{/unless}}
</table>
</div>
</div>
</div>
{{#if isEmptyList}}{{#unless noDataDisabled}}
<div class="margin-top no-data">
{{translate 'No Data'}}
</div>
{{/unless}}{{/if}}

View File

@@ -0,0 +1,5 @@
<span class="record-checkbox-container"><input
type="checkbox"
class="record-checkbox form-checkbox form-checkbox-small"
data-id="{{model.id}}"
></span>

View File

@@ -0,0 +1,86 @@
{{#if collection.models.length}}
{{#if hasStickyBar}}
<div class="list-sticky-bar sticked-bar hidden">
{{#if hasPagination}}
{{{paginationSticky}}}
{{/if}}
</div>
{{/if}}
{{#if topBar}}
<div class="list-buttons-container clearfix">
{{#if checkboxes}}{{#if massActionDataList}}
<div class="btn-group actions">
<button
type="button"
class="btn btn-default dropdown-toggle actions-button"
data-toggle="dropdown"
disabled
>{{translate 'Actions'}} <span class="caret"></span>
</button>
<ul class="dropdown-menu">
{{#each massActionDataList}}
<li {{#if hidden}}class="hidden"{{/if}}>
<a
role="button"
tabindex="0"
data-action="{{name}}"
class="mass-action"
>{{translate name category="massActions" scope=../scope}}</a>
</li>
{{/each}}
</ul>
</div>
{{/if}}{{/if}}
{{#each buttonList}}
{{button
name
scope=../scope
label=label
style=style
class='list-action-item'
}}
{{/each}}
{{#if hasPagination}}
{{{pagination}}}
{{/if}}
</div>
{{/if}}
<div class="list list-expanded">
<ul class="list-group">
{{#each rowDataList}}
<li
data-id="{{id}}"
class="list-group-item list-row {{#if isStarred}} starred {{~/if}}"
>{{{var id ../this}}}</li>
{{/each}}
</ul>
{{#if showMoreEnabled}}
{{#if showMoreActive}}
<div class="show-more{{#unless showMoreActive}} hidden{{/unless}}">
<a
type="button"
role="button"
tabindex="0"
class="btn btn-default btn-block"
data-action="showMore"
{{#if showCount}}title="{{translate 'Total'}}: {{totalCountFormatted}}"{{/if}}
>
{{#if showCount}}
<div class="pull-right text-muted more-count">{{moreCountFormatted}}</div>
{{/if}}
<span>{{translate 'Show more'}}</span>
</a>
</div>
{{/if}}
{{/if}}
</div>
{{else}}
{{#unless noDataDisabled}}
<div class="no-data">{{translate 'No Data'}}</div>
{{/unless}}
{{/if}}

View File

@@ -0,0 +1,126 @@
{{#unless isLoading}}
<div class="list-nested-categories">
<div class="clearfix">
<div class="btn-group pull-right">
<a role="button" tabindex="0" class="dropdown-toggle btn btn-text" data-toggle="dropdown">
<span class="fas fa-ellipsis-h"></span>
</a>
<ul class="dropdown-menu dropdown-menu-with-icons">
{{#if showCreate}}
<li>
<a
href="{{createLink}}"
class="action"
data-action="createCategory"
>
<span class="fas fa-folder-plus fa-sm"></span><span class="item-text">{{createCategoryLabel}}</span>
</a>
</li>
{{/if}}
{{#if showEditLink}}
<li>
<a
href="#{{scope}}"
class="action manage-categories-link"
data-action="manageCategories"
>
<span class="fas fa-folder-tree fa-sm"></span><span class="item-text">{{translate 'Manage Categories' scope=scope}}</span>
</a>
</li>
<li class="divider"></li>
{{/if}}
{{#if hasExpandedToggler}}
{{#if isExpanded}}
<li>
<a
role="button"
tabindex="0"
class="category-expanded-toggle-link action"
data-action="collapse"
><span class="fas fa-level-up-alt fa-sm fa-flip-horizontal"></span><span class="item-text">{{translate 'Collapse'}}</span></a>
</li>
{{else}}
<li>
<a
role="button"
tabindex="0"
class="category-expanded-toggle-link action"
data-action="expand"
><span class="fas fa-level-down-alt fa-sm"></span><span class="item-text">{{translate 'Expand'}}</span></a>
</li>
{{/if}}
{{/if}}
{{#unless isExpanded}}
<li>
<a
role="button"
tabindex="0"
class="navigation-toggle-link action"
data-action="toggleNavigationPanel"
>
<span class="fas fa-check check-icon pull-right {{#unless hasNavigationPanel}} hidden {{/unless}}"></span>
<div>
<span class="fas"></span><span class="item-text">{{translate 'Navigation Panel'}}</span>
</div>
</a>
</li>
{{/unless}}
</ul>
</div>
{{#if isExpandedResult}}
<div class="input-text-block pull-right" style="user-select: none;">
<span class="label label-default">{{translate 'Expanded'}}</span>
</div>
{{/if}}
{{#if currentId}}
<div class="category-item category-item-move-up">
<a
href="{{upperLink}}"
class="action folder-icon btn-text"
data-action="openCategory"
data-id="{{categoryData.upperId}}"
title="{{translate 'Up'}}"
><span class="fas fa-arrow-up text-soft transform-flip-x"></span></a>
</div>
{{/if}}
</div>
{{#if showFolders}}
<div class="grid-auto-fill-xs">
{{#each list}}
<div class="category-cell">
<div class="category-item" data-id="{{id}}">
<a
href="{{link}}"
class="action link-gray"
data-action="openCategory"
data-id="{{id}}"
data-name="{{name}}"
title="{{name}}"
><span class="folder-icon far fa-folder text-soft"></span> <span class="category-item-name">{{name}}</span></a>
</div>
</div>
{{/each}}
{{#if showMoreIsActive}}
<div class="category-cell">
<div class="category-item show-more">
<span class="category-item-name">
<a
role="button"
tabindex="0"
class="action"
data-action="showMore"
title="{{translate 'Show more'}}"
>...</a>
</span>
</div>
</div>
{{/if}}
</div>
{{/if}}
</div>
{{/unless}}

View File

@@ -0,0 +1,58 @@
<div class="btn-group pagination clearfix">
<div class="btn-group">
<a
class="pagination-btn-middle btn btn-text dropdown-toggle"
role="button"
tabindex="0"
data-toggle="dropdown"
{{#unless noTotal}}title="{{translate 'Total'}}: {{total}}"{{/unless}}
>{{#unless noData}}{{from}}{{/unless}}{{to}}{{#unless noTotal}} / {{total}}{{/unless}}</a>
<ul class="dropdown-menu pull-right">
<li>
<a
role="button"
tabindex="0"
data-page="first"
class="{{#unless previous}}disabled{{/unless}}"
>{{translate 'First Page'}}</a>
</li>
<li>
<a
role="button"
tabindex="0"
data-page="last"
class="{{#unless last}}disabled{{/unless}}"
>{{translate 'Last Page'}}{{#if hasLastPageNumber}} · {{lastPageNumber}}{{/if}}</a>
</li>
{{#if hasGoToPage}}
<li class="divider"></li>
<li>
<div class="input-group page-input-group">
<span class="input-group-addon">{{translate 'Page'}}</span>
<input
class="form-control page-input"
type="text"
inputmode="numeric"
pattern="[0-9]*"
value="{{currentPageNumber}}"
>
</div>
</li>
{{/if}}
</ul>
</div>
<a
class="pagination-btn btn btn-text btn-icon{{#unless previous}} disabled{{/unless}}"
role="button"
tabindex="0"
data-page="previous"
title="{{translate 'Previous Page'}}"
><span class="fas fa-chevron-left"></span></a>
<a
class="pagination-btn btn btn-text btn-icon{{#unless next}} disabled{{/unless}}"
role="button"
tabindex="0"
data-page="next"
title="{{translate 'Next Page'}}"
><span class="fas fa-chevron-right"></span></a>
</div>

View File

@@ -0,0 +1,53 @@
<div class="cell">
<a
role="button"
tabindex="0"
class="action{{#unless showFold}} hidden{{/unless}} small"
data-action="fold"
data-id="{{model.id}}"><span class="fas fa-chevron-down"></span></a>
<a
role="button"
tabindex="0"
class="action{{#unless showUnfold}} hidden{{/unless}} small"
data-action="unfold"
data-id="{{model.id}}"><span class="fas fa-chevron-right"></span></a>
<span
data-name="white-space"
data-id="{{model.id}}"
class="empty-icon{{#unless isEnd}} hidden{{/unless}}"
>&nbsp;</span>
{{#if isMovable}}
<a
role="button"
class=""
data-id="{{model.id}}"
data-role="moveHandle"
data-title="{{name}}"
><span class="fas fa-grip fa-sm"></span></a>
{{/if}}
<a
href="#{{model.entityType}}/view/{{model.id}}"
class="link{{#if isSelected}} text-bold{{/if}}"
data-id="{{model.id}}"
title="{{name}}"
{{#unless readOnly}} draggable="false" {{/unless}}
>{{name}}</a>
{{#unless readOnly}}
<a
role="button"
tabindex="0"
class="action small remove-link hidden"
data-action="remove"
data-id="{{model.id}}"
title="{{translate 'Remove'}}"
>
<span class="fas fa-times"></span>
</a>
{{/unless}}
</div>
<div class="children{{#unless isUnfolded}} hidden{{/unless}}">{{{children}}}</div>

View File

@@ -0,0 +1,63 @@
{{#if topBar}}
<div class="list-buttons-container clearfix">
{{#each buttonList}}
{{button name scope=../scope label=label style=style}}
{{/each}}
</div>
{{/if}}
{{#if noData}}
<div class="no-data">{{translate 'No Data'}}</div>
{{/if}}
<div
class="list list-expanded list-tree {{#if noData}} hidden {{/if}}"
{{#if isEditable}} data-editable="true" {{/if}}
>
{{#if showRoot}}
<div class="root-item">
<a
href="#{{scope}}"
class="action link{{#if rootIsSelected}} text-bold{{/if}}"
data-action="selectRoot"
>{{rootName}}</a>
{{#if hasExpandToggle}}
<a
role="button"
data-role="expandButtonContainer"
title="{{#if isExpanded}}{{translate 'Expanded'}}{{else}}{{translate 'Collapsed'}}{{/if}}"
data-action="toggleExpandedFromNavigation"
class="{{#if expandToggleInactive}} disabled {{/if}}"
>
{{#if isExpanded}}
<span class="fas fa-level-down-alt fa-sm text-soft"></span>
{{else}}
<span class="fas fa-level-down-alt fa-rotate-270 fa-sm text-soft"></span>
{{/if}}
</a>
{{/if}}
</div>
{{/if}}
<ul class="list-group list-group-tree list-group-no-border">
{{#each rowList}}
<li data-id="{{./this}}" class="list-group-item">
{{{var this ../this}}}
</li>
{{/each}}
{{#unless createDisabled}}
<li class="list-group-item">
<div>
<a
role="button"
tabindex="0"
data-action="create"
class="action small"
title="{{translate 'Add'}}"
><span class="fas fa-plus"></span></a>
</div>
</li>
{{/unless}}
</ul>
</div>

View File

@@ -0,0 +1,252 @@
{{#if hasStickyBar}}
<div class="sticked-bar list-sticky-bar hidden">
{{#if displayActionsButtonGroup}}
<div class="btn-group">
<button
type="button"
class="btn btn-default btn-xs-wide dropdown-toggle actions-button hidden"
data-toggle="dropdown"
>{{translate 'Actions'}} <span class="caret"></span>
</button>
<ul class="dropdown-menu actions-menu">
{{#each massActionDataList}}
{{#if this}}
<li {{#if hidden}}class="hidden"{{/if}}>
<a
role="button"
tabindex="0"
data-action="{{name}}"
class="mass-action"
>{{translate name category="massActions" scope=../scope}}</a>
</li>
{{else}}
{{#unless @first}}
{{#unless @last}}
<li class="divider"></li>
{{/unless}}
{{/unless}}
{{/if}}
{{/each}}
</ul>
</div>
{{/if}}
{{#if hasPagination}}
{{{paginationSticky}}}
{{/if}}
</div>
{{/if}}
{{#if topBar}}
<div class="list-buttons-container clearfix">
{{#if displayActionsButtonGroup}}
<div class="btn-group actions">
{{#if massActionDataList}}
<button
type="button"
class="btn btn-default btn-xs-wide dropdown-toggle actions-button hidden"
data-toggle="dropdown"
>{{translate 'Actions'}} <span class="caret"></span></button>
{{/if}}
{{#if buttonList.length}}
{{#each buttonList}}
{{button
name
scope=../scope
label=label
style=style
hidden=hidden
class='list-action-item'
}}
{{/each}}
{{/if}}
<div class="btn-group">
{{#if dropdownItemList.length}}
<button
type="button"
class="btn btn-text dropdown-toggle dropdown-item-list-button"
data-toggle="dropdown"
><span class="fas fa-ellipsis-h"></span></button>
<ul class="dropdown-menu pull-left">
{{#each dropdownItemList}}
{{#if this}}
<li class="{{#if hidden}}hidden{{/if}}">
<a
role="button"
tabindex="0"
class="action list-action-item"
data-action="{{name}}"
data-name="{{name}}"
>{{#if html}}{{{html}}}{{else}}{{translate label scope=../entityType}}{{/if}}</a></li>
{{else}}
{{#unless @first}}
{{#unless @last}}
<li class="divider"></li>
{{/unless}}
{{/unless}}
{{/if}}
{{/each}}
</ul>
{{/if}}
</div>
{{#if massActionDataList}}
<ul class="dropdown-menu actions-menu">
{{#each massActionDataList}}
{{#if this}}
<li {{#if hidden}}class="hidden"{{/if}}>
<a
role="button"
tabindex="0"
data-action="{{name}}"
class="mass-action"
>{{translate name category="massActions" scope=../scope}}</a></li>
{{else}}
{{#unless @first}}
{{#unless @last}}
<li class="divider"></li>
{{/unless}}
{{/unless}}
{{/if}}
{{/each}}
</ul>
{{/if}}
</div>
{{/if}}
{{#if hasPagination}}
{{{pagination}}}
{{/if}}
{{#if settings}}
<div class="settings-container pull-right">{{{settings}}}</div>
{{/if}}
{{#if displayTotalCount}}
<div class="text-muted total-count">
<span
title="{{translate 'Total'}}"
class="total-count-span"
>{{totalCountFormatted}}</span>
</div>
{{/if}}
</div>
{{/if}}
{{#if collectionLength}}
<div
class="list {{#if showMoreActive}} has-show-more {{/if}}"
data-scope="{{scope}}"
tabindex="-1"
>
<table
class="table {{#if hasColumnResize~}} column-resizable {{~/if}}"
>
{{#if header}}
<thead>
<tr>
{{#if checkboxes}}
<th
style="width: {{checkboxColumnWidth}}"
data-name="r-checkbox"
class="checkbox-cell"
>
<span
class="select-all-container"
><input type="checkbox" class="select-all form-checkbox form-checkbox-small"></span>
{{#unless checkAllResultDisabled}}
<div class="btn-group checkbox-dropdown">
<a
class="btn btn-link btn-sm dropdown-toggle"
data-toggle="dropdown"
tabindex="0"
role="button"
>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li>
<a
role="button"
tabindex="0"
data-action="selectAllResult"
>{{translate 'Select All Results'}}</a>
</li>
</ul>
</div>
{{/unless}}
</th>
{{/if}}
{{#each headerDefs}}
<th
style="{{#if width}}width: {{width}};{{/if}}{{#if align}} text-align: {{align}};{{/if}}"
class="{{#if className~}} {{className}} {{~/if}} field-header-cell"
{{#if name}}data-name="{{name}}"{{/if}}
>
{{#if this.isSortable}}
<a
role="button"
tabindex="0"
class="sort"
data-name="{{this.name}}"
title="{{translate 'Sort'}}"
>{{label}}</a>
{{#if this.isSorted}}
{{#unless this.isDesc}}
<span class="fas fa-chevron-down fa-sm"></span>
{{else}}
<span class="fas fa-chevron-up fa-sm"></span>
{{/unless}}
{{/if}}
{{else}}
{{#if html}}
{{{html}}}
{{else}}
{{label}}
{{/if}}
{{/if}}
{{#if resizable}}
<div class="column-resizer {{#if resizeOnRight}} column-resizer-right {{/if}}"></div>
{{/if}}
</th>
{{/each}}
</tr>
</thead>
{{/if}}
<tbody>
{{#each rowDataList}}
<tr
data-id="{{id}}"
class="list-row {{#if isStarred}} starred {{~/if}}"
>{{{var id ../this}}}</tr>
{{/each}}
</tbody>
</table>
{{#if showMoreEnabled}}
<div class="show-more{{#unless showMoreActive}} hidden{{/unless}}">
<a
type="button"
role="button"
tabindex="0"
class="btn btn-default btn-block"
data-action="showMore"
{{#if showCount}}title="{{translate 'Total'}}: {{totalCountFormatted}}"{{/if}}
>
{{#if showCount}}
<div class="pull-right text-muted more-count">{{moreCountFormatted}}</div>
{{/if}}
<span>{{translate 'Show more'}}</span>
</a>
</div>
{{/if}}
</div>
{{else}}
{{#unless noDataDisabled}}
<div class="no-data">{{translate 'No Data'}}</div>
{{/unless}}
{{/if}}

View File

@@ -0,0 +1,72 @@
<div class="merge">
<table class="table table-bordered">
<thead>
<tr>
<th style="width: 20%"></th>
{{#each dataList}}
<th style="vertical-align: middle; width: 5%">
<input
type="radio"
name="check-all"
value="{{id}}"
data-id="{{id}}"
class="pull-right form-radio"
>
</th>
<th style="width: {{../width}}%">
<a href="#{{../scope}}/view/{{id}}" target="_BLANK" class="text-large">{{name}}</a>
</th>
{{/each}}
</tr>
</thead>
<tbody>
{{#if hasCreatedAt}}
<tr>
<td style="text-align: right">
{{translate 'createdAt' scope=scope category='fields'}}
</td>
{{#each dataList}}
<td></td>
<td data-id="{{id}}">
<div class="field" data-name="createdAt">
{{{var createdAtViewName ../this}}}
</div>
</td>
{{/each}}
</tr>
{{/if}}
{{#each rows}}
<tr>
<td style="text-align: right">
{{translate name scope=../scope category='fields'}}
</td>
{{#each columns}}
<td>
{{#unless isReadOnly}}
<input
type="radio"
name="{{../name}}"
value="{{id}}"
data-id="{{id}}"
class="pull-right field-radio form-radio"
>
{{/unless}}
</td>
<td data-id="{{id}}">
<div class="field" data-name="{{../name}}">
{{{var fieldVariable ../../this}}}
</div>
</td>
{{/each}}
</tr>
{{/each}}
</tbody>
</table>
<div class="button-container">
<div class="btn-group">
<button class="btn btn-danger btn-xs-wide" data-action="merge">{{translate 'Merge'}}</button>
<button class="btn btn-default btn-xs-wide" data-action="cancel">{{translate 'Cancel'}}</button>
</div>
</div>
</div>

View File

@@ -0,0 +1,44 @@
{{#each buttonList}}
<button
type="button"
class="btn btn-{{#if ../defs.style}}{{../defs.style}}{{else}}default{{/if}} btn-sm panel-action action{{#if hidden}} hidden{{/if}}"
{{#if action}}data-action="{{action}}"{{/if}}
{{#if name}}data-name="{{name}}"{{/if}}
data-panel="{{../defs.name}}" {{#each data}} data-{{hyphen @key}}="{{./this}}"{{/each}}
title="{{#if title}}{{translate title scope=../scope}}{{/if}}"
>{{#if html}}{{{html}}}{{else}}{{#if text}}{{text}}{{else}}{{translate label scope=../scope}}{{/if}}{{/if}}</button>
{{/each}}
{{#if actionList}}
<button
type="button"
class="btn btn-{{#if defs.style}}{{defs.style}}{{else}}default{{/if}} btn-sm dropdown-toggle"
data-toggle="dropdown"
><span class="fas fa-ellipsis-h"></span></button>
<ul class="dropdown-menu">
{{#each actionList}}
{{#if this}}
{{dropdownItem
action
scope=../scope
label=label
labelTranslation=labelTranslation
html=html
title=title
text=text
hidden=hidden
disabled=disabled
data=data
link=link
className='panel-action'
}}
{{else}}
{{#unless @first}}
{{#unless @last}}
<li class="divider"></li>
{{/unless}}
{{/unless}}
{{/if}}
{{/each}}
</ul>
{{/if}}

View File

@@ -0,0 +1 @@
<div class="list-container">{{{list}}}</div>

View File

@@ -0,0 +1,21 @@
{{#if fieldList.length}}
<div class="row">
{{#each fieldList}}
<div class="cell form-group col-sm-6 col-md-12{{#if hidden}} hidden-cell{{/if}}" data-name="{{name}}">
{{#unless noLabel}}
<label
class="control-label{{#if hidden}} hidden{{/if}}"
data-name="{{name}}"
>
<span
class="label-text"
>{{#if labelText}}{{labelText}}{{else}}{{translate label scope=../model.entityType category='fields'}}{{/if}}</span>
</label>
{{/unless}}
<div class="field{{#if hidden}} hidden{{/if}}" data-name="{{name}}">
{{{var viewKey ../this}}}
</div>
</div>
{{/each}}
</div>
{{/if}}

View File

@@ -0,0 +1,39 @@
{{#if actionList.length}}
<div class="list-row-buttons btn-group pull-right">
<button
type="button"
class="btn btn-link btn-sm dropdown-toggle"
data-toggle="dropdown"
><span class="caret"></span></button>
<ul class="dropdown-menu pull-right list-row-dropdown-menu" data-id="{{model.id}}">
{{#each actionList}}
{{#if this}}
<li
{{#if viewKey}} data-view-key="{{viewKey}}" {{/if}}
>
{{#if viewKey}}
{{{lookup ../this viewKey}}}
{{else}}
<a
{{#if link}} href="{{link}}" {{else}} role="button" {{/if}}
tabindex="0"
class="action"
{{#if action}}data-action="{{action}}"{{/if}}
{{#each data}}
data-{{hyphen @key}}="{{./this}}"
{{/each}}
>{{#if html}}{{{html}}}{{else}}{{#if text}}{{text}}{{else}}{{translate label scope=../scope}}{{/if}}{{/if}}
</a>
{{/if}}
</li>
{{else}}
{{#unless @first}}
{{#unless @last}}
<li class="divider"></li>
{{/unless}}
{{/unless}}
{{/if}}
{{/each}}
</ul>
</div>
{{/if}}

View File

@@ -0,0 +1,165 @@
<div class="row search-row">
<div class="form-group{{#if isWide}} col-lg-7{{/if}} col-md-8 col-sm-9">
<div class="input-group">
<div class="input-group-btn left-dropdown{{#unless leftDropdown}} hidden{{/unless}}">
<button
type="button"
class="btn btn-default dropdown-toggle filters-button"
title="{{translate 'Filter'}}"
data-toggle="dropdown"
tabindex="0"
>
<span class="filters-label"></span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu pull-left filter-menu">
{{#unless primaryFiltersDisabled}}
<li>
<a
class="preset"
tabindex="0"
role="button"
data-name=""
data-action="selectPreset"
><div>{{translate 'all' category='presetFilters' scope=entityType}}</div></a>
</li>
{{#each presetFilterList}}
<li>
<a
class="preset"
tabindex="0"
role="button"
data-name="{{name}}"
data-action="selectPreset"
>
<div class="{{#if style}}text-{{style}}{{/if}}">
{{~#if label}}{{label}}{{else}}{{translate name category='presetFilters' scope=../entityType}}{{/if~}}
</div>
</a>
</li>
{{/each}}
<li class="divider preset-control hidden"></li>
<li class="preset-control remove-preset hidden">
<a tabindex="0" role="button" data-action="removePreset">{{translate 'Remove Filter'}}</a>
</li>
<li class="preset-control save-preset hidden">
<a tabindex="0" role="button" data-action="savePreset">{{translate 'Save Filter'}}</a>
</li>
{{#if boolFilterList.length}}
<li class="divider"></li>
{{/if}}
{{/unless}}
{{#each boolFilterList}}
<li class="checkbox">
<label>
<input
type="checkbox"
data-role="boolFilterCheckbox"
data-name="{{./this}}"
class="form-checkbox form-checkbox-small"
{{#ifPropEquals ../bool this true}}checked{{/ifPropEquals}}
> {{translate this scope=../entityType category='boolFilters'}}
</label></li>
{{/each}}
</ul>
</div>
<input
type="search"
class="form-control text-filter"
data-name="textFilter"
value="{{textFilter}}"
tabindex="0"
autocomplete="espo-text-search"
spellcheck="false"
{{#if textFilterDisabled}}disabled="disabled"{{/if}}
>
<div class="input-group-btn">
<button
type="button"
class="btn btn-default search btn-icon btn-icon-x-wide"
data-action="search"
tabindex="0"
title="{{translate 'Search'}}"
>
<span class="fas fa-search"></span>
</button>
</div>
<div class="input-group-btn">
<button
type="button"
class="btn btn-text btn-icon btn-icon-wide dropdown-toggle add-filter-button"
data-toggle="dropdown"
tabindex="0"
>
<span class="fas fa-ellipsis-v"></span>
</button>
<button
type="button"
class="btn btn-text btn-icon btn-icon-wide"
data-action="reset"
title="{{translate 'Reset'}}"
tabindex="0"
style="visibility: hidden;"
>
<span class="fas fa-times"></span>
</button>
<ul class="dropdown-menu pull-right filter-list">
<li class="dropdown-header">{{translate 'Add Field'}}</li>
{{#if hasFieldQuickSearch}}
<li class="quick-search-list-item">
<input class="form-control field-filter-quick-search-input">
</li>
{{/if}}
{{#each filterFieldDataList}}
<li
data-name="{{name}}"
class="filter-item {{#if checked}} hidden{{/if}}"
><a
role="button"
tabindex="0"
class="add-filter"
data-action="addFilter"
data-name="{{name}}"
>{{label}}</a></li>
{{/each}}
</ul>
</div>
</div>
</div>
<div class="form-group{{#if isWide}} col-lg-5{{/if}} col-md-4 col-sm-3">
{{#if hasViewModeSwitcher}}
<div class="btn-group view-mode-switcher-buttons-group">
{{#each viewModeDataList}}
<button
type="button"
data-name="{{name}}"
data-action="switchViewMode"
class="btn btn-icon btn-text{{#ifEqual name ../viewMode}} active{{/ifEqual}}"
tabindex="0"
title="{{title}}"
><span class="{{iconClass}}"></span></button>
{{/each}}
</div>
{{/if}}
</div>
</div>
<div class="advanced-filters hidden grid-auto-fill-sm">
{{#each filterDataList}}
<div class="filter filter-{{name}}" data-name="{{name}}">
{{{var key ../this}}}
</div>
{{/each}}
</div>
<div class="advanced-filters-apply-container{{#unless toShowApplyFiltersButton}} hidden{{/unless}}">
<a role="button" tabindex="0" class="btn btn-default btn-sm" data-action="applyFilters">
<span class="fas fa-search fa-sm"></span>
<span class="text-apply{{#if toShowResetFiltersText}} hidden{{/if}}">{{translate 'Apply'}}</span>
<span class="text-reset{{#unless toShowResetFiltersText}} hidden{{/unless}}">{{translate 'Reset'}}</span>
</a>
</div>

View File

@@ -0,0 +1,49 @@
{{#each panelList}}
{{#if isRightAfterDelimiter}}
<div class="panels-show-more-delimiter">
<a
role="button"
tabindex="0"
data-action="showMorePanels"
title="{{translate 'Show more'}}"
>
<span class="fas fa-ellipsis-h fa-lg"></span>
</a>
</div>
{{/if}}
<div
class="panel panel-{{#if style}}{{style}}{{else}}default{{/if}} panel-{{name}}{{#if label}} headered{{/if}}{{#if hidden}} hidden{{/if}}{{#if sticked}} sticked{{/if}}"
data-name="{{name}}"
data-style="{{#if style}}{{style}}{{/if}}"
data-tab="{{tabNumber}}"
>
{{#if label}}
<div class="panel-heading">
<div class="pull-right btn-group panel-actions-container">{{{var actionsViewKey ../this}}}</div>
<h4 class="panel-title">
{{#unless notRefreshable}}
<span
style="cursor: pointer; user-select: none;"
class="action"
title="{{translate 'clickToRefresh' category='messages'}}"
data-action="refresh" data-panel="{{name}}"
>
{{/unless}}
{{#if titleHtml}}
{{{titleHtml}}}
{{else}}
{{title}}
{{/if}}
{{#unless notRefreshable}}
</span>
{{/unless}}
</h4>
</div>
{{/if}}
<div class="panel-body{{#if isForm}} panel-body-form{{/if}}" data-name="{{name}}">
{{{var name ../this}}}
</div>
</div>
{{/each}}