protected function _buildWidgetOptions($schemafield, $attributes)
 {
     $opt = parent::_buildWidgetOptions($schemafield, $attributes);
     if (!empty($attributes['depends-on'])) {
         $opt[] = "\t\t\tDependsOn: '" . $attributes['depends-on'] . "'";
     }
     if (!empty($attributes['provider-for'])) {
         $opt[] = "\t\t\tProviderFor: '" . $attributes['provider-for'] . "'";
     }
     return $opt;
 }
 protected function _buildWidgetOptions($schemafield, $attributes)
 {
     // Non-file related tag widget defaults to media-quick-add
     if (isset($attributes['class'])) {
         switch ($attributes['class']) {
             case 'MediaGalleryTagWidget':
             case 'MediaTagWidget':
             case 'PrimaryMediaTagWidget':
             case 'MediaLibraryTagWidget':
                 if (empty($attributes['quick-add-action'])) {
                     $attributes['quick-add-action'] = 'media-quick-add';
                 }
                 break;
         }
     }
     $opt = parent::_buildWidgetOptions($schemafield, $attributes);
     // Add/edit control action detection
     $opt[] = "\t\t\tIsNewControlAction: {% if Data:CONTROL_ACTION_METHOD eq 'edit' %}false{% else %}true{% endif %}";
     // set remove and update nonces for non-fieldlike schemas, and always for media galleries
     if (!$schemafield->isFieldlike() || $attributes['class'] == 'MediaGalleryTagWidget') {
         $opt[] = "\t\t\tRemoveTagNonce: '{% filter nonce?action=node-remove-tag %}'";
         $opt[] = "\t\t\tUpdateTagsNonce: '{% filter nonce?action=node-update-tags %}'";
     }
     if ($schemafield['Fieldlike']) {
         $opt[] = "          IsFieldLike: " . $schemafield['Fieldlike'];
     }
     if (!empty($attributes['default-quick-add-element'])) {
         $opt[] = "          DefaultQuickAddElement: '" . $attributes['default-quick-add-element'] . "'";
     }
     //@deprecated
     if (!empty($attributes['default-quickadd-element'])) {
         $opt[] = "          DefaultQuickAddElement: '" . $attributes['default-quickadd-element'] . "'";
     }
     if (!empty($attributes['file-mask'])) {
         $opt[] = "\t\t\tFileMask: '" . $attributes['file-mask'] . "'";
     }
     if (isset($attributes['class'])) {
         switch ($attributes['class']) {
             case 'MediaGalleryTagWidget':
             case 'MediaTagWidget':
             case 'PrimaryMediaTagWidget':
             case 'MediaLibraryTagWidget':
                 $opt[] = "              QuickAddURL: '{% filter contexts-get-by-slug?Slug=api&Property=BaseURL %}/media/quick-add.json/'";
                 break;
             case 'FileTagWidget':
                 $opt[] = "              QuickAddURL: '{% filter contexts-get-by-slug?Slug=api&Property=BaseURL %}/files/quick-add.json/'";
                 break;
         }
     }
     if (isset($attributes['allow-quick-add'])) {
         if (StringUtils::strToBool($attributes['allow-quick-add'])) {
             $opt[] = "              AllowQuickAdd: true";
         } else {
             $opt[] = "              AllowQuickAdd: false";
         }
     }
     if ($this->dropImageToMarkdownTemplate) {
         $opt[] = sprintf("              DropImageToMarkdownTemplate: '%s'", $this->dropImageToMarkdownTemplate);
     }
     return $opt;
 }