From d88ae9ea15e2f2ad48b655199a7ae3b4177af838 Mon Sep 17 00:00:00 2001 From: hannathkadher Date: Wed, 5 Mar 2025 14:19:58 +0400 Subject: [PATCH] removed tag model and use tag only --- .../view/access_management.dart | 1 - lib/pages/auth/bloc/auth_bloc.dart | 1 - .../device_managment_bloc.dart | 3 - .../bloc/assign_tag_model_bloc.dart | 22 +++---- .../bloc/assign_tag_model_event.dart | 8 +-- .../bloc/assign_tag_model_state.dart | 4 +- .../views/assign_tag_models_dialog.dart | 16 ++--- .../spaces_management/helper/tag_helper.dart | 21 +++--- .../bloc/create_space_model_bloc.dart | 29 ++++----- .../bloc/create_space_model_event.dart | 4 +- .../models/space_template_model.dart | 8 +-- .../models/subspace_template_model.dart | 8 +-- .../space_model/models/tag_model.dart | 65 ------------------- .../widgets/subspace_model_create_widget.dart | 10 +-- .../bloc/add_device_model_state.dart | 4 +- .../bloc/add_device_type_model_event.dart | 4 +- .../views/add_device_type_model_widget.dart | 4 +- 17 files changed, 68 insertions(+), 144 deletions(-) delete mode 100644 lib/pages/spaces_management/space_model/models/tag_model.dart diff --git a/lib/pages/access_management/view/access_management.dart b/lib/pages/access_management/view/access_management.dart index c60b4bb2..d269c824 100644 --- a/lib/pages/access_management/view/access_management.dart +++ b/lib/pages/access_management/view/access_management.dart @@ -3,7 +3,6 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_web/pages/access_management/bloc/access_bloc.dart'; import 'package:syncrow_web/pages/access_management/bloc/access_event.dart'; import 'package:syncrow_web/pages/access_management/bloc/access_state.dart'; -import 'package:syncrow_web/pages/common/bloc/project_manager.dart'; import 'package:syncrow_web/pages/common/buttons/default_button.dart'; import 'package:syncrow_web/pages/common/buttons/search_reset_buttons.dart'; import 'package:syncrow_web/pages/common/custom_table.dart'; diff --git a/lib/pages/auth/bloc/auth_bloc.dart b/lib/pages/auth/bloc/auth_bloc.dart index b22dae7b..9e0ac2f9 100644 --- a/lib/pages/auth/bloc/auth_bloc.dart +++ b/lib/pages/auth/bloc/auth_bloc.dart @@ -15,7 +15,6 @@ import 'package:syncrow_web/pages/space_tree/bloc/space_tree_event.dart'; import 'package:syncrow_web/services/auth_api.dart'; import 'package:syncrow_web/utils/constants/strings_manager.dart'; import 'package:syncrow_web/utils/helpers/shared_preferences_helper.dart'; -import 'package:syncrow_web/utils/navigation_service.dart'; import 'package:syncrow_web/utils/snack_bar.dart'; class AuthBloc extends Bloc { diff --git a/lib/pages/device_managment/all_devices/bloc/device_mgmt_bloc/device_managment_bloc.dart b/lib/pages/device_managment/all_devices/bloc/device_mgmt_bloc/device_managment_bloc.dart index e52debb0..7ed3a377 100644 --- a/lib/pages/device_managment/all_devices/bloc/device_mgmt_bloc/device_managment_bloc.dart +++ b/lib/pages/device_managment/all_devices/bloc/device_mgmt_bloc/device_managment_bloc.dart @@ -5,9 +5,6 @@ import 'package:syncrow_web/pages/common/bloc/project_manager.dart'; import 'package:syncrow_web/pages/device_managment/all_devices/models/devices_model.dart'; import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart'; import 'package:syncrow_web/services/devices_mang_api.dart'; -import 'package:syncrow_web/utils/constants/strings_manager.dart'; -import 'package:syncrow_web/utils/constants/temp_const.dart'; -import 'package:syncrow_web/utils/helpers/shared_preferences_helper.dart'; part 'device_managment_event.dart'; part 'device_managment_state.dart'; diff --git a/lib/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_bloc.dart b/lib/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_bloc.dart index d0e37f6a..37747ecd 100644 --- a/lib/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_bloc.dart +++ b/lib/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_bloc.dart @@ -1,7 +1,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart'; import 'package:syncrow_web/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_event.dart'; import 'package:syncrow_web/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_state.dart'; -import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart'; class AssignTagModelBloc extends Bloc { @@ -19,7 +19,7 @@ class AssignTagModelBloc } } - final tags = []; + final tags = []; for (var selectedProduct in event.addedProducts) { final existingCount = existingTagCounts[selectedProduct.productId] ?? 0; @@ -39,7 +39,7 @@ class AssignTagModelBloc if (missingCount > 0) { tags.addAll(List.generate( missingCount, - (index) => TagModel( + (index) => Tag( tag: '', product: selectedProduct.product, location: 'Main Space', @@ -61,7 +61,7 @@ class AssignTagModelBloc final currentState = state; if (currentState is AssignTagModelLoaded && currentState.tags.isNotEmpty) { - final tags = List.from(currentState.tags); + final tags = List.from(currentState.tags); tags[event.index] = tags[event.index].copyWith(tag: event.tag); final updatedTags = _calculateAvailableTags(allTags, tags); @@ -79,7 +79,7 @@ class AssignTagModelBloc if (currentState is AssignTagModelLoaded && currentState.tags.isNotEmpty) { - final tags = List.from(currentState.tags); + final tags = List.from(currentState.tags); // Use copyWith for immutability tags[event.index] = @@ -101,7 +101,7 @@ class AssignTagModelBloc if (currentState is AssignTagModelLoaded && currentState.tags.isNotEmpty) { - final tags = List.from(currentState.tags); + final tags = List.from(currentState.tags); emit(AssignTagModelLoaded( tags: tags, @@ -117,7 +117,7 @@ class AssignTagModelBloc if (currentState is AssignTagModelLoaded && currentState.tags.isNotEmpty) { - final tags = List.from(currentState.tags) + final tags = List.from(currentState.tags) ..remove(event.tagToDelete); final updatedTags = _calculateAvailableTags(allTags, tags); @@ -128,18 +128,18 @@ class AssignTagModelBloc isSaveEnabled: _validateTags(tags), errorMessage: _getValidationError(tags), )); - } + } }); } - bool _validateTags(List tags) { + bool _validateTags(List tags) { final uniqueTags = tags.map((tag) => tag.tag?.trim() ?? '').toSet(); final hasEmptyTag = tags.any((tag) => (tag.tag?.trim() ?? '').isEmpty); final isValid = uniqueTags.length == tags.length && !hasEmptyTag; return isValid; } - String? _getValidationError(List tags) { + String? _getValidationError(List tags) { // Check for duplicate tags final nonEmptyTags = tags @@ -165,7 +165,7 @@ class AssignTagModelBloc } List _calculateAvailableTags( - List allTags, List tags) { + List allTags, List tags) { final selectedTags = tags .where((tag) => (tag.tag?.trim().isNotEmpty ?? false)) .map((tag) => tag.tag!.trim()) diff --git a/lib/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_event.dart b/lib/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_event.dart index 38642d96..23c70ab0 100644 --- a/lib/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_event.dart +++ b/lib/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_event.dart @@ -1,5 +1,5 @@ import 'package:equatable/equatable.dart'; -import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/model/selected_product_model.dart'; abstract class AssignTagModelEvent extends Equatable { @@ -10,7 +10,7 @@ abstract class AssignTagModelEvent extends Equatable { } class InitializeTagModels extends AssignTagModelEvent { - final List initialTags; + final List initialTags; final List addedProducts; const InitializeTagModels({ @@ -45,8 +45,8 @@ class UpdateLocation extends AssignTagModelEvent { class ValidateTagModels extends AssignTagModelEvent {} class DeleteTagModel extends AssignTagModelEvent { - final TagModel tagToDelete; - final List tags; + final Tag tagToDelete; + final List tags; const DeleteTagModel({required this.tagToDelete, required this.tags}); diff --git a/lib/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_state.dart b/lib/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_state.dart index 167a6ac2..55604d3f 100644 --- a/lib/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_state.dart +++ b/lib/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_state.dart @@ -1,5 +1,5 @@ import 'package:equatable/equatable.dart'; -import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart'; abstract class AssignTagModelState extends Equatable { const AssignTagModelState(); @@ -13,7 +13,7 @@ class AssignTagModelInitial extends AssignTagModelState {} class AssignTagModelLoading extends AssignTagModelState {} class AssignTagModelLoaded extends AssignTagModelState { - final List tags; + final List tags; final bool isSaveEnabled; final String? errorMessage; diff --git a/lib/pages/spaces_management/assign_tag_models/views/assign_tag_models_dialog.dart b/lib/pages/spaces_management/assign_tag_models/views/assign_tag_models_dialog.dart index d13766d4..9c4bb3b4 100644 --- a/lib/pages/spaces_management/assign_tag_models/views/assign_tag_models_dialog.dart +++ b/lib/pages/spaces_management/assign_tag_models/views/assign_tag_models_dialog.dart @@ -6,12 +6,12 @@ import 'package:syncrow_web/pages/common/buttons/cancel_button.dart'; import 'package:syncrow_web/pages/common/buttons/default_button.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/model/product_model.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/model/selected_product_model.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart'; import 'package:syncrow_web/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_bloc.dart'; import 'package:syncrow_web/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_event.dart'; import 'package:syncrow_web/pages/spaces_management/assign_tag_models/bloc/assign_tag_model_state.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/space_template_model.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/subspace_template_model.dart'; -import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/widgets/dialog/create_space_model_dialog.dart'; import 'package:syncrow_web/pages/spaces_management/tag_model/views/add_device_type_model_widget.dart'; import 'package:syncrow_web/utils/color_manager.dart'; @@ -23,8 +23,8 @@ class AssignTagModelsDialog extends StatelessWidget { final List? subspaces; final SpaceTemplateModel? spaceModel; - final List initialTags; - final ValueChanged>? onTagsAssigned; + final List initialTags; + final ValueChanged>? onTagsAssigned; final List addedProducts; final List? allTags; final String spaceName; @@ -195,7 +195,7 @@ class AssignTagModelsDialog extends StatelessWidget { .infinity, // Ensure full width for dropdown child: DialogTextfieldDropdown( key: ValueKey( - 'dropdown_${Uuid().v4()}_${index}'), + 'dropdown_${Uuid().v4()}_$index'), items: state.updatedTags, initialValue: tag.tag, onSelected: (value) { @@ -255,13 +255,13 @@ class AssignTagModelsDialog extends StatelessWidget { label: 'Add New Device', onPressed: () async { final updatedTags = - List.from(state.tags); + List.from(state.tags); final result = TagHelper.updateSubspaceTagModels( updatedTags, subspaces); final processedTags = - result['updatedTags'] as List; + result['updatedTags'] as List; final processedSubspaces = List.from( result['subspaces'] as List); @@ -311,14 +311,14 @@ class AssignTagModelsDialog extends StatelessWidget { onPressed: state.isSaveEnabled ? () async { final updatedTags = - List.from(state.tags); + List.from(state.tags); final result = TagHelper.updateSubspaceTagModels( updatedTags, subspaces); final processedTags = - result['updatedTags'] as List; + result['updatedTags'] as List; final processedSubspaces = List.from( result['subspaces'] diff --git a/lib/pages/spaces_management/helper/tag_helper.dart b/lib/pages/spaces_management/helper/tag_helper.dart index 3e3353a3..e1dc3cc3 100644 --- a/lib/pages/spaces_management/helper/tag_helper.dart +++ b/lib/pages/spaces_management/helper/tag_helper.dart @@ -7,7 +7,6 @@ import 'package:syncrow_web/pages/spaces_management/all_spaces/model/subspace_mo import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/space_template_model.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/subspace_template_model.dart'; -import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart'; class TagHelper { static Map updateTags({ @@ -131,9 +130,9 @@ class TagHelper { } static List getAvailableTagModels( - List allTags, List currentTags, TagModel currentTag) { + List allTags, List currentTags, Tag currentTag) { List availableTagsForTagModel = - TagHelper.getAvailableTags( + TagHelper.getAvailableTags( allTags: allTags, currentTags: currentTags, currentTag: currentTag, @@ -142,11 +141,11 @@ class TagHelper { return availableTagsForTagModel; } - static List generateInitialTags({ - List? spaceTagModels, + static List generateInitialTags({ + List? spaceTagModels, List? subspaces, }) { - final List initialTags = []; + final List initialTags = []; if (spaceTagModels != null) { initialTags.addAll(spaceTagModels); @@ -212,7 +211,7 @@ class TagHelper { } static List createInitialSelectedProducts( - List? tags, List? subspaces) { + List? tags, List? subspaces) { final Map productCounts = {}; if (tags != null) { @@ -282,7 +281,7 @@ class TagHelper { } static int? checkTagExistInSubspaceModels( - TagModel tag, List? subspaces) { + Tag tag, List? subspaces) { if (subspaces == null) return null; for (int i = 0; i < subspaces.length; i++) { @@ -298,8 +297,8 @@ class TagHelper { } static Map updateSubspaceTagModels( - List updatedTags, List? subspaces) { - final result = TagHelper.updateTags( + List updatedTags, List? subspaces) { + final result = TagHelper.updateTags( updatedTags: updatedTags, subspaces: subspaces, getInternalId: (tag) => tag.internalId, @@ -311,7 +310,7 @@ class TagHelper { checkTagExistInSubspace: checkTagExistInSubspaceModels, ); - final processedTags = result['updatedTags'] as List; + final processedTags = result['updatedTags'] as List; final processedSubspaces = List.from(result['subspaces'] as List); diff --git a/lib/pages/spaces_management/space_model/bloc/create_space_model_bloc.dart b/lib/pages/spaces_management/space_model/bloc/create_space_model_bloc.dart index 8237c172..d6801b95 100644 --- a/lib/pages/spaces_management/space_model/bloc/create_space_model_bloc.dart +++ b/lib/pages/spaces_management/space_model/bloc/create_space_model_bloc.dart @@ -1,11 +1,11 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_web/pages/common/bloc/project_manager.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/bloc/create_space_model_event.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/bloc/create_space_model_state.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/create_space_template_body_model.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/space_template_model.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/subspace_template_model.dart'; -import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_update_model.dart'; import 'package:syncrow_web/services/space_model_mang_api.dart'; import 'package:syncrow_web/utils/constants/action_enum.dart'; @@ -94,14 +94,9 @@ class CreateSpaceModelBloc orElse: () => subspace, ); - // Update the subspace's tags - final eventTagIds = matchingEventSubspace.tags - ?.map((e) => e.internalId) - .toSet() ?? - {}; final updatedTags = [ - ...?subspace.tags?.map((tag) { + ...?subspace.tags?.map((tag) { final matchingTag = matchingEventSubspace.tags?.firstWhere( (e) => e.internalId == tag.internalId, @@ -112,14 +107,14 @@ class CreateSpaceModelBloc ? tag.copyWith(tag: matchingTag?.tag) : tag; }) ?? - [], + [], ...?matchingEventSubspace.tags?.where( (e) => subspace.tags ?.every((t) => t.internalId != e.internalId) ?? true, ) ?? - [], + [], ]; return subspace.copyWith( subspaceName: matchingEventSubspace.subspaceName, @@ -244,7 +239,7 @@ class CreateSpaceModelBloc } if (newSubspaces != null) { - for (var newSubspace in newSubspaces!) { + for (var newSubspace in newSubspaces) { // Tag without UUID if ((newSubspace.uuid == null || newSubspace.uuid!.isEmpty)) { final List tagUpdates = []; @@ -268,7 +263,7 @@ class CreateSpaceModelBloc if (prevSubspaces != null && newSubspaces != null) { final newSubspaceMap = { - for (var subspace in newSubspaces!) subspace.uuid: subspace + for (var subspace in newSubspaces) subspace.uuid: subspace }; for (var prevSubspace in prevSubspaces) { @@ -309,8 +304,8 @@ class CreateSpaceModelBloc } List processTagUpdates( - List? prevTags, - List? newTags, + List? prevTags, + List? newTags, ) { final List tagUpdates = []; final processedTags = {}; @@ -332,7 +327,7 @@ class CreateSpaceModelBloc if (prevTags != null && newTags != null) { for (var prevTag in prevTags) { final existsInNew = - newTags!.any((newTag) => newTag.uuid == prevTag.uuid); + newTags.any((newTag) => newTag.uuid == prevTag.uuid); if (!existsInNew) { tagUpdates .add(TagModelUpdate(action: Action.delete, uuid: prevTag.uuid)); @@ -349,7 +344,7 @@ class CreateSpaceModelBloc if (newTags != null) { final prevTagUuids = prevTags?.map((t) => t.uuid).toSet() ?? {}; - for (var newTag in newTags!) { + for (var newTag in newTags) { // Tag without UUID if ((newTag.uuid == null || !prevTagUuids.contains(newTag.uuid)) && !processedTags.contains(newTag.tag)) { @@ -365,9 +360,9 @@ class CreateSpaceModelBloc // Case 3: Tags updated if (prevTags != null && newTags != null) { - final newTagMap = {for (var tag in newTags!) tag.uuid: tag}; + final newTagMap = {for (var tag in newTags) tag.uuid: tag}; - for (var prevTag in prevTags!) { + for (var prevTag in prevTags) { final newTag = newTagMap[prevTag.uuid]; if (newTag != null) { tagUpdates.add(TagModelUpdate( diff --git a/lib/pages/spaces_management/space_model/bloc/create_space_model_event.dart b/lib/pages/spaces_management/space_model/bloc/create_space_model_event.dart index d0cd245c..0d2a3a4f 100644 --- a/lib/pages/spaces_management/space_model/bloc/create_space_model_event.dart +++ b/lib/pages/spaces_management/space_model/bloc/create_space_model_event.dart @@ -1,7 +1,7 @@ import 'package:equatable/equatable.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/space_template_model.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/subspace_template_model.dart'; -import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart'; abstract class CreateSpaceModelEvent extends Equatable { const CreateSpaceModelEvent(); @@ -49,7 +49,7 @@ class AddSubspacesToSpaceTemplate extends CreateSpaceModelEvent { } class AddTagsToSpaceTemplate extends CreateSpaceModelEvent { - final List tags; + final List tags; AddTagsToSpaceTemplate(this.tags); } diff --git a/lib/pages/spaces_management/space_model/models/space_template_model.dart b/lib/pages/spaces_management/space_model/models/space_template_model.dart index 22378f1f..90df55ea 100644 --- a/lib/pages/spaces_management/space_model/models/space_template_model.dart +++ b/lib/pages/spaces_management/space_model/models/space_template_model.dart @@ -1,6 +1,6 @@ import 'package:equatable/equatable.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/subspace_template_model.dart'; -import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_update_model.dart'; import 'package:syncrow_web/utils/constants/action_enum.dart'; import 'package:uuid/uuid.dart'; @@ -9,7 +9,7 @@ class SpaceTemplateModel extends Equatable { String? uuid; String modelName; List? subspaceModels; - final List? tags; + final List? tags; String internalId; @override @@ -38,7 +38,7 @@ class SpaceTemplateModel extends Equatable { [], tags: (json['tags'] as List?) ?.where((item) => item is Map) // Validate type - .map((item) => TagModel.fromJson(item as Map)) + .map((item) => Tag.fromJson(item as Map)) .toList() ?? [], ); @@ -47,7 +47,7 @@ class SpaceTemplateModel extends Equatable { String? uuid, String? modelName, List? subspaceModels, - List? tags, + List? tags, String? internalId, }) { return SpaceTemplateModel( diff --git a/lib/pages/spaces_management/space_model/models/subspace_template_model.dart b/lib/pages/spaces_management/space_model/models/subspace_template_model.dart index 9c69b4c8..130a477e 100644 --- a/lib/pages/spaces_management/space_model/models/subspace_template_model.dart +++ b/lib/pages/spaces_management/space_model/models/subspace_template_model.dart @@ -1,11 +1,11 @@ -import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart'; import 'package:uuid/uuid.dart'; class SubspaceTemplateModel { final String? uuid; String subspaceName; final bool disabled; - List? tags; + List? tags; String internalId; SubspaceTemplateModel({ @@ -25,7 +25,7 @@ class SubspaceTemplateModel { internalId: internalId, disabled: json['disabled'] ?? false, tags: (json['tags'] as List?) - ?.map((item) => TagModel.fromJson(item)) + ?.map((item) => Tag.fromJson(item)) .toList() ?? [], ); @@ -44,7 +44,7 @@ class SubspaceTemplateModel { String? uuid, String? subspaceName, bool? disabled, - List? tags, + List? tags, String? internalId, }) { return SubspaceTemplateModel( diff --git a/lib/pages/spaces_management/space_model/models/tag_model.dart b/lib/pages/spaces_management/space_model/models/tag_model.dart deleted file mode 100644 index 20bd50e2..00000000 --- a/lib/pages/spaces_management/space_model/models/tag_model.dart +++ /dev/null @@ -1,65 +0,0 @@ -import 'package:syncrow_web/pages/spaces_management/all_spaces/model/base_tag.dart'; -import 'package:syncrow_web/pages/spaces_management/all_spaces/model/product_model.dart'; -import 'package:syncrow_web/pages/spaces_management/space_model/models/create_space_template_body_model.dart'; -import 'package:uuid/uuid.dart'; - -class TagModel extends BaseTag { - TagModel({ - String? uuid, - required String? tag, - ProductModel? product, - String? internalId, - String? location, - }) : super( - uuid: uuid, - tag: tag, - product: product, - internalId: internalId, - location: location, - ); - factory TagModel.fromJson(Map json) { - final String internalId = json['internalId'] ?? const Uuid().v4(); - - return TagModel( - uuid: json['uuid'] , - internalId: internalId, - tag: json['tag'] ?? '', - product: json['product'] != null - ? ProductModel.fromMap(json['product']) - : null, - ); - } - - @override - TagModel copyWith( - {String? tag, - ProductModel? product, - String? uuid, - String? location, - String? internalId}) { - return TagModel( - tag: tag ?? this.tag, - product: product ?? this.product, - location: location ?? this.location, - internalId: internalId ?? this.internalId, - uuid:uuid?? this.uuid - ); - } - - Map toJson() { - return { - 'uuid': uuid, - 'tag': tag, - 'product': product?.toMap(), - }; - } -} - -extension TagModelExtensions on TagModel { - TagBodyModel toTagBodyModel() { - return TagBodyModel() - ..uuid = uuid - ..tag = tag ?? '' - ..productUuid = product?.uuid; - } -} diff --git a/lib/pages/spaces_management/space_model/widgets/subspace_model_create_widget.dart b/lib/pages/spaces_management/space_model/widgets/subspace_model_create_widget.dart index d8e27bec..4ebd65df 100644 --- a/lib/pages/spaces_management/space_model/widgets/subspace_model_create_widget.dart +++ b/lib/pages/spaces_management/space_model/widgets/subspace_model_create_widget.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:syncrow_web/common/edit_chip.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/subspace_template_model.dart'; -import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/widgets/button_content_widget.dart'; import 'package:syncrow_web/pages/spaces_management/create_subspace_model/views/create_subspace_model_dialog.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/widgets/subspace_name_label_widget.dart'; @@ -10,9 +10,9 @@ import 'package:syncrow_web/utils/color_manager.dart'; class SubspaceModelCreate extends StatefulWidget { final List subspaces; final void Function( - List newSubspaces, List? tags)? + List newSubspaces, List? tags)? onSpaceModelUpdate; - final List tags; + final List tags; const SubspaceModelCreate({ Key? key, @@ -28,7 +28,7 @@ class SubspaceModelCreate extends StatefulWidget { class _SubspaceModelCreateState extends State { late List _subspaces; String? errorSubspaceId; - late List _tags; + late List _tags; @override void initState() { @@ -117,7 +117,7 @@ class _SubspaceModelCreateState extends State { .where((s) => !updatedIds.contains(s.internalId)) .toList(); - final List tagsToAppendToSpace = []; + final List tagsToAppendToSpace = []; for (var s in deletedSubspaces) { if (s.tags != null) { diff --git a/lib/pages/spaces_management/tag_model/bloc/add_device_model_state.dart b/lib/pages/spaces_management/tag_model/bloc/add_device_model_state.dart index f45471cd..c4e27051 100644 --- a/lib/pages/spaces_management/tag_model/bloc/add_device_model_state.dart +++ b/lib/pages/spaces_management/tag_model/bloc/add_device_model_state.dart @@ -1,6 +1,6 @@ import 'package:equatable/equatable.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/model/selected_product_model.dart'; -import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart'; abstract class AddDeviceModelState extends Equatable { const AddDeviceModelState(); @@ -15,7 +15,7 @@ class AddDeviceModelLoading extends AddDeviceModelState {} class AddDeviceModelLoaded extends AddDeviceModelState { final List selectedProducts; - final List initialTag; + final List initialTag; const AddDeviceModelLoaded({ required this.selectedProducts, diff --git a/lib/pages/spaces_management/tag_model/bloc/add_device_type_model_event.dart b/lib/pages/spaces_management/tag_model/bloc/add_device_type_model_event.dart index 9b3a8b1e..b9018b2b 100644 --- a/lib/pages/spaces_management/tag_model/bloc/add_device_type_model_event.dart +++ b/lib/pages/spaces_management/tag_model/bloc/add_device_type_model_event.dart @@ -1,7 +1,7 @@ import 'package:equatable/equatable.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/model/product_model.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/model/selected_product_model.dart'; -import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart'; abstract class AddDeviceTypeModelEvent extends Equatable { const AddDeviceTypeModelEvent(); @@ -25,7 +25,7 @@ class UpdateProductCountEvent extends AddDeviceTypeModelEvent { class InitializeDeviceTypeModel extends AddDeviceTypeModelEvent { - final List initialTags; + final List initialTags; final List addedProducts; const InitializeDeviceTypeModel({ diff --git a/lib/pages/spaces_management/tag_model/views/add_device_type_model_widget.dart b/lib/pages/spaces_management/tag_model/views/add_device_type_model_widget.dart index 9d0eac96..84cd08a0 100644 --- a/lib/pages/spaces_management/tag_model/views/add_device_type_model_widget.dart +++ b/lib/pages/spaces_management/tag_model/views/add_device_type_model_widget.dart @@ -2,13 +2,13 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_web/pages/common/buttons/cancel_button.dart'; import 'package:syncrow_web/pages/common/buttons/default_button.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart'; import 'package:syncrow_web/pages/spaces_management/assign_tag_models/views/assign_tag_models_dialog.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/model/product_model.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/model/selected_product_model.dart'; import 'package:syncrow_web/pages/spaces_management/helper/tag_helper.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/space_template_model.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/models/subspace_template_model.dart'; -import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart'; import 'package:syncrow_web/pages/spaces_management/space_model/widgets/dialog/create_space_model_dialog.dart'; import 'package:syncrow_web/pages/spaces_management/tag_model/bloc/add_device_model_bloc.dart'; import 'package:syncrow_web/pages/spaces_management/tag_model/bloc/add_device_model_state.dart'; @@ -20,7 +20,7 @@ class AddDeviceTypeModelWidget extends StatelessWidget { final List? products; final List? initialSelectedProducts; final List? subspaces; - final List? spaceTagModels; + final List? spaceTagModels; final List? allTags; final String spaceName; final bool isCreate;