SearchKit - Use crmDialogButtons for task popups
authorColeman Watts <coleman@civicrm.org>
Fri, 18 Feb 2022 14:34:03 +0000 (09:34 -0500)
committerColeman Watts <coleman@civicrm.org>
Fri, 18 Feb 2022 14:34:03 +0000 (09:34 -0500)
ext/search_kit/ang/crmSearchTasks.ang.php
ext/search_kit/ang/crmSearchTasks/crmSearchTaskDelete.html
ext/search_kit/ang/crmSearchTasks/crmSearchTaskDownload.html
ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.html
ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.html

index 5604659a33e37c79e9bd6c134c3b0f140e988d92..ac8bb2cbd09cf46a977768855041256be05a6690 100644 (file)
@@ -13,7 +13,7 @@ return [
     'css/crmSearchTasks.css',
   ],
   'basePages' => [],
-  'requires' => ['crmUi', 'crmUtil', 'dialogService', 'api4', 'checklist-model'],
+  'requires' => ['crmUi', 'crmUtil', 'dialogService', 'api4', 'checklist-model', 'crmDialog'],
   'settingsFactory' => ['\Civi\Search\Actions', 'getActionSettings'],
   'permissions' => ['edit groups', 'administer reserved groups'],
 ];
index e2a5c999b83e9bad3b6c98f0f7e2bf9f106f7057..e15415ce34564e6536cfd74f474aa6197cd1f054 100644 (file)
@@ -1,21 +1,13 @@
-<div id="bootstrap-theme">
+<div id="bootstrap-theme" crm-dialog="crmSearchTask">
   <form ng-controller="crmSearchTaskDelete as $ctrl">
     <p><strong>{{:: ts('Are you sure you want to delete %1 %2?', {1: model.ids.length, 2: $ctrl.entityTitle}) }}</strong></p>
     <hr />
     <div ng-if="$ctrl.run" class="crm-search-task-progress">
       <h5>{{:: ts('Deleting %1 %2...', {1: model.ids.length, 2: $ctrl.entityTitle}) }}</h5>
-      <crm-search-batch-runner entity="model.entity" action="Delete" params="$ctrl.run" ids="model.ids" success="$ctrl.onSuccess()" error="$ctrl.onError()" ></crm-search-batch-runner>
-    </div>
-    <hr />
-    <div class="buttons text-right">
-      <button type="button" ng-click="$ctrl.cancel()" class="btn btn-danger" ng-hide="$ctrl.run">
-        <i class="crm-i fa-times"></i>
-        {{:: ts('Cancel') }}
-      </button>
-      <button ng-click="$ctrl.start()" class="btn btn-primary" ng-disabled="$ctrl.run">
-        <i class="crm-i fa-{{ $ctrl.run ? 'spin fa-spinner' : 'trash' }}"></i>
-        {{:: ts('Delete %1', {1: $ctrl.entityTitle}) }}
-      </button>
+      <crm-search-batch-runner entity="model.entity" action="delete" params="$ctrl.run" ids="model.ids" success="$ctrl.onSuccess()" error="$ctrl.onError()" ></crm-search-batch-runner>
     </div>
+
+    <crm-dialog-button text="ts('Cancel')" icons="{primary: 'fa-times'}" on-click="$ctrl.cancel()" disabled="$ctrl.run" ></crm-dialog-button>
+    <crm-dialog-button text="ts('Delete %1', {1: $ctrl.entityTitle})" icons="{primary: $ctrl.run ? 'fa-spin fa-spinner' : 'fa-trash'}" on-click="$ctrl.start()" disabled="$ctrl.run" ></crm-dialog-button>
   </form>
 </div>
index c7189db64ba45fe43bbbdc00df0b9cb86a4eca23..1271deda0c6e4a6a786e6555907088c5af40acfc 100644 (file)
@@ -1,4 +1,4 @@
-<div id="bootstrap-theme">
+<div id="bootstrap-theme" crm-dialog="crmSearchTask">
   <form ng-controller="crmSearchTaskDownload as $ctrl">
     <p>
       <strong ng-if="$ctrl.ids.length">{{:: ts('Download %1 %2', {1: $ctrl.ids.length, 2: $ctrl.entityTitle}) }}</strong>
         <div class="progress-bar progress-bar-striped active" role="progressbar" ng-style="{width: '' + $ctrl.progress + '%'}"></div>
       </div>
     </div>
-    <hr />
-    <div class="buttons text-right">
-      <button type="button" ng-click="$ctrl.cancel()" class="btn btn-danger" ng-hide="$ctrl.run">
-        <i class="crm-i fa-times"></i>
-        {{:: ts('Cancel') }}
-      </button>
-      <button ng-click="$ctrl.download()" class="btn btn-primary" ng-disabled="$ctrl.run">
-        <i class="crm-i fa-{{ $ctrl.run ? 'spin fa-spinner' : 'download' }}"></i>
-        {{:: ts('Download') }}
-      </button>
-    </div>
+
+    <crm-dialog-button text="ts('Cancel')" icons="{primary: 'fa-times'}" on-click="$ctrl.cancel()" disabled="$ctrl.run" ></crm-dialog-button>
+    <crm-dialog-button text="ts('Download')" icons="{primary: $ctrl.run ? 'fa-spin fa-spinner' : 'fa-download'}" on-click="$ctrl.download()" disabled="$ctrl.run" ></crm-dialog-button>
   </form>
 </div>
