From 2cb06682b95d0a0e1734d3f9551697d3cfb6a676 Mon Sep 17 00:00:00 2001 From: amansinghbais Date: Thu, 16 Nov 2023 10:22:15 +0530 Subject: [PATCH 1/5] Improved: code for segments on facility details page (#4) --- src/theme/variables.css | 64 ++++++++++ src/views/FacilityDetails.vue | 224 +++++++++++++++++++++++++++++++++- 2 files changed, 284 insertions(+), 4 deletions(-) diff --git a/src/theme/variables.css b/src/theme/variables.css index 0f22566f..245085bd 100644 --- a/src/theme/variables.css +++ b/src/theme/variables.css @@ -86,6 +86,11 @@ http://ionicframework.com/docs/theming/ */ --spacer-3xl: 10rem; /* 160px */ } +body { + /** Border variable **/ + --border-medium: 1px solid var(--ion-color-medium); +} + .empty-state { max-width: 100%; display: flex; @@ -95,6 +100,11 @@ http://ionicframework.com/docs/theming/ */ padding: 10px; } + +hr { + border-top: var(--border-medium); +} + .empty-state > img { object-fit: contain; } @@ -111,6 +121,60 @@ http://ionicframework.com/docs/theming/ */ display: unset; } +.list-item { + --columns-mobile: 2; + --columns-tablet: 5; + --columns-desktop: 7; + --col-calc: var(--columns-mobile); + --implicit-columns: calc(var(--col-calc) - 1); + display: grid; + grid-template-columns: repeat(var(--implicit-columns), 1fr) max-content; + justify-items: center; + align-items: center; +} + +.list-item > * { + display: none; +} + +.list-item > *:last-child { + display: unset; + justify-self: end; +} + +.list-item > ion-label { + text-align: center; +} + +.list-item > *:first-child { + display: unset; + justify-self: start +} + +@media (min-width: 700px) { + .list-item { + --col-calc: var(--columns-tablet); + } + + .tablet { + display: unset; + } +} + +@media (min-width: 991px) { + .list-item { + --col-calc: var(--columns-desktop); + } + + .list-item > * { + display: unset; + } + + .tablet { + display: unset; + } +} + @media (prefers-color-scheme: dark) { /* * Dark Colors diff --git a/src/views/FacilityDetails.vue b/src/views/FacilityDetails.vue index e03764ff..8af47dfd 100644 --- a/src/views/FacilityDetails.vue +++ b/src/views/FacilityDetails.vue @@ -219,12 +219,155 @@ + +
+ + + + {{ translate("External Mappings") }} + + + + {{ translate("Staff") }} + + + + {{ translate("Locations") }} + + + +
+ + + {{ translate("Add locations to facility") }} + + +
+ + + + {{ "locations id" }} +

{{ "pick/primary" }}

+
+
+ + + AI +

{{ "area" }}

+
+ + + AL +

{{ "aisle" }}

+
+ + + SI +

{{ "level" }}

+
+ + + 1 +

{{ "sequence" }}

+
+ + + + + + + + +
+
+
+ +
+ + + {{ translate("Add staff member to facility") }} + + +
+ + + + {{ "party name" }} +

{{ "user id" }}

+
+
+ + + {{ "fulfillment" }} +

{{ "role" }}

+
+ + + {{ "3rd June 2023" }} +

{{ "added" }}

+
+ + + {{ "10th June 2023" }} +

{{ "validity" }}

+
+ + + + +
+
+
+ +
+ + + {{ translate("Map facility to an external system") }} + +
+ + + + {{ translate("Shopify facility") }} + + + + + {{ "shop name" }} +

Shop Id

+
+ {{"note"}} +
+ + {{ "shopify location id" }} + {{"note"}} + + + {{ "admin link" }} + + + + + + {{ "shopify link" }} + + + + + {{ translate("Edit") }} + {{ translate("Remove") }} +
+
+ +
+
+
diff --git a/src/components/OpenStorePopover.vue b/src/components/OpenStorePopover.vue index c81a5b40..59c1e236 100644 --- a/src/components/OpenStorePopover.vue +++ b/src/components/OpenStorePopover.vue @@ -27,7 +27,7 @@ import { starOutline, removeCircleOutline } from "ionicons/icons"; import { translate } from "@hotwax/dxp-components"; export default defineComponent({ - name: "CreateMappingModal", + name: "OpenStorePopover", components: { IonContent, IonList, diff --git a/src/locales/en.json b/src/locales/en.json index 599b87a6..7f157ebc 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1,5 +1,7 @@ { "Add": "Add", + "Add locations to facility": "Add locations to facility", + "Add staff member to facility": "Add staff member to facility", "Add timings": "Add timings", "Address": "Address", "Address line 1": "Address line 1", @@ -17,6 +19,8 @@ "Days to ship": "Days to ship", "Dismiss": "Dismiss", "Edit": "Edit", + "Edit location": "Edit location", + "External mappings": "External mappings", "Facility details": "Facility details", "Fetching TimeZones": "Fetching TimeZones", "Friday": "Friday", @@ -26,10 +30,13 @@ "Instance Url": "Instance Url", "Latitude": "Latitude", "Latitude & Longitude": "Latitude & Longitude", + "Location details": "Location details", + "Locations": "Locations", "Login": "Login", "Logout": "Logout", "Longitude": "Longitude", "Make primary": "Make primary", + "Map facility to an external system": "Map facility to an external system", "Monday": "Monday", "No time zone found": "No time zone found", "OMS": "OMS", @@ -39,6 +46,8 @@ "Password": "Password", "primary store": "primary store", "Product Stores": "Product Stores", + "Remove": "Remove", + "Remove location": "Remove location", "Reset": "Reset", "Saturday": "Saturday", "Save": "Save", @@ -49,8 +58,10 @@ "Sell Inventory Online": "Sell Inventory Online", "Setting fulfillment capacity to 0 disables new order from being allocated to this facility. Leave this empty if this facility's fulfillment capacity is unrestricted.": "Setting fulfillment capacity to 0 disables new order from being allocated to this facility. Leave this empty if this facility's fulfillment capacity is unrestricted.", "Settings": "Settings", + "Shopify facility": "Shopify facility", "Something went wrong": "Something went wrong", "Sorry, your username or password is incorrect. Please try again.": "Sorry, your username or password is incorrect. Please try again.", + "Staff": "Staff", "State": "State", "Store": "Store", "store name": "store name", diff --git a/src/views/FacilityDetails.vue b/src/views/FacilityDetails.vue index 8af47dfd..091b8945 100644 --- a/src/views/FacilityDetails.vue +++ b/src/views/FacilityDetails.vue @@ -221,10 +221,10 @@
- + - {{ translate("External Mappings") }} + {{ translate("External mappings") }} @@ -275,7 +275,7 @@ - +
@@ -384,31 +384,33 @@ import { IonItem, IonLabel, IonList, + IonNote, IonPage, IonProgressBar, + IonSegment, + IonSegmentButton, IonText, IonTitle, IonToggle, IonToolbar, - IonSegment, - IonSegmentButton, - popoverController, - modalController + modalController, + popoverController } from '@ionic/vue' import { - addOutline, addCircleOutline, - closeOutline, + addOutline, closeCircleOutline, + closeOutline, ellipsisVerticalOutline, globeOutline, + locationOutline, openOutline, personOutline, - reorderTwoOutline, - locationOutline + reorderTwoOutline } from 'ionicons/icons' -import OpenStorePopover from '@/components/OpenStorePopover.vue'; import { translate } from '@hotwax/dxp-components'; +import LocationDetailsPopover from '@/components/LocationDetailsPopover.vue'; +import OpenStorePopover from '@/components/OpenStorePopover.vue'; import AddAddressModal from '@/components/AddAddressModal.vue' import AddGeoPointModal from '@/components/AddGeoPointModal.vue'; import SelectProductStoreModal from '@/components/SelectProductStoreModal.vue' @@ -432,10 +434,11 @@ export default defineComponent({ IonItem, IonLabel, IonList, - IonSegment, - IonSegmentButton, + IonNote, IonPage, IonProgressBar, + IonSegment, + IonSegmentButton, IonText, IonTitle, IonToggle, @@ -444,6 +447,7 @@ export default defineComponent({ data() { return { isTimeModalOpen: false as boolean, + segment: 'locations' } }, methods: { @@ -483,27 +487,28 @@ export default defineComponent({ selectOperatingTimeModal.present() }, - segmentChanged(ev: CustomEvent) { - console.log(ev); - + async openLocationDetailsPopover(ev: Event) { + const locationDetailsPopover = await popoverController.create({ + component: LocationDetailsPopover, + event: ev, + showBackdrop: false + }); + return locationDetailsPopover.present() } }, setup() { - const segment = ref("external-mappings"); - return { - addOutline, addCircleOutline, + addOutline, closeCircleOutline, closeOutline, ellipsisVerticalOutline, globeOutline, + locationOutline, openOutline, personOutline, reorderTwoOutline, - locationOutline, - translate, - segment + translate } } }); From 0f7148543521d149c6daf011ceaf7596353e5fd9 Mon Sep 17 00:00:00 2001 From: amansinghbais Date: Thu, 16 Nov 2023 13:00:49 +0530 Subject: [PATCH 3/5] Implemented: modal for location, staff and customMapping, and externalSystem Popover (#4) --- src/components/AddLocationModal.vue | 105 ++++ src/components/AddStaffMemberModal.vue | 88 +++ src/components/CustomMappingModal.vue | 106 ++++ src/components/ExternalSystemPopover.vue | 53 ++ src/components/LocationDetailsPopover.vue | 15 +- src/locales/en.json | 27 + src/theme/variables.css | 177 +++--- src/views/FacilityDetails.vue | 703 +++++++++++----------- 8 files changed, 837 insertions(+), 437 deletions(-) create mode 100644 src/components/AddLocationModal.vue create mode 100644 src/components/AddStaffMemberModal.vue create mode 100644 src/components/CustomMappingModal.vue create mode 100644 src/components/ExternalSystemPopover.vue diff --git a/src/components/AddLocationModal.vue b/src/components/AddLocationModal.vue new file mode 100644 index 00000000..0993a396 --- /dev/null +++ b/src/components/AddLocationModal.vue @@ -0,0 +1,105 @@ + + + \ No newline at end of file diff --git a/src/components/AddStaffMemberModal.vue b/src/components/AddStaffMemberModal.vue new file mode 100644 index 00000000..7b41ee2c --- /dev/null +++ b/src/components/AddStaffMemberModal.vue @@ -0,0 +1,88 @@ + + + \ No newline at end of file diff --git a/src/components/CustomMappingModal.vue b/src/components/CustomMappingModal.vue new file mode 100644 index 00000000..1a1dc9b7 --- /dev/null +++ b/src/components/CustomMappingModal.vue @@ -0,0 +1,106 @@ + + + \ No newline at end of file diff --git a/src/components/ExternalSystemPopover.vue b/src/components/ExternalSystemPopover.vue new file mode 100644 index 00000000..97abd8f2 --- /dev/null +++ b/src/components/ExternalSystemPopover.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/components/LocationDetailsPopover.vue b/src/components/LocationDetailsPopover.vue index d19e1ee6..ff1757bf 100644 --- a/src/components/LocationDetailsPopover.vue +++ b/src/components/LocationDetailsPopover.vue @@ -2,7 +2,7 @@ {{ translate("Location details") }} - + {{ translate("Edit location") }} @@ -17,10 +17,12 @@ import { IonContent, IonList, IonListHeader, - IonItem + IonItem, + modalController } from "@ionic/vue"; import { defineComponent } from "vue"; import { translate } from "@hotwax/dxp-components"; +import AddLocationModal from "./AddLocationModal.vue"; export default defineComponent({ name: "LocationDetailsPopover", @@ -30,6 +32,15 @@ export default defineComponent({ IonListHeader, IonItem }, + methods: { + async addLocationModal() { + const addLocationModal = await modalController.create({ + component: AddLocationModal + }) + + addLocationModal.present() + } + }, setup() { return { translate diff --git a/src/locales/en.json b/src/locales/en.json index 7f157ebc..16d81da9 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -6,58 +6,84 @@ "Address": "Address", "Address line 1": "Address line 1", "Address line 2": "Address line 2", + "aisle": "aisle", + "Aisle": "Aisle", "Allow pickup": "Allow pickup", + "area": "area", + "Area": "Area", "Built: ": "Built: { builtDateTime }", "Cancel": "Cancel", "Change": "Change", "Change time zone": "Change time zone", + "Choose system": "Choose system", "City": "City", "Click the backdrop to dismiss.": "Click the backdrop to dismiss.", "Closing Time": "Closing Time", "Configure the order fulfillment capacity of your facility.": "Configure the order fulfillment capacity of your facility.", "Country": "Country", + "Custom": "Custom", + "Custom mapping": "Custom mapping", "Days to ship": "Days to ship", "Dismiss": "Dismiss", "Edit": "Edit", "Edit location": "Edit location", "External mappings": "External mappings", "Facility details": "Facility details", + "Facility ID": "Facility ID", + "Facility name": "Facility name", "Fetching TimeZones": "Fetching TimeZones", "Friday": "Friday", "Fulfillment Settings": "Fulfillment Settings", "Generate": "Generate", "Generate shipping labels": "Generate shipping labels", + "Identification": "Identification", "Instance Url": "Instance Url", "Latitude": "Latitude", "Latitude & Longitude": "Latitude & Longitude", + "level": "level", + "Level": "Level", + "Location": "Location", "Location details": "Location details", "Locations": "Locations", "Login": "Login", "Logout": "Logout", "Longitude": "Longitude", "Make primary": "Make primary", + "Mapping ID": "Mapping ID", + "Mapping Name": "Mapping Name", "Map facility to an external system": "Map facility to an external system", "Monday": "Monday", + "Netsuite": "Netsuite", "No time zone found": "No time zone found", "OMS": "OMS", "Online Order Fulfillment": "Online Order Fulfillment", "Opening Time": "Opening Time", "Operating hours": "Operating hours", + "party id": "party id", + "Party Id": "Party Id", "Password": "Password", "primary store": "primary store", "Product Stores": "Product Stores", "Remove": "Remove", "Remove location": "Remove location", "Reset": "Reset", + "role": "role", + "Role": "Role", "Saturday": "Saturday", "Save": "Save", + "section": "section", + "Section": "Section", + "Select": "Select", "Select time": "Select time", "Select time zone": "Select time zone", "Search time zones": "Search time zones", "Select product stores": "Select product stores", "Sell Inventory Online": "Sell Inventory Online", + "sequence": "sequence", + "Sequence": "Sequence", "Setting fulfillment capacity to 0 disables new order from being allocated to this facility. Leave this empty if this facility's fulfillment capacity is unrestricted.": "Setting fulfillment capacity to 0 disables new order from being allocated to this facility. Leave this empty if this facility's fulfillment capacity is unrestricted.", "Settings": "Settings", + "Shopify": "Shopify", "Shopify facility": "Shopify facility", "Something went wrong": "Something went wrong", "Sorry, your username or password is incorrect. Please try again.": "Sorry, your username or password is incorrect. Please try again.", @@ -70,6 +96,7 @@ "These values are used to help customers lookup how close they are to your stores when they are finding nearby stores.": "These values are used to help customers lookup how close they are to your stores when they are finding nearby stores.", "Time zone updated successfully": "Time zone updated successfully", "Tuesday": "Tuesday", + "Type": "Type", "Unlink":"Unlink", "Update days to ship": "Update days to ship", "Username": "Username", diff --git a/src/theme/variables.css b/src/theme/variables.css index 245085bd..8553a343 100644 --- a/src/theme/variables.css +++ b/src/theme/variables.css @@ -86,95 +86,6 @@ http://ionicframework.com/docs/theming/ */ --spacer-3xl: 10rem; /* 160px */ } -body { - /** Border variable **/ - --border-medium: 1px solid var(--ion-color-medium); -} - -.empty-state { - max-width: 100%; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - padding: 10px; -} - - -hr { - border-top: var(--border-medium); -} - -.empty-state > img { - object-fit: contain; -} - -.empty-state > p { - text-align: center; -} - -.desktop-only { - display: none; -} - -.mobile-only { - display: unset; -} - -.list-item { - --columns-mobile: 2; - --columns-tablet: 5; - --columns-desktop: 7; - --col-calc: var(--columns-mobile); - --implicit-columns: calc(var(--col-calc) - 1); - display: grid; - grid-template-columns: repeat(var(--implicit-columns), 1fr) max-content; - justify-items: center; - align-items: center; -} - -.list-item > * { - display: none; -} - -.list-item > *:last-child { - display: unset; - justify-self: end; -} - -.list-item > ion-label { - text-align: center; -} - -.list-item > *:first-child { - display: unset; - justify-self: start -} - -@media (min-width: 700px) { - .list-item { - --col-calc: var(--columns-tablet); - } - - .tablet { - display: unset; - } -} - -@media (min-width: 991px) { - .list-item { - --col-calc: var(--columns-desktop); - } - - .list-item > * { - display: unset; - } - - .tablet { - display: unset; - } -} - @media (prefers-color-scheme: dark) { /* * Dark Colors @@ -355,4 +266,92 @@ hr { ion-item { --border-color: var(--ion-color-medium) } +} + +body { + /** Border variable **/ + --border-medium: 1px solid var(--ion-color-medium); +} + +.empty-state { + max-width: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 10px; +} + +hr { + border-top: var(--border-medium); +} + +.empty-state > img { + object-fit: contain; +} + +.empty-state > p { + text-align: center; +} + +.desktop-only { + display: none; +} + +.mobile-only { + display: unset; +} + +.list-item { + --columns-mobile: 2; + --columns-tablet: 5; + --columns-desktop: 7; + --col-calc: var(--columns-mobile); + --implicit-columns: calc(var(--col-calc) - 1); + display: grid; + grid-template-columns: repeat(var(--implicit-columns), 1fr) max-content; + justify-items: center; + align-items: center; +} + +.list-item > * { + display: none; +} + +.list-item > *:last-child { + display: unset; + justify-self: end; +} + +.list-item > ion-label { + text-align: center; +} + +.list-item > *:first-child { + display: unset; + justify-self: start +} + +@media (min-width: 700px) { + .list-item { + --col-calc: var(--columns-tablet); + } + + .tablet { + display: unset; + } +} + +@media (min-width: 991px) { + .list-item { + --col-calc: var(--columns-desktop); + } + + .list-item > * { + display: unset; + } + + .tablet { + display: unset; + } } \ No newline at end of file diff --git a/src/views/FacilityDetails.vue b/src/views/FacilityDetails.vue index 091b8945..f21cd44f 100644 --- a/src/views/FacilityDetails.vue +++ b/src/views/FacilityDetails.vue @@ -7,361 +7,363 @@ - - -

{{ "Facility Name" }}

-

{{ "Facility Id" }}

-
-
+
+ + +

{{ "Facility Name" }}

+

{{ "Facility Id" }}

+
+
+ +
+
+ + + + {{ translate("Address") }} + + + + +

{{ "Address line 1" }}

+

{{ "Address line 2" }}

+

{{ "City," }} {{ "Zipcode" }}

+

{{ "State," }} {{ "Country" }}

+
+
+ {{ translate("Edit") }} + + {{ translate("Add") }} + + +
-
-
+ + + + {{ translate("Latitude & Longitude") }} + + + + {{ translate("These values are used to help customers lookup how close they are to your stores when they are finding nearby stores.") }} + + + {{ translate("Latitude") }} +

{{ "" }}

+
+ + {{ translate("Longitude") }} +

{{ "" }}

+
+ {{ translate("Edit") }} + + {{ translate("Add") }} + + +
+
+ - {{ translate("Address") }} + {{ translate("Operating hours") }} - + + + +

{{ translate("Monday") }}

+
+ + {{ "7:30am - 8:00pm" }} + +
+ + +

{{ translate("Tuesday") }}

+
+ + + {{ translate("Add timings") }} + +
+ + +

{{ translate("Wednesday") }}

+
+ + + {{ translate("Add timings") }} + +
+ + +

{{ translate("Thursday") }}

+
+ + + {{ translate("Add timings") }} + +
+ + +

{{ translate("Friday") }}

+
+ + + {{ translate("Add timings") }} + +
+ + +

{{ translate("Saturday") }}

+
+ + + {{ translate("Add timings") }} + +
+ + +

{{ translate("Sunday") }}

+
+ + + {{ translate("Add timings") }} + +
+
+
+ + + + + {{ translate("Product Stores") }} + + + + {{ translate("Add") }} + + + + + + {{ "NotNaked" }} + + {{ translate("primary store") }} + + + + + + -

{{ "Address line 1" }}

-

{{ "Address line 2" }}

-

{{ "City," }} {{ "Zipcode" }}

-

{{ "State," }} {{ "Country" }}

+ {{ "Wasatch Ski company" }}
+ + + +
+
+
+ +
+ + + + {{ translate("Fulfillment Settings") }} + + + + {{ translate("Sell Inventory Online") }} + + + + {{ translate("Uses native fulfillment app") }} + - {{ translate("Edit") }} - - {{ translate("Add") }} - + + {{ translate("Generate shipping labels") }} + + + + {{ translate("Allow pickup") }} + + + + {{ translate("Days to ship") }} + + + + {{ translate("Update days to ship") }} - + - {{ translate("Latitude & Longitude") }} + {{ translate("Online Order Fulfillment") }} - {{ translate("These values are used to help customers lookup how close they are to your stores when they are finding nearby stores.") }} + {{ translate("Configure the order fulfillment capacity of your facility.") }} +

+ {{ translate("Setting fulfillment capacity to 0 disables new order from being allocated to this facility. Leave this empty if this facility's fulfillment capacity is unrestricted.") }}
- - {{ translate("Latitude") }} -

{{ "" }}

+ + {{ 10 }} + + {{ 20 }} - - {{ translate("Longitude") }} -

{{ "" }}

+ + {{ translate("View order count history") }} - {{ translate("Edit") }} - - {{ translate("Add") }} - -
-
+
- - - - {{ translate("Operating hours") }} - - - - - -

{{ translate("Monday") }}

+
+ + + + {{ translate("External mappings") }} + + + + {{ translate("Staff") }} + + + + {{ translate("Locations") }} + + + +
+ + + {{ translate("Map facility to an external system") }} + +
+ + + + {{ translate("Shopify facility") }} + + + + + {{ "shop name" }} +

{{ "" }}

+
+ {{"note"}} +
+ + {{ "" }} + {{"note"}} + + + {{ "" }} + + + + + + {{ "" }} + + + + + {{ translate("Edit") }} + {{ translate("Remove") }} +
+
+
+
+ +
+ + + {{ translate("Add staff member to facility") }} + + +
+ + + + {{ "party name" }} +

{{ translate("party id") }}

+
+
+ + + {{ "fulfillment" }} +

{{ translate("role") }}

- - {{ "7:30am - 8:00pm" }} + + + {{ "3rd June 2023" }} +

{{ "added" }}

- - - -

{{ translate("Tuesday") }}

+ + + {{ "10th June 2023" }} +

{{ "validity" }}

+ - - {{ translate("Add timings") }} + -
- - -

{{ translate("Wednesday") }}

+
+
+
+ +
+ + + {{ translate("Add locations to facility") }} + + +
+ + + + {{ "locations id" }} +

{{ "pick/primary" }}

+
+
+ + + AI +

{{ translate("area") }}

- - - {{ translate("Add timings") }} - - - + -

{{ translate("Thursday") }}

+ AL +

{{ translate("aisle") }}

- - - {{ translate("Add timings") }} - -
- + -

{{ translate("Friday") }}

+ SI +

{{ translate("section") }}

- - - {{ translate("Add timings") }} - -
- - -

{{ translate("Saturday") }}

+ + + SI +

{{ translate("level") }}

- - - {{ translate("Add timings") }} - -
- + -

{{ translate("Sunday") }}

+ 1 +

{{ translate("sequence") }}

- - - {{ translate("Add timings") }} + + + -
- - - - - - - {{ translate("Product Stores") }} - - - - {{ translate("Add") }} - - - - - - {{ "NotNaked" }} - - {{ translate("primary store") }} - - - - - - - - {{ "Wasatch Ski company" }} - - - - - - - - -
- - - - {{ translate("Fulfillment Settings") }} - - - - {{ translate("Sell Inventory Online") }} - - - - {{ translate("Uses native fulfillment app") }} - - - - {{ translate("Generate shipping labels") }} - - - - {{ translate("Allow pickup") }} - - - - {{ translate("Days to ship") }} - - - - {{ translate("Update days to ship") }} - - - - - - - {{ translate("Online Order Fulfillment") }} - - - - {{ translate("Configure the order fulfillment capacity of your facility.") }} -

- {{ translate("Setting fulfillment capacity to 0 disables new order from being allocated to this facility. Leave this empty if this facility's fulfillment capacity is unrestricted.") }} -
- - {{ 10 }} - - {{ 20 }} - - - {{ translate("View order count history") }} - -
-
- -
- - - - {{ translate("External mappings") }} - - - - {{ translate("Staff") }} - - - - {{ translate("Locations") }} - - - -
- - - {{ translate("Add locations to facility") }} - - -
- - - - {{ "locations id" }} -

{{ "pick/primary" }}

-
-
- - - AI -

{{ "area" }}

-
- - - AL -

{{ "aisle" }}

-
- - - SI -

{{ "level" }}

-
- - - 1 -

{{ "sequence" }}

-
- - - - - - - - +
+
-
- -
- - - {{ translate("Add staff member to facility") }} - - -
- - - - {{ "party name" }} -

{{ "user id" }}

-
-
- - - {{ "fulfillment" }} -

{{ "role" }}

-
- - - {{ "3rd June 2023" }} -

{{ "added" }}

-
- - - {{ "10th June 2023" }} -

{{ "validity" }}

-
- - - - -
-
-
- -
- - - {{ translate("Map facility to an external system") }} - -
- - - - {{ translate("Shopify facility") }} - - - - - {{ "shop name" }} -

Shop Id

-
- {{"note"}} -
- - {{ "shopify location id" }} - {{"note"}} - - - {{ "admin link" }} - - - - - - {{ "shopify link" }} - - - - - {{ translate("Edit") }} - {{ translate("Remove") }} -
-
- -
-
-
+
@@ -405,16 +407,18 @@ import { globeOutline, locationOutline, openOutline, - personOutline, - reorderTwoOutline + personOutline } from 'ionicons/icons' import { translate } from '@hotwax/dxp-components'; +import ExternalSystemPopover from '@/components/ExternalSystemPopover.vue' import LocationDetailsPopover from '@/components/LocationDetailsPopover.vue'; import OpenStorePopover from '@/components/OpenStorePopover.vue'; import AddAddressModal from '@/components/AddAddressModal.vue' import AddGeoPointModal from '@/components/AddGeoPointModal.vue'; import SelectProductStoreModal from '@/components/SelectProductStoreModal.vue' import SelectOperatingTimeModal from '@/components/SelectOperatingTimeModal.vue'; +import AddLocationModal from '@/components/AddLocationModal.vue'; +import AddStaffMemberModal from '@/components/AddStaffMemberModal.vue'; export default defineComponent({ name: 'FacilityDetails', @@ -447,7 +451,7 @@ export default defineComponent({ data() { return { isTimeModalOpen: false as boolean, - segment: 'locations' + segment: 'external-mappings' } }, methods: { @@ -480,6 +484,20 @@ export default defineComponent({ addProductStoreModal.present() }, + async addLocationModal() { + const addLocationModal = await modalController.create({ + component: AddLocationModal + }) + + addLocationModal.present() + }, + async addStaffMemberModal() { + const addStaffModal = await modalController.create({ + component: AddStaffMemberModal + }) + + addStaffModal.present() + }, async selectOperatingTime() { const selectOperatingTimeModal = await modalController.create({ component: SelectOperatingTimeModal @@ -494,6 +512,14 @@ export default defineComponent({ showBackdrop: false }); return locationDetailsPopover.present() + }, + async openExternalSystemPopover(ev: Event) { + const externalSystemPopover = await popoverController.create({ + component: ExternalSystemPopover, + event: ev, + showBackdrop: false + }); + return externalSystemPopover.present() } }, setup() { @@ -507,7 +533,6 @@ export default defineComponent({ locationOutline, openOutline, personOutline, - reorderTwoOutline, translate } } @@ -515,11 +540,17 @@ export default defineComponent({ From 822354c96d444e80f29223bb562cf32c9085bc61 Mon Sep 17 00:00:00 2001 From: amansinghbais Date: Thu, 16 Nov 2023 15:27:10 +0530 Subject: [PATCH 4/5] Improved: code for time selector, external mapping modal name and alphabetical ordering (#4) --- ...over.vue => AddExternalMappingPopover.vue} | 8 +-- src/components/CustomMappingModal.vue | 10 ++-- src/components/LocationDetailsPopover.vue | 6 +-- src/components/SelectOperatingTimeModal.vue | 49 ++++++++++--------- src/views/FacilityDetails.vue | 25 ++++------ 5 files changed, 45 insertions(+), 53 deletions(-) rename src/components/{ExternalSystemPopover.vue => AddExternalMappingPopover.vue} (94%) diff --git a/src/components/ExternalSystemPopover.vue b/src/components/AddExternalMappingPopover.vue similarity index 94% rename from src/components/ExternalSystemPopover.vue rename to src/components/AddExternalMappingPopover.vue index 97abd8f2..a4cb3456 100644 --- a/src/components/ExternalSystemPopover.vue +++ b/src/components/AddExternalMappingPopover.vue @@ -18,9 +18,9 @@