From 7fd564b55a2a1a8b494b00d76562a622352acc6b Mon Sep 17 00:00:00 2001 From: robertli149 Date: Tue, 16 Sep 2025 14:21:28 -0400 Subject: [PATCH 01/17] Heading --- modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue b/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue index 71ecffb0e..31fba3c48 100644 --- a/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue +++ b/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue @@ -3,7 +3,7 @@ id="HTML-CSS" data-cy="HTML-CSS" > -

Add HTML for Harvest form here.

+

Harvest

@@ -13,5 +13,7 @@ /* import some styling that applies to all FD2 entry points */ @import url('@css/fd2-mobile.css'); -/* Add CSS for harvest form here */ +h1 { + text-align: center; +} From 40263d20cfb0ebc8916eb815969587c64a4fcf9a Mon Sep 17 00:00:00 2001 From: robertli149 Date: Tue, 16 Sep 2025 17:03:43 -0400 Subject: [PATCH 02/17] Added date selector --- .../farm_fd2_school/src/entrypoints/HTML_CSS/App.vue | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue b/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue index 31fba3c48..96022d0a0 100644 --- a/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue +++ b/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue @@ -5,6 +5,16 @@ >

Harvest

+ +
+ + +
+ From 773684a782388850ff64382e3b233384fa1746a2 Mon Sep 17 00:00:00 2001 From: robertli149 Date: Tue, 16 Sep 2025 17:37:28 -0400 Subject: [PATCH 03/17] Added crop selector --- .../src/entrypoints/HTML_CSS/App.vue | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue b/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue index 96022d0a0..8e09f710a 100644 --- a/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue +++ b/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue @@ -10,10 +10,29 @@ + +
Crop:
+ From 4aa300fcc15b300b600dcba3215721a5794f81e5 Mon Sep 17 00:00:00 2001 From: robertli149 Date: Tue, 16 Sep 2025 17:54:13 -0400 Subject: [PATCH 04/17] Added Location Selector --- .../src/entrypoints/HTML_CSS/App.vue | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue b/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue index 8e09f710a..a88167a28 100644 --- a/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue +++ b/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue @@ -33,6 +33,77 @@ RADISH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LocationBedPlanted Date
+
+ +
+
D04/02/2019
+
+ +
+
GHANAGHANA-204/02/2019
+
+ +
+
GHANAGHANA-404/02/2019
+
+ +
+
E06/05/2019
From 22f6305441a5adc342e0ef2f3aa62d7aad06811f Mon Sep 17 00:00:00 2001 From: robertli149 Date: Tue, 16 Sep 2025 19:14:08 -0400 Subject: [PATCH 05/17] added comment box --- .../src/entrypoints/HTML_CSS/App.vue | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue b/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue index a88167a28..391944293 100644 --- a/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue +++ b/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue @@ -104,6 +104,35 @@ + + + + +
+ + + From 5cfce41280b05128ac760bcddbaf8fffa094bde3 Mon Sep 17 00:00:00 2001 From: robertli149 Date: Tue, 16 Sep 2025 19:41:40 -0400 Subject: [PATCH 06/17] added submit and reset buttons --- .../src/entrypoints/HTML_CSS/App.vue | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue b/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue index 391944293..3233dc9d2 100644 --- a/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue +++ b/modules/farm_fd2_school/src/entrypoints/HTML_CSS/App.vue @@ -125,14 +125,28 @@
- + > +
+ + + @@ -145,4 +159,17 @@ h1 { text-align: center; } + +#submit { + background-color: blue; + color: white; + border: none; + padding: 5px 75px; + margin-right: 6px; +} +#reset { + background-color: orange; + border: none; + padding: 5px 30px; +} From 58a02af58f299895f74e70c6927efdcdac86fa6c Mon Sep 17 00:00:00 2001 From: robertli149 Date: Wed, 17 Sep 2025 11:46:48 -0400 Subject: [PATCH 07/17] done with first part of tutorial --- modules/farm_fd2/03-Vue1/index.html | 28 +++++ modules/farm_fd2/03-Vue1/main.css | 160 ++++++++++++++++++++++++++++ 2 files changed, 188 insertions(+) create mode 100644 modules/farm_fd2/03-Vue1/index.html create mode 100644 modules/farm_fd2/03-Vue1/main.css diff --git a/modules/farm_fd2/03-Vue1/index.html b/modules/farm_fd2/03-Vue1/index.html new file mode 100644 index 000000000..b8411ca49 --- /dev/null +++ b/modules/farm_fd2/03-Vue1/index.html @@ -0,0 +1,28 @@ + + + + + Shopping List App + + + +
+