index 39cefc2967a070d3f1cfc8ecc21874494b6e023c..51363c6e9d3bfaf1512b1256b7fe80d9c9ae4d9f 100644 (file)
@@ -1,4 +1,4 @@
-<div id="bootstrap-theme">
+<div id="bootstrap-theme" crm-dialog="crmSearchTask">
   <form ng-controller="crmSearchTaskTag as $ctrl">
     <div class="form-radios">
       <label ng-class="{disabled: !!$ctrl.run}">
       <h5>{{:: $ctrl.action === 'save' ? ts('Adding tags...') : ts('Removing tags...') }}</h5>
       <crm-search-batch-runner entity="'EntityTag'" action="{{ $ctrl.action }}" id-field="entity_id" params="$ctrl.run" ids="model.ids" success="$ctrl.onSuccess()" error="$ctrl.onError()" ></crm-search-batch-runner>
     </div>
-    <hr />
-    <div class="buttons text-right">
-      <button type="button" ng-click="$ctrl.cancel()" class="btn btn-danger" ng-hide="$ctrl.run">
-        <i class="crm-i fa-times"></i>
-        {{:: ts('Cancel') }}
-      </button>
-      <button ng-click="$ctrl.saveTags()" class="btn btn-primary" ng-disabled="$ctrl.run || !$ctrl.selection.length">
-        <i class="crm-i fa-{{ $ctrl.run ? 'spin fa-spinner' : 'check' }}"></i>
-        {{ $ctrl.action === 'save' ? ts('Add tags') : ts('Remove tags') }}
-      </button>
-    </div>
+
+    <crm-dialog-button text="ts('Cancel')" icons="{primary: 'fa-times'}" on-click="$ctrl.cancel()" disabled="$ctrl.run" ></crm-dialog-button>
+    <crm-dialog-button text="$ctrl.action === 'save' ? ts('Add tags') : ts('Remove tags')" icons="{primary: $ctrl.run ? 'fa-spin fa-spinner' : 'fa-check'}" on-click="$ctrl.saveTags()" disabled="$ctrl.run || !$ctrl.selection.length" ></crm-dialog-button>
   </form>
 </div>
index 42a9fcc2ee76ee5286b45b606e7c1f6a165e9bd2..58a66aac68bf5fd5bcb503bb216c066a5bce8798 100644 (file)
@@ -1,4 +1,4 @@
-<div id="bootstrap-theme">
+<div id="bootstrap-theme" crm-dialog="crmSearchTask">
   <form name="crmSearchTaskUpdateForm" ng-controller="crmSearchTaskUpdate as $ctrl">
     <p><strong>{{:: ts('Update the %1 selected %2 with the following values:', {1: model.ids.length, 2: $ctrl.entityTitle}) }}</strong></p>
     <div class="form-inline" ng-repeat="clause in $ctrl.values" >
     </div>
     <div ng-if="$ctrl.run" class="crm-search-task-progress">
       <h5>{{:: ts('Updating %1 %2...', {1: model.ids.length, 2: $ctrl.entityTitle}) }}</h5>
-      <crm-search-batch-runner entity="model.entity" action="Update" params="$ctrl.run" ids="model.ids" success="$ctrl.onSuccess()" error="$ctrl.onError()" ></crm-search-batch-runner>
-    </div>
-    <hr />
-    <div class="buttons text-right">
-      <button type="button" ng-click="$ctrl.cancel()" class="btn btn-danger" ng-hide="$ctrl.run">
-        <i class="crm-i fa-times"></i>
-        {{:: ts('Cancel') }}
-      </button>
-      <button ng-click="$ctrl.save()" class="btn btn-primary" ng-disabled="!$ctrl.values.length || $ctrl.run || !crmSearchTaskUpdateForm.$valid">
-        <i class="crm-i fa-{{ $ctrl.run ? 'spin fa-spinner' : 'check' }}"></i>
-        {{:: ts('Update %1', {1: $ctrl.entityTitle}) }}
-      </button>
+      <crm-search-batch-runner entity="model.entity" action="update" params="$ctrl.run" ids="model.ids" success="$ctrl.onSuccess()" error="$ctrl.onError()" ></crm-search-batch-runner>
     </div>
+
+    <crm-dialog-button text="ts('Cancel')" icons="{primary: 'fa-times'}" on-click="$ctrl.cancel()" disabled="$ctrl.run" ></crm-dialog-button>
+    <crm-dialog-button text="ts('Update %1', {1: $ctrl.entityTitle})" icons="{primary: $ctrl.run ? 'fa-spin fa-spinner' : 'fa-check'}" on-click="$ctrl.save()" disabled="!$ctrl.values.length || $ctrl.run || !crmSearchTaskUpdateForm.$valid" ></crm-dialog-button>
   </form>
 </div>