SearchKit - Expose default display to the UI
[civicrm-core.git] / ext / search_kit / ang / crmSearchAdmin / crmSearchAdmin.html
CommitLineData
25523059 1<div id="bootstrap-theme" class="crm-search">
102c400b 2 <h1 crm-page-title>{{ $ctrl.entityTitle + ': ' + $ctrl.savedSearch.label }}</h1>
4b01551f 3 <div crm-ui-debug="$ctrl.savedSearch"></div>
25523059
CW
4
5 <!--This warning will show if bootstrap is unavailable. Normally it will be hidden by the bootstrap .collapse class.-->
6 <div class="messages warning no-popup collapse">
7 <p>
8 <i class="crm-i fa-exclamation-triangle" aria-hidden="true"></i>
9 <strong>{{:: ts('Bootstrap theme not found.') }}</strong>
10 </p>
11 <p>{{:: ts('This screen may not work correctly without a bootstrap-based theme such as Shoreditch installed.') }}</p>
12 </div>
13
14 <form>
2badf248
CW
15 <div class="crm-flex-box">
16 <div class="nav-stacked">
ddfb2aec 17 <input id="crm-saved-search-label" class="form-control" ng-model="$ctrl.savedSearch.label" type="text" required placeholder="{{:: ts('Untitled Search') }}" />
2badf248
CW
18 </div>
19 <div class="crm-flex-4 form-inline">
ccaaa678 20 <label for="crm-search-main-entity">{{:: ts('Search for') }}</label>
4736288b 21 <input id="crm-search-main-entity" class="form-control huge collapsible-optgroups" ng-model="$ctrl.savedSearch.api_entity" crm-ui-select="::{allowClear: false, data: mainEntitySelect}" ng-disabled="$ctrl.savedSearch.id" />
5c952e51
CW
22
23 <div class="form-group pull-right">
24
25 <div class="btn-group" ng-if="$ctrl.afformEnabled && $ctrl.savedSearch.id">
26 <button type="button" ng-click="$ctrl.openAfformMenu = true;" class="btn dropdown-toggle btn-primary-outline" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
27 <i class="crm-i fa-list-alt"></i>
28 {{ ($ctrl.afformCount !== undefined) ? ($ctrl.afformCount === 1 ? ts('1 Form') : ts('%1 Forms', {1: $ctrl.afformCount})) : ts('Forms...') }}
29 <span class="caret"></span>
30 </button>
31 <ul class="dropdown-menu dropdown-menu-right" ng-if=":: $ctrl.openAfformMenu">
32 <li ng-if=":: $ctrl.afformAdminEnabled">
33 <a target="_blank" href="{{:: $ctrl.afformPath + '#/create/search/' + $ctrl.savedSearch.name }}">
34 <i class="fa fa-plus"></i> {{:: ts('Create form for search results table') }}
35 </a>
36 </li>
37 <li ng-repeat="display in $ctrl.savedSearch.displays" ng-if="$ctrl.afformAdminEnabled && display.id">
38 <a target="_blank" href="{{:: $ctrl.afformPath + '#/create/search/' + $ctrl.savedSearch.name + '.' + display.name }}">
39 <i class="fa fa-plus"></i> {{:: ts('Create form for %1', {1: display.label}) }}
40 </a>
41 </li>
42 <li class="divider" role="separator" ng-if="$ctrl.afformAdminEnabled && $ctrl.afforms.length"></li>
43 <li ng-if="!$ctrl.afforms" class="disabled">
44 <a href>
45 <i class="crm-i fa-spinner fa-spin"></i>
46 </a>
47 </li>
48 <li ng-repeat="afform in $ctrl.afforms" title="{{:: $ctrl.afformAdminEnabled ? ts('Edit form') : '' }}">
49 <a target="_blank" ng-href="{{:: afform.link }}">
50 <i class="crm-i {{:: $ctrl.afformAdminEnabled ? 'fa-pencil-square-o' : 'fa-list-alt' }}"></i>
51 {{:: afform.title }}
52 </a>
53 </li>
54 </ul>
55 </div>
56
57 <div class="btn-group" ng-if="$ctrl.savedSearch.id">
58 <a ng-href="{{ $ctrl.searchDisplayPath + '#/display/' + $ctrl.savedSearch.name }}" target="_blank" class="btn btn-primary-outline" title="{{:: ts('View search results table') }}">
59 <i class="crm-i fa-external-link"></i>
60 {{:: ts('View') }}
61 </a>
62 <button type="button" ng-click="$ctrl.openDisplayMenu = true;" class="btn btn-primary-outline dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
63 <span class="caret"></span>
64 </button>
65 <ul class="dropdown-menu dropdown-menu-right" ng-if=":: $ctrl.openDisplayMenu">
66 <li title="{{:: ts('View search results table') }}">
67 <a ng-href="{{ $ctrl.searchDisplayPath + '#/display/' + $ctrl.savedSearch.name }}" target="_blank">
68 <i class="crm-i fa-table"></i>
69 {{:: ts('Search results table') }}
70 </a>
71 </li>
72 <li ng-repeat="display in $ctrl.savedSearch.displays" ng-if="display.id" ng-class="{disabled: display.acl_bypass}" title="{{:: display.acl_bypass ? ts('Display has permissions disabled') : ts('View display') }}">
73 <a ng-href="{{ display.acl_bypass ? '' : $ctrl.searchDisplayPath + '#/display/' + $ctrl.savedSearch.name + '/' + display.name }}" target="_blank">
74 <i class="crm-i {{ display.acl_bypass ? 'fa-unlock' : $ctrl.displayTypes[display.type].icon }}"></i>
75 {{ display.label }}
76 </a>
77 </li>
78 </ul>
79 </div>
80
81 <div class="btn-group">
82 <button type="button" class="btn" ng-class="{'btn-primary': status === 'unsaved', 'btn-warning': status === 'saving', 'btn-success': status === 'saved'}" ng-disabled="status !== 'unsaved'" ng-click="$ctrl.save()">
83 <i class="crm-i" ng-class="{'fa-check': status !== 'saving', 'fa-spin fa-spinner': status === 'saving'}"></i>
84 <span ng-if="status === 'saved'">{{:: ts('Saved') }}</span>
85 <span ng-if="status === 'unsaved'">{{:: ts('Save') }}</span>
86 <span ng-if="status === 'saving'">{{:: ts('Saving...') }}</span>
87 </button>
88 </div>
89
2badf248 90 </div>
5c952e51 91
f9197b41
CW
92 </div>
93 </div>
94 <div class="crm-flex-box">
493f83d4 95 <ul class="nav nav-pills nav-stacked" ng-include="'~/crmSearchAdmin/tabs.html'"></ul>
f9197b41
CW
96 <div class="crm-flex-4" ng-switch="controls.tab">
97 <div ng-switch-when="compose">
957358aa
CW
98 <div ng-include="'~/crmSearchAdmin/compose.html'"></div>
99 <crm-search-admin-results-table search="$ctrl.savedSearch"></crm-search-admin-results-table>
f9197b41
CW
100 </div>
101 <div ng-switch-when="group">
493f83d4 102 <fieldset ng-include="'~/crmSearchAdmin/group.html'"></fieldset>
f9197b41
CW
103 </div>
104 <div ng-switch-default>
44402a2e 105 <div ng-repeat="display in $ctrl.savedSearch.displays" ng-if="controls.tab === ('display_' + $index)">
e7515b5b 106 <crm-search-admin-display display="display" saved-search="$ctrl.savedSearch"></crm-search-admin-display>
44402a2e 107 </div>
f9197b41
CW
108 </div>
109 </div>
110 </div>
25523059
CW
111 </form>
112</div>