Afform Gui - Exclude self from list of available blocks when editing a block
authorColeman Watts <coleman@civicrm.org>
Wed, 3 Feb 2021 23:55:02 +0000 (18:55 -0500)
committerColeman Watts <coleman@civicrm.org>
Wed, 3 Feb 2021 23:55:02 +0000 (18:55 -0500)
ext/afform/admin/ang/afGuiEditor/afGuiEditor.component.js
ext/afform/admin/ang/afGuiEditor/afGuiEntity.component.js

index 2f4dceff97bc453957852ad6fae06fb766f6db42..393763cedea3d01295e491500b017eb200975edb 100644 (file)
         return $scope.selectedEntityName;
       };
 
+      this.getAfform = function() {
+        return $scope.afform;
+      };
+
       // Validates that a drag-n-drop action is allowed
       this.onDrop = function(event, ui) {
         var sort = ui.item.sortable;
index 830eb98f6d7b72aa4cf3d5d50bf486715caca5a5..6c231a5914539554d54e8a82e8a95b915687b42b 100644 (file)
@@ -83,7 +83,8 @@
         $scope.blockTitles.length = 0;
         _.each(afGui.meta.blocks, function(block, directive) {
           if ((!search || _.contains(directive, search) || _.contains(block.name.toLowerCase(), search) || _.contains(block.title.toLowerCase(), search)) &&
-            (block.block === '*' || block.block === ctrl.entity.type || (ctrl.entity.type === 'Contact' && block.block === ctrl.entity.data.contact_type))
+            (block.block === '*' || block.block === ctrl.entity.type || (ctrl.entity.type === 'Contact' && block.block === ctrl.entity.data.contact_type)) &&
+            block.name !== ctrl.editor.getAfform().name
           ) {
             var item = {"#tag": block.join ? "div" : directive};
             if (block.join) {