Commit | Line | Data |
---|---|---|
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> |