Skip to content

Commit 3d82197

Browse files
authored
Merge pull request #3 from jkoutavas/jay/reorder-employees
Implemented drag-n-drop employee reordering
2 parents 9519837 + 6f4bf0c commit 3d82197

File tree

9 files changed

+269
-108
lines changed

9 files changed

+269
-108
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# reswift-example #
22

3-
*README last updated Febuary 23rd, 2020*
3+
*README last updated March 2nd, 2020*
44

55
## Introduction
66

@@ -24,7 +24,7 @@ I'm just getting underway on the project, here's the laundry list of things I wa
2424
[x] Able to display, edit, undo/redo a job name
2525
[x] Able to display employees assigned to a job
2626
[ ] Able to edit, undo/redo employee names and skills
27-
[ ] Able to re-order the list of employees with undo/redo
27+
[x] Able to re-order the list of employees with undo/redo
2828
[x] Able to add an employee with undo/redo
2929
[ ] Able to delete an employee with undo/redo
3030
[ ] Able to duplicate an employee with undo/redo

reswift-jobs/reswift-jobs.xcodeproj/project.pbxproj

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
/* Begin PBXBuildFile section */
1010
69723320240183CA00E91FBA /* JobWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6972331F240183CA00E91FBA /* JobWindowController.swift */; };
1111
697233222402B27700E91FBA /* JobWindowTitleBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 697233212402B27700E91FBA /* JobWindowTitleBarController.swift */; };
12+
697233242405F75000E91FBA /* EmployeePasteboardWriter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 697233232405F75000E91FBA /* EmployeePasteboardWriter.swift */; };
13+
69723331240C342800E91FBA /* ArrayUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69723330240C342800E91FBA /* ArrayUtil.swift */; };
14+
69A6E1D9240CAB7A00D98AC7 /* EmployeeTableDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69A6E1D8240CAB7A00D98AC7 /* EmployeeTableDataSource.swift */; };
1215
69AE637723F0E58900BF70EA /* Employee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69AE637523F0E58900BF70EA /* Employee.swift */; };
1316
69AE637C23F0E6C700BF70EA /* JobViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69AE637923F0E6C600BF70EA /* JobViewController.swift */; };
1417
69AE638323F0E9FD00BF70EA /* JobPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69AE638123F0E9FD00BF70EA /* JobPresenter.swift */; };
@@ -32,7 +35,6 @@
3235
69AE63B923FCAB1000BF70EA /* SelectionReducer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69AE63B823FCAB1000BF70EA /* SelectionReducer.swift */; };
3336
69AE63BB23FCAB4000BF70EA /* SelectionActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69AE63BA23FCAB4000BF70EA /* SelectionActions.swift */; };
3437
69AE63BD23FCAC6400BF70EA /* RemoveIdempotentActionsMiddleware.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69AE63BC23FCAC6400BF70EA /* RemoveIdempotentActionsMiddleware.swift */; };
35-
69AE63C124007B3D00BF70EA /* EmployeeTableDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69AE63C024007B3D00BF70EA /* EmployeeTableDataSource.swift */; };
3638
69F3509A23EA0A7100F61437 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69F3509923EA0A7100F61437 /* AppDelegate.swift */; };
3739
69F3509E23EA0A7100F61437 /* JobDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69F3509D23EA0A7100F61437 /* JobDocument.swift */; };
3840
69F350A023EA0A7300F61437 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 69F3509F23EA0A7300F61437 /* Assets.xcassets */; };
@@ -43,6 +45,9 @@
4345
/* Begin PBXFileReference section */
4446
6972331F240183CA00E91FBA /* JobWindowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JobWindowController.swift; sourceTree = "<group>"; };
4547
697233212402B27700E91FBA /* JobWindowTitleBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JobWindowTitleBarController.swift; sourceTree = "<group>"; };
48+
697233232405F75000E91FBA /* EmployeePasteboardWriter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmployeePasteboardWriter.swift; sourceTree = "<group>"; };
49+
69723330240C342800E91FBA /* ArrayUtil.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArrayUtil.swift; sourceTree = "<group>"; };
50+
69A6E1D8240CAB7A00D98AC7 /* EmployeeTableDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmployeeTableDataSource.swift; sourceTree = "<group>"; };
4651
69AE637523F0E58900BF70EA /* Employee.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Employee.swift; sourceTree = "<group>"; };
4752
69AE637923F0E6C600BF70EA /* JobViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JobViewController.swift; sourceTree = "<group>"; };
4853
69AE638123F0E9FD00BF70EA /* JobPresenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JobPresenter.swift; sourceTree = "<group>"; };
@@ -66,7 +71,6 @@
6671
69AE63B823FCAB1000BF70EA /* SelectionReducer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectionReducer.swift; sourceTree = "<group>"; };
6772
69AE63BA23FCAB4000BF70EA /* SelectionActions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectionActions.swift; sourceTree = "<group>"; };
6873
69AE63BC23FCAC6400BF70EA /* RemoveIdempotentActionsMiddleware.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RemoveIdempotentActionsMiddleware.swift; sourceTree = "<group>"; };
69-
69AE63C024007B3D00BF70EA /* EmployeeTableDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmployeeTableDataSource.swift; sourceTree = "<group>"; };
7074
69F3509623EA0A7100F61437 /* reswift-jobs.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "reswift-jobs.app"; sourceTree = BUILT_PRODUCTS_DIR; };
7175
69F3509923EA0A7100F61437 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7276
69F3509D23EA0A7100F61437 /* JobDocument.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JobDocument.swift; sourceTree = "<group>"; };
@@ -88,6 +92,14 @@
8892
/* End PBXFrameworksBuildPhase section */
8993

