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; }