diff --git a/Squello-Core.package/SPBAbstractBoardProvider.class/instance/addAssignee.toCard..st b/Squello-Core.package/SPBAbstractBoardProvider.class/instance/addAssignee.toCard..st index 02025063..b2ddf9c5 100644 --- a/Squello-Core.package/SPBAbstractBoardProvider.class/instance/addAssignee.toCard..st +++ b/Squello-Core.package/SPBAbstractBoardProvider.class/instance/addAssignee.toCard..st @@ -1,4 +1,4 @@ assignees -addAssignee: anSPBAssignee toCard: anSPBCard +addAssignee: aSPBAssignee toCard: aSPBCard self subclassResponsibility. \ No newline at end of file diff --git a/Squello-Core.package/SPBAbstractBoardProvider.class/instance/fetchCardsIntoColumns..st b/Squello-Core.package/SPBAbstractBoardProvider.class/instance/fetchCardsIntoColumns..st new file mode 100644 index 00000000..3105f4e0 --- /dev/null +++ b/Squello-Core.package/SPBAbstractBoardProvider.class/instance/fetchCardsIntoColumns..st @@ -0,0 +1,5 @@ +cards +fetchCardsIntoColumns: anOrderedCollection + + "anOrderedCollection => Collection of SPBColumn" + ^ self subclassResponsibility. \ No newline at end of file diff --git a/Squello-Core.package/SPBAbstractBoardProvider.class/instance/queryBoardName.st b/Squello-Core.package/SPBAbstractBoardProvider.class/instance/queryBoardName.st new file mode 100644 index 00000000..ec9b60ab --- /dev/null +++ b/Squello-Core.package/SPBAbstractBoardProvider.class/instance/queryBoardName.st @@ -0,0 +1,4 @@ +board +queryBoardName + + ^ self subclassResponsibility. \ No newline at end of file diff --git a/Squello-Core.package/SPBAbstractBoardProvider.class/methodProperties.json b/Squello-Core.package/SPBAbstractBoardProvider.class/methodProperties.json index b7983530..f873bddd 100644 --- a/Squello-Core.package/SPBAbstractBoardProvider.class/methodProperties.json +++ b/Squello-Core.package/SPBAbstractBoardProvider.class/methodProperties.json @@ -2,19 +2,21 @@ "class" : { }, "instance" : { - "addAssignee:toCard:" : "FP 5/23/2024 10:41", + "addAssignee:toCard:" : "FP 6/18/2024 12:10", "addLabel:toCard:" : "FP 5/28/2024 11:33", "createCardsFromColumn:" : "FP 5/23/2024 10:12", "createColumn:" : "FP 5/23/2024 10:37", "createNewCard:into:" : "FP 5/23/2024 10:21", "deleteAssignee:fromCard:" : "FP 5/23/2024 10:41", "deleteLabel:fromCard:" : "FP 5/23/2024 10:32", + "fetchCardsIntoColumns:" : "FP 6/17/2024 17:14", "listPossibleAssignees" : "FP 5/23/2024 10:35", "listPossibleLabels" : "FP 5/23/2024 10:35", "moveCard:after:toColumn:" : "FP 5/23/2024 10:35", "moveCardToTop:toColumn:" : "FP 5/23/2024 10:35", "moveColumn:after:" : "FP 5/23/2024 10:36", "moveColumnToFront:" : "FP 5/23/2024 10:35", + "queryBoardName" : "FP 6/10/2024 14:59", "queryColumns" : "FP 5/23/2024 10:35", "renameColumn:to:" : "FP 5/23/2024 10:35", "repo" : "FP 5/27/2024 17:23", diff --git a/Squello-Core.package/SPBAuthenticationForm.class/instance/buildButtons..st b/Squello-Core.package/SPBAuthenticationForm.class/instance/buildButtons..st index e1ee1352..d9156738 100644 --- a/Squello-Core.package/SPBAuthenticationForm.class/instance/buildButtons..st +++ b/Squello-Core.package/SPBAuthenticationForm.class/instance/buildButtons..st @@ -5,9 +5,17 @@ buildButtons: aBuilder model: self; label: 'Submit'; action: #actionSubmit; + color: Color green muchDarker; yourself. aBuilder pluggableButtonSpec new model: self; label: 'Cancel'; action: #actionCancel; + color: Color orange muchDarker; + yourself. + aBuilder pluggableButtonSpec new + model: self; + label: 'Logout'; + action: #resetCredentials; + color: Color red muchDarker; yourself}. \ No newline at end of file diff --git a/Squello-Core.package/SPBAuthenticationForm.class/instance/resetCredentials.st b/Squello-Core.package/SPBAuthenticationForm.class/instance/resetCredentials.st new file mode 100644 index 00000000..76e85914 --- /dev/null +++ b/Squello-Core.package/SPBAuthenticationForm.class/instance/resetCredentials.st @@ -0,0 +1,9 @@ +actions +resetCredentials + "Resets the username and token to nil to log out the user." + + SPBGithubAPI + username: nil; + token: nil. + UserDialogBoxMorph inform: 'Credentials have been reset.' title: 'Logged out'. + self changed: #close. \ No newline at end of file diff --git a/Squello-Core.package/SPBAuthenticationForm.class/methodProperties.json b/Squello-Core.package/SPBAuthenticationForm.class/methodProperties.json index 3f996f70..dc468fd3 100644 --- a/Squello-Core.package/SPBAuthenticationForm.class/methodProperties.json +++ b/Squello-Core.package/SPBAuthenticationForm.class/methodProperties.json @@ -4,7 +4,7 @@ "instance" : { "actionCancel" : "mcr 7/4/2022 00:36", "actionSubmit" : "mcr 8/4/2022 00:25", - "buildButtons:" : "mcr 8/4/2022 00:14", + "buildButtons:" : "FP 6/13/2024 11:10", "buildInputFields:" : "mcr 8/4/2022 00:18", "buildInputPanel:" : "tk 8/2/2022 23:42", "buildWith:" : "tk 8/2/2022 23:43", @@ -13,6 +13,7 @@ "errorEmptyField" : "mcr 8/4/2022 00:36", "errorUserNotFound" : "mcr 8/4/2022 00:36", "labelString" : "lo 7/13/2022 19:29", + "resetCredentials" : "FP 6/10/2024 10:10", "token" : "mcr 8/4/2022 00:13", "token:" : "lo 7/13/2022 19:26", "updateToken:" : "mcr 8/4/2022 00:18", diff --git a/Squello-Core.package/SPBBoard.class/class/newWith..st b/Squello-Core.package/SPBBoard.class/class/newWith..st index 80783204..27702ed9 100644 --- a/Squello-Core.package/SPBBoard.class/class/newWith..st +++ b/Squello-Core.package/SPBBoard.class/class/newWith..st @@ -1,18 +1,11 @@ startup newWith: aString - | instance authenticator | + | instance | instance := self new. - [instance parseRepoFromUrl: aString] - on: Error do: [self errorParsingUrl. ^ self]. - - authenticator := SPBAuthenticator newWith: instance boardProvider. - [authenticator authenticate] - on: Error do: [^ self]. - - [instance loadProject: aString] - on: Error do: [^ self]. + "["instance loadProject: aString."] + on: Error do: [self errorParsingUrl. ^ self]." instance buildAndOpen. ^ instance. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/class/open.st b/Squello-Core.package/SPBBoard.class/class/open.st index 9c32708c..b5d60e8e 100644 --- a/Squello-Core.package/SPBBoard.class/class/open.st +++ b/Squello-Core.package/SPBBoard.class/class/open.st @@ -5,6 +5,4 @@ open prompt := self promptUrl. prompt = '' ifTrue: [^ self]. self lastProject: prompt. - (prompt beginsWith: self localPrefix) ifTrue: [^ self openLocal: prompt]. - ^ self newWith: prompt. - \ No newline at end of file + ^ self openFromPrompt: prompt. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/class/openFromPrompt..st b/Squello-Core.package/SPBBoard.class/class/openFromPrompt..st new file mode 100644 index 00000000..a66a2355 --- /dev/null +++ b/Squello-Core.package/SPBBoard.class/class/openFromPrompt..st @@ -0,0 +1,7 @@ +startup +openFromPrompt: prompt + + [(prompt beginsWith: self localPrefix) + ifTrue: [self openLocal: prompt] + ifFalse: [self newWith: prompt.]] fork. + \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/class/openInBackground.st b/Squello-Core.package/SPBBoard.class/class/openInBackground.st deleted file mode 100644 index ce727ee2..00000000 --- a/Squello-Core.package/SPBBoard.class/class/openInBackground.st +++ /dev/null @@ -1,4 +0,0 @@ -startup -openInBackground - - ^ [self open] fork. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/class/openLocal..st b/Squello-Core.package/SPBBoard.class/class/openLocal..st index 22297fdc..cf7124e5 100644 --- a/Squello-Core.package/SPBBoard.class/class/openLocal..st +++ b/Squello-Core.package/SPBBoard.class/class/openLocal..st @@ -3,5 +3,5 @@ openLocal: aString | localFile | localFile := SPBBoardSaver defaultSaver load: aString. - localFile ifNotNil: [:file|^ file window openInWorld]. + localFile ifNotNil: [:file|^ file buildAndOpen]. ^ self newLocalWith: aString. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/instance/applyUserInterfaceTheme.st b/Squello-Core.package/SPBBoard.class/instance/applyUserInterfaceTheme.st new file mode 100644 index 00000000..681b6e97 --- /dev/null +++ b/Squello-Core.package/SPBBoard.class/instance/applyUserInterfaceTheme.st @@ -0,0 +1,7 @@ +initialize-release +applyUserInterfaceTheme + + super applyUserInterfaceTheme. + addColumnColumn ifNotNil: [ + addColumnColumn color: ((self userInterfaceTheme get: #color for: SystemWindow) ifNil: [Color lightGray]). + ]. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/instance/boardName.st b/Squello-Core.package/SPBBoard.class/instance/boardName.st new file mode 100644 index 00000000..010b9d46 --- /dev/null +++ b/Squello-Core.package/SPBBoard.class/instance/boardName.st @@ -0,0 +1,5 @@ +accessing +boardName + + boardName ifNil: [boardName := self boardProvider queryBoardName]. + ^ boardName. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/instance/buildColumnAreaChildren.st b/Squello-Core.package/SPBBoard.class/instance/buildColumnAreaChildren.st index defc4e0a..f4d2c5b8 100644 --- a/Squello-Core.package/SPBBoard.class/instance/buildColumnAreaChildren.st +++ b/Squello-Core.package/SPBBoard.class/instance/buildColumnAreaChildren.st @@ -4,7 +4,8 @@ buildColumnAreaChildren | children | children := ((self buildColumnSpecWith: self usedBuilder) collect: [:spec | self usedBuilder build: spec]) asOrderedCollection. - children - add: ((self usedBuilder build: (self buildAddColumnButtonPanelSpecWith: self usedBuilder)) color: Color lightGray). + addColumnColumn := self usedBuilder build: (self buildAddColumnButtonPanelSpecWith: self usedBuilder). + children add: addColumnColumn. + self applyUserInterfaceTheme. ^ children. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/instance/buildSidebarDescriptionSpecWith..st b/Squello-Core.package/SPBBoard.class/instance/buildSidebarDescriptionSpecWith..st index aaed10c3..44af53cc 100644 --- a/Squello-Core.package/SPBBoard.class/instance/buildSidebarDescriptionSpecWith..st +++ b/Squello-Core.package/SPBBoard.class/instance/buildSidebarDescriptionSpecWith..st @@ -6,5 +6,5 @@ buildSidebarDescriptionSpecWith: aBuilder name: #sidebarDescription; setText: #updateActiveCardDescription:; getText: #activeCardDescription; - frame: (0@0.4 corner: 1@1); + frame: (0@0.5 corner: 1@1); yourself. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/instance/buildWith..st b/Squello-Core.package/SPBBoard.class/instance/buildWith..st index 47cec210..1ba12b63 100644 --- a/Squello-Core.package/SPBBoard.class/instance/buildWith..st +++ b/Squello-Core.package/SPBBoard.class/instance/buildWith..st @@ -5,7 +5,7 @@ buildWith: aBuilder self usedBuilder: aBuilder. spec := aBuilder pluggableWindowSpec new model: self; - label: 'Squello Project Board'; + label: self boardName; minimumExtent: 1040@400; children: {self buildColumnAreaSpecWith: aBuilder. diff --git a/Squello-Core.package/SPBBoard.class/instance/initialize.st b/Squello-Core.package/SPBBoard.class/instance/initialize.st index 30a60aac..6642cb0e 100644 --- a/Squello-Core.package/SPBBoard.class/instance/initialize.st +++ b/Squello-Core.package/SPBBoard.class/instance/initialize.st @@ -2,6 +2,7 @@ initialize-release initialize super initialize. + self isLocal: false. self boardProvider: SPBGithubBoardProvider new; changeProvider: SPBGithubChangeProvider new. diff --git a/Squello-Core.package/SPBBoard.class/instance/isLocal..st b/Squello-Core.package/SPBBoard.class/instance/isLocal..st new file mode 100644 index 00000000..e90cdeff --- /dev/null +++ b/Squello-Core.package/SPBBoard.class/instance/isLocal..st @@ -0,0 +1,4 @@ +accessing +isLocal: aBoolean + + isLocal := aBoolean. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/instance/isLocal.st b/Squello-Core.package/SPBBoard.class/instance/isLocal.st new file mode 100644 index 00000000..83786478 --- /dev/null +++ b/Squello-Core.package/SPBBoard.class/instance/isLocal.st @@ -0,0 +1,5 @@ +accessing +isLocal + + isLocal ifNil: [self isLocal: false]. + ^ isLocal. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/instance/loadProject..st b/Squello-Core.package/SPBBoard.class/instance/loadProject..st index 575bd26a..66344489 100644 --- a/Squello-Core.package/SPBBoard.class/instance/loadProject..st +++ b/Squello-Core.package/SPBBoard.class/instance/loadProject..st @@ -2,8 +2,8 @@ initialize-release loadProject: aString (aString includesSubstring: '/projects') - ifTrue: [[self boardProvider parseInputBoardUrl: aString] - on: Error do: [self errorInvalidUrl.]] + ifTrue: [self parseProjectFromUrl: aString] + "on: Error do: [self errorInvalidUrl.]]" ifFalse: [[self chooseProjectFromUrl: aString] on: Error do: [Error signal]]. diff --git a/Squello-Core.package/SPBBoard.class/instance/makeLocal.st b/Squello-Core.package/SPBBoard.class/instance/makeLocal.st index 06b9702d..c0013f02 100644 --- a/Squello-Core.package/SPBBoard.class/instance/makeLocal.st +++ b/Squello-Core.package/SPBBoard.class/instance/makeLocal.st @@ -1,4 +1,5 @@ initialize-release makeLocal + self isLocal: true. self boardProvider: SPBLocalBoardProvider new. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/instance/parseProjectFromUrl..st b/Squello-Core.package/SPBBoard.class/instance/parseProjectFromUrl..st new file mode 100644 index 00000000..c821b25f --- /dev/null +++ b/Squello-Core.package/SPBBoard.class/instance/parseProjectFromUrl..st @@ -0,0 +1,8 @@ +initialize-release +parseProjectFromUrl: aString + + (aString includesSubstring: '/orgs/') + ifTrue: [self boardProvider: SPBGithubOrgBoardProvider new]. + (aString includesSubstring: '/users/') + ifTrue: [self boardProvider: SPBGithubUserBoardProvider new]. + self boardProvider parseInputBoardUrl: aString. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/instance/parseRepoFromUrl..st b/Squello-Core.package/SPBBoard.class/instance/parseRepoFromUrl..st deleted file mode 100644 index 458ab715..00000000 --- a/Squello-Core.package/SPBBoard.class/instance/parseRepoFromUrl..st +++ /dev/null @@ -1,8 +0,0 @@ -initialize-release -parseRepoFromUrl: aString - - | pathComponents url | - url := aString asUrl. - pathComponents := url fullPath splitBy: '/'. - self boardProvider user: (pathComponents at: 2). - self boardProvider repo: (pathComponents at: 3). \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/instance/saveBoard.st b/Squello-Core.package/SPBBoard.class/instance/saveBoard.st index 887d4faa..ee13e547 100644 --- a/Squello-Core.package/SPBBoard.class/instance/saveBoard.st +++ b/Squello-Core.package/SPBBoard.class/instance/saveBoard.st @@ -1,4 +1,13 @@ updating saveBoard - SPBBoardSaver defaultSaver save: self as: self boardProvider repo. \ No newline at end of file + self isLocal + ifTrue: [ + SPBLandingPage changeRecentLocalBoards: self boardProvider repo. + SPBBoardSaver defaultSaver save: self as: self boardProvider repo.] + ifFalse: [ + SPBLandingPage changeRecentGitHubBoards: { + #name -> self boardName. + #url -> self url. + #repo -> self boardProvider repo} asDictionary. + ]. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/instance/setupColumns.st b/Squello-Core.package/SPBBoard.class/instance/setupColumns.st index 03390290..635d7c82 100644 --- a/Squello-Core.package/SPBBoard.class/instance/setupColumns.st +++ b/Squello-Core.package/SPBBoard.class/instance/setupColumns.st @@ -4,8 +4,11 @@ setupColumns self columns do: [:column | column pasteup: (self usedBuilder widgetAt: column id). column - initializeIndicator; - fetchAndBuildCards; + initializeIndicator]. + self boardProvider fetchCardsIntoColumns: self columns. + self columns + do: [:column| + column board: self; resizeToFitCards; initializeBottomDetection]. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/instance/url.st b/Squello-Core.package/SPBBoard.class/instance/url.st new file mode 100644 index 00000000..525b48ed --- /dev/null +++ b/Squello-Core.package/SPBBoard.class/instance/url.st @@ -0,0 +1,4 @@ +accessing +url + + ^ self boardProvider url. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoard.class/methodProperties.json b/Squello-Core.package/SPBBoard.class/methodProperties.json index 25beb63e..934ea893 100644 --- a/Squello-Core.package/SPBBoard.class/methodProperties.json +++ b/Squello-Core.package/SPBBoard.class/methodProperties.json @@ -6,22 +6,24 @@ "lastProject:" : "tk 7/30/2022 21:54", "localPrefix" : "FP 5/27/2024 17:40", "newLocalWith:" : "FP 5/23/2024 09:43", - "newWith:" : "mcr 8/4/2022 01:09", - "open" : "FP 5/27/2024 17:40", - "openInBackground" : "FP 5/27/2024 15:33", - "openLocal:" : "FP 6/3/2024 11:21", + "newWith:" : "FP 6/15/2024 13:20", + "open" : "FP 6/10/2024 16:24", + "openFromPrompt:" : "FP 6/10/2024 16:26", + "openLocal:" : "FP 6/8/2024 11:59", "promptUrl" : "FP 5/23/2024 11:00", "registerInAppsMenu" : "lo 6/4/2022 23:19" }, "instance" : { "activeCard" : "mcr 8/1/2022 02:31", "addColumn" : "mcr 8/4/2022 00:40", "addColumnLocal:" : "lo 8/3/2022 12:34", + "applyUserInterfaceTheme" : "AH 6/20/2024 16:20", + "boardName" : "FP 6/10/2024 15:37", "boardProvider" : "jh 7/29/2022 11:34", "boardProvider:" : "lo 7/31/2022 16:32", "buildAddColumnButtonPanelSpecWith:" : "lo 8/1/2022 13:41", "buildAddColumnButtonSpecWith:" : "lo 8/1/2022 11:01", "buildAndOpen" : "mcr 8/3/2022 23:25", - "buildColumnAreaChildren" : "lo 8/1/2022 10:56", + "buildColumnAreaChildren" : "AH 6/20/2024 16:19", "buildColumnAreaSpecWith:" : "tk 7/30/2022 21:40", "buildColumnAreaSpecWith:width:" : "lo 8/1/2022 11:01", "buildColumnBodySpecWith:and:" : "lo 8/1/2022 11:00", @@ -35,7 +37,7 @@ "buildSidebarAssigneeListSpecWith:" : "lo 8/1/2022 11:06", "buildSidebarAssigneePanelSpecWith:" : "lo 8/1/2022 11:06", "buildSidebarCloseButtonSpecWith:" : "AH 5/25/2024 17:32", - "buildSidebarDescriptionSpecWith:" : "lo 8/1/2022 11:07", + "buildSidebarDescriptionSpecWith:" : "L.L. 6/19/2024 16:50", "buildSidebarLabelListSpecWith:" : "lo 8/1/2022 11:07", "buildSidebarLabelPanelSpecWith:" : "lo 8/1/2022 11:07", "buildSidebarPotentialAssigneeListSpecWith:" : "lo 8/1/2022 11:07", @@ -43,7 +45,7 @@ "buildSidebarSpecWith:" : "mcr 8/1/2022 00:48", "buildSidebarSpecWith:width:" : "AH 5/25/2024 15:26", "buildSidebarTitleSpecWith:" : "lo 8/1/2022 11:08", - "buildWith:" : "FP 5/27/2024 18:00", + "buildWith:" : "FP 6/10/2024 15:36", "changeActiveCardTo:" : "AH 6/14/2024 13:18", "changeProvider" : "lo 7/8/2022 14:00", "changeProvider:" : "lo 7/8/2022 15:29", @@ -58,21 +60,24 @@ "errorInvalidUrl" : "mcr 8/2/2022 22:17", "errorNoProjects" : "mcr 8/2/2022 22:15", "indexOfColumn:" : "lo 8/3/2022 12:57", - "initialize" : "jh 7/29/2022 11:36", - "loadProject:" : "mcr 8/4/2022 01:24", - "makeLocal" : "FP 5/23/2024 09:30", + "initialize" : "FP 6/10/2024 14:43", + "isLocal" : "FP 6/10/2024 15:01", + "isLocal:" : "FP 6/10/2024 14:43", + "loadProject:" : "FP 6/15/2024 13:18", + "makeLocal" : "FP 6/10/2024 14:44", "parseLocalRepoFromUrl:" : "FP 5/27/2024 17:13", - "parseRepoFromUrl:" : "mcr 8/4/2022 01:06", + "parseProjectFromUrl:" : "FP 6/15/2024 14:10", "removeColumn:" : "lo 8/1/2022 14:09", "rerenderColumns" : "lo 7/31/2022 16:42", "resizeColumnArea" : "jh 8/3/2022 01:07", - "saveBoard" : "FP 6/3/2024 11:22", + "saveBoard" : "FP 6/11/2024 13:38", "setUpChangeProvider" : "Haru 5/13/2024 14:46", - "setupColumns" : "jh 8/3/2022 00:48", + "setupColumns" : "FP 6/17/2024 17:13", "sidebar" : "mcr 8/1/2022 00:44", "sidebar:" : "mcr 8/1/2022 00:44", "update:with:" : "lo 8/3/2022 12:35", "updateColumns" : "mcr 8/1/2022 01:27", + "url" : "FP 6/10/2024 15:42", "usedBuilder" : "lo 5/26/2022 15:02", "usedBuilder:" : "lo 5/26/2022 15:02", "window" : "lo 7/3/2022 14:09", diff --git a/Squello-Core.package/SPBBoard.class/properties.json b/Squello-Core.package/SPBBoard.class/properties.json index 4b2bcdc6..c5ccc6ae 100644 --- a/Squello-Core.package/SPBBoard.class/properties.json +++ b/Squello-Core.package/SPBBoard.class/properties.json @@ -11,7 +11,10 @@ "usedBuilder", "columns", "window", - "sidebar" ], + "sidebar", + "isLocal", + "boardName", + "addColumnColumn" ], "name" : "SPBBoard", "pools" : [ ], diff --git a/Squello-Core.package/SPBBoardSaver.class/instance/load..st b/Squello-Core.package/SPBBoardSaver.class/instance/load..st index 9f6afe38..010db6be 100644 --- a/Squello-Core.package/SPBBoardSaver.class/instance/load..st +++ b/Squello-Core.package/SPBBoardSaver.class/instance/load..st @@ -1,4 +1,4 @@ save/load load: anObject - ^ (self boards at: anObject ifAbsent: nil) veryDeepCopy. \ No newline at end of file + ^ (self loadReadonly: anObject) veryDeepCopy. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoardSaver.class/instance/loadReadonly..st b/Squello-Core.package/SPBBoardSaver.class/instance/loadReadonly..st new file mode 100644 index 00000000..cf179892 --- /dev/null +++ b/Squello-Core.package/SPBBoardSaver.class/instance/loadReadonly..st @@ -0,0 +1,4 @@ +save/load +loadReadonly: anObject + + ^ self boards at: anObject ifAbsent: nil. \ No newline at end of file diff --git a/Squello-Core.package/SPBBoardSaver.class/methodProperties.json b/Squello-Core.package/SPBBoardSaver.class/methodProperties.json index 3f25714a..514cb03d 100644 --- a/Squello-Core.package/SPBBoardSaver.class/methodProperties.json +++ b/Squello-Core.package/SPBBoardSaver.class/methodProperties.json @@ -6,5 +6,6 @@ "boards:" : "FP 6/3/2024 11:15", "clear" : "FP 6/3/2024 11:15", "delete:" : "FP 6/3/2024 11:15", - "load:" : "FP 6/3/2024 11:15", + "load:" : "FP 6/8/2024 11:58", + "loadReadonly:" : "FP 6/8/2024 11:57", "save:as:" : "FP 6/3/2024 11:15" } } diff --git a/Squello-Core.package/SPBCard.class/class/buildFromRemoteProject.intoColumns..st b/Squello-Core.package/SPBCard.class/class/buildFromRemoteProject.intoColumns..st new file mode 100644 index 00000000..b9bb7f39 --- /dev/null +++ b/Squello-Core.package/SPBCard.class/class/buildFromRemoteProject.intoColumns..st @@ -0,0 +1,30 @@ +instance creation +buildFromRemoteProject: aJsonObject intoColumns: aDictionairy + + | columnID column contentType body instance title content isIssueOrPR isDraftIssue cardId | + self flag: #TODO. + "TODO: refactor this into smaller methods!" + columnID := (aJsonObject at: 'fieldValueByName') at: 'optionId'. + column := aDictionairy at: columnID. + column ifNil: [self error: 'The Card has no matching Column'.]. + contentType := aJsonObject at: 'type'. + content := aJsonObject at: 'content'. + title := content at: 'title'. + body := content at: 'body'. + cardId := aJsonObject at: 'id'. + instance := self newWithTitle: title body: body id: cardId into: column. + isDraftIssue := contentType = 'DRAFT_ISSUE'. + isDraftIssue ifTrue: [instance isNote: true.]. + isIssueOrPR := (contentType = 'ISSUE') or: [contentType = 'PULL_REQUEST']. + instance + issueId: (content at: 'id'); + assignees: (((content at: 'assignees') at: 'nodes') collect: [:each| SPBAssignee newFrom: each.]) asOrderedCollection; + labels: OrderedCollection new; + isClosed: (isDraftIssue not and: [content at: 'closed']). + isIssueOrPR ifTrue: [ + instance labels: (((content at: 'labels') at: 'nodes') collect: [:each| SPBLabel newFrom: each.]) asOrderedCollection]. + instance buildUI. + instance openInWorld. + + instance setCardColumn: column. + ^ instance. \ No newline at end of file diff --git a/Squello-Core.package/SPBCard.class/class/newFrom.with..st b/Squello-Core.package/SPBCard.class/class/newFrom.with..st index 2bcbe943..8219ae14 100644 --- a/Squello-Core.package/SPBCard.class/class/newFrom.with..st +++ b/Squello-Core.package/SPBCard.class/class/newFrom.with..st @@ -2,7 +2,7 @@ instance creation newFrom: aJsonObject with: anSPBColumn ^ self new - id: (aJsonObject at: 'id'); + cardId: (aJsonObject at: 'id'); boardProvider: anSPBColumn boardProvider; changeProvider: anSPBColumn changeProvider; setupMouseEvents; diff --git a/Squello-Core.package/SPBCard.class/class/newWithTitle.body.id.into..st b/Squello-Core.package/SPBCard.class/class/newWithTitle.body.id.into..st index 2e2af11b..e67a7485 100644 --- a/Squello-Core.package/SPBCard.class/class/newWithTitle.body.id.into..st +++ b/Squello-Core.package/SPBCard.class/class/newWithTitle.body.id.into..st @@ -2,7 +2,7 @@ instance creation newWithTitle: aString body: anotherString id: anObject into: anSPBColumn ^ self new - id: anObject; + cardId: anObject; boardProvider: anSPBColumn boardProvider; changeProvider: anSPBColumn changeProvider; setupMouseEvents; diff --git a/Squello-Core.package/SPBCard.class/instance/cardId..st b/Squello-Core.package/SPBCard.class/instance/cardId..st new file mode 100644 index 00000000..930c243f --- /dev/null +++ b/Squello-Core.package/SPBCard.class/instance/cardId..st @@ -0,0 +1,4 @@ +accessing +cardId: anObject + + id := anObject. \ No newline at end of file diff --git a/Squello-Core.package/SPBCard.class/instance/cardId.st b/Squello-Core.package/SPBCard.class/instance/cardId.st new file mode 100644 index 00000000..8092258d --- /dev/null +++ b/Squello-Core.package/SPBCard.class/instance/cardId.st @@ -0,0 +1,4 @@ +accessing +cardId + + ^ id. \ No newline at end of file diff --git a/Squello-Core.package/SPBCard.class/instance/id..st b/Squello-Core.package/SPBCard.class/instance/id..st index 10d4ea52..163cfdde 100644 --- a/Squello-Core.package/SPBCard.class/instance/id..st +++ b/Squello-Core.package/SPBCard.class/instance/id..st @@ -1,5 +1,5 @@ accessing -id: aNumber +id: anObject - "card ID, not issue number" - id := aNumber. \ No newline at end of file + "just for backwards compatability, do NOT use this" + self cardId: anObject. \ No newline at end of file diff --git a/Squello-Core.package/SPBCard.class/instance/id.st b/Squello-Core.package/SPBCard.class/instance/id.st index d14d75c2..5b1ccb77 100644 --- a/Squello-Core.package/SPBCard.class/instance/id.st +++ b/Squello-Core.package/SPBCard.class/instance/id.st @@ -1,5 +1,5 @@ accessing -id - - "card ID, not issue number" - ^ id. \ No newline at end of file +id + + "just for backwards compatibility, do NOT use this" + ^ self cardId. \ No newline at end of file diff --git a/Squello-Core.package/SPBCard.class/methodProperties.json b/Squello-Core.package/SPBCard.class/methodProperties.json index 28ea27d1..97f22793 100644 --- a/Squello-Core.package/SPBCard.class/methodProperties.json +++ b/Squello-Core.package/SPBCard.class/methodProperties.json @@ -1,12 +1,13 @@ { "class" : { "buildFromRemote:into:" : "mcr 8/3/2022 14:56", + "buildFromRemoteProject:intoColumns:" : "FP 6/19/2024 18:07", "buildNew:into:" : "mcr 8/3/2022 14:53", "buildNewFromRemote:into:" : "mcr 8/3/2022 14:56", "defaultCardExtent" : "AH 6/16/2024 14:53", "indicatorCardEdgeOffset" : "lo 8/1/2022 12:23", - "newFrom:with:" : "FP 5/20/2024 19:15", - "newWithTitle:body:id:into:" : "FP 5/23/2024 10:26" }, + "newFrom:with:" : "FP 6/19/2024 16:48", + "newWithTitle:body:id:into:" : "FP 6/19/2024 16:48" }, "instance" : { "=" : "lo 7/31/2022 18:14", "addAssignee:" : "lo 7/31/2022 16:22", @@ -34,6 +35,8 @@ "buildTitle" : "AH 6/14/2024 12:14", "buildUI" : "AH 6/16/2024 13:06", "calculateLabelPositionFor:" : "AH 6/20/2024 23:55", + "cardId" : "FP 6/19/2024 16:52", + "cardId:" : "FP 6/19/2024 16:51", "cardIndicatorExtent" : "lo 8/1/2022 11:52", "changeProvider" : "lo 7/8/2022 15:38", "changeProvider:" : "jh 7/9/2022 10:18", @@ -47,8 +50,8 @@ "description" : "mcr 7/14/2022 13:32", "description:" : "mcr 5/21/2022 20:49", "hash" : "lo 7/31/2022 18:13", - "id" : "LW 7/14/2022 10:47", - "id:" : "LW 7/14/2022 10:47", + "id" : "FP 6/19/2024 17:01", + "id:" : "FP 6/19/2024 17:00", "inbetweenLabelOffset" : "lo 8/1/2022 11:18", "indicateDroppointWith:" : "mcr 8/4/2022 01:45", "initialize" : "AH 6/14/2024 13:20", diff --git a/Squello-Core.package/SPBColumn.class/instance/fetchAndBuildCards.st b/Squello-Core.package/SPBColumn.class/instance/fetchAndBuildCards.st deleted file mode 100644 index 497184bf..00000000 --- a/Squello-Core.package/SPBColumn.class/instance/fetchAndBuildCards.st +++ /dev/null @@ -1,4 +0,0 @@ -creation -fetchAndBuildCards - - self boardProvider createCardsFromColumn: self. \ No newline at end of file diff --git a/Squello-Core.package/SPBColumn.class/methodProperties.json b/Squello-Core.package/SPBColumn.class/methodProperties.json index 7e868728..4c161452 100644 --- a/Squello-Core.package/SPBColumn.class/methodProperties.json +++ b/Squello-Core.package/SPBColumn.class/methodProperties.json @@ -38,7 +38,6 @@ "defaultTopCardPosition" : "mcr 8/3/2022 23:46", "defaultWidth" : "LW 7/14/2022 11:18", "deleteCard:" : "jh 7/9/2022 18:05", - "fetchAndBuildCards" : "mcr 8/3/2022 13:59", "fetchAndBuildSingleCard:" : "mcr 8/3/2022 23:17", "getNextCardAfter:" : "mcr 8/4/2022 01:56", "hash" : "LW 7/14/2022 11:12", diff --git a/Squello-Core.package/SPBGithubAPI.class/instance/addAssignee.toIssue.user.repo..st b/Squello-Core.package/SPBGithubAPI.class/instance/addAssignee.toIssue.user.repo..st index b8627dfa..f74c7470 100644 --- a/Squello-Core.package/SPBGithubAPI.class/instance/addAssignee.toIssue.user.repo..st +++ b/Squello-Core.package/SPBGithubAPI.class/instance/addAssignee.toIssue.user.repo..st @@ -11,4 +11,4 @@ addAssignee: aDictionary toIssue: aNumber user: aString repo: anotherString stream := WriteStream with: OrderedCollection new. aDictionary jsonWriteOn: stream. - self postRequestToURL: url withData: stream. \ No newline at end of file + ^ self postRequestToURL: url withData: stream. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubAPI.class/instance/addLabel.toIssue.user.repo..st b/Squello-Core.package/SPBGithubAPI.class/instance/addLabel.toIssue.user.repo..st index f3b23859..f2ce16f7 100644 --- a/Squello-Core.package/SPBGithubAPI.class/instance/addLabel.toIssue.user.repo..st +++ b/Squello-Core.package/SPBGithubAPI.class/instance/addLabel.toIssue.user.repo..st @@ -11,4 +11,4 @@ addLabel: aDictionary toIssue: aNumber user: aString repo: anotherString stream := WriteStream with: OrderedCollection new. aDictionary jsonWriteOn: stream. - self postRequestToURL: url withData: stream. \ No newline at end of file + ^ self postRequestToURL: url withData: stream. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubAPI.class/instance/getUser..st b/Squello-Core.package/SPBGithubAPI.class/instance/getUser..st index 09321deb..defa83d5 100644 --- a/Squello-Core.package/SPBGithubAPI.class/instance/getUser..st +++ b/Squello-Core.package/SPBGithubAPI.class/instance/getUser..st @@ -1,4 +1,4 @@ -api call post request +api calls get request getUser: aString | url | diff --git a/Squello-Core.package/SPBGithubAPI.class/instance/moveCard.withPostData..st b/Squello-Core.package/SPBGithubAPI.class/instance/moveCard.withPostData..st index 10fbbe12..a490a110 100644 --- a/Squello-Core.package/SPBGithubAPI.class/instance/moveCard.withPostData..st +++ b/Squello-Core.package/SPBGithubAPI.class/instance/moveCard.withPostData..st @@ -11,4 +11,4 @@ moveCard: aNumber withPostData: aDictionary stream := WriteStream with: OrderedCollection new. aDictionary jsonWriteOn: stream. - self postRequestToURL: url withData: stream. \ No newline at end of file + ^ self postRequestToURL: url withData: stream. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubAPI.class/instance/moveColum.withPostData..st b/Squello-Core.package/SPBGithubAPI.class/instance/moveColum.withPostData..st index 02b3769d..f51d3d53 100644 --- a/Squello-Core.package/SPBGithubAPI.class/instance/moveColum.withPostData..st +++ b/Squello-Core.package/SPBGithubAPI.class/instance/moveColum.withPostData..st @@ -10,4 +10,4 @@ moveColum: aNumber withPostData: aDictionary stream := WriteStream with: OrderedCollection new. aDictionary jsonWriteOn: stream. - self postRequestToURL: url withData: stream. \ No newline at end of file + ^ self postRequestToURL: url withData: stream. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubAPI.class/instance/queryProject..st b/Squello-Core.package/SPBGithubAPI.class/instance/queryProject..st new file mode 100644 index 00000000..afbd52e0 --- /dev/null +++ b/Squello-Core.package/SPBGithubAPI.class/instance/queryProject..st @@ -0,0 +1,8 @@ +api calls get request +queryProject: aNumber + + "aNumber => Project ID" + | url | + url := 'https://api.github.com/projects/' , aNumber. + + ^ self getRequestToURL: url. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubAPI.class/methodProperties.json b/Squello-Core.package/SPBGithubAPI.class/methodProperties.json index 26829ae7..654892bb 100644 --- a/Squello-Core.package/SPBGithubAPI.class/methodProperties.json +++ b/Squello-Core.package/SPBGithubAPI.class/methodProperties.json @@ -5,9 +5,9 @@ "username" : "mcr 5/28/2022 00:49", "username:" : "mcr 5/27/2022 23:06" }, "instance" : { - "addAssignee:toIssue:user:repo:" : "NTK 7/30/2022 11:53", + "addAssignee:toIssue:user:repo:" : "FP 6/15/2024 13:40", "addIssue:toColumn:" : "lo 6/6/2022 12:51", - "addLabel:toIssue:user:repo:" : "lo 7/13/2022 19:08", + "addLabel:toIssue:user:repo:" : "FP 6/15/2024 13:40", "createColumn:inProject:" : "mcr 5/28/2022 00:10", "createDeleteRequestTo:" : "mcr 5/27/2022 23:07", "createGetRequestTo:" : "jh 5/28/2022 17:16", @@ -22,13 +22,14 @@ "getWebhookChanges:" : "jh 6/26/2022 13:22", "listPossibleAssigneesForUser:repo:" : "mcr 5/28/2022 00:47", "listPossibleLabelsForUser:repo:" : "lo 6/5/2022 14:33", - "moveCard:withPostData:" : "lo 7/13/2022 20:13", - "moveColum:withPostData:" : "tk 7/30/2022 21:58", + "moveCard:withPostData:" : "FP 6/15/2024 13:40", + "moveColum:withPostData:" : "FP 6/15/2024 13:39", "patchRequestToURL:withData:" : "mcr 8/4/2022 00:01", "postRequestToURL:withData:" : "mcr 8/4/2022 00:01", "queryCardContent:" : "mcr 5/28/2022 02:33", "queryCards:" : "mcr 5/28/2022 02:31", "queryColumns:" : "mcr 5/28/2022 02:31", + "queryProject:" : "FP 6/10/2024 14:55", "queryProjectsForUser:repo:" : "jh 6/1/2022 00:56", "queryScopeHeaderOnly:" : "mcr 8/2/2022 21:23", "querySingleCard:" : "mcr 8/3/2022 14:18", diff --git a/Squello-Core.package/SPBGithubBoardProvider.class/instance/boardNr..st b/Squello-Core.package/SPBGithubBoardProvider.class/instance/boardNr..st new file mode 100644 index 00000000..4aaffb37 --- /dev/null +++ b/Squello-Core.package/SPBGithubBoardProvider.class/instance/boardNr..st @@ -0,0 +1,4 @@ +accessing +boardNr: aNumber + + ^ boardNr := aNumber. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubBoardProvider.class/instance/boardNr.st b/Squello-Core.package/SPBGithubBoardProvider.class/instance/boardNr.st new file mode 100644 index 00000000..feaa9aa8 --- /dev/null +++ b/Squello-Core.package/SPBGithubBoardProvider.class/instance/boardNr.st @@ -0,0 +1,5 @@ +accessing +boardNr + + boardNr ifNil: [self boardNr: 1]. + ^ boardNr. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubBoardProvider.class/instance/fetchCardsIntoColumns..st b/Squello-Core.package/SPBGithubBoardProvider.class/instance/fetchCardsIntoColumns..st new file mode 100644 index 00000000..0d050e50 --- /dev/null +++ b/Squello-Core.package/SPBGithubBoardProvider.class/instance/fetchCardsIntoColumns..st @@ -0,0 +1,5 @@ +cards +fetchCardsIntoColumns: anOrderedCollection + + "anOrderedCollection => Collection of SPBColumn" + anOrderedCollection do: [:each | self createCardsFromColumn: each]. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubBoardProvider.class/instance/parseInputBoardUrl..st b/Squello-Core.package/SPBGithubBoardProvider.class/instance/parseInputBoardUrl..st index 375baed6..db974c42 100644 --- a/Squello-Core.package/SPBGithubBoardProvider.class/instance/parseInputBoardUrl..st +++ b/Squello-Core.package/SPBGithubBoardProvider.class/instance/parseInputBoardUrl..st @@ -1,10 +1,10 @@ initialize-release parseInputBoardUrl: aString - | projects url boardNr | + | projects url| url := aString asUrl. projects := self getProjects: aString. - boardNr := url fileName asNumber. - (projects size < boardNr or: [boardNr < 1]) + self boardNr: url fileName asNumber. + (projects size < self boardNr or: [self boardNr < 1]) ifTrue: [Error signal]. - self projectId: ((projects at: boardNr) at: 'id'). \ No newline at end of file + self projectId: ((projects at: self boardNr) at: 'id'). \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubBoardProvider.class/instance/queryBoardName.st b/Squello-Core.package/SPBGithubBoardProvider.class/instance/queryBoardName.st new file mode 100644 index 00000000..b5c1012f --- /dev/null +++ b/Squello-Core.package/SPBGithubBoardProvider.class/instance/queryBoardName.st @@ -0,0 +1,4 @@ +board +queryBoardName + + ^ (self api queryProject: self projectId) at: 'name'. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubBoardProvider.class/instance/url.st b/Squello-Core.package/SPBGithubBoardProvider.class/instance/url.st new file mode 100644 index 00000000..da416614 --- /dev/null +++ b/Squello-Core.package/SPBGithubBoardProvider.class/instance/url.st @@ -0,0 +1,4 @@ +accessing +url + + ^ 'https://github.com/' , self user ,'/', self repo, '/projects/', self boardNr. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubBoardProvider.class/methodProperties.json b/Squello-Core.package/SPBGithubBoardProvider.class/methodProperties.json index a69e0c85..8d86a9cd 100644 --- a/Squello-Core.package/SPBGithubBoardProvider.class/methodProperties.json +++ b/Squello-Core.package/SPBGithubBoardProvider.class/methodProperties.json @@ -6,6 +6,8 @@ "addLabel:toCard:" : "LW 7/30/2022 15:42", "api" : "mcr 5/28/2022 01:24", "api:" : "tk 7/30/2022 22:20", + "boardNr" : "FP 6/10/2024 15:47", + "boardNr:" : "FP 6/10/2024 15:47", "checkForError:" : "jh 7/31/2022 13:54", "checkIfUserExists:" : "NTK 7/30/2022 12:45", "createCardsFromColumn:" : "FP 5/20/2024 20:01", @@ -14,6 +16,7 @@ "createSingleCard:into:" : "mcr 8/4/2022 02:10", "deleteAssignee:fromCard:" : "LW 7/30/2022 15:42", "deleteLabel:fromCard:" : "lo 7/13/2022 19:44", + "fetchCardsIntoColumns:" : "FP 6/19/2024 18:28", "getProjects" : "mcr 8/4/2022 02:35", "getProjects:" : "mcr 8/4/2022 02:36", "getRepo" : "mcr 8/2/2022 19:38", @@ -25,11 +28,13 @@ "moveCardToTop:toColumn:" : "tk 7/30/2022 22:21", "moveColumn:after:" : "tk 7/30/2022 22:21", "moveColumnToFront:" : "tk 7/30/2022 22:01", - "parseInputBoardUrl:" : "mcr 8/4/2022 02:13", + "parseInputBoardUrl:" : "FP 6/15/2024 13:21", "projectId" : "lo 7/13/2022 20:17", "projectId:" : "lo 7/13/2022 20:18", + "queryBoardName" : "FP 6/16/2024 15:39", "queryCardContent:" : "mcr 5/28/2022 02:30", "queryColumns" : "mcr 8/3/2022 14:24", "renameColumn:to:" : "tk 7/30/2022 22:22", "updateCard:" : "AH 6/1/2024 18:31", + "url" : "FP 6/10/2024 15:47", "webhookId" : "NTK 7/30/2022 12:46" } } diff --git a/Squello-Core.package/SPBGithubBoardProvider.class/properties.json b/Squello-Core.package/SPBGithubBoardProvider.class/properties.json index 0f3c6c9f..fab35084 100644 --- a/Squello-Core.package/SPBGithubBoardProvider.class/properties.json +++ b/Squello-Core.package/SPBGithubBoardProvider.class/properties.json @@ -8,7 +8,8 @@ "instvars" : [ "api", "projectId", - "webhookId" ], + "webhookId", + "boardNr" ], "name" : "SPBGithubBoardProvider", "pools" : [ ], diff --git a/Squello-Core.package/SPBGithubOrgBoardProvider.class/README.md b/Squello-Core.package/SPBGithubOrgBoardProvider.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/Squello-Core.package/SPBGithubOrgBoardProvider.class/instance/api.st b/Squello-Core.package/SPBGithubOrgBoardProvider.class/instance/api.st new file mode 100644 index 00000000..bab93f3b --- /dev/null +++ b/Squello-Core.package/SPBGithubOrgBoardProvider.class/instance/api.st @@ -0,0 +1,5 @@ +accessing +api + + api ifNil: [api := SPBOrgGithubAPI new]. + ^ api. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubOrgBoardProvider.class/instance/urlString.st b/Squello-Core.package/SPBGithubOrgBoardProvider.class/instance/urlString.st new file mode 100644 index 00000000..4b8a740b --- /dev/null +++ b/Squello-Core.package/SPBGithubOrgBoardProvider.class/instance/urlString.st @@ -0,0 +1,4 @@ +accessing +urlString + + ^ 'orgs'. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubOrgBoardProvider.class/methodProperties.json b/Squello-Core.package/SPBGithubOrgBoardProvider.class/methodProperties.json new file mode 100644 index 00000000..09b4a016 --- /dev/null +++ b/Squello-Core.package/SPBGithubOrgBoardProvider.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "api" : "FP 6/15/2024 14:05", + "urlString" : "FP 6/17/2024 18:08" } } diff --git a/Squello-Core.package/SPBGithubOrgBoardProvider.class/properties.json b/Squello-Core.package/SPBGithubOrgBoardProvider.class/properties.json new file mode 100644 index 00000000..d40073e1 --- /dev/null +++ b/Squello-Core.package/SPBGithubOrgBoardProvider.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Squello-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "SPBGithubOrgBoardProvider", + "pools" : [ + ], + "super" : "SPBNewGithubBoardProvider", + "type" : "normal" } diff --git a/Squello-Core.package/SPBGithubUserBoardProvider.class/README.md b/Squello-Core.package/SPBGithubUserBoardProvider.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/Squello-Core.package/SPBGithubUserBoardProvider.class/instance/api.st b/Squello-Core.package/SPBGithubUserBoardProvider.class/instance/api.st new file mode 100644 index 00000000..2b66546f --- /dev/null +++ b/Squello-Core.package/SPBGithubUserBoardProvider.class/instance/api.st @@ -0,0 +1,5 @@ +accessing +api + + api ifNil: [api := SPBUserGithubAPI new]. + ^ api. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubUserBoardProvider.class/instance/urlString.st b/Squello-Core.package/SPBGithubUserBoardProvider.class/instance/urlString.st new file mode 100644 index 00000000..fa82677c --- /dev/null +++ b/Squello-Core.package/SPBGithubUserBoardProvider.class/instance/urlString.st @@ -0,0 +1,4 @@ +accessing +urlString + + ^ 'users'. \ No newline at end of file diff --git a/Squello-Core.package/SPBGithubUserBoardProvider.class/methodProperties.json b/Squello-Core.package/SPBGithubUserBoardProvider.class/methodProperties.json new file mode 100644 index 00000000..09b4a016 --- /dev/null +++ b/Squello-Core.package/SPBGithubUserBoardProvider.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + }, + "instance" : { + "api" : "FP 6/15/2024 14:05", + "urlString" : "FP 6/17/2024 18:08" } } diff --git a/Squello-Core.package/SPBGithubUserBoardProvider.class/properties.json b/Squello-Core.package/SPBGithubUserBoardProvider.class/properties.json new file mode 100644 index 00000000..24f4dc65 --- /dev/null +++ b/Squello-Core.package/SPBGithubUserBoardProvider.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Squello-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "SPBGithubUserBoardProvider", + "pools" : [ + ], + "super" : "SPBNewGithubBoardProvider", + "type" : "normal" } diff --git a/Squello-Core.package/SPBLabel.class/methodProperties.json b/Squello-Core.package/SPBLabel.class/methodProperties.json index 9a4c3aed..3221ccec 100644 --- a/Squello-Core.package/SPBLabel.class/methodProperties.json +++ b/Squello-Core.package/SPBLabel.class/methodProperties.json @@ -5,7 +5,7 @@ "instance" : { "=" : "jh 7/31/2022 13:05", "asForm" : "tk 8/2/2022 23:37", - "asMorph" : "AH 6/20/2024 23:45", + "asMorph" : "AH 6/20/2024 23:57", "asString" : "lo 6/5/2022 14:49", "color" : "lo 5/16/2022 22:01", "color:" : "lo 5/23/2022 16:52", diff --git a/Squello-Core.package/SPBLandingPage.class/class/RecentGitHubBoards..st b/Squello-Core.package/SPBLandingPage.class/class/RecentGitHubBoards..st index 5700fb31..644d2360 100644 --- a/Squello-Core.package/SPBLandingPage.class/class/RecentGitHubBoards..st +++ b/Squello-Core.package/SPBLandingPage.class/class/RecentGitHubBoards..st @@ -1,7 +1,7 @@ accessing -RecentGitHubBoards: anArray -"an array of dictionarys, every dictionary has name, url, reponame of the githubboard that it repesents" +RecentGitHubBoards: anOrderedCollection +"an orderedCollection of dictionarys, every dictionary has name, url, reponame of the githubboard that it repesents" - ^ RecentGitHubBoards := anArray. + ^ RecentGitHubBoards := anOrderedCollection. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/class/RecentGitHubBoards.st b/Squello-Core.package/SPBLandingPage.class/class/RecentGitHubBoards.st index e55badd3..d7df7e8b 100644 --- a/Squello-Core.package/SPBLandingPage.class/class/RecentGitHubBoards.st +++ b/Squello-Core.package/SPBLandingPage.class/class/RecentGitHubBoards.st @@ -1,5 +1,5 @@ accessing RecentGitHubBoards - RecentGitHubBoards ifNil: [RecentGitHubBoards := Array new.]. + RecentGitHubBoards ifNil: [RecentGitHubBoards := OrderedCollection new.]. ^ RecentGitHubBoards \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/class/RecentLocalBoards.st b/Squello-Core.package/SPBLandingPage.class/class/RecentLocalBoards.st index 7bf3efba..95b4a689 100644 --- a/Squello-Core.package/SPBLandingPage.class/class/RecentLocalBoards.st +++ b/Squello-Core.package/SPBLandingPage.class/class/RecentLocalBoards.st @@ -1,5 +1,5 @@ accessing RecentLocalBoards - RecentLocalBoards ifNil: [RecentLocalBoards := OrderedCollection new. RecentLocalBoards addFirst: 'test']. + RecentLocalBoards ifNil: [RecentLocalBoards := OrderedCollection new.]. ^ RecentLocalBoards \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/class/changeRecentGitHubBoards..st b/Squello-Core.package/SPBLandingPage.class/class/changeRecentGitHubBoards..st new file mode 100644 index 00000000..34887587 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/class/changeRecentGitHubBoards..st @@ -0,0 +1,9 @@ +recentboards +changeRecentGitHubBoards: lastGitHubBoard + + self RecentGitHubBoards removeAllSuchThat: [:each| each = lastGitHubBoard]. + self RecentGitHubBoards addFirst: lastGitHubBoard. + + (self RecentGitHubBoards size > self numberOfRecentGitHubBoards) + ifTrue: [self RecentGitHubBoards removeLast.]. + \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/class/changeRecentLocalBoards..st b/Squello-Core.package/SPBLandingPage.class/class/changeRecentLocalBoards..st new file mode 100644 index 00000000..424dbf62 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/class/changeRecentLocalBoards..st @@ -0,0 +1,9 @@ +recentboards +changeRecentLocalBoards: lastLocalBoard + + self RecentLocalBoards removeAllSuchThat: [:each| each = lastLocalBoard]. + self RecentLocalBoards addFirst: lastLocalBoard. + + (self RecentLocalBoards size > self numberOfRecentLocalBoards) + ifTrue: [self RecentLocalBoards removeLast.]. + \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildAthentificationSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildAthentificationSpecWith..st deleted file mode 100644 index 0d156ceb..00000000 --- a/Squello-Core.package/SPBLandingPage.class/instance/buildAthentificationSpecWith..st +++ /dev/null @@ -1,4 +0,0 @@ -toolbuilder -buildAthentificationSpecWith: aBuilder - - ^ aBuilder pluggableListSpec new "provisorisch" \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildAuthButtonSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildAuthButtonSpecWith..st new file mode 100644 index 00000000..1229c619 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildAuthButtonSpecWith..st @@ -0,0 +1,8 @@ +toolbuilder +buildAuthButtonSpecWith: aBuilder + + ^ aBuilder build: (aBuilder pluggableButtonSpec new + model: self; + action: #openAuthPanel; + label: 'Open Auth Panel'; + yourself). \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildContentPanelSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildContentPanelSpecWith..st new file mode 100644 index 00000000..ca8fa9bc --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildContentPanelSpecWith..st @@ -0,0 +1,9 @@ +toolbuilder +buildContentPanelSpecWith: aBuilder + + self usedBuilder: aBuilder. + ^ aBuilder pluggablePanelSpec new + model: self; + layout: #vertical; + children: #contentPanelChildren; + yourself. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildDeleteAllLocalBoardsButtonSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildDeleteAllLocalBoardsButtonSpecWith..st new file mode 100644 index 00000000..2ee392fe --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildDeleteAllLocalBoardsButtonSpecWith..st @@ -0,0 +1,9 @@ +toolbuilder-manage panel +buildDeleteAllLocalBoardsButtonSpecWith: aBuilder + + ^ aBuilder build: (aBuilder pluggableButtonSpec new + model: self; + action: #deleteAllLocal; + label: 'Delete All'; + yourself). + diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildDeleteLocalBoardButtonSpecWith.withBoardName..st b/Squello-Core.package/SPBLandingPage.class/instance/buildDeleteLocalBoardButtonSpecWith.withBoardName..st new file mode 100644 index 00000000..7c196c5a --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildDeleteLocalBoardButtonSpecWith.withBoardName..st @@ -0,0 +1,8 @@ +toolbuilder-manage panel +buildDeleteLocalBoardButtonSpecWith: aBuilder withBoardName: aString + + ^ "aBuilder build:" (aBuilder pluggableButtonSpec new + model: self; + label: 'Delete'; + yourself). + \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardCommonActionChildren.st b/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardCommonActionChildren.st new file mode 100644 index 00000000..880906c0 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardCommonActionChildren.st @@ -0,0 +1,4 @@ +toolbuilder-manage panel +buildLocalBoardCommonActionChildren + + ^ {self buildDeleteAllLocalBoardsButtonSpecWith: self usedBuilder. self buildNewLocalBoardButtonSpecWith: self usedBuilder} asOrderedCollection. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardCommonActionsSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardCommonActionsSpecWith..st new file mode 100644 index 00000000..ac11bcaa --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardCommonActionsSpecWith..st @@ -0,0 +1,10 @@ +toolbuilder-manage panel +buildLocalBoardCommonActionsSpecWith: aBuilder + + ^ aBuilder pluggablePanelSpec new + model: self; + children: #buildLocalBoardCommonActionChildren; + layout: #horizontal; + verticalResizing: #shrinkWrap; + yourself. + \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardNameSpecWith.withBoardName..st b/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardNameSpecWith.withBoardName..st new file mode 100644 index 00000000..15b86a58 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardNameSpecWith.withBoardName..st @@ -0,0 +1,8 @@ +toolbuilder-manage panel +buildLocalBoardNameSpecWith: aBuilder withBoardName: aString + + ^ "aBuilder build:" (aBuilder pluggableTextSpec new + model: self; + setText: aString; + yourself). + \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardPanelSpecWith.withName..st b/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardPanelSpecWith.withName..st new file mode 100644 index 00000000..55b7d768 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardPanelSpecWith.withName..st @@ -0,0 +1,15 @@ +toolbuilder-manage panel +buildLocalBoardPanelSpecWith: aBuilder withName: aName + + ^ "aBuilder build:" (aBuilder pluggablePanelSpec new + model: self; + layout: #horizontal; + minimumHeight: 50px; + children: { + self buildLocalBoardNameSpecWith: aBuilder withBoardName: aName. + self buildOpenLocalBoardButtonSpecWith: aBuilder withBoardName: aName. + self buildRenameLocalBoardButtonSpecWith: aBuilder withBoardName: aName. + self buildDeleteLocalBoardButtonSpecWith: aBuilder withBoardName: aName. + }; + yourself). + \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardsListChildren.st b/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardsListChildren.st new file mode 100644 index 00000000..015023d8 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardsListChildren.st @@ -0,0 +1,6 @@ +toolbuilder-manage panel +buildLocalBoardsListChildren + + ^ ( SPBBoardSaver defaultSaver boards keys collect: + [:aString | self buildLocalBoardPanelSpecWith: self usedBuilder withName: aString] ) asOrderedCollection. + \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardsListSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardsListSpecWith..st new file mode 100644 index 00000000..e832c176 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildLocalBoardsListSpecWith..st @@ -0,0 +1,10 @@ +toolbuilder-manage panel +buildLocalBoardsListSpecWith: aBuilder + + ^ aBuilder pluggableScrollPaneSpec new + model: self; + vScrollBarPolicy: #always; + children: "#buildLocalBoardsListChildren;"(self buildLocalBoardsListChildren); + layout: #horizontal; + yourself. + \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildMainLayoutPanelSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildMainLayoutPanelSpecWith..st new file mode 100644 index 00000000..5af82be2 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildMainLayoutPanelSpecWith..st @@ -0,0 +1,13 @@ +toolbuilder +buildMainLayoutPanelSpecWith: aBuilder + + ^ aBuilder pluggablePanelSpec new + model: self; + frame: (0@0 corner: 1@1); + children: + {self buildSidebarSpecWith: aBuilder. + self buildContentPanelSpecWith: aBuilder. + }; + layout: #horizontal; + yourself. + \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildManageLocalBoardPanelSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildManageLocalBoardPanelSpecWith..st new file mode 100644 index 00000000..57b4d8e0 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildManageLocalBoardPanelSpecWith..st @@ -0,0 +1,8 @@ +toolbuilder-manage panel +buildManageLocalBoardPanelSpecWith: aBuilder +"We just reuse this from the SquotBrowser, idk if this is good" + + ^ SquotGUIUtilities buildVerticalLayout: { + self buildLocalBoardsListSpecWith: aBuilder. + self buildLocalBoardCommonActionsSpecWith: aBuilder. + } with: aBuilder \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildManageLocalBoardsSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildManageLocalBoardsSpecWith..st deleted file mode 100644 index d8ab31b3..00000000 --- a/Squello-Core.package/SPBLandingPage.class/instance/buildManageLocalBoardsSpecWith..st +++ /dev/null @@ -1,4 +0,0 @@ -toolbuilder -buildManageLocalBoardsSpecWith: aBuilder - - ^ aBuilder pluggableListSpec new "provisorisch" \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildNewLocalBoardButtonSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildNewLocalBoardButtonSpecWith..st new file mode 100644 index 00000000..d9f05e61 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildNewLocalBoardButtonSpecWith..st @@ -0,0 +1,10 @@ +toolbuilder-manage panel +buildNewLocalBoardButtonSpecWith: aBuilder + + ^ aBuilder build: (aBuilder pluggableButtonSpec new + model: self; + verticalResizing: #shrinkWrap; + action: #openNewLocalBoard; + label: 'New Local'; + yourself). + diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildNewLocalBoardSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildNewLocalBoardSpecWith..st deleted file mode 100644 index fd84c682..00000000 --- a/Squello-Core.package/SPBLandingPage.class/instance/buildNewLocalBoardSpecWith..st +++ /dev/null @@ -1,4 +0,0 @@ -toolbuilder -buildNewLocalBoardSpecWith: aBuilder - - ^ aBuilder pluggableListSpec new "provisorisch" \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildOpenBoardSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildOpenBoardSpecWith..st deleted file mode 100644 index 3004bfd1..00000000 --- a/Squello-Core.package/SPBLandingPage.class/instance/buildOpenBoardSpecWith..st +++ /dev/null @@ -1,4 +0,0 @@ -toolbuilder -buildOpenBoardSpecWith: aBuilder - - ^ aBuilder pluggableListSpec new "provisorisch" \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildOpenButtonSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildOpenButtonSpecWith..st new file mode 100644 index 00000000..34155e26 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildOpenButtonSpecWith..st @@ -0,0 +1,8 @@ +toolbuilder +buildOpenButtonSpecWith: aBuilder + + ^ aBuilder build: (aBuilder pluggableButtonSpec new + model: self; + action: #openBoard; + label: 'Open Board'; + yourself). \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildOpenLocalBoardButtonSpecWith.withBoardName..st b/Squello-Core.package/SPBLandingPage.class/instance/buildOpenLocalBoardButtonSpecWith.withBoardName..st new file mode 100644 index 00000000..ff21be1a --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildOpenLocalBoardButtonSpecWith.withBoardName..st @@ -0,0 +1,8 @@ +toolbuilder-manage panel +buildOpenLocalBoardButtonSpecWith: aBuilder withBoardName: aString + + ^ "aBuilder build:" (aBuilder pluggableButtonSpec new + model: self; + label: 'Open'; + yourself). + \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildRecentBoardsSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildRecentBoardsSpecWith..st deleted file mode 100644 index c90e8ce8..00000000 --- a/Squello-Core.package/SPBLandingPage.class/instance/buildRecentBoardsSpecWith..st +++ /dev/null @@ -1,18 +0,0 @@ -toolbuilder -buildRecentBoardsSpecWith: aBuilder - - | spec | - self usedBuilder: aBuilder. - spec := aBuilder pluggablePanelSpec new - model: self; - "label: 'Recent Boards';" - layout: #vertical; - frame: (0@0.2 corner: 1@1); - children: - {self buildRecentLocalBoardsSpecWith: aBuilder. - self buildRecentGitHubBoardsSpecWith: aBuilder - }; - - yourself. - ^ aBuilder build: spec. - \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildRecentGitHubBoardsButtonSpecWith.withBoardInfo..st b/Squello-Core.package/SPBLandingPage.class/instance/buildRecentGitHubBoardsButtonSpecWith.withBoardInfo..st index c32159ca..2bd31127 100644 --- a/Squello-Core.package/SPBLandingPage.class/instance/buildRecentGitHubBoardsButtonSpecWith.withBoardInfo..st +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildRecentGitHubBoardsButtonSpecWith.withBoardInfo..st @@ -1,3 +1,11 @@ -currently not in use +toolbuilder-recent boards buildRecentGitHubBoardsButtonSpecWith: aBuilder withBoardInfo: aDictionary - + + | name | + name := (aDictionary at: #repo), ' : ' ,( aDictionary at: #name). + ^ aBuilder build: (aBuilder pluggableButtonSpec new + model: [SPBBoard openFromPrompt: (aDictionary at: #url)]; + label: name; + action: #value; + yourself). + \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildRecentGitHubBoardsChildren.st b/Squello-Core.package/SPBLandingPage.class/instance/buildRecentGitHubBoardsChildren.st new file mode 100644 index 00000000..ff26e060 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildRecentGitHubBoardsChildren.st @@ -0,0 +1,5 @@ +toolbuilder-recent boards +buildRecentGitHubBoardsChildren + + ^ ( self class RecentGitHubBoards collect: + [:aDictionary | self buildRecentGitHubBoardsButtonSpecWith: self usedBuilder withBoardInfo: aDictionary] )asOrderedCollection. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildRecentGitHubBoardsSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildRecentGitHubBoardsSpecWith..st index cd90cbec..eb3d66bf 100644 --- a/Squello-Core.package/SPBLandingPage.class/instance/buildRecentGitHubBoardsSpecWith..st +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildRecentGitHubBoardsSpecWith..st @@ -1,16 +1,10 @@ -toolbuilder +toolbuilder-recent boards buildRecentGitHubBoardsSpecWith: aBuilder - | spec | - self usedBuilder: aBuilder. - spec := aBuilder pluggablePanelSpec new - model: self; - "label: 'Recent Local Boards';" - - "frame: (0@0.2 corner: 1@1);" - children: - {"self class RecentGitHubBoards: [:recentGitHubBoard | self buildRecentGitHubBoardsButtonSpecWith: aBuilder withBoardInfo: recentGitHubBoard] - "}; - layout: #horizontal; - yourself. - ^ aBuilder build: spec. \ No newline at end of file + ^ aBuilder pluggablePanelSpec new + name: #RecentGitHubBoards; + model: self; + children: #buildRecentGitHubBoardsChildren; + layout: #horizontal; + yourself. + \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildRecentLocalBoardsButtonSpecWith.withName..st b/Squello-Core.package/SPBLandingPage.class/instance/buildRecentLocalBoardsButtonSpecWith.withName..st index 0126a2ef..10f31198 100644 --- a/Squello-Core.package/SPBLandingPage.class/instance/buildRecentLocalBoardsButtonSpecWith.withName..st +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildRecentLocalBoardsButtonSpecWith.withName..st @@ -1,9 +1,9 @@ -toolbuilder +toolbuilder-recent boards buildRecentLocalBoardsButtonSpecWith: aBuilder withName: aName - - ^ aBuilder pluggableButtonSpec new - model: self; + ^ aBuilder build: (aBuilder pluggableButtonSpec new + model: [SPBBoard openFromPrompt: aName]; + action: #value; label: aName; - yourself. + yourself). diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildRecentLocalBoardsChildren.st b/Squello-Core.package/SPBLandingPage.class/instance/buildRecentLocalBoardsChildren.st index 46aff45b..06db9d48 100644 --- a/Squello-Core.package/SPBLandingPage.class/instance/buildRecentLocalBoardsChildren.st +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildRecentLocalBoardsChildren.st @@ -1,11 +1,5 @@ -toolbuilder +toolbuilder-recent boards buildRecentLocalBoardsChildren - |children| - children := ( self class RecentLocalBoards: [:NameOfRecentLocalBoard | self buildRecentLocalBoardsButtonSpecWith: self usedBuilder withName: NameOfRecentLocalBoard] )asOrderedCollection - - "pluggableButtonSpec new - model: self; - label: - yourself." - + ^ ( self class RecentLocalBoards collect: + [:aString | self buildRecentLocalBoardsButtonSpecWith: self usedBuilder withName: aString] ) asOrderedCollection. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildRecentLocalBoardsSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildRecentLocalBoardsSpecWith..st index 39bc612c..5036d596 100644 --- a/Squello-Core.package/SPBLandingPage.class/instance/buildRecentLocalBoardsSpecWith..st +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildRecentLocalBoardsSpecWith..st @@ -1,12 +1,9 @@ -toolbuilder +toolbuilder-recent boards buildRecentLocalBoardsSpecWith: aBuilder - ^ aBuilder pluggableScrollPaneSpec new - frame: (0@0 corner: 0.2@1); + ^ aBuilder pluggablePanelSpec new name: #RecentLocalBoards; model: self; - "scrollBarThickness: 20;" - vScrollBarPolicy: #never; children: #buildRecentLocalBoardsChildren; layout: #horizontal; yourself. diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildRenameLocalBoardButtonSpecWith.withBoardName..st b/Squello-Core.package/SPBLandingPage.class/instance/buildRenameLocalBoardButtonSpecWith.withBoardName..st new file mode 100644 index 00000000..94af8e6d --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildRenameLocalBoardButtonSpecWith.withBoardName..st @@ -0,0 +1,8 @@ +toolbuilder-manage panel +buildRenameLocalBoardButtonSpecWith: aBuilder withBoardName: aString + + ^ "aBuilder build:" (aBuilder pluggableButtonSpec new + model: self; + label: 'Rename'; + yourself). + \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildResetUserAccountSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildResetUserAccountSpecWith..st deleted file mode 100644 index 63fb0963..00000000 --- a/Squello-Core.package/SPBLandingPage.class/instance/buildResetUserAccountSpecWith..st +++ /dev/null @@ -1,4 +0,0 @@ -toolbuilder -buildResetUserAccountSpecWith: aBuilder - - ^ aBuilder pluggableListSpec new "provisorisch" \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildSidebarSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildSidebarSpecWith..st index de22fd06..3716b7ca 100644 --- a/Squello-Core.package/SPBLandingPage.class/instance/buildSidebarSpecWith..st +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildSidebarSpecWith..st @@ -4,9 +4,8 @@ buildSidebarSpecWith: aBuilder ^ aBuilder pluggableListSpec new model: self; list: #list; + horizontalResizing: #shrinkWrap; getSelected: #lastSidebarPart; setSelected: #lastSidebarPart:; menu: #menu:; - minimumExtent: 150px @ 0px; - frame: (0@0 corner: 0.2@1.0); yourself \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/buildWith..st b/Squello-Core.package/SPBLandingPage.class/instance/buildWith..st index 309bf2f2..a21aad4d 100644 --- a/Squello-Core.package/SPBLandingPage.class/instance/buildWith..st +++ b/Squello-Core.package/SPBLandingPage.class/instance/buildWith..st @@ -1,18 +1,14 @@ toolbuilder buildWith: aBuilder - | spec | self usedBuilder: aBuilder. spec := aBuilder pluggableWindowSpec new model: self; - label: 'Landing Page'; + label: 'Squello Hub'; minimumExtent: 500px @200px; children: - {self buildSidebarSpecWith: aBuilder. - "self buildRecentBoardsSpecWith: aBuilder." - + {self buildMainLayoutPanelSpecWith: aBuilder. }; - yourself. ^ aBuilder build: spec. diff --git a/Squello-Core.package/SPBLandingPage.class/instance/changeRecentGitHubBoards..st b/Squello-Core.package/SPBLandingPage.class/instance/changeRecentGitHubBoards..st deleted file mode 100644 index 769d05f8..00000000 --- a/Squello-Core.package/SPBLandingPage.class/instance/changeRecentGitHubBoards..st +++ /dev/null @@ -1,5 +0,0 @@ -backgroundLogic -changeRecentGitHubBoards: lastGitHubBoard - - - \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/changeRecentLocalBoards..st b/Squello-Core.package/SPBLandingPage.class/instance/changeRecentLocalBoards..st deleted file mode 100644 index d2bee0a3..00000000 --- a/Squello-Core.package/SPBLandingPage.class/instance/changeRecentLocalBoards..st +++ /dev/null @@ -1,9 +0,0 @@ -backgroundLogic -changeRecentLocalBoards: lastLocalBoard - - RecentLocalBoards addFirst: lastLocalBoard. - - (RecentLocalBoards size > self class numberOfRecentLocalBoards) - ifTrue: [RecentLocalBoards removeLast.]. - - \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/contentPanelChildren.st b/Squello-Core.package/SPBLandingPage.class/instance/contentPanelChildren.st new file mode 100644 index 00000000..32a81f9e --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/contentPanelChildren.st @@ -0,0 +1,7 @@ +toolbuilder +contentPanelChildren + + self lastSidebarPart ifNil: [^ {}]. + (self contentSpecDict includesKey: self lastSidebarPart) ifTrue: + [^ (self contentSpecDict at: self lastSidebarPart) collect: [:each| each buildWith: self usedBuilder]]. + ^ {}. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/contentPanels.st b/Squello-Core.package/SPBLandingPage.class/instance/contentPanels.st new file mode 100644 index 00000000..d7c488ce --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/contentPanels.st @@ -0,0 +1,5 @@ +content-panels +contentPanels + "each of the panel object contains a name and a list of symbols to perform the building" + + ^ {self recentBoardsPanel. self openBoardPanel. self manageLocalBoardsPanel. self loginLogoutPanel}. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/contentSpecDict.st b/Squello-Core.package/SPBLandingPage.class/instance/contentSpecDict.st new file mode 100644 index 00000000..2ec27197 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/contentSpecDict.st @@ -0,0 +1,7 @@ +toolbuilder +contentSpecDict + + ^ (self contentPanels collect: + [:each| each first -> (each second collect: + [:eachSymbol| self perform: eachSymbol with: self usedBuilder])]) + asDictionary. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/deleteAllLocal.st b/Squello-Core.package/SPBLandingPage.class/instance/deleteAllLocal.st new file mode 100644 index 00000000..1f38ba93 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/deleteAllLocal.st @@ -0,0 +1,4 @@ +actions +deleteAllLocal + + Transcript showln: 'delete all'. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/forlaterbuildRecentLocalBoardsSpecWith..st b/Squello-Core.package/SPBLandingPage.class/instance/forlaterbuildRecentLocalBoardsSpecWith..st deleted file mode 100644 index cc84bd25..00000000 --- a/Squello-Core.package/SPBLandingPage.class/instance/forlaterbuildRecentLocalBoardsSpecWith..st +++ /dev/null @@ -1,19 +0,0 @@ -currently not in use -forlaterbuildRecentLocalBoardsSpecWith: aBuilder - - ^ aBuilder pluggablePanelSpec new - model: self; - "label: 'Recent Local Boards';" - - "frame: (0@0.2 corner: 1@1);" - children: - {"self class RecentLocalBoards: [:NameOfRecentLocalBoard | self buildRecentLocalBoardsButtonSpecWith: aBuilder withName: NameOfRecentLocalBoard] - " - self buildRecentLocalBoardsButtonSpecWith: aBuilder withName: 'hi'. - self buildRecentLocalBoardsButtonSpecWith: aBuilder withName: 'test' - - }; - layout: #horizontal; - yourself. - - \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/lastSidebarPart..st b/Squello-Core.package/SPBLandingPage.class/instance/lastSidebarPart..st index 66027886..31554564 100644 --- a/Squello-Core.package/SPBLandingPage.class/instance/lastSidebarPart..st +++ b/Squello-Core.package/SPBLandingPage.class/instance/lastSidebarPart..st @@ -2,17 +2,5 @@ accessing lastSidebarPart: anObject lastSidebarPart := anObject. - self changed: #lastSidebarPart - - "self updateMainPanel - - self projectDescription: .. - - self changed: #projectDescription. - - - buildWIth: .... pluggableTextSpec new .... model: self ... getText: #projectDescription. - - - - " \ No newline at end of file + self changed: #lastSidebarPart. + self changed: #contentPanelChildren. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/list.st b/Squello-Core.package/SPBLandingPage.class/instance/list.st index c787c704..8b2212f2 100644 --- a/Squello-Core.package/SPBLandingPage.class/instance/list.st +++ b/Squello-Core.package/SPBLandingPage.class/instance/list.st @@ -1,12 +1,4 @@ toolbuilder list - "returns #() with strings" - - - ^ #('Recent Boards' 'Open Board' 'New Local Board' 'Manage Local Boards' 'Reset User Account' 'Authentification' ) - - "^ #( apple tree )" - "^#( 'apple tree' 'peach' )" - "^{ 'apple'. currentProject }" - "^ self projects collect: [:p | p name]" \ No newline at end of file + ^ self contentPanels collect: [:each| each first]. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/loginLogoutPanel.st b/Squello-Core.package/SPBLandingPage.class/instance/loginLogoutPanel.st new file mode 100644 index 00000000..caa439d2 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/loginLogoutPanel.st @@ -0,0 +1,4 @@ +content-panels +loginLogoutPanel + + ^ {'Login/Logout'. {#buildAuthButtonSpecWith:}}. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/manageLocalBoardsPanel.st b/Squello-Core.package/SPBLandingPage.class/instance/manageLocalBoardsPanel.st new file mode 100644 index 00000000..0d28927e --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/manageLocalBoardsPanel.st @@ -0,0 +1,4 @@ +content-panels +manageLocalBoardsPanel + + ^ {'Manage Local Boards'. {#buildManageLocalBoardPanelSpecWith:}}. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/openAuthPanel.st b/Squello-Core.package/SPBLandingPage.class/instance/openAuthPanel.st new file mode 100644 index 00000000..8014abae --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/openAuthPanel.st @@ -0,0 +1,4 @@ +actions +openAuthPanel + + ^ SPBAuthenticationForm open. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/openBoard.st b/Squello-Core.package/SPBLandingPage.class/instance/openBoard.st new file mode 100644 index 00000000..a1d4dd0f --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/openBoard.st @@ -0,0 +1,4 @@ +actions +openBoard + + ^ SPBBoard open. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/openBoardPanel.st b/Squello-Core.package/SPBLandingPage.class/instance/openBoardPanel.st new file mode 100644 index 00000000..8112d310 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/openBoardPanel.st @@ -0,0 +1,4 @@ +content-panels +openBoardPanel + + ^ {'Open Board'. {#buildOpenButtonSpecWith:}}. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/openNewLocalBoard.st b/Squello-Core.package/SPBLandingPage.class/instance/openNewLocalBoard.st new file mode 100644 index 00000000..1aaa1ca9 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/openNewLocalBoard.st @@ -0,0 +1,4 @@ +actions +openNewLocalBoard + + Transcript showln: 'dbhajdk'. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/instance/recentBoardsPanel.st b/Squello-Core.package/SPBLandingPage.class/instance/recentBoardsPanel.st new file mode 100644 index 00000000..e13d1c93 --- /dev/null +++ b/Squello-Core.package/SPBLandingPage.class/instance/recentBoardsPanel.st @@ -0,0 +1,4 @@ +content-panels +recentBoardsPanel + + ^ {'Recent Boards'. {#buildRecentLocalBoardsSpecWith:. #buildRecentGitHubBoardsSpecWith:}}. \ No newline at end of file diff --git a/Squello-Core.package/SPBLandingPage.class/methodProperties.json b/Squello-Core.package/SPBLandingPage.class/methodProperties.json index f1be8599..4ffa287e 100644 --- a/Squello-Core.package/SPBLandingPage.class/methodProperties.json +++ b/Squello-Core.package/SPBLandingPage.class/methodProperties.json @@ -1,33 +1,54 @@ { "class" : { - "RecentGitHubBoards" : "Haru 6/9/2024 13:47", - "RecentGitHubBoards:" : "Haru 6/9/2024 14:11", - "RecentLocalBoards" : "Haru 6/9/2024 20:21", + "RecentGitHubBoards" : "FP 6/10/2024 15:33", + "RecentGitHubBoards:" : "FP 6/10/2024 15:29", + "RecentLocalBoards" : "FP 6/10/2024 15:33", "RecentLocalBoards:" : "Haru 6/9/2024 13:42", + "changeRecentGitHubBoards:" : "FP 6/20/2024 12:16", + "changeRecentLocalBoards:" : "FP 6/20/2024 12:17", "numberOfRecentGitHubBoards" : "Haru 6/8/2024 12:38", "numberOfRecentLocalBoards" : "Haru 6/8/2024 12:37", "open" : "Haru 6/1/2024 12:28" }, "instance" : { - "buildAthentificationSpecWith:" : "Haru 6/7/2024 12:15", - "buildManageLocalBoardsSpecWith:" : "Haru 6/7/2024 12:15", - "buildNewLocalBoardSpecWith:" : "Haru 6/7/2024 12:14", - "buildOpenBoardSpecWith:" : "Haru 6/7/2024 12:14", - "buildRecentBoardsSpecWith:" : "Haru 6/9/2024 19:55", - "buildRecentGitHubBoardsButtonSpecWith:withBoardInfo:" : "Haru 6/9/2024 13:57", - "buildRecentGitHubBoardsSpecWith:" : "Haru 6/9/2024 19:55", - "buildRecentLocalBoardsButtonSpecWith:withName:" : "Haru 6/9/2024 20:21", - "buildRecentLocalBoardsChildren" : "Haru 6/9/2024 20:18", - "buildRecentLocalBoardsSpecWith:" : "Haru 6/9/2024 20:28", - "buildResetUserAccountSpecWith:" : "Haru 6/7/2024 12:15", - "buildSidebarSpecWith:" : "Haru 6/8/2024 13:37", - "buildWith:" : "Haru 6/10/2024 11:02", - "changeRecentGitHubBoards:" : "Haru 6/8/2024 12:46", - "changeRecentLocalBoards:" : "Haru 6/8/2024 12:40", - "forlaterbuildRecentLocalBoardsSpecWith:" : "Haru 6/9/2024 20:09", + "buildAuthButtonSpecWith:" : "FP 6/13/2024 11:03", + "buildContentPanelSpecWith:" : "FP 6/13/2024 13:46", + "buildDeleteAllLocalBoardsButtonSpecWith:" : "FP 6/13/2024 13:49", + "buildDeleteLocalBoardButtonSpecWith:withBoardName:" : "FP 6/13/2024 14:33", + "buildLocalBoardCommonActionChildren" : "FP 6/13/2024 11:37", + "buildLocalBoardCommonActionsSpecWith:" : "FP 6/13/2024 13:45", + "buildLocalBoardNameSpecWith:withBoardName:" : "FP 6/13/2024 14:32", + "buildLocalBoardPanelSpecWith:withName:" : "FP 6/13/2024 14:28", + "buildLocalBoardsListChildren" : "FP 6/13/2024 11:43", + "buildLocalBoardsListSpecWith:" : "FP 6/13/2024 14:41", + "buildMainLayoutPanelSpecWith:" : "FP 6/13/2024 13:43", + "buildManageLocalBoardPanelSpecWith:" : "FP 6/13/2024 14:21", + "buildNewLocalBoardButtonSpecWith:" : "FP 6/13/2024 12:12", + "buildOpenButtonSpecWith:" : "FP 6/13/2024 11:06", + "buildOpenLocalBoardButtonSpecWith:withBoardName:" : "FP 6/13/2024 14:33", + "buildRecentGitHubBoardsButtonSpecWith:withBoardInfo:" : "FP 6/10/2024 16:27", + "buildRecentGitHubBoardsChildren" : "FP 6/13/2024 10:57", + "buildRecentGitHubBoardsSpecWith:" : "FP 6/10/2024 15:55", + "buildRecentLocalBoardsButtonSpecWith:withName:" : "FP 6/13/2024 10:56", + "buildRecentLocalBoardsChildren" : "FP 6/13/2024 10:56", + "buildRecentLocalBoardsSpecWith:" : "FP 6/10/2024 14:20", + "buildRenameLocalBoardButtonSpecWith:withBoardName:" : "FP 6/13/2024 14:33", + "buildSidebarSpecWith:" : "FP 6/10/2024 14:36", + "buildWith:" : "FP 6/11/2024 13:43", + "contentPanelChildren" : "FP 6/11/2024 12:13", + "contentPanels" : "FP 6/13/2024 11:19", + "contentSpecDict" : "FP 6/11/2024 12:29", + "deleteAllLocal" : "FP 6/13/2024 11:35", "initialize" : "Haru 6/7/2024 11:58", "lastSidebarPart" : "Haru 6/7/2024 11:57", - "lastSidebarPart:" : "Haru 6/7/2024 11:57", - "list" : "Haru 6/9/2024 14:12", + "lastSidebarPart:" : "FP 6/11/2024 12:05", + "list" : "FP 6/11/2024 12:23", + "loginLogoutPanel" : "FP 6/13/2024 11:03", + "manageLocalBoardsPanel" : "FP 6/13/2024 14:00", "open" : "Haru 6/1/2024 12:22", + "openAuthPanel" : "FP 6/13/2024 11:02", + "openBoard" : "FP 6/13/2024 11:06", + "openBoardPanel" : "FP 6/13/2024 11:07", + "openNewLocalBoard" : "FP 6/13/2024 11:34", + "recentBoardsPanel" : "FP 6/11/2024 12:24", "usedBuilder" : "Haru 6/1/2024 12:39", "usedBuilder:" : "Haru 6/1/2024 12:40" } } diff --git a/Squello-Core.package/SPBLocalBoardProvider.class/instance/board.st b/Squello-Core.package/SPBLocalBoardProvider.class/instance/board.st new file mode 100644 index 00000000..dd618db3 --- /dev/null +++ b/Squello-Core.package/SPBLocalBoardProvider.class/instance/board.st @@ -0,0 +1,4 @@ +accessing +board + + ^ SPBBoardSaver defaultSaver loadReadonly: self repo. \ No newline at end of file diff --git a/Squello-Core.package/SPBLocalBoardProvider.class/instance/createCardsFromColumn..st b/Squello-Core.package/SPBLocalBoardProvider.class/instance/createCardsFromColumn..st index 162773a5..106c6abb 100644 --- a/Squello-Core.package/SPBLocalBoardProvider.class/instance/createCardsFromColumn..st +++ b/Squello-Core.package/SPBLocalBoardProvider.class/instance/createCardsFromColumn..st @@ -1,4 +1,7 @@ cards createCardsFromColumn: aSPBColumn - self defaultCards. \ No newline at end of file + | cards | + cards := aSPBColumn cards. + aSPBColumn cards: OrderedCollection new. + cards do: [:card| card setCardColumn: aSPBColumn]. \ No newline at end of file diff --git a/Squello-Core.package/SPBLocalBoardProvider.class/instance/defaultCards.st b/Squello-Core.package/SPBLocalBoardProvider.class/instance/defaultCards.st deleted file mode 100644 index a62aee5a..00000000 --- a/Squello-Core.package/SPBLocalBoardProvider.class/instance/defaultCards.st +++ /dev/null @@ -1,4 +0,0 @@ -defaults -defaultCards - - ^ { } asOrderedCollection. \ No newline at end of file diff --git a/Squello-Core.package/SPBLocalBoardProvider.class/instance/fetchCardsIntoColumns..st b/Squello-Core.package/SPBLocalBoardProvider.class/instance/fetchCardsIntoColumns..st new file mode 100644 index 00000000..0d050e50 --- /dev/null +++ b/Squello-Core.package/SPBLocalBoardProvider.class/instance/fetchCardsIntoColumns..st @@ -0,0 +1,5 @@ +cards +fetchCardsIntoColumns: anOrderedCollection + + "anOrderedCollection => Collection of SPBColumn" + anOrderedCollection do: [:each | self createCardsFromColumn: each]. \ No newline at end of file diff --git a/Squello-Core.package/SPBLocalBoardProvider.class/instance/queryBoardName.st b/Squello-Core.package/SPBLocalBoardProvider.class/instance/queryBoardName.st new file mode 100644 index 00000000..1eb001d0 --- /dev/null +++ b/Squello-Core.package/SPBLocalBoardProvider.class/instance/queryBoardName.st @@ -0,0 +1,4 @@ +board +queryBoardName + + ^ self repo. \ No newline at end of file diff --git a/Squello-Core.package/SPBLocalBoardProvider.class/instance/queryColumns.st b/Squello-Core.package/SPBLocalBoardProvider.class/instance/queryColumns.st index 5d40b312..5c381dee 100644 --- a/Squello-Core.package/SPBLocalBoardProvider.class/instance/queryColumns.st +++ b/Squello-Core.package/SPBLocalBoardProvider.class/instance/queryColumns.st @@ -1,4 +1,5 @@ columns queryColumns + self board ifNotNil: [:board| ^ board columns]. ^ self defaultColumns. \ No newline at end of file diff --git a/Squello-Core.package/SPBLocalBoardProvider.class/methodProperties.json b/Squello-Core.package/SPBLocalBoardProvider.class/methodProperties.json index 1306bd93..9ce3fbc8 100644 --- a/Squello-Core.package/SPBLocalBoardProvider.class/methodProperties.json +++ b/Squello-Core.package/SPBLocalBoardProvider.class/methodProperties.json @@ -4,15 +4,16 @@ "instance" : { "addAssignee:toCard:" : "FP 5/23/2024 10:41", "addLabel:toCard:" : "FP 5/23/2024 10:33", - "createCardsFromColumn:" : "FP 5/23/2024 10:15", + "board" : "FP 6/8/2024 12:02", + "createCardsFromColumn:" : "FP 6/8/2024 12:16", "createColumn:" : "FP 5/23/2024 10:37", "createNewCard:into:" : "FP 5/23/2024 10:27", "defaultAssignees" : "FP 5/23/2024 10:13", - "defaultCards" : "FP 5/23/2024 10:18", "defaultColumns" : "FP 5/23/2024 10:13", "defaultLabels" : "FP 5/23/2024 10:13", "deleteAssignee:fromCard:" : "FP 5/23/2024 10:41", "deleteLabel:fromCard:" : "FP 5/23/2024 10:33", + "fetchCardsIntoColumns:" : "FP 6/19/2024 18:28", "listPossibleAssignees" : "FP 5/23/2024 10:14", "listPossibleLabels" : "FP 5/23/2024 10:14", "moveCard:after:toColumn:" : "FP 5/23/2024 10:38", @@ -20,6 +21,7 @@ "moveColumn:after:" : "FP 5/23/2024 10:38", "moveColumnToFront:" : "FP 5/23/2024 10:38", "nextId" : "FP 5/23/2024 10:28", - "queryColumns" : "FP 5/23/2024 10:14", + "queryBoardName" : "FP 6/10/2024 15:00", + "queryColumns" : "FP 6/8/2024 12:03", "renameColumn:to:" : "FP 5/23/2024 10:38", "updateCard:" : "FP 5/23/2024 10:39" } } diff --git a/Squello-Core.package/SPBNewGithubAPI.class/README.md b/Squello-Core.package/SPBNewGithubAPI.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/Squello-Core.package/SPBNewGithubAPI.class/class/token..st b/Squello-Core.package/SPBNewGithubAPI.class/class/token..st new file mode 100644 index 00000000..1df26013 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/class/token..st @@ -0,0 +1,4 @@ +accessing +token: aString + + Token := aString. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/class/token.st b/Squello-Core.package/SPBNewGithubAPI.class/class/token.st new file mode 100644 index 00000000..20a5e50b --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/class/token.st @@ -0,0 +1,4 @@ +accessing +token + + ^ Token. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/class/url.st b/Squello-Core.package/SPBNewGithubAPI.class/class/url.st new file mode 100644 index 00000000..63ae2cfc --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/class/url.st @@ -0,0 +1,4 @@ +url +url + + ^ 'https://api.github.com/graphql'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/addAssignee.toIssue..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/addAssignee.toIssue..st new file mode 100644 index 00000000..17c5b50b --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/addAssignee.toIssue..st @@ -0,0 +1,8 @@ +assignees +addAssignee: aString toIssue: anotherString + + "aString => AssigneeID" + "anotherString => IssueID or PullRequestID" + | data | + data := (self getAddAssigneeMutation: aString toIssue: anotherString) parseAsJson. + ^ self postRequestwithData: data. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/addLabel.toIssue..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/addLabel.toIssue..st new file mode 100644 index 00000000..47d40b9c --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/addLabel.toIssue..st @@ -0,0 +1,8 @@ +labels +addLabel: aString toIssue: anotherString + + "aString => LabelID" + "anotherString => IssueID or PullRequestID" + | data | + data := (self getAddLabelMutation: aString toIssue: anotherString) parseAsJson. + ^ self postRequestwithData: data. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/createPostRequestTo..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/createPostRequestTo..st new file mode 100644 index 00000000..41805296 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/createPostRequestTo..st @@ -0,0 +1,11 @@ +request creation +createPostRequestTo: aString + + | request | + request := WebRequest new initializeFromUrl: aString. + + ^ request + method: 'POST'; + headerAt: 'Authorization' put: 'Bearer ' , self class token; + headerAt: 'User-Agent' put: 'squello/v 0.2'; + yourself. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/deleteAssignee.fromIssue..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/deleteAssignee.fromIssue..st new file mode 100644 index 00000000..d8856a40 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/deleteAssignee.fromIssue..st @@ -0,0 +1,8 @@ +assignees +deleteAssignee: aString fromIssue: anotherString + + "aString => AssigneeID" + "anotherString => IssueID or PullRequestID" + | data | + data := (self getDeleteAssigneeMutation: aString fromIssue: anotherString) parseAsJson. + ^ self postRequestwithData: data. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/deleteLabel.fromIssue..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/deleteLabel.fromIssue..st new file mode 100644 index 00000000..73877f20 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/deleteLabel.fromIssue..st @@ -0,0 +1,8 @@ +labels +deleteLabel: aString fromIssue: anotherString + + "aString => LabelID" + "anotherString => IssueID or PullRequestID" + | data | + data := (self getRemoveLabelMutation: aString fromIssue: anotherString) parseAsJson. + ^ self postRequestwithData: data. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getAddAssigneeMutation.toIssue..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getAddAssigneeMutation.toIssue..st new file mode 100644 index 00000000..29c8a3a2 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getAddAssigneeMutation.toIssue..st @@ -0,0 +1,11 @@ +mutations +getAddAssigneeMutation: aString toIssue: anotherString + + ^ '{"query": "mutation{ + addAssigneesToAssignable(input: { + assignableId: \"', anotherString,'\" + clientMutationId: \"Squello\" + assigneeIds: [\"', aString , '\"]}){ + clientMutationId + } + }"}' \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getAddLabelMutation.toIssue..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getAddLabelMutation.toIssue..st new file mode 100644 index 00000000..d89ccdaa --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getAddLabelMutation.toIssue..st @@ -0,0 +1,11 @@ +mutations +getAddLabelMutation: aString toIssue: anotherString + + ^ '{"query": "mutation{ + addLabelsToLabelable(input: { + labelableId: \"', anotherString,'\" + clientMutationId: \"Squello\" + labelIds: [\"', aString , '\"]}){ + clientMutationId + } + }"}' \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getDeleteAssigneeMutation.fromIssue..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getDeleteAssigneeMutation.fromIssue..st new file mode 100644 index 00000000..17c5af86 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getDeleteAssigneeMutation.fromIssue..st @@ -0,0 +1,11 @@ +mutations +getDeleteAssigneeMutation: aString fromIssue: anotherString + + ^ '{"query": "mutation{ + removeAssigneesFromAssignable(input: { + assignableId: \"', anotherString,'\" + clientMutationId: \"Squello\" + assigneeIds: [\"', aString , '\"]}){ + clientMutationId + } + }"}' \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getMoveCardMutation.toColumn.fieldID.inProject..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getMoveCardMutation.toColumn.fieldID.inProject..st new file mode 100644 index 00000000..fb4868b7 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getMoveCardMutation.toColumn.fieldID.inProject..st @@ -0,0 +1,16 @@ +mutations +getMoveCardMutation: aString toColumn: anotherString fieldID: aThirdString inProject: aForthString + + ^ '{"query": "mutation{ + updateProjectV2ItemFieldValue(input:{ + clientMutationId:\"Squello\" + projectId:\"', aForthString, '\" + itemId:\"', aString, '\" + fieldId:\"', aThirdString, '\" + value:{ + singleSelectOptionId:\"', anotherString, '\" + } + }){ + clientMutationId + } + }"}'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getPossibleAssigneesQuery..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getPossibleAssigneesQuery..st new file mode 100644 index 00000000..f18d0361 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getPossibleAssigneesQuery..st @@ -0,0 +1,19 @@ +queries +getPossibleAssigneesQuery: aString + +^ '{"query":"query{ + node(id: \"', aString, '\") { + ... on ProjectV2 { + repositories (first: 100) { + nodes { + assignableUsers (first: 100) { + nodes { + login + id + } + } + } + } + } + } + }"}'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getPossibleLabelsQuery..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getPossibleLabelsQuery..st new file mode 100644 index 00000000..15d2e75e --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getPossibleLabelsQuery..st @@ -0,0 +1,20 @@ +queries +getPossibleLabelsQuery: aString + +^ '{"query":"query{ + node(id: \"', aString, '\") { + ... on ProjectV2 { + repositories (first: 100) { + nodes { + labels (first: 100) { + nodes { + id + name + color + } + } + } + } + } + } + }"}'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryColumnFieldIDQuery..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryColumnFieldIDQuery..st new file mode 100644 index 00000000..131ef780 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryColumnFieldIDQuery..st @@ -0,0 +1,14 @@ +queries +getQueryColumnFieldIDQuery: aString + +^ '{"query":"query{ + node(id: \"', aString, '\") { + ... on ProjectV2 { + field(name: \"Status\") { + ... on ProjectV2SingleSelectField { + id + } + } + } + } + }"}'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryColumnQuery..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryColumnQuery..st new file mode 100644 index 00000000..9c5bd55e --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryColumnQuery..st @@ -0,0 +1,77 @@ +queries +getQueryColumnQuery: aString + +^ '{"query":"{ + node(id: \"', aString, '\") { + ... on ProjectV2 { + items (first: 100) + { + nodes + { + id + type + content + { + ... on Issue { + title + body + assignees(first: 100){ + nodes{ + id + login + } + } + labels (first: 100){ + nodes{ + id + name + color + } + } + closed + id + } + ... on DraftIssue{ + title + body + assignees(first: 100){ + nodes{ + id + login + } + } + id + } + ... on PullRequest{ + title + body + assignees (first: 100){ + nodes{ + id + login + } + } + labels(first: 100){ + nodes{ + id + name + color + } + } + id + closed + } + } + fieldValueByName(name: \"Status\") + { + ... on ProjectV2ItemFieldSingleSelectValue + { + name + optionId + } + } + } + } + } + } +}"}'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryColumnsQuery..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryColumnsQuery..st new file mode 100644 index 00000000..d0312f65 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryColumnsQuery..st @@ -0,0 +1,19 @@ +queries +getQueryColumnsQuery: aString + +^ '{"query":"query{ + node(id: \"', aString, '\") { + ... on ProjectV2 { + field(name: \"Status\") { + ... on ProjectV2SingleSelectField { + id + name + options { + id + name + } + } + } + } + } + }"}'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryProjectIDQuery.user..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryProjectIDQuery.user..st new file mode 100644 index 00000000..6fa3cb34 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryProjectIDQuery.user..st @@ -0,0 +1,7 @@ +queries +getQueryProjectIDQuery: aNumber user: aString + +^ '{"query":"query{ + ', self userString ,'(login: \"', aString , '\") { + projectV2(number: ', aNumber asString , '){ + id}}}"}'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryProjectQuery..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryProjectQuery..st new file mode 100644 index 00000000..94adebfb --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getQueryProjectQuery..st @@ -0,0 +1,10 @@ +queries +getQueryProjectQuery: aString + +^ '{"query":"query{ + node(id: \"', aString, '\") { + ... on ProjectV2 { + title + } + } + }"}'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getRemoveLabelMutation.fromIssue..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getRemoveLabelMutation.fromIssue..st new file mode 100644 index 00000000..3b6972c3 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getRemoveLabelMutation.fromIssue..st @@ -0,0 +1,11 @@ +mutations +getRemoveLabelMutation: aString fromIssue: anotherString + + ^ '{"query": "mutation{ + removeLabelsFromLabelable(input: { + labelableId: \"', anotherString,'\" + clientMutationId: \"Squello\" + labelIds: [\"', aString , '\"]}){ + clientMutationId + } + }"}' \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getUpdateAssigneesMutation.fromDraft..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getUpdateAssigneesMutation.fromDraft..st new file mode 100644 index 00000000..76ce44ae --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getUpdateAssigneesMutation.fromDraft..st @@ -0,0 +1,14 @@ +mutations +getUpdateAssigneesMutation: aString fromDraft: anotherString + + "aString is a Json Array of all assignees except the removed one" + ^ '{"query": "mutation{ + updateProjectV2DraftIssue(input: { + clientMutationId:\"Squello\" + draftIssueId: \"', anotherString, '\" + assigneeIds:[ + ', aString, '] + }){ + clientMutationId + } + }"}'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getUpdateCardPositionQuery.after.project..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getUpdateCardPositionQuery.after.project..st new file mode 100644 index 00000000..a177cb9d --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getUpdateCardPositionQuery.after.project..st @@ -0,0 +1,15 @@ +mutations +getUpdateCardPositionQuery: aString after: anotherString project: aThirdString + + | afterStr | + afterStr := anotherString ifNil: [''] ifNotNil: ['afterId:\"', anotherString, '\"']. + ^ '{"query": "mutation{ + updateProjectV2ItemPosition(input:{ + clientMutationId:\"Squello\" + itemId:\"', aString, '\" + ', afterStr, ' + projectId:\"' ,aThirdString, '\" + }){ + clientMutationId + } + }"}'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getUpdateDraftMutation..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getUpdateDraftMutation..st new file mode 100644 index 00000000..848dab76 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getUpdateDraftMutation..st @@ -0,0 +1,14 @@ +mutations +getUpdateDraftMutation: aSPBCard + + ^ '{"query": "mutation{ + updateProjectV2DraftIssue(input:{ + clientMutationId:\"Squello\" + draftIssueId: \"', aSPBCard issueId, '\" + title: \"', aSPBCard title, '\" + body: \"', aSPBCard description, '\" + }) + { + clientMutationId + } + }"}' \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/getUpdateIssueMutation..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/getUpdateIssueMutation..st new file mode 100644 index 00000000..9f0d782f --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/getUpdateIssueMutation..st @@ -0,0 +1,17 @@ +mutations +getUpdateIssueMutation: aSPBCard + + | state | + state := aSPBCard isClosed ifTrue: ['CLOSED'] ifFalse: ['OPEN']. + ^ '{"query": "mutation{ + updateIssue(input:{ + clientMutationId:\"Squello\" + id: \"', aSPBCard issueId, '\" + state: ', state ,' + title: \"', aSPBCard title, '\" + body: \"', aSPBCard description, '\" + }) + { + clientMutationId + } + }"}' \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/listPossibleAssigneesForProject..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/listPossibleAssigneesForProject..st new file mode 100644 index 00000000..71036816 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/listPossibleAssigneesForProject..st @@ -0,0 +1,12 @@ +assignees +listPossibleAssigneesForProject: aString + + "aString => ProjectID" + | data response repositories | + data := (self getPossibleAssigneesQuery: aString) parseAsJson. + response := self postRequestwithData: data. + repositories := (((response at: 'data') at: 'node') at: 'repositories') at: 'nodes'. + + self flag: #TODO. + "TODO add support for multi repo projects" + ^ (repositories first at: 'assignableUsers') at: 'nodes'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/listPossibleLabelsForProject..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/listPossibleLabelsForProject..st new file mode 100644 index 00000000..93f6c31b --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/listPossibleLabelsForProject..st @@ -0,0 +1,12 @@ +labels +listPossibleLabelsForProject: aString + + "aString => ProjectID" + | data response repositories | + data := (self getPossibleLabelsQuery: aString) parseAsJson. + response := self postRequestwithData: data. + repositories := (((response at: 'data') at: 'node') at: 'repositories') at: 'nodes'. + + self flag: #TODO. + "TODO add support for multi repo projects" + ^ (repositories first at: 'labels') at: 'nodes'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/moveCard.toColumn.fieldId.inProject..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/moveCard.toColumn.fieldId.inProject..st new file mode 100644 index 00000000..487d0b6a --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/moveCard.toColumn.fieldId.inProject..st @@ -0,0 +1,10 @@ +cards +moveCard: aString toColumn: anotherString fieldId: aThirdString inProject: aForthString + + "aString => Card ID" + "anotherString => Column ID" + "aThirdString => ID for Column Field in Project" + "aForthString => Project ID" + | data | + data := (self getMoveCardMutation: aString toColumn: anotherString fieldID: aThirdString inProject: aForthString) parseAsJson. + ^ self postRequestwithData: data. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/postRequestToURL.withData..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/postRequestToURL.withData..st new file mode 100644 index 00000000..69de436b --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/postRequestToURL.withData..st @@ -0,0 +1,10 @@ +request creation +postRequestToURL: aString withData: aStream + + | request response | + request := self createPostRequestTo: aString. + request headerAt: 'Content-Length' put: aStream size. + + response := (WebClient new initializeFromUrl: aString) + sendRequest: request content: aStream readStream size: aStream size. + ^ response content. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/postRequestwithData..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/postRequestwithData..st new file mode 100644 index 00000000..5b046a7a --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/postRequestwithData..st @@ -0,0 +1,12 @@ +request creation +postRequestwithData: aJsonObject + + | request response stream | + stream := WriteStream with: OrderedCollection new. + aJsonObject jsonWriteOn: stream. + request := self createPostRequestTo: self class url. + request headerAt: 'Content-Length' put: stream size. + + response := (WebClient new initializeFromUrl: self class url) + sendRequest: request content: stream readStream size: stream size. + ^ response content parseAsJson. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/queryCardsfromProject..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/queryCardsfromProject..st new file mode 100644 index 00000000..c2dce095 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/queryCardsfromProject..st @@ -0,0 +1,10 @@ +cards +queryCardsfromProject: anotherString + + "aString => Column ID" + "anotherString => Project ID" + | data response | + data := (self getQueryColumnQuery: anotherString) parseAsJson. + response := self postRequestwithData: data. + ^ (((response at: 'data') at: 'node') at: 'items') at: 'nodes'. + \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/queryColumnFieldId..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/queryColumnFieldId..st new file mode 100644 index 00000000..11e6d507 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/queryColumnFieldId..st @@ -0,0 +1,7 @@ +project +queryColumnFieldId: aString + + "aString => Project ID" + | data | + data := (self getQueryColumnFieldIDQuery: aString) parseAsJson. + ^ ((((self postRequestwithData: data) at: 'data') at: 'node') at: 'field') at: 'id'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/queryColumns..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/queryColumns..st new file mode 100644 index 00000000..14841fb1 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/queryColumns..st @@ -0,0 +1,10 @@ +columns +queryColumns: aString + "aString => Project ID" + + | data responseJson node | + data := (self getQueryColumnsQuery: aString) parseAsJson. + responseJson := self postRequestwithData: data. + node := (((responseJson at: 'data') at: 'node') at: 'field'). + node ifNil: [^ self error: 'No Status Field in Project']. + ^ (node at: 'options'). \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/queryProject..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/queryProject..st new file mode 100644 index 00000000..6c713502 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/queryProject..st @@ -0,0 +1,8 @@ +project +queryProject: aString + + "aString => projectID" + | data responseJson | + data := (self getQueryProjectQuery: aString) parseAsJson. + responseJson := self postRequestwithData: data. + ^ ((responseJson at: 'data') at: 'node'). \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/queryProjectID.user..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/queryProjectID.user..st new file mode 100644 index 00000000..716f8fa9 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/queryProjectID.user..st @@ -0,0 +1,7 @@ +project +queryProjectID: aNumber user: aString + + | data responseJson | + data := (self getQueryProjectIDQuery: aNumber user: aString) parseAsJson. + responseJson := self postRequestwithData: data. + ^ (((responseJson at: 'data') at: self userString) at: 'projectV2') at: 'id'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/updateAssignees.fromDraft..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/updateAssignees.fromDraft..st new file mode 100644 index 00000000..8b0287b6 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/updateAssignees.fromDraft..st @@ -0,0 +1,8 @@ +assignees +updateAssignees: aString fromDraft: anotherString + + "aString => Array of the new AssigneeIDs" + "anotherString => IssueID or PullRequestID" + | data | + data := (self getUpdateAssigneesMutation: aString fromDraft: anotherString) parseAsJson. + ^ self postRequestwithData: data. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/updateCardPosition.after.inProject..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/updateCardPosition.after.inProject..st new file mode 100644 index 00000000..3a1edf74 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/updateCardPosition.after.inProject..st @@ -0,0 +1,9 @@ +cards +updateCardPosition: aString after: anotherString inProject: aThirdString + + "aString => Card ID of moved Card" + "anotherString => Card ID where to insert OR null for top" + "aThirdString => project ID" + | data | + data := (self getUpdateCardPositionQuery: aString after: anotherString project: aThirdString) parseAsJson. + ^ self postRequestwithData: data. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/updateDraft..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/updateDraft..st new file mode 100644 index 00000000..e8eefa1e --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/updateDraft..st @@ -0,0 +1,6 @@ +cards +updateDraft: aSPBCard + + | data | + data := (self getUpdateDraftMutation: aSPBCard) parseAsJson. + ^ self postRequestwithData: data. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/updateIssue..st b/Squello-Core.package/SPBNewGithubAPI.class/instance/updateIssue..st new file mode 100644 index 00000000..aa579ad7 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/updateIssue..st @@ -0,0 +1,6 @@ +cards +updateIssue: aSPBCard + + | data | + data := (self getUpdateIssueMutation: aSPBCard) parseAsJson. + ^ self postRequestwithData: data. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/instance/userString.st b/Squello-Core.package/SPBNewGithubAPI.class/instance/userString.st new file mode 100644 index 00000000..979c17ea --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/instance/userString.st @@ -0,0 +1,4 @@ +request creation +userString + + ^ self subclassResponsibility. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubAPI.class/methodProperties.json b/Squello-Core.package/SPBNewGithubAPI.class/methodProperties.json new file mode 100644 index 00000000..36b06c37 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/methodProperties.json @@ -0,0 +1,42 @@ +{ + "class" : { + "token" : "FP 6/13/2024 16:49", + "token:" : "FP 6/13/2024 16:49", + "url" : "FP 6/15/2024 13:47" }, + "instance" : { + "addAssignee:toIssue:" : "FP 6/18/2024 12:12", + "addLabel:toIssue:" : "FP 6/18/2024 13:51", + "createPostRequestTo:" : "FP 6/13/2024 16:58", + "deleteAssignee:fromIssue:" : "FP 6/18/2024 11:18", + "deleteLabel:fromIssue:" : "FP 6/18/2024 13:59", + "getAddAssigneeMutation:toIssue:" : "FP 6/18/2024 12:17", + "getAddLabelMutation:toIssue:" : "FP 6/18/2024 13:57", + "getDeleteAssigneeMutation:fromIssue:" : "FP 6/18/2024 11:13", + "getMoveCardMutation:toColumn:fieldID:inProject:" : "FP 6/19/2024 17:11", + "getPossibleAssigneesQuery:" : "FP 6/16/2024 17:34", + "getPossibleLabelsQuery:" : "FP 6/16/2024 17:49", + "getQueryColumnFieldIDQuery:" : "FP 6/19/2024 17:29", + "getQueryColumnQuery:" : "FP 6/19/2024 17:44", + "getQueryColumnsQuery:" : "FP 6/19/2024 17:24", + "getQueryProjectIDQuery:user:" : "FP 6/16/2024 15:28", + "getQueryProjectQuery:" : "FP 6/16/2024 15:36", + "getRemoveLabelMutation:fromIssue:" : "FP 6/18/2024 13:57", + "getUpdateAssigneesMutation:fromDraft:" : "FP 6/18/2024 12:15", + "getUpdateCardPositionQuery:after:project:" : "FP 6/19/2024 18:25", + "getUpdateDraftMutation:" : "FP 6/19/2024 16:53", + "getUpdateIssueMutation:" : "FP 6/19/2024 16:53", + "listPossibleAssigneesForProject:" : "FP 6/16/2024 17:40", + "listPossibleLabelsForProject:" : "FP 6/16/2024 17:50", + "moveCard:toColumn:fieldId:inProject:" : "FP 6/19/2024 17:15", + "postRequestToURL:withData:" : "FP 6/13/2024 18:08", + "postRequestwithData:" : "FP 6/16/2024 14:08", + "queryCardsfromProject:" : "FP 6/17/2024 17:25", + "queryColumnFieldId:" : "FP 6/19/2024 17:30", + "queryColumns:" : "FP 6/19/2024 17:36", + "queryProject:" : "FP 6/16/2024 15:40", + "queryProjectID:user:" : "FP 6/16/2024 15:28", + "updateAssignees:fromDraft:" : "FP 6/18/2024 12:15", + "updateCardPosition:after:inProject:" : "FP 6/19/2024 18:16", + "updateDraft:" : "FP 6/18/2024 15:04", + "updateIssue:" : "FP 6/18/2024 14:41", + "userString" : "FP 6/15/2024 13:59" } } diff --git a/Squello-Core.package/SPBNewGithubAPI.class/properties.json b/Squello-Core.package/SPBNewGithubAPI.class/properties.json new file mode 100644 index 00000000..e9fac792 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubAPI.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Squello-Core", + "classinstvars" : [ + ], + "classvars" : [ + "Token" ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "SPBNewGithubAPI", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/README.md b/Squello-Core.package/SPBNewGithubBoardProvider.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addAssignee.toCard..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addAssignee.toCard..st new file mode 100644 index 00000000..b6611379 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addAssignee.toCard..st @@ -0,0 +1,6 @@ +assignees +addAssignee: aSPBAssignee toCard: aSPBCard + + aSPBCard isNote + ifTrue: [^ self addAssignee: aSPBAssignee toDraft: aSPBCard] + ifFalse: [^ self addAssignee: aSPBAssignee toIssue: aSPBCard]. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addAssignee.toDraft..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addAssignee.toDraft..st new file mode 100644 index 00000000..f169f182 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addAssignee.toDraft..st @@ -0,0 +1,9 @@ +assignees +addAssignee: anSPBAssignee toDraft: anSPBCard + + "the Assignee is probably already in the list, so just forward current list to server" + | newAssignees assigneeString | + newAssignees := anSPBCard assignees collect: [:each| each id]. + (newAssignees includes: anSPBAssignee id) ifFalse: [newAssignees add: anSPBAssignee id]. + assigneeString := self getAssigneeString: newAssignees. + ^ self api updateAssignees: assigneeString fromDraft: anSPBCard issueId. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addAssignee.toIssue..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addAssignee.toIssue..st new file mode 100644 index 00000000..4a8d8ffa --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addAssignee.toIssue..st @@ -0,0 +1,4 @@ +assignees +addAssignee: anSPBAssignee toIssue: anSPBCard + + ^ self api addAssignee: anSPBAssignee id toIssue: anSPBCard issueId. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addLabel.toCard..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addLabel.toCard..st new file mode 100644 index 00000000..7a9a3330 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addLabel.toCard..st @@ -0,0 +1,6 @@ +labels +addLabel: aSPBLabel toCard: aSPBCard + + aSPBCard isNote + ifTrue: [^ self addLabel: aSPBLabel toDraft: aSPBCard] + ifFalse: [^ self addLabel: aSPBLabel toIssue: aSPBCard]. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addLabel.toDraft..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addLabel.toDraft..st new file mode 100644 index 00000000..fca39358 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addLabel.toDraft..st @@ -0,0 +1,4 @@ +labels +addLabel: aSPBLabel toDraft: aSPBCard + + UIManager inform: 'Drafts/Notes do not have Labels'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addLabel.toIssue..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addLabel.toIssue..st new file mode 100644 index 00000000..4fa5bfde --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/addLabel.toIssue..st @@ -0,0 +1,4 @@ +labels +addLabel: aSPBLabel toIssue: aSPBCard + + ^ self api addLabel: aSPBLabel id toIssue: aSPBCard issueId. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/api.st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/api.st new file mode 100644 index 00000000..131ba013 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/api.st @@ -0,0 +1,4 @@ +accessing +api + + ^ self subclassResponsibility. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/boardNr..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/boardNr..st new file mode 100644 index 00000000..02fdfc50 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/boardNr..st @@ -0,0 +1,3 @@ +accessing +boardNr: anObject + boardNr := anObject \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/boardNr.st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/boardNr.st new file mode 100644 index 00000000..c119b940 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/boardNr.st @@ -0,0 +1,3 @@ +accessing +boardNr + ^ boardNr \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/columnFieldId..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/columnFieldId..st new file mode 100644 index 00000000..c0f35c59 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/columnFieldId..st @@ -0,0 +1,4 @@ +accessing +columnFieldId: aString + + columnFieldId := aString. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/columnFieldId.st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/columnFieldId.st new file mode 100644 index 00000000..e66f7726 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/columnFieldId.st @@ -0,0 +1,4 @@ +accessing +columnFieldId + + ^ columnFieldId. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/createCardsFromColumn..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/createCardsFromColumn..st new file mode 100644 index 00000000..cae659e4 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/createCardsFromColumn..st @@ -0,0 +1,5 @@ +cards +createCardsFromColumn: anSPBColumn + + "This is only for the old API, GQL allows to fetch the whole board, see #fetchCardsIntoColumns:" + self shouldNotImplement. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/createColumn..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/createColumn..st new file mode 100644 index 00000000..68584ce0 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/createColumn..st @@ -0,0 +1,5 @@ +columns +createColumn: aString + + "AFAIK, this is currently not supported by the API" + UIManager inform: 'Sorry, It is not possible to create a column from Squello.'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/createNewCard.into..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/createNewCard.into..st new file mode 100644 index 00000000..a0d8babb --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/createNewCard.into..st @@ -0,0 +1,4 @@ +cards +createNewCard: aDictionary into: anSPBColumn + + UIManager inform: 'Squello does not support adding cards yet'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteAssignee.fromCard..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteAssignee.fromCard..st new file mode 100644 index 00000000..d1e5c3a3 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteAssignee.fromCard..st @@ -0,0 +1,6 @@ +assignees +deleteAssignee: anSPBAssignee fromCard: anSPBCard + + anSPBCard isNote + ifTrue: [^ self deleteAssignee: anSPBAssignee fromDraft: anSPBCard] + ifFalse: [^ self deleteAssignee: anSPBAssignee fromIssue: anSPBCard]. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteAssignee.fromDraft..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteAssignee.fromDraft..st new file mode 100644 index 00000000..341aabac --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteAssignee.fromDraft..st @@ -0,0 +1,9 @@ +assignees +deleteAssignee: anSPBAssignee fromDraft: anSPBCard + + "the Assignee is probably already removed, so just forward current list to server" + | newAssignees assigneeString | + newAssignees := anSPBCard assignees collect: [:each| each id]. + newAssignees remove: anSPBAssignee id ifAbsent: []. + assigneeString := self getAssigneeString: newAssignees. + ^ self api updateAssignees: assigneeString fromDraft: anSPBCard issueId. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteAssignee.fromIssue..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteAssignee.fromIssue..st new file mode 100644 index 00000000..fb2ac01a --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteAssignee.fromIssue..st @@ -0,0 +1,4 @@ +assignees +deleteAssignee: anSPBAssignee fromIssue: anSPBCard + + ^ self api deleteAssignee: anSPBAssignee id fromIssue: anSPBCard issueId. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteLabel.fromCard..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteLabel.fromCard..st new file mode 100644 index 00000000..6271022d --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteLabel.fromCard..st @@ -0,0 +1,6 @@ +labels +deleteLabel: aSPBLabel fromCard: aSPBCard + + aSPBCard isNote + ifTrue: [^ self deleteLabel: aSPBLabel fromDraft: aSPBCard] + ifFalse: [^ self deleteLabel: aSPBLabel fromIssue: aSPBCard]. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteLabel.fromDraft..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteLabel.fromDraft..st new file mode 100644 index 00000000..9f7682b0 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteLabel.fromDraft..st @@ -0,0 +1,4 @@ +labels +deleteLabel: aSPBLabel fromDraft: aSPBCard + + UIManager inform: 'Drafts/Notes do not have labels'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteLabel.fromIssue..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteLabel.fromIssue..st new file mode 100644 index 00000000..a870315d --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/deleteLabel.fromIssue..st @@ -0,0 +1,4 @@ +labels +deleteLabel: aSPBLabel fromIssue: aSPBCard + + ^ self api deleteLabel: aSPBLabel id fromIssue: aSPBCard issueId. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/fetchCardsIntoColumns..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/fetchCardsIntoColumns..st new file mode 100644 index 00000000..5a877a31 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/fetchCardsIntoColumns..st @@ -0,0 +1,10 @@ +cards +fetchCardsIntoColumns: anOrderedCollection + + "anOrderedCollection => Collection of SPBColumn" + + |cardsJson columnDict | + cardsJson := (self api queryCardsfromProject: self projectId) asOrderedCollection. + columnDict := (anOrderedCollection collect: [:each| each id -> each]) asDictionary. + + cardsJson do: [:each| SPBCard buildFromRemoteProject: each intoColumns: columnDict]. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/getAssigneeString..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/getAssigneeString..st new file mode 100644 index 00000000..be7aa038 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/getAssigneeString..st @@ -0,0 +1,8 @@ +assignees +getAssigneeString: anOrderedCollection + + | str | + anOrderedCollection isEmpty ifTrue: [^ '']. + str := '\"', anOrderedCollection first, '\"'. + anOrderedCollection allButFirstDo: [:each| str := str , ', \"', each, '\"']. + ^ str. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/getProjectId.user..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/getProjectId.user..st new file mode 100644 index 00000000..91f4f65a --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/getProjectId.user..st @@ -0,0 +1,4 @@ +initialize-release +getProjectId: aNumber user: aString + + ^ self api queryProjectID: aNumber user: aString. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/listPossibleAssignees.st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/listPossibleAssignees.st new file mode 100644 index 00000000..9841388f --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/listPossibleAssignees.st @@ -0,0 +1,5 @@ +assignees +listPossibleAssignees + + ^ (self api listPossibleAssigneesForProject: self projectId) + collect: [:each| SPBAssignee newFrom: each]. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/listPossibleLabels.st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/listPossibleLabels.st new file mode 100644 index 00000000..f3e3f82b --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/listPossibleLabels.st @@ -0,0 +1,5 @@ +labels +listPossibleLabels + + ^ (self api listPossibleLabelsForProject: self projectId) + collect: [:each| SPBLabel newFrom: each]. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveCard.after.toColumn..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveCard.after.toColumn..st new file mode 100644 index 00000000..e4916f5b --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveCard.after.toColumn..st @@ -0,0 +1,5 @@ +columns +moveCard: aSPBCard after: anotherSPBCard toColumn: aSPBColumn + + self moveCard: aSPBCard toColumn: aSPBColumn. + ^ self api updateCardPosition: aSPBCard cardId after: anotherSPBCard cardId inProject: self projectId. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveCard.toColumn..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveCard.toColumn..st new file mode 100644 index 00000000..f8a08cad --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveCard.toColumn..st @@ -0,0 +1,4 @@ +cards +moveCard: aSPBCard toColumn: aSPBColumn + + ^ self api moveCard: aSPBCard cardId toColumn: aSPBColumn id fieldId: self columnFieldId inProject: self projectId. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveCardToTop.toColumn..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveCardToTop.toColumn..st new file mode 100644 index 00000000..ac9b4042 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveCardToTop.toColumn..st @@ -0,0 +1,5 @@ +columns +moveCardToTop: aSPBCard toColumn: aSPBColumn + + self moveCard: aSPBCard toColumn: aSPBColumn. + ^ self api updateCardPosition: aSPBCard cardId after: nil inProject: self projectId. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveColumn.after..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveColumn.after..st new file mode 100644 index 00000000..81f6739f --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveColumn.after..st @@ -0,0 +1,4 @@ +columns +moveColumn: anSPBColumn after: anotherSPBColumn + + UIManager inform: 'Squello does not currently support moving Columns'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveColumnToFront..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveColumnToFront..st new file mode 100644 index 00000000..10af7194 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/moveColumnToFront..st @@ -0,0 +1,4 @@ +columns +moveColumnToFront: aSPBColumn + + UIManager inform: 'Squello does not currently support moving Columns'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/parseInputBoardUrl..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/parseInputBoardUrl..st new file mode 100644 index 00000000..1179de2e --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/parseInputBoardUrl..st @@ -0,0 +1,9 @@ +initialize-release +parseInputBoardUrl: aString + + | pathComponents | + pathComponents := aString asUrl fullPath splitBy: '/'. + self boardNr: (pathComponents at: 5) asNumber. + self user: (pathComponents at: 3). + + self projectId: (self getProjectId: self boardNr user: self user). \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/projectId..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/projectId..st new file mode 100644 index 00000000..ed3e51cb --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/projectId..st @@ -0,0 +1,3 @@ +accessing +projectId: anObject + projectId := anObject \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/projectId.st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/projectId.st new file mode 100644 index 00000000..4315a3b9 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/projectId.st @@ -0,0 +1,3 @@ +accessing +projectId + ^ projectId \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/queryBoardName.st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/queryBoardName.st new file mode 100644 index 00000000..604c5e69 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/queryBoardName.st @@ -0,0 +1,4 @@ +board +queryBoardName + + ^ (self api queryProject: self projectId) at: 'title'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/queryColumnFieldId.st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/queryColumnFieldId.st new file mode 100644 index 00000000..98d79c2c --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/queryColumnFieldId.st @@ -0,0 +1,4 @@ +columns +queryColumnFieldId + + ^ self api queryColumnFieldId: self projectId. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/queryColumns.st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/queryColumns.st new file mode 100644 index 00000000..dad3c6a4 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/queryColumns.st @@ -0,0 +1,7 @@ +columns +queryColumns + + | column columnsJson | + self columnFieldId: self queryColumnFieldId. + columnsJson := self api queryColumns: self projectId. + ^ (columnsJson collect: [:each | column := SPBColumn newFrom: each. column boardProvider: self]) asOrderedCollection. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/renameColumn.to..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/renameColumn.to..st new file mode 100644 index 00000000..16016d1a --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/renameColumn.to..st @@ -0,0 +1,5 @@ +columns +renameColumn: anSPBColumn to: aString + + "AFAIK, this is currently not supported by the API" + UIManager inform: 'Sorry, It is not possible to rename a column from Squello.'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/repo.st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/repo.st new file mode 100644 index 00000000..9d5a74c0 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/repo.st @@ -0,0 +1,4 @@ +accessing +repo + + ^ 'projectv2'. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/updateCard..st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/updateCard..st new file mode 100644 index 00000000..db42e8c7 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/updateCard..st @@ -0,0 +1,10 @@ +cards +updateCard: aSPBCard + + aSPBCard isNote + ifTrue: [ + self api updateDraft: aSPBCard. + ] + ifFalse: [ + self api updateIssue: aSPBCard. + ]. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/url.st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/url.st new file mode 100644 index 00000000..0f36cd77 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/url.st @@ -0,0 +1,4 @@ +accessing +url + + ^ 'https://github.com/', self urlString, '/' , self user, '/projects/', self boardNr. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/urlString.st b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/urlString.st new file mode 100644 index 00000000..f109f451 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/instance/urlString.st @@ -0,0 +1,4 @@ +accessing +urlString + + ^ self subclassResponsibility. \ No newline at end of file diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/methodProperties.json b/Squello-Core.package/SPBNewGithubBoardProvider.class/methodProperties.json new file mode 100644 index 00000000..487cbadf --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/methodProperties.json @@ -0,0 +1,45 @@ +{ + "class" : { + }, + "instance" : { + "addAssignee:toCard:" : "FP 6/18/2024 12:11", + "addAssignee:toDraft:" : "FP 6/19/2024 16:55", + "addAssignee:toIssue:" : "FP 6/19/2024 16:55", + "addLabel:toCard:" : "FP 6/18/2024 13:45", + "addLabel:toDraft:" : "FP 6/18/2024 13:46", + "addLabel:toIssue:" : "FP 6/19/2024 16:55", + "api" : "FP 6/15/2024 14:04", + "boardNr" : "FP 6/15/2024 13:22", + "boardNr:" : "FP 6/15/2024 13:22", + "columnFieldId" : "FP 6/19/2024 17:17", + "columnFieldId:" : "FP 6/19/2024 17:17", + "createCardsFromColumn:" : "FP 6/19/2024 18:30", + "createColumn:" : "FP 6/19/2024 16:40", + "createNewCard:into:" : "FP 6/19/2024 18:46", + "deleteAssignee:fromCard:" : "FP 6/18/2024 11:38", + "deleteAssignee:fromDraft:" : "FP 6/19/2024 16:55", + "deleteAssignee:fromIssue:" : "FP 6/19/2024 16:54", + "deleteLabel:fromCard:" : "FP 6/18/2024 13:41", + "deleteLabel:fromDraft:" : "FP 6/18/2024 13:44", + "deleteLabel:fromIssue:" : "FP 6/19/2024 16:54", + "fetchCardsIntoColumns:" : "FP 6/17/2024 17:20", + "getAssigneeString:" : "FP 6/18/2024 12:03", + "getProjectId:user:" : "FP 6/15/2024 13:38", + "listPossibleAssignees" : "FP 6/16/2024 17:44", + "listPossibleLabels" : "FP 6/16/2024 17:52", + "moveCard:after:toColumn:" : "FP 6/19/2024 18:18", + "moveCard:toColumn:" : "FP 6/19/2024 18:16", + "moveCardToTop:toColumn:" : "FP 6/19/2024 18:23", + "moveColumn:after:" : "FP 6/19/2024 18:45", + "moveColumnToFront:" : "FP 6/19/2024 18:45", + "parseInputBoardUrl:" : "FP 6/15/2024 13:30", + "projectId" : "FP 6/15/2024 13:22", + "projectId:" : "FP 6/15/2024 13:22", + "queryBoardName" : "FP 6/16/2024 15:39", + "queryColumnFieldId" : "FP 6/19/2024 17:31", + "queryColumns" : "FP 6/19/2024 17:34", + "renameColumn:to:" : "FP 6/19/2024 16:42", + "repo" : "FP 6/17/2024 18:06", + "updateCard:" : "FP 6/18/2024 14:54", + "url" : "FP 6/17/2024 18:09", + "urlString" : "FP 6/17/2024 18:08" } } diff --git a/Squello-Core.package/SPBNewGithubBoardProvider.class/properties.json b/Squello-Core.package/SPBNewGithubBoardProvider.class/properties.json new file mode 100644 index 00000000..1ed0b818 --- /dev/null +++ b/Squello-Core.package/SPBNewGithubBoardProvider.class/properties.json @@ -0,0 +1,17 @@ +{ + "category" : "Squello-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "api", + "projectId", + "boardNr", + "columnFieldId" ], + "name" : "SPBNewGithubBoardProvider", + "pools" : [ + ], + "super" : "SPBAbstractBoardProvider", + "type" : "normal" } diff --git a/Squello-Core.package/SPBOrgGithubAPI.class/README.md b/Squello-Core.package/SPBOrgGithubAPI.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/Squello-Core.package/SPBOrgGithubAPI.class/instance/userString.st b/Squello-Core.package/SPBOrgGithubAPI.class/instance/userString.st new file mode 100644 index 00000000..13a5410a --- /dev/null +++ b/Squello-Core.package/SPBOrgGithubAPI.class/instance/userString.st @@ -0,0 +1,4 @@ +request creation +userString + + ^ 'organization'. \ No newline at end of file diff --git a/Squello-Core.package/SPBOrgGithubAPI.class/methodProperties.json b/Squello-Core.package/SPBOrgGithubAPI.class/methodProperties.json new file mode 100644 index 00000000..d7d243d3 --- /dev/null +++ b/Squello-Core.package/SPBOrgGithubAPI.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "userString" : "FP 6/15/2024 14:00" } } diff --git a/Squello-Core.package/SPBOrgGithubAPI.class/properties.json b/Squello-Core.package/SPBOrgGithubAPI.class/properties.json new file mode 100644 index 00000000..97b70038 --- /dev/null +++ b/Squello-Core.package/SPBOrgGithubAPI.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Squello-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "SPBOrgGithubAPI", + "pools" : [ + ], + "super" : "SPBNewGithubAPI", + "type" : "normal" } diff --git a/Squello-Core.package/SPBUserGithubAPI.class/README.md b/Squello-Core.package/SPBUserGithubAPI.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/Squello-Core.package/SPBUserGithubAPI.class/instance/userString.st b/Squello-Core.package/SPBUserGithubAPI.class/instance/userString.st new file mode 100644 index 00000000..50188baf --- /dev/null +++ b/Squello-Core.package/SPBUserGithubAPI.class/instance/userString.st @@ -0,0 +1,4 @@ +request creation +userString + + ^ 'user'. \ No newline at end of file diff --git a/Squello-Core.package/SPBUserGithubAPI.class/methodProperties.json b/Squello-Core.package/SPBUserGithubAPI.class/methodProperties.json new file mode 100644 index 00000000..4e53c693 --- /dev/null +++ b/Squello-Core.package/SPBUserGithubAPI.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "userString" : "FP 6/15/2024 14:01" } } diff --git a/Squello-Core.package/SPBUserGithubAPI.class/properties.json b/Squello-Core.package/SPBUserGithubAPI.class/properties.json new file mode 100644 index 00000000..5e34cac9 --- /dev/null +++ b/Squello-Core.package/SPBUserGithubAPI.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Squello-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "SPBUserGithubAPI", + "pools" : [ + ], + "super" : "SPBNewGithubAPI", + "type" : "normal" } diff --git a/Squello-Tests.package/SPBIndicatorDetectionCardTests.class/instance/testMouseEnterDragging.st b/Squello-Tests.package/SPBIndicatorDetectionCardTests.class/instance/testMouseEnterDragging.st index 3db032e7..06826a90 100644 --- a/Squello-Tests.package/SPBIndicatorDetectionCardTests.class/instance/testMouseEnterDragging.st +++ b/Squello-Tests.package/SPBIndicatorDetectionCardTests.class/instance/testMouseEnterDragging.st @@ -14,5 +14,5 @@ testMouseEnterDragging indicatorDetection mouseEnterDragging: MouseEvent new. self assert: (10 @ 5) equals: (lane indicator vertexAt: 1). - self assert: (290 @ 5) equals: (lane indicator vertexAt: 2). + self assert: (280 @ 5) equals: (lane indicator vertexAt: 2). self assert: true equals: lane indicator visible. \ No newline at end of file diff --git a/Squello-Tests.package/SPBIndicatorDetectionCardTests.class/methodProperties.json b/Squello-Tests.package/SPBIndicatorDetectionCardTests.class/methodProperties.json index f3cc1b2f..0dfda490 100644 --- a/Squello-Tests.package/SPBIndicatorDetectionCardTests.class/methodProperties.json +++ b/Squello-Tests.package/SPBIndicatorDetectionCardTests.class/methodProperties.json @@ -6,5 +6,5 @@ "tearDown" : "NTK 7/30/2022 12:59", "testCard" : "NTK 7/30/2022 13:17", "testLocation" : "NTK 7/30/2022 13:17", - "testMouseEnterDragging" : "tk 7/30/2022 23:32", + "testMouseEnterDragging" : "FP 6/19/2024 19:00", "testMouseLeaveDragging" : "tk 7/30/2022 23:33" } } diff --git a/Squello-Tests.package/SPBIndicatorDetectionColumnTests.class/instance/testMouseEnterDragging.st b/Squello-Tests.package/SPBIndicatorDetectionColumnTests.class/instance/testMouseEnterDragging.st index 1ae5f93b..2e1967ec 100644 --- a/Squello-Tests.package/SPBIndicatorDetectionColumnTests.class/instance/testMouseEnterDragging.st +++ b/Squello-Tests.package/SPBIndicatorDetectionColumnTests.class/instance/testMouseEnterDragging.st @@ -8,5 +8,5 @@ testMouseEnterDragging indicatorDetection column: column. indicatorDetection mouseEnterDragging: MouseEvent new. self assert: (0 @ 0) equals: (column indicator vertexAt: 1). - self assert: (280 @ 0) equals: (column indicator vertexAt: 2). + self assert: (270 @ 0) equals: (column indicator vertexAt: 2). self assert: true equals: column indicator visible. \ No newline at end of file diff --git a/Squello-Tests.package/SPBIndicatorDetectionColumnTests.class/methodProperties.json b/Squello-Tests.package/SPBIndicatorDetectionColumnTests.class/methodProperties.json index 3ab600d7..ae247cd0 100644 --- a/Squello-Tests.package/SPBIndicatorDetectionColumnTests.class/methodProperties.json +++ b/Squello-Tests.package/SPBIndicatorDetectionColumnTests.class/methodProperties.json @@ -5,5 +5,5 @@ "setUp" : "tk 7/30/2022 23:46", "tearDown" : "NTK 7/30/2022 13:19", "testColumn" : "mcr 8/1/2022 02:19", - "testMouseEnterDragging" : "tk 7/30/2022 23:33", + "testMouseEnterDragging" : "FP 6/19/2024 18:58", "testMouseLeaveDragging" : "tk 7/30/2022 23:34" } } diff --git a/Squello-Tests.package/SPBLocalSaveTests.class/instance/testReadonlyLoad.st b/Squello-Tests.package/SPBLocalSaveTests.class/instance/testReadonlyLoad.st new file mode 100644 index 00000000..e04e8f8e --- /dev/null +++ b/Squello-Tests.package/SPBLocalSaveTests.class/instance/testReadonlyLoad.st @@ -0,0 +1,8 @@ +tests +testReadonlyLoad + + | obj1 obj2 | + saver save: self copyableObject as: self defaultKey. + obj1 := saver loadReadonly: self defaultKey. + obj2 := saver loadReadonly: self defaultKey. + self assert: (obj1 hash = obj2 hash). \ No newline at end of file diff --git a/Squello-Tests.package/SPBLocalSaveTests.class/methodProperties.json b/Squello-Tests.package/SPBLocalSaveTests.class/methodProperties.json index a4420c4c..d88e559e 100644 --- a/Squello-Tests.package/SPBLocalSaveTests.class/methodProperties.json +++ b/Squello-Tests.package/SPBLocalSaveTests.class/methodProperties.json @@ -11,4 +11,5 @@ "testDeleteReturnsNil" : "FP 6/3/2024 11:20", "testLoadCreatesCopy" : "FP 6/3/2024 11:19", "testLoadIsCopyOfSave" : "FP 6/3/2024 11:19", + "testReadonlyLoad" : "FP 6/8/2024 11:58", "testSaveIsSameAsLoad" : "FP 6/3/2024 11:19" } } diff --git a/Squello-Tests.package/SPBMockGithubBoardProvider.class/instance/fetchCardsIntoColumns..st b/Squello-Tests.package/SPBMockGithubBoardProvider.class/instance/fetchCardsIntoColumns..st new file mode 100644 index 00000000..a4baacec --- /dev/null +++ b/Squello-Tests.package/SPBMockGithubBoardProvider.class/instance/fetchCardsIntoColumns..st @@ -0,0 +1,5 @@ +as yet unclassified +fetchCardsIntoColumns: anOrderedCollection + + "anOrderedCollection => Collection of SPBColumn" + anOrderedCollection do: [:each | self createCardsFromColumn: each]. \ No newline at end of file diff --git a/Squello-Tests.package/SPBMockGithubBoardProvider.class/instance/queryBoardName.st b/Squello-Tests.package/SPBMockGithubBoardProvider.class/instance/queryBoardName.st new file mode 100644 index 00000000..1eed5de2 --- /dev/null +++ b/Squello-Tests.package/SPBMockGithubBoardProvider.class/instance/queryBoardName.st @@ -0,0 +1,4 @@ +as yet unclassified +queryBoardName + + ^ 'TestBoard'. \ No newline at end of file diff --git a/Squello-Tests.package/SPBMockGithubBoardProvider.class/methodProperties.json b/Squello-Tests.package/SPBMockGithubBoardProvider.class/methodProperties.json index 7d80b971..a0c68b56 100644 --- a/Squello-Tests.package/SPBMockGithubBoardProvider.class/methodProperties.json +++ b/Squello-Tests.package/SPBMockGithubBoardProvider.class/methodProperties.json @@ -12,6 +12,7 @@ "createNewCard:into:" : "mcr 8/3/2022 13:59", "deleteAssignee:fromCard:" : "lo 7/31/2022 17:46", "deleteLabel:fromCard:" : "lo 7/31/2022 17:47", + "fetchCardsIntoColumns:" : "FP 6/19/2024 18:28", "label" : "lo 7/31/2022 17:55", "label:" : "lo 7/31/2022 17:56", "listPossibleAssignees" : "FP 5/11/2024 14:43", @@ -19,6 +20,7 @@ "moveCard:after:toColumn:" : "mcr 6/3/2022 13:16", "moveCardToTop:toColumn:" : "mcr 6/3/2022 13:17", "moveColumn:after:" : "tk 7/30/2022 22:00", + "queryBoardName" : "FP 6/11/2024 11:04", "queryCardContent:" : "FP 5/11/2024 14:57", "queryColumns" : "tk 7/30/2022 23:31", "renameColumn:to:" : "FP 5/11/2024 15:01", diff --git a/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/README.md b/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/instance/setUp.st b/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/instance/setUp.st new file mode 100644 index 00000000..f619b21d --- /dev/null +++ b/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/instance/setUp.st @@ -0,0 +1,5 @@ +running +setUp + + provider := SPBGithubUserBoardProvider new. + \ No newline at end of file diff --git a/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/instance/tearDown.st b/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/instance/tearDown.st new file mode 100644 index 00000000..91872d23 --- /dev/null +++ b/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/instance/tearDown.st @@ -0,0 +1,4 @@ +running +tearDown + + provider := nil. \ No newline at end of file diff --git a/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/instance/testAssigneeUpdateString.st b/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/instance/testAssigneeUpdateString.st new file mode 100644 index 00000000..dbba4444 --- /dev/null +++ b/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/instance/testAssigneeUpdateString.st @@ -0,0 +1,7 @@ +tests +testAssigneeUpdateString + + | coll str | + coll := {'first'. 'second'. 'third'}. + str := provider getAssigneeString: coll asOrderedCollection. + self assert: str = '\"first\", \"second\", \"third\"'. \ No newline at end of file diff --git a/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/methodProperties.json b/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/methodProperties.json new file mode 100644 index 00000000..a15685ce --- /dev/null +++ b/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/methodProperties.json @@ -0,0 +1,7 @@ +{ + "class" : { + }, + "instance" : { + "setUp" : "FP 6/18/2024 11:58", + "tearDown" : "FP 6/18/2024 11:55", + "testAssigneeUpdateString" : "FP 6/18/2024 12:03" } } diff --git a/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/properties.json b/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/properties.json new file mode 100644 index 00000000..8773b07a --- /dev/null +++ b/Squello-Tests.package/SPBNewGithubBoardProviderTests.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Squello-Tests", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "provider" ], + "name" : "SPBNewGithubBoardProviderTests", + "pools" : [ + ], + "super" : "TestCase", + "type" : "normal" }