9094
/* Begin PBXGroup section */
95+
6972332F240C33FE00E91FBA /* Util */ = {
96+
isa = PBXGroup;
97+
children = (
98+
69723330240C342800E91FBA /* ArrayUtil.swift */,
99+
);
100+
path = Util;
101+
sourceTree = "<group>";
102+
};
91103
69AE637423F0E58900BF70EA /* Model */ = {
92104
isa = PBXGroup;
93105
children = (
@@ -116,7 +128,8 @@
116128
69AE637823F0E6C600BF70EA /* UI */ = {
117129
isa = PBXGroup;
118130
children = (
119-
69AE63C024007B3D00BF70EA /* EmployeeTableDataSource.swift */,
131+
697233232405F75000E91FBA /* EmployeePasteboardWriter.swift */,
132+
69A6E1D8240CAB7A00D98AC7 /* EmployeeTableDataSource.swift */,
120133
69AE638B23F0ED2900BF70EA /* EmployeeViewModel.swift */,
121134
69AE638123F0E9FD00BF70EA /* JobPresenter.swift */,
122135
69AE637923F0E6C600BF70EA /* JobViewController.swift */,
@@ -197,6 +210,7 @@
197210
69AE637423F0E58900BF70EA /* Model */,
198211
69AE637623F0E58900BF70EA /* State */,
199212
69AE637823F0E6C600BF70EA /* UI */,
213+
6972332F240C33FE00E91FBA /* Util */,
200214
69F3509923EA0A7100F61437 /* AppDelegate.swift */,
201215
69F3509D23EA0A7100F61437 /* JobDocument.swift */,
202216
69F3509F23EA0A7300F61437 /* Assets.xcassets */,
@@ -284,18 +298,20 @@
284298
buildActionMask = 2147483647;
285299
files = (
286300
69AE637723F0E58900BF70EA /* Employee.swift in Sources */,
301+
69723331240C342800E91FBA /* ArrayUtil.swift in Sources */,
287302
69AE639423F203D700BF70EA /* JobStore.swift in Sources */,
288303
69AE639923F4A95E00BF70EA /* NotUndoable.swift in Sources */,
289304
69AE63BD23FCAC6400BF70EA /* RemoveIdempotentActionsMiddleware.swift in Sources */,
290305
69AE63B123FB7C9F00BF70EA /* UndoMiddleware.swift in Sources */,
291306
69AE638323F0E9FD00BF70EA /* JobPresenter.swift in Sources */,
307+
69A6E1D9240CAB7A00D98AC7 /* EmployeeTableDataSource.swift in Sources */,
292308
697233222402B27700E91FBA /* JobWindowTitleBarController.swift in Sources */,
293309
69AE63AB23FB75EC00BF70EA /* JobActions.swift in Sources */,
294310
69723320240183CA00E91FBA /* JobWindowController.swift in Sources */,
295311
69AE63B423FB8A5400BF70EA /* UndoCommand.swift in Sources */,
296312
69AE638C23F0ED2900BF70EA /* EmployeeViewModel.swift in Sources */,
297-
69AE63C124007B3D00BF70EA /* EmployeeTableDataSource.swift in Sources */,
298313
69AE639223F0F3A800BF70EA /* EmployeeID.swift in Sources */,
314+
697233242405F75000E91FBA /* EmployeePasteboardWriter.swift in Sources */,
299315
69AE639D23FA0AA400BF70EA /* LoggingMiddleware.swift in Sources */,
300316
69AE63AD23FB760700BF70EA /* EmployeeReducer.swift in Sources */,
301317
69AE639723F4A93400BF70EA /* Undoable.swift in Sources */,

0 commit comments

Comments
 (0)