Files
MaliangAINovalWriter/AINoval/lib/blocs/prompt_new/prompt_new_event.dart
2025-09-10 00:07:52 +08:00

134 lines
2.6 KiB
Dart

import 'package:ainoval/models/prompt_models.dart';
import 'package:equatable/equatable.dart';
/// 提示词管理事件基类
abstract class PromptNewEvent extends Equatable {
const PromptNewEvent();
@override
List<Object?> get props => [];
}
/// 加载所有提示词包
class LoadAllPromptPackages extends PromptNewEvent {
const LoadAllPromptPackages();
}
/// 选择提示词
class SelectPrompt extends PromptNewEvent {
final String promptId;
final AIFeatureType featureType;
const SelectPrompt({
required this.promptId,
required this.featureType,
});
@override
List<Object?> get props => [promptId, featureType];
}
/// 创建新提示词
class CreateNewPrompt extends PromptNewEvent {
final AIFeatureType featureType;
const CreateNewPrompt({
required this.featureType,
});
@override
List<Object?> get props => [featureType];
}
/// 更新提示词详情
class UpdatePromptDetails extends PromptNewEvent {
final String promptId;
final UpdatePromptTemplateRequest request;
const UpdatePromptDetails({
required this.promptId,
required this.request,
});
@override
List<Object?> get props => [promptId, request];
}
/// 复制提示词模板
class CopyPromptTemplate extends PromptNewEvent {
final String templateId;
const CopyPromptTemplate({
required this.templateId,
});
@override
List<Object?> get props => [templateId];
}
/// 切换收藏状态
class ToggleFavoriteStatus extends PromptNewEvent {
final String promptId;
final bool isFavorite;
const ToggleFavoriteStatus({
required this.promptId,
required this.isFavorite,
});
@override
List<Object?> get props => [promptId, isFavorite];
}
/// 设置默认提示词模板
class SetDefaultTemplate extends PromptNewEvent {
final String promptId;
final AIFeatureType featureType;
const SetDefaultTemplate({
required this.promptId,
required this.featureType,
});
@override
List<Object?> get props => [promptId, featureType];
}
/// 删除提示词
class DeletePrompt extends PromptNewEvent {
final String promptId;
const DeletePrompt({
required this.promptId,
});
@override
List<Object?> get props => [promptId];
}
/// 搜索提示词
class SearchPrompts extends PromptNewEvent {
final String query;
const SearchPrompts({
required this.query,
});
@override
List<Object?> get props => [query];
}
/// 清除搜索
class ClearSearch extends PromptNewEvent {
const ClearSearch();
}
/// 切换视图模式
class ToggleViewMode extends PromptNewEvent {
const ToggleViewMode();
}
/// 刷新提示词数据
class RefreshPromptData extends PromptNewEvent {
const RefreshPromptData();
}