diff --git a/packages/Liquid-Core.package/LQFreeTextAnswer.class/README.md b/packages/Liquid-Core.package/LQFreeTextAnswer.class/README.md new file mode 100644 index 00000000..43244c52 --- /dev/null +++ b/packages/Liquid-Core.package/LQFreeTextAnswer.class/README.md @@ -0,0 +1,3 @@ +Answers belonging currently all Questions have this type. However, this might be later split up into different question modes. +Notable Instance Variables: +- votedChoiceList: An OrderedCollection of all the choices the participant voted. \ No newline at end of file diff --git a/packages/Liquid-Core.package/LQFreeTextAnswer.class/class/newWithQuestion.andVotes..st b/packages/Liquid-Core.package/LQFreeTextAnswer.class/class/newWithQuestion.andVotes..st new file mode 100644 index 00000000..7d67f189 --- /dev/null +++ b/packages/Liquid-Core.package/LQFreeTextAnswer.class/class/newWithQuestion.andVotes..st @@ -0,0 +1,7 @@ +class initialization +newWithQuestion: aQuestion andVotes: anOrderedCollection + + ^ LQAnswer new + questionId: aQuestion id; + choicesRanking: (anOrderedCollection collect: [:each | each description]) ; + yourself \ No newline at end of file diff --git a/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/answer..st b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/answer..st new file mode 100644 index 00000000..671b7793 --- /dev/null +++ b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/answer..st @@ -0,0 +1,3 @@ +accessing +answer: anObject + answer := anObject \ No newline at end of file diff --git a/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/answer.st b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/answer.st new file mode 100644 index 00000000..18100860 --- /dev/null +++ b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/answer.st @@ -0,0 +1,3 @@ +accessing +answer + ^ answer \ No newline at end of file diff --git a/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/id..st b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/id..st new file mode 100644 index 00000000..d78169be --- /dev/null +++ b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/id..st @@ -0,0 +1,4 @@ +accessing +id: aString + + id := aString \ No newline at end of file diff --git a/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/id.st b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/id.st new file mode 100644 index 00000000..44798f6f --- /dev/null +++ b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/id.st @@ -0,0 +1,4 @@ +accessing +id + + ^ id \ No newline at end of file diff --git a/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/initialize.st b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/initialize.st new file mode 100644 index 00000000..ea542340 --- /dev/null +++ b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/initialize.st @@ -0,0 +1,4 @@ +initialize-release +initialize + super initialize. + self id: UUID new asString. \ No newline at end of file diff --git a/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/printDataOn..st b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/printDataOn..st new file mode 100644 index 00000000..286e70e0 --- /dev/null +++ b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/printDataOn..st @@ -0,0 +1,12 @@ +printing +printDataOn: aStream + + self choicesRanking ifEmpty: [^ self]. + self choicesRanking + collect: [:votedChoice | + aStream nextPutAll: votedChoice. + aStream nextPutAll: ':'] + from: 1 + to: self choicesRanking size - 1. + + aStream nextPutAll: self choicesRanking last \ No newline at end of file diff --git a/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/questionId..st b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/questionId..st new file mode 100644 index 00000000..de493b57 --- /dev/null +++ b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/questionId..st @@ -0,0 +1,4 @@ +accessing +questionId: aString + + questionId := aString \ No newline at end of file diff --git a/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/questionId.st b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/questionId.st new file mode 100644 index 00000000..6dc28098 --- /dev/null +++ b/packages/Liquid-Core.package/LQFreeTextAnswer.class/instance/questionId.st @@ -0,0 +1,4 @@ +accessing +questionId + + ^ questionId \ No newline at end of file diff --git a/packages/Liquid-Core.package/LQFreeTextAnswer.class/methodProperties.json b/packages/Liquid-Core.package/LQFreeTextAnswer.class/methodProperties.json new file mode 100644 index 00000000..bad0efa7 --- /dev/null +++ b/packages/Liquid-Core.package/LQFreeTextAnswer.class/methodProperties.json @@ -0,0 +1,12 @@ +{ + "class" : { + "newWithQuestion:andVotes:" : "Anton Eichstädt 6/5/2024 17:28" }, + "instance" : { + "answer" : "leli 6/10/2024 15:46", + "answer:" : "leli 6/10/2024 15:46", + "id" : "JT 8/2/2022 16:59", + "id:" : "JT 8/2/2022 16:59", + "initialize" : "leli 6/10/2024 15:45", + "printDataOn:" : "Anton Eichstädt 5/24/2024 15:23", + "questionId" : "JT 8/2/2022 17:01", + "questionId:" : "JT 8/2/2022 17:01" } } diff --git a/packages/Liquid-Core.package/LQFreeTextAnswer.class/properties.json b/packages/Liquid-Core.package/LQFreeTextAnswer.class/properties.json new file mode 100644 index 00000000..e6e29820 --- /dev/null +++ b/packages/Liquid-Core.package/LQFreeTextAnswer.class/properties.json @@ -0,0 +1,16 @@ +{ + "category" : "Liquid-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "id", + "questionId", + "answer" ], + "name" : "LQFreeTextAnswer", + "pools" : [ + ], + "super" : "Object", + "type" : "normal" } diff --git a/packages/Liquid-Core.package/LQFreeTextQuestion.class/instance/buildEmptyAnswer.st b/packages/Liquid-Core.package/LQFreeTextQuestion.class/instance/buildEmptyAnswer.st index 2793571c..6da571b5 100644 --- a/packages/Liquid-Core.package/LQFreeTextQuestion.class/instance/buildEmptyAnswer.st +++ b/packages/Liquid-Core.package/LQFreeTextQuestion.class/instance/buildEmptyAnswer.st @@ -1,4 +1,3 @@ initialize-release buildEmptyAnswer - - ^ LQAnswer new \ No newline at end of file + ^ LQFreeTextAnswer new. \ No newline at end of file diff --git a/packages/Liquid-Core.package/LQFreeTextQuestion.class/instance/isVotedChoice.ValidFrom..st b/packages/Liquid-Core.package/LQFreeTextQuestion.class/instance/isVotedChoice.ValidFrom..st deleted file mode 100644 index 695caab8..00000000 --- a/packages/Liquid-Core.package/LQFreeTextQuestion.class/instance/isVotedChoice.ValidFrom..st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -isVotedChoice: votedChoice ValidFrom: aUser - - ^ self choiceList noneSatisfy: [:choice | (choice description = votedChoice) and: [choice excludesGroup: aUser group]] \ No newline at end of file diff --git a/packages/Liquid-Core.package/LQFreeTextQuestion.class/methodProperties.json b/packages/Liquid-Core.package/LQFreeTextQuestion.class/methodProperties.json index 51b9f312..a2491201 100644 --- a/packages/Liquid-Core.package/LQFreeTextQuestion.class/methodProperties.json +++ b/packages/Liquid-Core.package/LQFreeTextQuestion.class/methodProperties.json @@ -3,11 +3,10 @@ }, "instance" : { "asString" : "JT 8/2/2022 17:01", - "buildEmptyAnswer" : "Anton Eichstädt 6/5/2024 17:28", + "buildEmptyAnswer" : "leli 6/10/2024 15:47", "id" : "JT 8/2/2022 17:01", "id:" : "JT 8/2/2022 17:01", "initialize" : "leli 6/7/2024 11:57", - "isVotedChoice:ValidFrom:" : "ms 8/4/2022 21:31", "maxNumberOfCharacters" : "leli 6/7/2024 11:54", "maxNumberOfCharacters:" : "leli 6/7/2024 11:54", "title" : "JT 8/2/2022 17:02", diff --git a/packages/Liquid-UI.package/LQAnswerPanel.class/instance/buildRankingIndicesWith..st b/packages/Liquid-UI.package/LQAnswerPanel.class/instance/buildRankingIndicesWith..st index 5f64eb9b..115431b7 100644 --- a/packages/Liquid-UI.package/LQAnswerPanel.class/instance/buildRankingIndicesWith..st +++ b/packages/Liquid-UI.package/LQAnswerPanel.class/instance/buildRankingIndicesWith..st @@ -4,9 +4,5 @@ buildRankingIndicesWith: aBuilder ^ aBuilder pluggableListSpec new model: self; list: #fillSideboard; - "getIndex: #choiceSelected; - setIndex: #choiceSelected:; - getSelectionList: #choiceAt:; - setSelectionList: #choiceAt:put:;" frame: (0.025 @ 0.2 corner: 0.05 @ 0.8); yourself \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQAnswerPanel.class/methodProperties.json b/packages/Liquid-UI.package/LQAnswerPanel.class/methodProperties.json index 05938235..aa911ae6 100644 --- a/packages/Liquid-UI.package/LQAnswerPanel.class/methodProperties.json +++ b/packages/Liquid-UI.package/LQAnswerPanel.class/methodProperties.json @@ -7,7 +7,7 @@ "buildMultiSelectionListWith:" : "Anton Eichstädt 5/28/2024 15:55", "buildQuestionTitleTextWith:" : "Anton Eichstädt 5/28/2024 15:59", "buildQuestionTooltipWith:" : "Anton Eichstädt 5/28/2024 15:59", - "buildRankingIndicesWith:" : "Anton Eichstädt 6/4/2024 11:38", + "buildRankingIndicesWith:" : "leli 6/10/2024 14:01", "buildRemainingVotedChoicesCounterTextWith:" : "JT 8/5/2022 18:25", "builder" : "bn 8/2/2022 21:07", "builder:" : "bn 8/2/2022 21:08", diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/README.md b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/README.md new file mode 100644 index 00000000..aeac30d3 --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/README.md @@ -0,0 +1,8 @@ +The LQAnswerPanel contains all logic needed to display and interact with LQQuestion in the LQParticipantMenu. As this is a lot, also depending on (future) different kinds of questions, this logic has been moved out of the LQParticipantMenu into this class, even though the UI is displayed concurrently with the LQParticipantMenu. + +The Sideboard shows Xs when the question is a MultiChoice Question (via getMarkers), and the ranking for when the question is a priority question. + +Notable Instance Variables: +answer: The LQAnswer currently being edited by the participant. One LQAnswer exists for each LQQuestion and Participant. +choiceSelected: The choice that was last selected in the MultiSelectionList. +selectedChoices: An Set (OrderedCollection for the Priority Case) of all choices that have already been selected by the participant. \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/class/newWith..st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/class/newWith..st new file mode 100644 index 00000000..867d6047 --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/class/newWith..st @@ -0,0 +1,4 @@ +instance creation +newWith: aBuilder + + ^ self new builder: aBuilder \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/answer..st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/answer..st new file mode 100644 index 00000000..6c69d98d --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/answer..st @@ -0,0 +1,6 @@ +accessing +answer: aText + answer := aText. + answer questionId: self question id. + self changed: #getRemainingCharacters + \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/answer.st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/answer.st new file mode 100644 index 00000000..e6ca211f --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/answer.st @@ -0,0 +1,4 @@ +accessing +answer + + ^ answer \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/buildQuestionTitleTextWith..st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/buildQuestionTitleTextWith..st new file mode 100644 index 00000000..3cbd634a --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/buildQuestionTitleTextWith..st @@ -0,0 +1,10 @@ +toolbuilder +buildQuestionTitleTextWith: aBuilder + + ^ aBuilder pluggableTextSpec new + model: self; + getText: #getTitle; + indicateUnacceptedChanges: false; + readOnly: true; + frame: (LayoutFrame fractions: (0.15 @ 0.05 extent: 0.8 @ 0) offsets: (0 @ 0 extent: 0 @ 30)); + yourself \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/buildQuestionTooltipWith..st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/buildQuestionTooltipWith..st new file mode 100644 index 00000000..75688597 --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/buildQuestionTooltipWith..st @@ -0,0 +1,10 @@ +toolbuilder +buildQuestionTooltipWith: aBuilder + + ^ aBuilder pluggableButtonSpec new + label: #tooltipSymbol; + model: self; + enabled: false; + help: self question toolTip; + frame: (LayoutFrame fractions: (0.15 @ 0.1 extent: 0 @ 0) offsets: (0 @ 0 extent: 30 @ 30)); + yourself \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/buildRemainingCharactersCounterTextWith..st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/buildRemainingCharactersCounterTextWith..st new file mode 100644 index 00000000..7048ca5e --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/buildRemainingCharactersCounterTextWith..st @@ -0,0 +1,10 @@ +toolbuilder +buildRemainingCharactersCounterTextWith: aBuilder + + ^ aBuilder pluggableTextSpec new + model: self; + getText: #getRemainingCharacters; + indicateUnacceptedChanges: false; + readOnly: true; + frame: (self layoutFrame); + yourself diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/buildTextInputWith..st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/buildTextInputWith..st new file mode 100644 index 00000000..24bf869c --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/buildTextInputWith..st @@ -0,0 +1,9 @@ +toolbuilder +buildTextInputWith: aBuilder + ^ aBuilder pluggableTextSpec new model: self; + getText: #answer; + editText: #answer:; + indicateUnacceptedChanges: false; + + frame: (0.15 @ 0.2 corner: 0.9 @ 0.8); + yourself \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/builder..st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/builder..st new file mode 100644 index 00000000..ec8a6d38 --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/builder..st @@ -0,0 +1,4 @@ +accessing +builder: aBuilder + + builder := aBuilder \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/builder.st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/builder.st new file mode 100644 index 00000000..dfc206cd --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/builder.st @@ -0,0 +1,4 @@ +accessing +builder + + ^ builder \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/getChildren.st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/getChildren.st new file mode 100644 index 00000000..d402fa07 --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/getChildren.st @@ -0,0 +1,7 @@ +accessing +getChildren + ^ {self builder + build: (self buildQuestionTitleTextWith: self builder). self builder + build: (self buildQuestionTooltipWith: self builder). self builder + build: (self buildRemainingCharactersCounterTextWith: self builder). self builder + build: (self buildTextInputWith: self builder)} \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/getRemainingCharacters.st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/getRemainingCharacters.st new file mode 100644 index 00000000..18a3071e --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/getRemainingCharacters.st @@ -0,0 +1,3 @@ +accessing +getRemainingCharacters + ^ 'Remaining Characters: ' , (self question maxNumberOfCharacters - self answer size) \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/getTitle.st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/getTitle.st new file mode 100644 index 00000000..e9dabcaf --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/getTitle.st @@ -0,0 +1,4 @@ +accessing +getTitle + + ^ self question title \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/initialize.st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/initialize.st new file mode 100644 index 00000000..ce6d0ae7 --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/initialize.st @@ -0,0 +1,7 @@ +initialize-release +initialize + + self + model: self; + frame: (0 @ 0 corner: 1 @ 1); + children: #getChildren \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/isValidSizedInput..st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/isValidSizedInput..st new file mode 100644 index 00000000..4d88f9a9 --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/isValidSizedInput..st @@ -0,0 +1,3 @@ +validation +isValidSizedInput: aText + ^ aText size <= self question maxNumberOfCharacters \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/layoutFrame.st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/layoutFrame.st new file mode 100644 index 00000000..ff7a6f16 --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/layoutFrame.st @@ -0,0 +1,9 @@ +accessing +layoutFrame + + ^ LayoutFrame new + topFraction: 0.81; + leftFraction: 0.10; + rightFraction: 0.31; + bottomFraction: 0.91; + yourself \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/question..st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/question..st new file mode 100644 index 00000000..45b2f9ec --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/question..st @@ -0,0 +1,5 @@ +accessing +question: aQuestion + question := aQuestion. + self answer: aQuestion buildEmptyAnswer. + self resetUI \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/question.st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/question.st new file mode 100644 index 00000000..851846f6 --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/question.st @@ -0,0 +1,4 @@ +accessing +question + + ^ question \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/resetUI.st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/resetUI.st new file mode 100644 index 00000000..a887339e --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/resetUI.st @@ -0,0 +1,5 @@ +accessing +resetUI + self changed: #answer. + self changed: #getTitle. + self changed: #getRemainingVotedChoices \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/tooltipSymbol.st b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/tooltipSymbol.st new file mode 100644 index 00000000..f0a55a01 --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/instance/tooltipSymbol.st @@ -0,0 +1,4 @@ +accessing +tooltipSymbol + + ^ '?' \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/methodProperties.json b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/methodProperties.json new file mode 100644 index 00000000..c24707b6 --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/methodProperties.json @@ -0,0 +1,22 @@ +{ + "class" : { + "newWith:" : "CG 7/30/2021 19:06" }, + "instance" : { + "answer" : "NM 6/5/2021 14:41", + "answer:" : "leli 6/10/2024 14:19", + "buildQuestionTitleTextWith:" : "Anton Eichstädt 5/28/2024 15:59", + "buildQuestionTooltipWith:" : "Anton Eichstädt 5/28/2024 15:59", + "buildRemainingCharactersCounterTextWith:" : "leli 6/10/2024 14:02", + "buildTextInputWith:" : "leli 6/10/2024 14:19", + "builder" : "bn 8/2/2022 21:07", + "builder:" : "bn 8/2/2022 21:08", + "getChildren" : "leli 6/10/2024 15:12", + "getRemainingCharacters" : "leli 6/10/2024 14:20", + "getTitle" : "CG 7/30/2021 19:06", + "initialize" : "bn 7/14/2022 20:17", + "isValidSizedInput:" : "leli 6/10/2024 14:12", + "layoutFrame" : "JT 8/5/2022 18:24", + "question" : "NM 6/5/2021 14:40", + "question:" : "leli 6/10/2024 15:07", + "resetUI" : "leli 6/10/2024 15:10", + "tooltipSymbol" : "bn 5/12/2022 20:27" } } diff --git a/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/properties.json b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/properties.json new file mode 100644 index 00000000..8063f14e --- /dev/null +++ b/packages/Liquid-UI.package/LQFreeTextAnswerPanel.class/properties.json @@ -0,0 +1,16 @@ +{ + "category" : "Liquid-UI", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "builder", + "question", + "answer" ], + "name" : "LQFreeTextAnswerPanel", + "pools" : [ + ], + "super" : "PluggablePanelSpec", + "type" : "normal" } diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/answerPanel..st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/answerPanel..st deleted file mode 100644 index 6d4f5014..00000000 --- a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/answerPanel..st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -answerPanel: anObject - - answerPanel := anObject \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/answerPanel.st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/answerPanel.st deleted file mode 100644 index c2474c48..00000000 --- a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/answerPanel.st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -answerPanel - - ^ answerPanel \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/buildAnswerPanelWith..st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/buildAnswerPanelWith..st index f468ed65..4acf4df3 100644 --- a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/buildAnswerPanelWith..st +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/buildAnswerPanelWith..st @@ -1,13 +1,7 @@ toolbuilder buildAnswerPanelWith: aBuilder - | temporaryAnswerPanel | - - temporaryAnswerPanel := LQAnswerPanel newWith: aBuilder. - self answerPanel: temporaryAnswerPanel. - self currentQuestionIndex: 1. - temporaryAnswerPanel question: self currentQuestion. - temporaryAnswerPanel exclusionMarker: - (LQGroupExclusionMarker newFrom: self currentQuestion choiceList - and: (LQPollRepo default groupAt: self poll id)). - self answerSet addAnswer: temporaryAnswerPanel answer. - ^ temporaryAnswerPanel \ No newline at end of file + | temporaryPanel | + temporaryPanel := LQAnswerPanel newWith: aBuilder. + self selectionPanel: temporaryPanel. + self answerSet addAnswer: temporaryPanel answer. + ^ temporaryPanel \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/buildFreeTextPanelWith..st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/buildFreeTextPanelWith..st new file mode 100644 index 00000000..26dc3273 --- /dev/null +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/buildFreeTextPanelWith..st @@ -0,0 +1,9 @@ +toolbuilder +buildFreeTextPanelWith: aBuilder + | temporaryFreeTextPanel | + temporaryFreeTextPanel := LQFreeTextAnswerPanel newWith: aBuilder. + self freeTextPanel: temporaryFreeTextPanel. + temporaryFreeTextPanel question: self currentQuestion. + self answerSet addAnswer: temporaryFreeTextPanel answer. + self setUpMenu. + ^ temporaryFreeTextPanel \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/buildWith..st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/buildWith..st index 98532d6d..e3408fca 100644 --- a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/buildWith..st +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/buildWith..st @@ -1,12 +1,7 @@ toolbuilder -buildWith: aBuilder - - ^ aBuilder build: (aBuilder pluggableWindowSpec new - model: self; - label: 'Liquid - Participant'; - extent: self extent; - children: {self buildAnswerPanelWith: aBuilder. - self buildNextQuestionButtonWith: aBuilder. - self buildPreviousQuestionButtonWith: aBuilder. - self buildQuestionCounterWith: aBuilder}; - yourself) \ No newline at end of file +buildWith: aBuilder + ^ aBuilder build: (aBuilder pluggableWindowSpec new model: self; + label: 'Liquid - Participant'; + extent: self extent; + children: {self buildAnswerPanelWith: aBuilder. self buildFreeTextPanelWith: aBuilder. self buildNextQuestionButtonWith: aBuilder. self buildPreviousQuestionButtonWith: aBuilder. self buildQuestionCounterWith: aBuilder}; + yourself) \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/currentAnswerPanel..st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/currentAnswerPanel..st new file mode 100644 index 00000000..fdb95434 --- /dev/null +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/currentAnswerPanel..st @@ -0,0 +1,4 @@ +accessing +currentAnswerPanel: anObject + + currentAnswerPanel := anObject \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/currentAnswerPanel.st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/currentAnswerPanel.st new file mode 100644 index 00000000..de7989c3 --- /dev/null +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/currentAnswerPanel.st @@ -0,0 +1,4 @@ +accessing +currentAnswerPanel + + ^ currentAnswerPanel \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/currentQuestionIndex..st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/currentQuestionIndex..st index de674490..2e486a14 100644 --- a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/currentQuestionIndex..st +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/currentQuestionIndex..st @@ -1,14 +1,14 @@ accessing -currentQuestionIndex: anObject - +currentQuestionIndex: anObject currentQuestionIndex := anObject. - - self answerPanel question: self currentQuestion. - self answerPanel exclusionMarker: - (LQGroupExclusionMarker newFrom: self currentQuestion choiceList - and: (LQPollRepo default groupAt: self poll id)). - self answerSet addAnswer: self answerPanel answer. - + self newAnswerPanel. + self currentAnswerPanel question: self currentQuestion. + (self currentQuestion type = 'freeText') + ifFalse:[self currentAnswerPanel + exclusionMarker: (LQGroupExclusionMarker + newFrom: self currentQuestion choiceList + and: (LQPollRepo default groupAt: self poll id)).]. + self answerSet addAnswer: self currentAnswerPanel answer. self changed: #previousButtonEnabled. self changed: #nextButtonLabel. self changed: #questionCounterText \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/freeTextPanel..st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/freeTextPanel..st new file mode 100644 index 00000000..07e626dc --- /dev/null +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/freeTextPanel..st @@ -0,0 +1,3 @@ +accessing +freeTextPanel: anObject + freeTextPanel := anObject \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/freeTextPanel.st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/freeTextPanel.st new file mode 100644 index 00000000..bfecf465 --- /dev/null +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/freeTextPanel.st @@ -0,0 +1,3 @@ +accessing +freeTextPanel + ^ freeTextPanel \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/makeFreeTextLogic.st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/makeFreeTextLogic.st index 643e90c7..a06e36c0 100644 --- a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/makeFreeTextLogic.st +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/makeFreeTextLogic.st @@ -1,6 +1,6 @@ modifying makeFreeTextLogic - self answerPanel pluggableMultiSelectionList + self currentAnswerPanel pluggableMultiSelectionList \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/newAnswerPanel.st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/newAnswerPanel.st new file mode 100644 index 00000000..a623ebdb --- /dev/null +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/newAnswerPanel.st @@ -0,0 +1,5 @@ +toolbuilder +newAnswerPanel + self currentQuestion type = 'freeText' + ifTrue: [self currentAnswerPanel: self freeTextPanel] + ifFalse: [self currentAnswerPanel: self selectionPanel] \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/nextQuestionOrSend.st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/nextQuestionOrSend.st index d8d5301d..f1e96392 100644 --- a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/nextQuestionOrSend.st +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/nextQuestionOrSend.st @@ -1,7 +1,7 @@ communication nextQuestionOrSend - (self answerPanel isEveryChoiceRanked) ifFalse:[^self]. + (self currentAnswerPanel isEveryChoiceRanked) ifFalse:[^self]. (self currentQuestionIndex >= self poll questionList size) ifTrue: [^ self sendAnswer]. self nextQuestion \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/selectionPanel..st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/selectionPanel..st new file mode 100644 index 00000000..f6cba4d8 --- /dev/null +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/selectionPanel..st @@ -0,0 +1,3 @@ +accessing +selectionPanel: anObject + selectionPanel := anObject \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/selectionPanel.st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/selectionPanel.st new file mode 100644 index 00000000..73de56a1 --- /dev/null +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/selectionPanel.st @@ -0,0 +1,3 @@ +accessing +selectionPanel + ^ selectionPanel \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/instance/setUpMenu.st b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/setUpMenu.st new file mode 100644 index 00000000..385bcc37 --- /dev/null +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/instance/setUpMenu.st @@ -0,0 +1,3 @@ +toolbuilder +setUpMenu + self currentQuestionIndex: 1 \ No newline at end of file diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/methodProperties.json b/packages/Liquid-UI.package/LQParticipantMenu.class/methodProperties.json index a4180708..1100ea91 100644 --- a/packages/Liquid-UI.package/LQParticipantMenu.class/methodProperties.json +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/methodProperties.json @@ -5,28 +5,35 @@ "ifAbsentAddToAnsweredPollIds:" : "bn 8/5/2022 21:32", "open" : "CG 7/30/2021 19:06" }, "instance" : { - "answerPanel" : "bn 8/2/2022 18:06", - "answerPanel:" : "bn 8/2/2022 18:06", "answerSet" : "ape 5/14/2022 10:28", "answerSet:" : "ape 5/14/2022 10:28", - "buildAnswerPanelWith:" : "Anton Eichstädt 6/5/2024 16:51", + "buildAnswerPanelWith:" : "leli 6/10/2024 15:39", + "buildFreeTextPanelWith:" : "leli 6/10/2024 15:36", "buildNextQuestionButtonWith:" : "kge 8/1/2022 20:57", "buildPreviousQuestionButtonWith:" : "kge 8/1/2022 20:58", "buildQuestionCounterWith:" : "kge 8/1/2022 20:58", - "buildWith:" : "ms 8/4/2022 10:58", + "buildWith:" : "leli 6/10/2024 15:36", + "currentAnswerPanel" : "leli 6/10/2024 14:44", + "currentAnswerPanel:" : "leli 6/10/2024 14:45", "currentQuestion" : "kge 8/3/2022 20:47", "currentQuestionIndex" : "kge 7/21/2022 22:56", - "currentQuestionIndex:" : "JT 8/5/2022 18:41", + "currentQuestionIndex:" : "leli 6/10/2024 15:41", + "freeTextPanel" : "leli 6/10/2024 14:50", + "freeTextPanel:" : "leli 6/10/2024 14:50", "importPollWithId:" : "NM 7/30/2021 19:38", - "makeFreeTextLogic" : "leli 6/7/2024 12:26", + "makeFreeTextLogic" : "leli 6/10/2024 14:44", "messageAlreadyAnswered" : "JT 8/4/2022 21:37", "messageAlreadyClosed" : "JT 8/4/2022 21:37", + "newAnswerPanel" : "leli 6/10/2024 14:55", "nextButtonLabel" : "kge 8/3/2022 20:47", "nextQuestion" : "Anton Eichstädt 6/4/2024 11:33", - "nextQuestionOrSend" : "Anton Eichstädt 6/5/2024 11:45", + "nextQuestionOrSend" : "leli 6/10/2024 14:44", "poll" : "JS 5/25/2021 16:05", "poll:" : "CG 7/30/2021 19:06", "previousButtonEnabled" : "bn 8/2/2022 18:25", "previousQuestion" : "ms 6/8/2022 15:49", "questionCounterText" : "kge 8/3/2022 20:47", - "sendAnswer" : "ms 8/5/2022 21:03" } } + "selectionPanel" : "leli 6/10/2024 14:50", + "selectionPanel:" : "leli 6/10/2024 14:50", + "sendAnswer" : "ms 8/5/2022 21:03", + "setUpMenu" : "leli 6/10/2024 15:00" } } diff --git a/packages/Liquid-UI.package/LQParticipantMenu.class/properties.json b/packages/Liquid-UI.package/LQParticipantMenu.class/properties.json index 8bb23973..70f6c810 100644 --- a/packages/Liquid-UI.package/LQParticipantMenu.class/properties.json +++ b/packages/Liquid-UI.package/LQParticipantMenu.class/properties.json @@ -8,8 +8,10 @@ "instvars" : [ "poll", "answerSet", - "answerPanel", - "currentQuestionIndex" ], + "currentQuestionIndex", + "currentAnswerPanel", + "freeTextPanel", + "selectionPanel" ], "name" : "LQParticipantMenu", "pools" : [ ],