{{header}}

+ +
+ + + + + diff --git a/modules/farm_fd2/03-Vue1/main.css b/modules/farm_fd2/03-Vue1/main.css new file mode 100644 index 000000000..16a0c062e --- /dev/null +++ b/modules/farm_fd2/03-Vue1/main.css @@ -0,0 +1,160 @@ +body { + background: #eff8ff; + height: 100vh; + width: 100vw; + font-family: system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, + Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; + display: flex; + align-items: center; + justify-content: center; + margin: 0; + padding: 0; +} + +.counter { + font-size: 0.8rem; + padding-left: 10px; + padding-right: 10px; +} + +#shopping-list { + background: #fff; + padding: 2rem; + margin: 1rem; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08); + width: 95%; + max-width: 900px; +} + +h1 { + color: #3d4852; +} + +ul { + list-style: none; + padding: 0; +} + +a { + color: #6cb2eb; + font-size: 1.25rem; + transition: all 0.1s ease-in; + margin-top: 0.5rem; + display: block; +} + +a:hover { + color: #3490dc; +} + +li, +p { + display: flex; + align-items: center; + line-height: 1.75; + letter-spacing: 0.5px; + color: #3d4852; + font-size: 1.25rem; + cursor: pointer; + transition: all 0.1s ease-in; +} + +li:hover { + color: #22292f; +} + +li input { + margin: 0 0.5rem 0; +} + +#shopping-list > input, +#shopping-list > select { + width: 100%; + border-radius: 3px; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); + border: 1px solid #f1f5f8; + color: #606f7b; + padding: 0.5rem 0.75rem; + box-sizing: border-box; + font-size: 1rem; + letter-spacing: 0.5px; + margin: 0.5rem 0; +} + +.add-item-form, +.header { + display: flex; + align-items: center; + justify-content: space-between; +} + +.add-item-form input { + width: 70%; + border-radius: 3px; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); + border: 1px solid #f1f5f8; + color: #606f7b; + padding: 0.5rem 0.75rem; + box-sizing: border-box; + font-size: 1rem; + letter-spacing: 0.5px; + margin: 0.5rem 0; +} + +.btn { + border: none; + border-radius: 3px; + margin: auto 0; + padding: 0.5rem 0.75rem; + flex-shrink: 0; + cursor: pointer; + font-size: 0.9rem; + letter-spacing: 0.5px; + transition: all 0.1s ease-in; +} + +.btn[disabled] { + background: #8795a1; +} + +.btn[disabled]:hover { + background: #606f7b; +} + +.btn-primary { + background: #6cb2eb; + color: #fff; +} + +.btn-primary:hover { + background: #3490dc; +} + +.btn-cancel { + background: #ef5753; + color: #fff; +} + +.btn-cancel:hover { + background: #e3342f; + color: #fff; +} + +.strikeout { + text-decoration: line-through; + color: #b8c2cc; +} + +.strikeout:hover { + color: #8795a1; +} + +.priority { + color: #de751f; +} +input[type='checkbox'] { + display: inline !important; + box-shadow: none; + width: auto; +} From b3819d7da1b2661c723b193ebeae2b8f74319ce2 Mon Sep 17 00:00:00 2001 From: robertli149 Date: Wed, 17 Sep 2025 12:03:29 -0400 Subject: [PATCH 08/17] done with vue Syntax and Expressions --- modules/farm_fd2/03-Vue1/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/farm_fd2/03-Vue1/index.html b/modules/farm_fd2/03-Vue1/index.html index b8411ca49..761d39d29 100644 --- a/modules/farm_fd2/03-Vue1/index.html +++ b/modules/farm_fd2/03-Vue1/index.html @@ -10,7 +10,7 @@
-

{{header}}

+

{{header.toLocaleUpperCase()}}

From c47e66775810cea5ca0d2ef83111c492bce6f411 Mon Sep 17 00:00:00 2001 From: robertli149 Date: Wed, 17 Sep 2025 12:19:32 -0400 Subject: [PATCH 09/17] done with vue List Rndering --- modules/farm_fd2/03-Vue1/index.html | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/modules/farm_fd2/03-Vue1/index.html b/modules/farm_fd2/03-Vue1/index.html index 761d39d29..2cfce7799 100644 --- a/modules/farm_fd2/03-Vue1/index.html +++ b/modules/farm_fd2/03-Vue1/index.html @@ -10,8 +10,15 @@
-

{{header.toLocaleUpperCase()}}

- +

{{header || 'Welcome'}}

+
    +
  • + {{item.label}} +
  • +
@@ -19,7 +26,13 @@

{{header.toLocaleUpperCase()}}

const shoppingList = Vue.createApp({ data() { return { - header: 'Vue is ready to party!', + header: 'Shopping List App', + + items: { + 'item-1': { id: 1, label: '10 party hats' }, + 'item-2': { id: 2, label: '2 board games' }, + 'item-3': { id: 3, label: '20 cups' }, + }, }; }, }).mount('#shopping-list'); From 1c84b161345ee6a677fa06c68eddccb3c15d7981 Mon Sep 17 00:00:00 2001 From: robertli149 Date: Wed, 3 Dec 2025 14:32:08 -0500 Subject: [PATCH 10/17] Added my name to README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 887862e4b..af80d0f9a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # FarmData2 +Lilly Roberts + Welcome to FarmData2. FarmData2 aims to support the day-to-day operation of diversified vegetable farms while facilitating the record keeping necessary for organic certification and for the study of sustainable farming practices. For example, FarmData2 forms enable farm workers to efficiently and reliably enter data about common operations at the time they occur: @@ -56,7 +58,7 @@ FarmData2 is thankful to the following organizations for their in-kind and finan - [Dickinson College](https://www.dickinson.edu/) - [farmOS](https://farmos.org/) -- [The GNOME Community Engagement Challenge](https://www.gnome.org/challenge/) +- [The GNOME Community Engagement Challenge]([dead link deleted]) - [The National Science Foundation (DUE-2013069)](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2013069) - [The Non-Profit FOSS Institute](https://npfi.org/) - [PASA Sustainable Agriculture](https://pasafarming.org/) From fb95ced10537f82efe18ebb7c253fc9e81740ed4 Mon Sep 17 00:00:00 2001 From: robertli149 Date: Wed, 10 Dec 2025 13:50:03 -0500 Subject: [PATCH 11/17] Added name to README.md' --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index af80d0f9a..6fc657b3f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # FarmData2 -Lilly Roberts +--Lilly Roberts Welcome to FarmData2. FarmData2 aims to support the day-to-day operation of diversified vegetable farms while facilitating the record keeping necessary for organic certification and for the study of sustainable farming practices. For example, FarmData2 forms enable farm workers to efficiently and reliably enter data about common operations at the time they occur: From 4be17986a944595323ddf97e7378dba093ab8b76 Mon Sep 17 00:00:00 2001 From: robertli149 Date: Wed, 10 Dec 2025 13:54:14 -0500 Subject: [PATCH 12/17] Changed name in README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6fc657b3f..efe291a3c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# FarmData2 - --Lilly Roberts +# FarmData2 + Welcome to FarmData2. FarmData2 aims to support the day-to-day operation of diversified vegetable farms while facilitating the record keeping necessary for organic certification and for the study of sustainable farming practices. For example, FarmData2 forms enable farm workers to efficiently and reliably enter data about common operations at the time they occur:
From 43391b2917b247c190aa9af3af3e37d5386d8a17 Mon Sep 17 00:00:00 2001 From: robertli149 Date: Fri, 19 Dec 2025 21:09:28 -0500 Subject: [PATCH 13/17] Changed HTML table to PicklistBase --- .../farm_fd2/src/entrypoints/harvest/App.vue | 79 ++++++++++++------- .../src/entrypoints/harvest/harvest.e2e.cy.js | 1 - 2 files changed, 51 insertions(+), 29 deletions(-) diff --git a/modules/farm_fd2/src/entrypoints/harvest/App.vue b/modules/farm_fd2/src/entrypoints/harvest/App.vue index 98d4668c0..17ef780b5 100644 --- a/modules/farm_fd2/src/entrypoints/harvest/App.vue +++ b/modules/farm_fd2/src/entrypoints/harvest/App.vue @@ -33,34 +33,24 @@ id="harvest-table-quantity-unit" v-if="plantList.length > 0" > -
- - - - - - - - - - - - -
LocationBedPlanted Date
- - {{ plant.location }}{{ plant.beds.join(', ') }}{{ plant.timestamp }}
- + invalidFeedbackText="At least one row must be selected." + v-bind:required="true" + v-bind:showValidityStyling="validity.showStyling" + v-bind:columns="columns" + v-bind:labels="labels" + v-bind:rows="rows" + v-bind:showAllButton="false" + v-bind:showInfoIcons="true" + v-model:picked="form.picked" + v-on:valid=" + (valid) => { + validity.option = valid; + } + " + v-on:ready="createdCount++" + /> { .find('[data-cy="crop-selector"]') .find('[data-cy="selector-input"]') .select('RADISH'); - cy.get('[data-cy="harvest-table"]').should('be.visible'); cy.get('[data-cy="harvest-quantity"]') .find('[data-cy="numeric-input"]') From eb681153f542be9ff432f4ecd1fd71fb6926a3f3 Mon Sep 17 00:00:00 2001 From: benden1106 Date: Sat, 20 Dec 2025 00:21:20 -0500 Subject: [PATCH 14/17] Final changes for the HW12 assignment --- .../farm_fd2/src/entrypoints/harvest/App.vue | 60 +++++++++++-------- 1 file changed, 34 insertions(+), 26 deletions(-) diff --git a/modules/farm_fd2/src/entrypoints/harvest/App.vue b/modules/farm_fd2/src/entrypoints/harvest/App.vue index 98d4668c0..c50a735a8 100644 --- a/modules/farm_fd2/src/entrypoints/harvest/App.vue +++ b/modules/farm_fd2/src/entrypoints/harvest/App.vue @@ -33,33 +33,14 @@ id="harvest-table-quantity-unit" v-if="plantList.length > 0" > - - - - - - - - - - - - - -
LocationBedPlanted Date
- - {{ plant.location }}{{ plant.beds.join(', ') }}{{ plant.timestamp }}
+ {{ row.location }} + {{ row.bed }} + {{ row.date }} + +
@@ -124,6 +118,7 @@ import CropSelector from '@comps/CropSelector/CropSelector.vue'; import NumericInput from '@comps/NumericInput/NumericInput.vue'; import CommentBox from '@comps/CommentBox/CommentBox.vue'; import SubmitResetButtons from '@comps/SubmitResetButtons/SubmitResetButtons.vue'; +import PicklistBase from '@comps/PicklistBase/PicklistBase.vue'; import * as farmosUtil from '@libs/farmosUtil/farmosUtil'; export default { @@ -133,6 +128,7 @@ export default { NumericInput, CommentBox, SubmitResetButtons, + PicklistBase, }, data() { return { @@ -144,9 +140,21 @@ export default { comment: '', plantList: [], unitList: [], + columns: ['location', 'bed', 'date'], + labels: ['Location', 'Bed', 'Planted Date'], + form: { + picked: null, + }, }; }, computed: { + rows() { + return this.sortedPlantList.map((plant) => ({ + location: plant.location, + bed: plant.bed, + date: plant.date, + })); + }, formValid() { return ( this.date != '' && From 582713b271aad2c2c7c8a749ae339482bcf7a723 Mon Sep 17 00:00:00 2001 From: benden1106 Date: Sat, 20 Dec 2025 10:26:58 -0500 Subject: [PATCH 15/17] Fixed DateSelector Page --- .../src/entrypoints/date_selector/App.vue | 38 +++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/modules/farm_fd2_examples/src/entrypoints/date_selector/App.vue b/modules/farm_fd2_examples/src/entrypoints/date_selector/App.vue index 4e85e8cf2..e9ee49160 100644 --- a/modules/farm_fd2_examples/src/entrypoints/date_selector/App.vue +++ b/modules/farm_fd2_examples/src/entrypoints/date_selector/App.vue @@ -25,8 +25,24 @@ Prop Control + Value + + date + + + Next + + + {{ form.date }} + required @@ -37,6 +53,7 @@ v-model="required" /> + {{ required }} showValidityStyling @@ -48,20 +65,7 @@ v-model="validity.showStyling" /> - - - date - - - Next - - + {{ validity.showStyling }} @@ -74,7 +78,11 @@ - date + ready + {{ createdCount == 2 }} + + + update:date {{ form.date }} From f135d19db2efc52b787330b02c2165046a81027e Mon Sep 17 00:00:00 2001 From: robertli149 Date: Sat, 20 Dec 2025 10:28:31 -0500 Subject: [PATCH 16/17] Enhanced DateSelector --- .../src/entrypoints/date_selector/App.vue | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/farm_fd2_examples/src/entrypoints/date_selector/App.vue b/modules/farm_fd2_examples/src/entrypoints/date_selector/App.vue index 4e85e8cf2..bc258aab9 100644 --- a/modules/farm_fd2_examples/src/entrypoints/date_selector/App.vue +++ b/modules/farm_fd2_examples/src/entrypoints/date_selector/App.vue @@ -25,6 +25,7 @@ Prop Control + Value @@ -37,6 +38,7 @@ v-model="required" /> + {{ required }} showValidityStyling @@ -48,6 +50,7 @@ v-model="validity.showStyling" /> + {{ validity.showStyling }} date @@ -62,6 +65,7 @@ Next + {{ form.date }} @@ -74,13 +78,17 @@ - date + update:date {{ form.date }} valid {{ validity.date }} + + ready + {{ createdCount == 2 }} + From 89d0aeb60435fc678e16cbc4a60b15014564c623 Mon Sep 17 00:00:00 2001 From: benden1106 Date: Sat, 20 Dec 2025 10:32:41 -0500 Subject: [PATCH 17/17] Fixing the DateSelector Page --- modules/farm_fd2_examples/src/entrypoints/date_selector/App.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/farm_fd2_examples/src/entrypoints/date_selector/App.vue b/modules/farm_fd2_examples/src/entrypoints/date_selector/App.vue index e9ee49160..fdb42ffa6 100644 --- a/modules/farm_fd2_examples/src/entrypoints/date_selector/App.vue +++ b/modules/farm_fd2_examples/src/entrypoints/date_selector/App.vue @@ -70,7 +70,7 @@ -
Component Event Payloads
+
Component Event Payload
Event