From cf785123a5e3815197b76a7f4ddb58233a69ae67 Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Thu, 15 Jul 2021 13:31:43 +0530 Subject: [PATCH] feat: One off campaign UI (#2621) --- .../dashboard/assets/scss/_date-picker.scss | 29 +++ .../dashboard/assets/scss/_woot.scss | 1 + .../components/ui/DateRangePicker.vue | 28 +-- .../components/ui/DateTimePicker.vue | 47 +++++ .../ui/stories/DateRangePicker.stories.js | 4 +- .../ui/stories/DateTimePicker.stories.js | 38 ++++ .../dashboard/i18n/locale/en/campaign.json | 16 +- .../dashboard/settings/inbox/Settings.vue | 17 +- .../settings/inbox/components/AddCampaign.vue | 119 ++++++++++- .../settings/inbox/components/Campaign.vue | 13 +- .../inbox/components/CampaignsTable.vue | 188 ++++++++++++------ .../dashboard/settings/reports/Index.vue | 1 + .../reports/components/DateRangeSelector.vue | 7 + app/javascript/shared/constants/campaign.js | 4 + app/javascript/shared/mixins/campaignMixin.js | 19 ++ .../shared/mixins/specs/campaignMixin.spec.js | 49 +++++ 16 files changed, 473 insertions(+), 107 deletions(-) create mode 100644 app/javascript/dashboard/assets/scss/_date-picker.scss create mode 100644 app/javascript/dashboard/components/ui/DateTimePicker.vue create mode 100644 app/javascript/dashboard/components/ui/stories/DateTimePicker.stories.js create mode 100644 app/javascript/shared/constants/campaign.js create mode 100644 app/javascript/shared/mixins/campaignMixin.js create mode 100644 app/javascript/shared/mixins/specs/campaignMixin.spec.js diff --git a/app/javascript/dashboard/assets/scss/_date-picker.scss b/app/javascript/dashboard/assets/scss/_date-picker.scss new file mode 100644 index 000000000..c9b4b7b12 --- /dev/null +++ b/app/javascript/dashboard/assets/scss/_date-picker.scss @@ -0,0 +1,29 @@ +@import '~vue2-datepicker/scss/index'; + +.mx-datepicker-popup { + z-index: 99999; +} + +.date-picker { + .mx-datepicker { + width: 100%; + } + + .mx-datepicker-range { + width: 320px; + } + + .mx-input { + border: 1px solid var(--color-border); + border-radius: var(--border-radius-normal); + box-shadow: none; + display: flex; + height: 4.6rem; + } + + .mx-input:disabled, + .mx-input[readonly] { + background-color: var(--white); + cursor: pointer; + } +} diff --git a/app/javascript/dashboard/assets/scss/_woot.scss b/app/javascript/dashboard/assets/scss/_woot.scss index d156f77b9..e3ad32e2e 100644 --- a/app/javascript/dashboard/assets/scss/_woot.scss +++ b/app/javascript/dashboard/assets/scss/_woot.scss @@ -12,6 +12,7 @@ @import 'foundation-settings'; @import 'helper-classes'; @import 'formulate'; +@import 'date-picker'; @import 'foundation-sites/scss/foundation'; @import '~bourbon/core/bourbon'; diff --git a/app/javascript/dashboard/components/ui/DateRangePicker.vue b/app/javascript/dashboard/components/ui/DateRangePicker.vue index 83699a747..08ce0e0c1 100644 --- a/app/javascript/dashboard/components/ui/DateRangePicker.vue +++ b/app/javascript/dashboard/components/ui/DateRangePicker.vue @@ -1,5 +1,5 @@