Skip to content
This repository has been archived by the owner on Nov 20, 2024. It is now read-only.

Commit

Permalink
chore: state and labels model change, fix: cycles and modules issues …
Browse files Browse the repository at this point in the history
…fix, details pages fix, refactor: cycles and details ui refactor
  • Loading branch information
rameshkumarchandra committed Jan 23, 2024
1 parent 7d1a48f commit 06e80b5
Show file tree
Hide file tree
Showing 72 changed files with 4,048 additions and 2,678 deletions.
18 changes: 11 additions & 7 deletions lib/bottom_sheets/filters/filter_sheet.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import 'package:plane/provider/cycles_provider.dart';
import 'package:plane/provider/modules_provider.dart';
import 'package:plane/provider/my_issues_provider.dart';
import 'package:plane/provider/provider_list.dart';
import 'package:plane/provider/states_provider.dart';
import 'package:plane/provider/theme_provider.dart';
import 'package:plane/screens/create_view_screen.dart';
import 'package:plane/utils/constants.dart';
Expand Down Expand Up @@ -72,14 +71,20 @@ class _FilterSheetState extends ConsumerState<FilterSheet> {
setState(() {});
},
ref: ref);

super.initState();
}

@override
Widget build(BuildContext context) {
final themeProvider = ref.watch(ProviderList.themeProvider);

log(ref
.read(ProviderList.cyclesProvider)
.issues
.filters
.priorities
.toString());
log(state.filters.priorities.toString());

return Container(
padding: const EdgeInsets.only(top: 20, left: 20, right: 20),
child: Stack(
Expand Down Expand Up @@ -161,10 +166,9 @@ class _FilterSheetState extends ConsumerState<FilterSheet> {
? Container()
: _saveView(state: state, ref: ref),
_applyFilterButton(
state: state,
context: context,
cycleOrModuleId: widget.cycleOrModuleId
)
state: state,
context: context,
cycleOrModuleId: widget.cycleOrModuleId)
],
),
),
Expand Down
26 changes: 20 additions & 6 deletions lib/bottom_sheets/filters/filter_sheet_state.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,27 @@ class _FilterState {

isFilterDataEmpty =
isFilterEmpty(tempFilters: myIssuesProvider.issues.filters);
} else {
} else if (issueCategory == IssueCategory.issues) {
final issuesProvider = ref.read(ProviderList.issuesProvider);
filters =
Filters.fromJson(Filters.toJson(issuesProvider.issues.filters));

isFilterDataEmpty =
isFilterEmpty(tempFilters: issuesProvider.issues.filters);
} else if (issueCategory == IssueCategory.cycleIssues) {
final cyclesProvider = ref.read(ProviderList.cyclesProvider);
filters =
Filters.fromJson(Filters.toJson(cyclesProvider.issues.filters));

isFilterDataEmpty =
isFilterEmpty(tempFilters: cyclesProvider.issues.filters);
} else if (issueCategory == IssueCategory.moduleIssues) {
final modulesProvider = ref.read(ProviderList.modulesProvider);
filters =
Filters.fromJson(Filters.toJson(modulesProvider.issues.filters));

isFilterDataEmpty =
isFilterEmpty(tempFilters: modulesProvider.issues.filters);
}
} else {
filters = Filters.fromJson(filtersData["Filters"]);
Expand Down Expand Up @@ -259,13 +273,13 @@ class _FilterState {
? modulesProvider.issues.filters = filters
: issuesProvider.issues.filters = filters;
if (issueCategory == IssueCategory.cycleIssues) {
// cyclesProvider.updateProjectView();
cyclesProvider.updateCycleView();
cyclesProvider.filterCycleIssues(
slug: slug, projectId: projID, ref: ref, cycleID: cycleOrModuleId);
slug: slug, projectId: projID, cycleID: cycleOrModuleId, ref: ref);
} else if (issueCategory == IssueCategory.moduleIssues) {
modulesProvider
.filterModuleIssues(slug: slug, projectId: projID, ref: ref)
.then((value) => modulesProvider.initializeBoard());
modulesProvider.updateModuleView();
modulesProvider.filterModuleIssues(
slug: slug, projectId: projID, ref: ref, moduleID: cycleOrModuleId);
} else if (issueCategory == IssueCategory.myIssues) {
myIssuesProvider.updateMyIssueView();
myIssuesProvider.filterIssues();
Expand Down
9 changes: 4 additions & 5 deletions lib/bottom_sheets/filters/widgets/filter_buttons.dart
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,10 @@ Widget _saveView({required _FilterState state, required WidgetRef ref}) {
);
}

Widget _applyFilterButton({
required _FilterState state,
required BuildContext context,
String? cycleOrModuleId
}) {
Widget _applyFilterButton(
{required _FilterState state,
required BuildContext context,
String? cycleOrModuleId}) {
return Container(
height: 50,
width: state.fromCreateView || state.issueCategory == IssueCategory.myIssues
Expand Down
30 changes: 15 additions & 15 deletions lib/bottom_sheets/global_search_sheet.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@ import 'package:plane/provider/provider_list.dart';
import 'package:plane/screens/Import%20&%20Export/import_export.dart';
import 'package:plane/screens/MainScreens/Profile/WorkpsaceSettings/members.dart';
import 'package:plane/screens/MainScreens/Profile/WorkpsaceSettings/workspace_general.dart';
import 'package:plane/screens/MainScreens/Projects/ProjectDetail/CyclesTab/create_cycle.dart';
import 'package:plane/screens/MainScreens/Projects/ProjectDetail/CyclesTab/cycle_module_detail.dart';
import 'package:plane/screens/MainScreens/Projects/ProjectDetail/IssuesTab/CreateIssue/create_issue.dart';
import 'package:plane/screens/MainScreens/Projects/ProjectDetail/ModulesTab/create_module.dart';
import 'package:plane/screens/MainScreens/Projects/ProjectDetail/ViewsTab/views_detail.dart';
import 'package:plane/screens/MainScreens/Projects/ProjectDetail/Cycles/create_cycle.dart';
import 'package:plane/screens/MainScreens/Projects/ProjectDetail/Cycles/CycleDetail/cycle_issues_page.dart';
import 'package:plane/screens/MainScreens/Projects/ProjectDetail/Issues/CreateIssue/create_issue.dart';
import 'package:plane/screens/MainScreens/Projects/ProjectDetail/Modules/create_module.dart';
import 'package:plane/screens/MainScreens/Projects/ProjectDetail/Modules/ModuleDetail/module_issues_page.dart';
import 'package:plane/screens/MainScreens/Projects/ProjectDetail/Views/views_detail.dart';
import 'package:plane/screens/MainScreens/Projects/ProjectDetail/project_detail.dart';
import 'package:plane/screens/MainScreens/Projects/create_project_screen.dart';
import 'package:plane/screens/create_view_screen.dart';
Expand All @@ -28,7 +29,7 @@ import 'package:plane/utils/enums.dart';
import 'package:plane/widgets/custom_text.dart';
import 'package:url_launcher/url_launcher.dart';

import '../screens/MainScreens/Projects/ProjectDetail/IssuesTab/issue_detail.dart';
import '../screens/MainScreens/Projects/ProjectDetail/Issues/issue_detail.dart';

class GlobalSearchSheet extends ConsumerStatefulWidget {
const GlobalSearchSheet({super.key});
Expand Down Expand Up @@ -1011,14 +1012,13 @@ class _GlobalSearchSheetState extends ConsumerState<GlobalSearchSheet> {
Navigator.push(
Const.globalKey.currentContext!,
MaterialPageRoute(
builder: (context) => CycleDetail(
builder: (context) => ModuleDetail(
moduleId:
globalSearchProvider.data!.modules[index].id,
moduleName: globalSearchProvider
.data!.modules[index].name,
projId: globalSearchProvider
.data!.modules[index].projectId,
fromModule: true,
),
),
);
Expand All @@ -1038,13 +1038,13 @@ class _GlobalSearchSheetState extends ConsumerState<GlobalSearchSheet> {
width: 10,
),
SizedBox(
width: width * 0.8,
child: CustomText(
globalSearchProvider
.data!.modules[index].name,
type: FontStyle.Medium,
maxLines: 2,
)),
width: width * 0.8,
child: CustomText(
globalSearchProvider.data!.modules[index].name,
type: FontStyle.Medium,
maxLines: 2,
),
),
],
),
),
Expand Down
42 changes: 25 additions & 17 deletions lib/bottom_sheets/views_sheet.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,14 @@ class ViewsSheet extends ConsumerStatefulWidget {
this.cycleId,
this.fromView = false,
this.isArchived = false,
this.moduleId,
super.key,
});
final Enum issueCategory;
final IssueLayout projectView;
final bool fromView;
final String? cycleId;
final String? moduleId;
final bool isArchived;

@override
Expand Down Expand Up @@ -783,7 +785,8 @@ class _ViewsSheetState extends ConsumerState<ViewsSheet> {
IssueCategory.moduleIssues) {
modulesProvider.filterModuleIssues(
slug: slug,
projectId: projID, ref: ref,
projectId: projID,
ref: ref,
);
} else {
issueProvider.filterIssues(
Expand Down Expand Up @@ -827,10 +830,7 @@ class _ViewsSheetState extends ConsumerState<ViewsSheet> {
} else if (widget.issueCategory ==
IssueCategory.moduleIssues) {
modulesProvider.filterModuleIssues(
slug: slug,
projectId: projID,
ref: ref
);
slug: slug, projectId: projID, ref: ref);
} else {
issueProvider.filterIssues(
fromViews: false,
Expand Down Expand Up @@ -975,6 +975,12 @@ class _ViewsSheetState extends ConsumerState<ViewsSheet> {
cyclesProvider.applyCycleIssuesView(ref: ref);
} else if (widget.issueCategory ==
IssueCategory.moduleIssues) {
setState(() {
modulesProvider.issues.groupBY =
Issues.toGroupBY(groupBy);
modulesProvider.issues.orderBY =
Issues.toOrderBY(orderBy);
});
modulesProvider.applyModuleIssuesView(ref: ref);
} else {
issueProvider.applyIssueView();
Expand Down Expand Up @@ -1011,23 +1017,25 @@ class _ViewsSheetState extends ConsumerState<ViewsSheet> {
// issueCategory: widget.issueCategory,
// );
// cyclesProvider.issues.displayProperties = properties;
// cyclesProvider.showEmptyStates = showEmptyStates;
cyclesProvider.showEmptyStates = showEmptyStates;
cyclesProvider.updateCycleView();
} else if (widget.issueCategory ==
IssueCategory.moduleIssues) {
issueProvider.updateIssueProperties(
properties: properties,
issueCategory: widget.issueCategory,
);
modulesProvider.issues.displayProperties = properties;
// issueProvider.updateIssueProperties(
// properties: properties,
// issueCategory: widget.issueCategory,
// );
// modulesProvider.issues.displayProperties = properties;

modulesProvider.showEmptyStates = showEmptyStates;
modulesProvider.updateModuleView();
} else {
issueProvider.updateIssueProperties(
properties: properties,
issueCategory: widget.issueCategory,
);
issueProvider.issues.displayProperties = properties;
issueProvider.showEmptyStates = showEmptyStates;
// issueProvider.updateIssueProperties(
// properties: properties,
// issueCategory: widget.issueCategory,
// );
// issueProvider.issues.displayProperties = properties;
// issueProvider.showEmptyStates = showEmptyStates;
}
if (widget.issueCategory == IssueCategory.issues) {
issueProvider.updateProjectView();
Expand Down
3 changes: 3 additions & 0 deletions lib/config/apis.dart
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ class APIs {
'$baseApi/api/workspaces/\$SLUG/projects/\$PROJECTID/project-members/me';
static String cycleIssueView =
'$baseApi/api/workspaces/\$SLUG/projects/\$PROJECTID/cycles/\$CYCLEID/user-properties/';
static String moduleIssueView =
'$baseApi/api/workspaces/\$SLUG/projects/\$PROJECTID/modules/\$MODULEID/user-properties/';
static String myIssuesView =
'$baseApi/api/workspaces/\$SLUG/workspace-members/me/';
static String updateMyIssuesView =
Expand Down Expand Up @@ -150,4 +152,5 @@ class APIs {
static String retrieveUserRoleOnWorkspace =
'$baseApi/api/workspaces/\$SLUG/workspace-members/me/';
static String configApi = '$baseApi/api/mobile-configs';
static String unsplashApi = '$baseApi/api/unsplash';
}
2 changes: 1 addition & 1 deletion lib/kanban/Provider/board_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ class BoardProvider extends ChangeNotifier {
const SizedBox(
width: 10,
),
data[i].leading!,
// data[i].leading!,
const SizedBox(
width: 10,
),
Expand Down
15 changes: 4 additions & 11 deletions lib/models/Project/Label/label.model.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,12 @@ part 'label.model.g.dart';
@freezed
class LabelModel with _$LabelModel {
const factory LabelModel({
required String id,
required DateTime created_at,
required DateTime updated_at,
String? parent,
required String name,
required String description,
required String color,
required String created_by,
required String updated_by,
required String project,
required ProjectLiteModel project_detail,
required String workspace,
required WorkspaceLiteModel workspace_detail,
String? parent,
required String id,
required String project_id,
required String workspace_id,
required double sort_order,
}) = _LabelModel;

Expand Down
38 changes: 13 additions & 25 deletions lib/models/Project/State/states_model.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,15 @@ part 'states_model.g.dart';
class StatesModel with _$StatesModel {
const factory StatesModel({
required final String id,
required final String created_at,
required final String updated_at,
required final String project_id,
required final String workspace_id,
required final String name,
required final String? description,
required final String color,
required final String slug,
required final double sequence,
required final String group,
required final bool? is_default,
required final String? external_source,
required final String? external_id,
required final String created_by,
required final String? updated_by,
required final String project,
required final String workspace,
@JsonKey(name: 'default')
required final bool is_default,
required final String? description,
required final double sequence,
@JsonKey(includeFromJson: false, includeToJson: false)
Widget? stateIcon,
}) = _StatesModel;
Expand All @@ -32,23 +26,17 @@ class StatesModel with _$StatesModel {
_$StatesModelFromJson(json);

factory StatesModel.initialize() {
return const StatesModel(
return const StatesModel(
id: '',
created_at: '',
updated_at: '',
project_id: '',
workspace_id: '',
name: '',
description: '',
color: '',
slug: '',
sequence: 0,
group: '',
is_default: false,
external_source: '',
external_id: '',
created_by: '',
updated_by: '',
project: '',
workspace: '',
stateIcon: null);
description: '',
sequence: 0,
stateIcon: null,
);
}
}
Loading

0 comments on commit 06e80b5

Please sign in to comment.