Commit Graph

302 Commits

Author SHA1 Message Date
Bec Scott ff923bcb82 Add support for an explicit dismiss button to snackbar, as well as an onDismiss callback (https://github.com/woocommerce/woocommerce-admin/pull/5623)
* Add support for an explicit dismiss button to snackbar, as well as an onDismiss callback

* Fix effect dependencies

* Fix disabling auto-dismiss when explicit dismissing is on, fix cursor styles

* fix noops and dismiss on action

* refactor action click handler

* rename dismiss button class

* increase CES modal placeholder z index

* white. space.

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-11-18 12:15:42 +10:00
Bec Scott fde504f9d6 Fix reference to navigation package and fix transient notices so it looks at core/notices as well as core/notices2 (https://github.com/woocommerce/woocommerce-admin/pull/5583)
Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-11-13 11:21:06 +10:00
Bec Scott 0b721d4461 Add icon to snackbar (https://github.com/woocommerce/woocommerce-admin/pull/5563)
* Add an icon to the snackbar displayed for CES

* Change icon from SVG to a unicode emoji pencil

* formatting changes to satisfy CI

* bump ci

* Fix prop types and jsdocs for the customer effort score component

* whitespace >:-(

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-11-13 10:53:28 +10:00
Paul Sealock 29f1d823fe Fix homescreen id on client (https://github.com/woocommerce/woocommerce-admin/pull/5564) 2020-11-10 12:02:26 +13:00
Bec Scott 4cde62561a Copy the snackbar component from Gutenberg into wp-admin (https://github.com/woocommerce/woocommerce-admin/pull/5532)
* Copy the snackbar component from Gutenberg into wp-admin

* Copy @wordpress/data in from Gutenberg

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-11-09 17:17:08 +10:00
Joel Thiessen 3c62e171da Navigation: Adding Tracks by tying into wc-admin page view (https://github.com/woocommerce/woocommerce-admin/pull/5466)
* Adding 'has_navigation' flag to tracks pageView events to indicate if new navigation is enabled (https://github.com/woocommerce/woocommerce-admin/pull/5332)

* Testing if navigation is active using window.wcNavigation instead of window.wcAdminFeatures to handle the edge case of a single page opting out
2020-10-22 15:13:57 -07:00
Paul Sealock 7e351c18a3 Navigation: extend with WC Admin router links (https://github.com/woocommerce/woocommerce-admin/pull/5445)
* add test case

* save

* pages

* comments

* use id

* bail on no wcAdmin pages

* prefix
2020-10-22 16:01:25 +13:00
Sam Seay 91e3e7336d Fix a number of crashes that occur in reports when Gutenberg is active (https://github.com/woocommerce/woocommerce-admin/pull/5409)
Also fix a blank screen issue with rendering reports.

Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
2020-10-17 07:47:29 +13:00
Sam Seay fc030fb007 Migrate the devdocs examples to Storybook CSF stories (https://github.com/woocommerce/woocommerce-admin/pull/5271)
Fixes woocommerce/woocommerce-admin#5234
2020-10-15 14:55:55 +13:00
Paul Sealock c089b49b38 Navigation: Prep feature flags and option (https://github.com/woocommerce/woocommerce-admin/pull/5292)
* add feature flag

* hydrate options on embedded screens

* is_feature_enabled

* feature class

* feedback

* better name

* fix
2020-10-13 13:05:06 +13:00
Joel Thiessen 484221c0cd Updating Stripe key field validation to support test keys (https://github.com/woocommerce/woocommerce-admin/pull/4391) (https://github.com/woocommerce/woocommerce-admin/pull/5201)
Updating Stripe key field validation to support test keys (https://github.com/woocommerce/woocommerce-admin/pull/4391)

Currently the form to configure Stripe keys accessed via the task list presents an error when test keys are used. I've updated the validation in order to support the format for test keys as well.
2020-10-05 11:52:12 -07:00
Joshua T Flowers 6e8b4bad5f Fix header height and positioning for wc nav (https://github.com/woocommerce/woocommerce-admin/pull/5173)
* Fix header height and positioning for wc nav

* Remove body margin via CSS
2020-09-29 15:57:50 +03:00
Bec Scott 90567853de Enable the home screen for everybody (https://github.com/woocommerce/woocommerce-admin/pull/5108)
* One-shot to enable the homescreen for everybody

* Make the home page the default (only) experience

* remove option check in activity panel tabs, get tests working, fix lint issues

* Remove is-homescreen CSS class

* Remove extra home page route registration

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-09-15 09:44:46 +10:00
Paul Sealock 3c6483e842 Remove wc api 🎉 (https://github.com/woocommerce/woocommerce-admin/pull/5075)
* remove wc-api selects and constansts

* remove extendedItems dependence on wc-api

* remove wc-api

* PR feedback
2020-09-04 09:45:40 +12:00
Jeff Stieler 5e7f2af61d Rename "profile" to "store details". (https://github.com/woocommerce/woocommerce-admin/pull/4965)
* Rename "profile" to "store details".

* Missed some /profiler links.

* Fix linter error.

* Store details => Setup Wizard.

* Rename task list item.
2020-08-27 08:10:23 -04:00
Sam Seay e61548d2c5 Refactor the Header component from class to function. (https://github.com/woocommerce/woocommerce-admin/pull/5023)
Working towards woocommerce/woocommerce-admin#4654 this refactors the `<Header>` component to be functional so that it can use hooks. The plan is to use the `useUserPreferences` hook there to determine if the mobile banner should be rendered or not.
2020-08-24 10:46:18 +12:00
Paul Sealock 2f650b74a0 Replace useFilters with wp's withFilters (https://github.com/woocommerce/woocommerce-admin/pull/4962)
* use wp withFilters

* changelog

* remove altogether

* other uses of withFilters

* Add deprecation warning to README
2020-08-21 11:14:55 +12:00
Daniel Bitzer d8098d6fd7 Adds `@woocommerce/tracks` package (https://github.com/woocommerce/woocommerce-admin/pull/5017)
* Add @woocommerce/tracks package.json

* Add @woocommerce/tracks .npmrc

* Move lib/tracks.js in to tracks package

* Add tracks package debug dependency

* Add readme for tracks package

* Add changelog for tracks package

* Add info about debugging and opt-ins to tracks package readme

* Load tracks package script

* Add tracks package to packages readme

* Add tracks package to webpack config

* Add tracks package external to starter-pack

* Replace lib/tracks uses with @woocommerce/tracks

* Update package-lock.json
2020-08-20 14:29:52 +09:30
Joshua T Flowers df89bb7aac Fix note data actions and consolidate query constants (https://github.com/woocommerce/woocommerce-admin/pull/4990) 2020-08-18 14:45:42 +03:00
Joshua T Flowers 483055dd75 Migrate notes data store to wp data (https://github.com/woocommerce/woocommerce-admin/pull/4943)
* Add initial notes data store using wp data

* Cache individual note queries

* Update notes undo endpoint to batch update endpoint

* Allow batch updates of notes

* Add requesting state

* Update components to use new note store

* Remove old notes store from wc-api

* Get note IDs from json and validate data in REST API

* Add an updating state to each note

* Throw errors in actions so they can be caught by client

* Add store reducer tests

* Handle PR feedback

* Fix failing tests

* Don't set inbox panel visibility while batch updating

* Move woocommerce block to external dependencies
2020-08-13 16:23:38 +03:00
Paul Sealock c145783e0a Fix dependency declarations (https://github.com/woocommerce/woocommerce-admin/pull/4972)
* renmove WC comment block

* client routes

* more fixes

* moar search

* getting there

* by hand now

* david beating goliath

* mission accomplished

* client filepath

* save

* got it

* remove script

* fixes

* deal with package internal dep

* remove webpack alias

* fix webpack relative paths

* remove commented rule

* remove extra line

* remove unused modules entry
2020-08-13 14:05:22 +12:00
Sam Seay 0d95facf92 Task list - add a shortcut back to store setup (https://github.com/woocommerce/woocommerce-admin/pull/4853)
Fixes woocommerce/woocommerce-admin#4592

This adds the functionality to support a store setup tab displayed in ActivityPanel. The tab currently just redirects to the home page, rather than implementing the nice-to-haves of displaying the task list in the panel. The reason for this, is that I found it would require significant refactoring of the task list to support this currently.

As part of this I have also refactored rendering of tabs inside into 2 new functional components: <Tabs> and <Tab>. The reason for this is to decompose large untestable components, test them and by virtue of being decomposed they will also be more reusable in future. Ideally would have been refactored to a functional component as well, but it would have been too large a task.
2020-08-06 10:02:24 +12:00
Darren Ethier dc5304823b Add @woocommerce/eslint-plugin (https://github.com/woocommerce/woocommerce-admin/pull/4714)
* add new woocommerce/eslint-plugin

* implement eslint-plugin (switch scripts to use wp-scripts etc)

* various linting fixes

* more lint fixes

* improve fix script

* more eslint fixes

* more eslint fixes

* temporary convert rules to warnings until they are all handled

* linting fixes

* update package-lock.json

* remove duplicates

* remove unnecessary `@wordpress/dependency-group` rule config

* add docs and adjust rules

* prettier fix

* fix merge artifact

* convert more rules to warnings

* change order to reflect importance

* install babel-preset-default

* remove unnecessary configuration for babel

* fix dependency group rule and test

* fix test

* handle collapsible whitespace

* add react testing library eslint plugin

* linter errors

* Add back in prettierrc

* package-lock update

* js lint fix with --fix

* disable whitespace in translation

* package-lock update

* make eslint actual dependency, not peer dependency

* pin eslint to v7

* I don't know why, but its working

* fix lint js

Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-07-28 14:32:58 +12:00
Sam Seay b448ff60b7 Update @wordpress/base-styles and replace deprecated variables (https://github.com/woocommerce/woocommerce-admin/pull/4759)
Fixes woocommerce/woocommerce-admin#4732

This updates `@wordpress/base-styles`, and because `@wordpress/components` depends on variables from it, that must be updated as well.

There are 3 major changes required as part of updating:

1. The $theme-color variable is no longer exposed by base-styles. Instead there are 3 css vars exposed. These are made available by use of a provided mixin. Situations where $theme-color was darkened using scss have been mapped as best as possible to the 2 other darkened shades of the css var that are available such as `--wp-admin-theme-color-darker-20` and `--wp-admin-theme-color-darker-10`. In some cases this means the colors are not exactly the same as before.

2. The post css `theme()` call is no longer available. All uses of this have been consolidated to use of the main theme css var `--wp-admin-theme-color`. This means that calls like `theme(secondary)` or `theme(outline)` etc have all been consolidated to the one color.

3. Many of the variables used for different shades of gray have been deprecated. These have been mapped across to the new gray variables. (Mapped according to the list described in woocommerce/woocommerce-admin#4732)
2020-07-17 12:11:42 +12:00
Fernando a7a59583c9 Added skip profiler functionality (https://github.com/woocommerce/woocommerce-admin/pull/4721)
* Added skip profiler functionality

This commit adds the skip profiler functionality, leaving the Home screen `Store details` as incomplete.

# Conflicts:
#	client/task-list/tasks.js

* Unit tests repaiared

* Added OBW page

This commit makes the necessary changes to add an OBW page

# Conflicts:
#	client/profile-wizard/index.js

* Event name changed

This commit renames the event name we were recording since it was wrong.

* Redirection modified

This commit modifies the way we do redirection

# Conflicts:
#	client/profile-wizard/index.js

* Removed `profiler` feature flag

* Removed `profiler` feature flag

This commit removes the `profiler` feature flag

* Added error handling for `updateProfileItems`

This commit adds error handling for the method `updateProfileItems`

* Update client/profile-wizard/index.js

Co-authored-by: Matt Sherman <matt.sherman@automattic.com>

* Removed "throw" from "then"

* Update client/dashboard/index.js

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>

* Update client/profile-wizard/index.js

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>

* Modified redirection URL

This commit modifies the redirection URL.

# Conflicts:
#	client/task-list/tasks.js

# Conflicts:
#	client/profile-wizard/index.js

* Removed the variable "lastStep" and the related logic.

* Removed change of state for variable "skipped"

* Added error trowing to onboarding actions

This commit adds error trowing to onboarding actions

* Removed response handling for `updateProfileItems`

* Added default value for "profileItems" in Homescreen and Dashboard

* Removed `step` from OnboardingProfile and test

This commit removes the `step` from OnboardingProfile.php and from tests

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Matt Sherman <matt.sherman@automattic.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
2020-07-16 12:17:10 -03:00
Jeff Stieler 7da3a59465 Show "Help" Activity Panel When Working Single Task List Item (https://github.com/woocommerce/woocommerce-admin/pull/4779)
* Add initial (rough) help panel.

Only includes "products" task items.

* Add help links for other tasks.

* Add header to help tab content.

* Toggle activity panel tabs when performing a setup task.

* Move query string parsing up a level.

* Pass query string as prop to ActivityPanel.

Fixes rerendering issue when entering a task.

* Pass current task to Help panel.

* Filter payments task help items by available payment methods.

* Filter shipping and tax help items based on WCS install.

* Add generic docs link to all help panels.

* Track help panel open.

* Track help panel link clicks.

* Show WCS help items when prompted to install.

* Tasks are only performed on the main route.

E.g. no value for "path".

* Small tweaks to make AcivityPanel more easily testable.

* Add initial tests for ActivityPanel tab logic.

* Modify HelpPanel component for easier testing.

* Add tests for conditional help panel links.

* Fix tracking keyboard "clicks" on help links.

* Fix query prop on embedded pages.

* Allow filtering of help tab items.
2020-07-14 08:20:51 -04:00
Bec Scott 11ee8aac2d Tweak the embed page CSS so the top content sits better (https://github.com/woocommerce/woocommerce-admin/pull/4622)
* Tweak the embed page CSS so the top content sits better

* Tweak the CSS to take notices into consideration

* Further tweak header styles

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-06-24 13:52:03 -07:00
Jeff Stieler 6e85cf977a Style cleanup from components update (https://github.com/woocommerce/woocommerce-admin/pull/4606)
* Fix secondary button style in OBW.

* Center snackbar notices in OBW.

* Scope snackbar changes to just the OBW.

* Add busy treatment to Jetpack connect button when redirecting.

* Remove color override for form toggles in ellipsis menus.

* Fix styling of task list.

* Fix button styles in date range picker component.

* Use admin theme colors in calendar component selections.

* Fix datepicker styling on analytics settings page.
2020-06-17 08:58:35 -04:00
Paul Sealock 77ce9448a3 Fix Task List styles (https://github.com/woocommerce/woocommerce-admin/pull/4573) 2020-06-16 14:07:06 +12:00
Timmy Crawford 8dc7b4cbea G2: Remove pink/purple from ActivityPanels and Header (https://github.com/woocommerce/woocommerce-admin/pull/4586)
* G2: Remove pink/purple from ActivityPanels and Header

* Manage all orders purple.
2020-06-15 17:24:01 -07:00
Paul Sealock 91bd554637 Add overrides for OBW styles (https://github.com/woocommerce/woocommerce-admin/pull/4572) 2020-06-16 10:50:22 +12:00
Paul Sealock fea332b5b4 Change homepage to homesceen (https://github.com/woocommerce/woocommerce-admin/pull/4549) 2020-06-15 14:17:12 +12:00
Daniel Bitzer ca517af7c0 Make it possible (far easier) to add menu items under 'Marketing' (https://github.com/woocommerce/woocommerce-admin/pull/4561)
* Make it possible to add marketing submenu pages

* Always set the parent value for marketing pages

* phpcs

* Add ‘overview’ to breadcrumb and path

* Fix permission check conditional

* Add parent menu at priority of 9, before other items are usually added

* Revert to use `/marketing` as the page path
2020-06-13 07:25:15 +09:30
Paul Sealock 41481a7299 Button: Remove deprecated isDefault (https://github.com/woocommerce/woocommerce-admin/pull/4548) 2020-06-12 07:22:20 +12:00
Paul Sealock d7aec170f1 Runtime feature config override (https://github.com/woocommerce/woocommerce-admin/pull/4523) 2020-06-11 12:26:20 +12:00
Paul Sealock 41eeb4f9f9 Options: Add data store (https://github.com/woocommerce/woocommerce-admin/pull/4144) 2020-06-11 11:49:27 +12:00
Goran Radosevic cabb4c136c Fixed null issue in wpNavMenuClassChange (https://github.com/woocommerce/woocommerce-admin/pull/4513) 2020-06-10 14:56:01 -07:00
Timmy Crawford 1fb8c3caad Tracks: Change isEmbedded prop to is_embedded (https://github.com/woocommerce/woocommerce-admin/pull/4533) 2020-06-10 10:06:13 -07:00
Paul Sealock 134be1c08b Update/@wordpress components base styles (https://github.com/woocommerce/woocommerce-admin/pull/4427) 2020-06-10 13:55:06 +12:00
Fernando d5b40ae01f Usage of URLSearchParams breaks in IE11 (https://github.com/woocommerce/woocommerce-admin/pull/4501)
* Removed URLSearchParams method

This commit removes the method URLSearchParams to use something compatible with IE

* Revert "Removed URLSearchParams method"

This reverts commit c2b24b34c93d16264c62b3bf522f4fbc94354d58.

* Removed URLSearchParams method

This commit removes the method URLSearchParams to use something compatible with IE

* Created folder utils with global utils

This commit moves the method "getUrlParams" to a utils file. Also some unit test were added

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2020-06-05 13:07:28 -03:00
Paul Sealock 7f8149563b Homescreen: Add option to disable (https://github.com/woocommerce/woocommerce-admin/pull/4450)
* Add homescreen option

* change opt name to homescreen
2020-06-04 08:42:30 +12:00
Paul Sealock 7a62d36516 Filters: Fix static query parameters (https://github.com/woocommerce/woocommerce-admin/pull/4458)
* Fix Filters' staticParams

* Don't update report table page when chart type is changed or filter menu has been opened.

Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
2020-06-02 11:03:26 +12:00
Paul Sealock 16cb332f28 IconButton: Replace with Button (https://github.com/woocommerce/woocommerce-admin/pull/4415) 2020-05-29 14:32:37 +12:00
Paul Sealock 8430b1cba7 Homepage: Add stats numbers (https://github.com/woocommerce/woocommerce-admin/pull/4288) 2020-05-14 15:23:03 +12:00
Jeff Stieler 4f48ae9fb7 Fix Dashboard flash before OBW chunk loads. (https://github.com/woocommerce/woocommerce-admin/pull/4259)
* Document the `woocommerce_admin_is_loading` filter.

* Prevent dashboard from being visible during ProfileWizard chunk load.

* Delay removing loading class rather than adding full screen class prematurely.
2020-05-06 06:56:23 -06:00
David Stone 8ebd33fe6b Use Route based code splitting to optimize bundle size (https://github.com/woocommerce/woocommerce-admin/pull/4094)
* Use lazy loading to split up the size of the js downloaded

* Use lazy loading to split up the size of the js downloaded

* Add Moment Timezone plugin to reduce size of data file.

* Lazy load header panels and use Dashicons for faster loading

* Load assets from the correct publicPath

* Load assets from the correct publicPath

* PHP cs fixes

* Fix missing quotes on string literal.

* Fix PropType warning for lazy loaded component.

* Separate the task list and dashboard chunks.

* Lazy load dashboard sections.

* Restore original icons and reduce size by importing only the icons needed

* Lazy load alerts to save more Kb on initial load

* Minify built JS in production mode.

* Add preload tags for WC Admin assets. (https://github.com/woocommerce/woocommerce-admin/pull/4162)

* Fix linting errors.

* Add modified UnminifiedWebpackPlugin.

* Produce minified and unminified bundles for all builds.

* Remove unused variable from webpack config.

* Run unminify after sourcemap generation.

* Only hook after optimization if we're using a devtool.

* Add minification suffix in Loader::get_url().

* Lazy load OBW on new home screen.

* Move OBW style up a level to layout.

* Hydrate ProfileWizard independently of withSelect and withDispatch

* Fix order of composition and fallback function when using hydration.

Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-04-29 12:01:27 -06:00
Jeff Stieler 6140e7994f New home screen pageview tracking (https://github.com/woocommerce/woocommerce-admin/pull/4189)
* Specify home screen in tracks event when enabled.

* Add Jetpack info to home page Tracks event.

* Use @wordpress/data's withSelect - no need for wc-api.

* Add plugins hydration to existing compose() call.

* Safer access of wcSettings object in plugins hydration.

* Remove redundant plugins hydration from TaskList and ProfileWizard.
2020-04-27 08:41:26 -06:00
Paul Sealock 2f8ba63ec0 Homepage: Add Hello World, routing, and feature flag (https://github.com/woocommerce/woocommerce-admin/pull/4169)
* Homepage: Add hello world

* check feature flag

* homepage folder

* whitespace
2020-04-23 09:32:44 +12:00
Matt Sherman b996b69b6f Fix RTL issues with `wc-admin` pages (https://github.com/woocommerce/woocommerce-admin/pull/4051)
* Flip summary item's delta 'right' arrow when RTL
* Prevent chart legend checkbox from flipping in RTL
* Flip store alerts pagination arrows in RTL
2020-04-03 07:26:24 -04:00
Jason Conroy e5bd8f3184 Marketing Tab MVP (https://github.com/woocommerce/woocommerce-admin/pull/3953)
* Add Marketing feature flag

* Add marketing page and menu item

* Register marketing page with layout controller

* Add initial marketing cards

* Add max-width to marketing overview page

* Add initial marketing WelcomeCard component

* Make marketing welcome card permanently dismiss

* Add a readme for the marketing page components

* Record tracks event when marketing welcome dismissed

* Match design width

* Add welcome image and initial styles

* Use gridicon for close button

* Fix whitespace

* Add PluginsHelper::get_plugin_data()

* Add initial Marketing\InstalledExtensions class

* Preload installed marketing extensions data

* Tweak extension statuses

* Add InstalledExtensionRow component

* Add initial extension data to InstalledExtensions card

* Refactor PluginsHelper::get_plugin_data method

Using the new get_plugin_path_from_slug method

* Ensure get_plugins() function is available for PluginsHelper

* Simplify using PluginsHelper method

* Add MailChimp configured status logic

* Add links to InstalledExtensionRow component

* Add key prop to extensions list

* Setup styles for InstalledExtensions card

* Display nothing if no installed extensions

* Add InstalledExtensions::get_allowed_plugins()

* Setup Marketing Overview API controller

* Add /activate-plugin marketing endpoint

* Add more extensions URL props

* Add Facebook extension configured status logic

* Update Facebook extension URL props

* Fix extenion data logic

* Move component into it’s own directory

* Setup /marketing/overview/recommended endpoint

* Initial marketing page card header styles

* Add basic extension data to RecommendedExtensions

* Use color as variable

* Tweak card header padding for design

* Add basic styling to RecommendedExtensions card

* settingsUrl is not available if the plugin is not active

* Add /marketing/overview/installed-plugins REST endpoint

* Add basic activation functionality to InstalledExtensions component

* Don’t throw error on success

* Add MVP data store for installed extensions card

* Add core dark blue color variable

* Add styles for installed extensions card

* Move knowledge-base component to its own directory

* Pull recommended marketing plugins from remote test site

* Hide description when configured

As per design

* Tweak colors based on design

* Finish off styling for RecommendedExtensions

* Limit recommended extensions to 6 items

* Add error handling to RecommendedExtensions card

* Rename ‘copy’ extension prop

* Add marketing button component to match design

* Create ProductIcon component for marketing

* Add InstalledExtension icons

* Fix icon image paths

* Add ProductIcon to InstallExtensionRow

* Final styling to installed extensions card row

* Knowledge base card placeholders

* Fix missing icons when plugin not activated

* Remove logging

* Tweak array structure to ensure we have an array in JS

and not an object

* Refactor KnowledgeBase marketing component

- We don’t need loop through every post when rendering, just pick the posts we need
- Remove unused classes

* Move padding from each slide to the container

* Improve slider animations by absolute positioning the slides

* Reduce the slider animation timeout and add a note

* Add in-app purchase flow url params for recommended extensions

* Fix slider animation

* Reset slider height on window resize

* Short slider animation, fix double margin on smaller screens

* Add initial marketing/knowledge-base endpoint

* Pull knowledge base posts from API

* Rename welcome card dismiss tracks event

* Record event on recommended product click

* Recond onclick events for installed extensions card

* Record event when carousel navigation clicked

* img elements must have an alt prop

* Remove import that is never used

* use camelCase

* Decode HTML entities from API call

* Remove unused container div

* Add card loading state

* Add images to knowledge base card

* Link knowledge base posts

* Use the Pagination component rather than duplicate it’s functionality

* Clean up and rename knowledge base slider

* Clean knowledge base CSS and update responsive styles for single post slide

* Add a README for button component

* Add README for product icon component

* Add initial readme for Slider component

* Add correct image sizes to knowledge base slider, finalize styles

* Fix extension link urls

* Resolve some code formatting issue

* Bind class click methods to this

* Wrap nodes in Fragment

* Fix wccom-back path

* Add placeholder author and gravatar

Default avatar url size returned from the API is currently set to 96 so I’ve done a simple replace with 16

* Fix style-lint expected new line

* Add docblock for get_knowledge_base_posts()

* Setup data store for marketing to handle installedExtensions card

* Fix function names

“Activating” not “installing”

* Move welcome card component to its own dir

* IconButton component is going to be deprecated

ref: https://github.com/WordPress/gutenberg/pull/19299

* Support multiple activating plugins in the data store

* Rename extension to plugin for consistency

* Add propTypes to component

* Rename data-store/ to data/

* Fix import paths

* Extract isActivatingPlugin logic into datastore

* Move data store selectors into own file

* POST requests are not cached

* Export apiFetch action

* Don’t wrap API response in object

* Implement data store for recommended extensions

* Implement data store for marketing knowledge base

* Tidy getRecommendedPlugins resolver

* Try a cross browser cover/crop image effect to fit proposed design

And help fit longer titles in

* Add caught errors to handler

* Adjust positioning so watermater is displayed

* InstalledExtensions phpcs fixes

* Marketing phpcs fixes

* Alignment fix

* MarketingOverview phpcs fixes

* Missing full stop

* Update breadcrumbs to use new approach

* Fix style lint issues

* Record `marketing_knowledge_article` track event on knowledge base post click

* Import apiFetch and controls from @wordpress/data-controls

* Hex color to lowercase

* Remove duplicate method after rebase

* Use new showPageArrowsLabel rather than hide with CSS

* Fix blurry avatars on hidpi displays

* Hide avatar if URL is falsy

* Replace test author data with live data

* Combine conditionals into ternary

* Combine conditionals into ternary

* Simplify class column logic

* Only preload option and component settings in the admin

* Fix isActivatingPlugin not updating

Component was not re-rendeding.

* Use querySelector over getElementsByClassName

* Hide Marketing Welcome Card immediately on click

* Use create-a-ticket url for supportUrl and make that the default

* Add getInstalledPlugins resolver with preloaded data

* Revert "Add getInstalledPlugins resolver with preloaded data"

This reverts commit b8b127ec6411bef15616576b3bb189dc31777c13.

* Load plugin data in a separate request after activation

* Update welcome image

* Don’t return plugin data in the activation request.

* A space is required before closing bracket

* Update Jest config to gracefully handle static assets

Ref: https://jestjs.io/docs/en/webpack#handling-static-assets

* Remove unused onExit property

* Remove placeholder README

* Use prop directly

* yield createNotice

* Add note to indicate which Category

* Increase transient time to 3 days

* Use $gap-small

* Add proptype

* Add debounce to slider height resize listener

* Clean up isLoading logic

* Dont show image elements if image data is empty

* Open knowledge base posts in a new window

* Add “noreferrer”

* Turn the tab on in all env

Co-authored-by: Daniel Bitzer <danielbitzer@gmail.com>
2020-03-28 06:48:27 -07:00
Bec Scott dd279a5cc1 Make WooCommerce breadcrumbs use WooCommerce branding if it is installed (https://github.com/woocommerce/woocommerce-admin/pull/3798)
* Make WooCommerce breadcrumbs use WooCommerce branding if it is installed

* Undo everything

* Whoops, add missing reverted code

* Push 'WooCommerce' out to breadcrumbs from the server except for where it is built up on the client

* Pass translated 'WooCommerce' down from the server to the front end

* Fix comment

* Use `admin_url` to build up the URL

Co-Authored-By: Ron Rennick <ron@ronandandrea.com>

* Use admin_url()

Co-Authored-By: Ron Rennick <ron@ronandandrea.com>

* Show WooCommerce breadcrumb on analytics pages

* Stop double appending the admin URL to the root WooCommerce breadcrumb url

Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Ron Rennick <ron@ronandandrea.com>
2020-03-24 08:57:16 +10:00
Bec Scott 893aecfa4b Improve focus on task list (https://github.com/woocommerce/woocommerce-admin/pull/3796)
* Script that hides or shows menu items

* Hook up buttons to task list, hook up options to onboarding-experience to set up the menu

* Fix some little code style issues

* Remove LinkButton in favour of the existing Button in @wordpress/components

* Remove reference to removed style file

* Move menu experience script to /client/wp-admin-scripts to match current style

* Only load the onboarding menu experience script if onboarding is enabled

* Localise some strings

* Separate the "Setup" link from the existing items to avoid conflicts with extensions that modify the menu

* Use the item key instead of title to report back completed tasks

* Change from skip_option to reason to make this easier to grok

* Use existing woocommerce_task_list_hidden option instead of creating a new one

* Tweak options to get menu experience working again

* Simplify skip actions logic

* Preload woocommerce_task_list_do_this_later option

* Nicer event key names

* Clean  up the styling

* Remove wcSettings.onboarding check from the task items list in `customizable`

* Remove spinner from customizable

* Fix translated string for WooCommerce menu setup anchor

* Use predef color instead of a hard-coded hex code

* Remove superfluous ={ true } from markup

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-03-13 14:34:53 +10:00
Ron Rennick 952b70774f Merge Version/1.0 to master (https://github.com/woocommerce/woocommerce-admin/pull/3740)
* Try: Moving Customers to main Woo Menu (https://github.com/woocommerce/woocommerce-admin/pull/3632)

* Only add onboarding settings on wc-admin pages when task list should be shown. (https://github.com/woocommerce/woocommerce-admin/pull/3722)

* Use cron for unsnoozing admin notes (https://github.com/woocommerce/woocommerce-admin/pull/3662)

* Use wp-cron for admin note snoozing.

* Remove "unsnooze" scheduled action.

* Use correct version.

* Avoid using deprecated method for unscheduling actions.

* Onboarding: Fix toggle tracking events (https://github.com/woocommerce/woocommerce-admin/pull/3645)

* Fix errant wcadmin prefix on event name

* Track the onboarding toggle on the option in case enable_onboarding isn't used

* Move toggle actions to separate function

* Move onboarding actions

* Move onboarding filters

* Move help tab updates to add_toggle_actions

* Only run onboarding actions when enabled

* Onboarding: Add tracks events when profiler steps are completed (https://github.com/woocommerce/woocommerce-admin/pull/3726)

* Add tracks for store profiler step completion

* Record event when profiler is completed

* Ensure continue setup loads the onboarding profiler (https://github.com/woocommerce/woocommerce-admin/pull/3646)

* 'All that include' option removed when input field is empty (https://github.com/woocommerce/woocommerce-admin/pull/3700)

* 'All that include' option removed when input field is empty

Added a control to check that when the input field 'Search by customer name' is empty, the 'All that include' option is not appearing.

* Const name improved

The constant name hasValues was changed to optionsHaveValues (more descriptive)

* Fix select text alignment (https://github.com/woocommerce/woocommerce-admin/pull/3723)

Co-authored-by: Timmy Crawford <timmyc@users.noreply.github.com>
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Fernando <ultimoround@gmail.com>
Co-authored-by: edmundcwm <edmundcwm@gmail.com>
2020-02-20 07:59:02 -04:00
Darren Ethier 33c5b41e3f Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674)
* align code styles with the same configuration as Woo-Blocks

* initial pass of reformat-files

* applies manual fixes to various new linting errors surfaced by the configuration change.

* Fix state mutation in image-upload

* remove unused pre-commit-hook.js

* requestAnimationFrame -> window.requestAnimationFrame

* wc-api eslint changes

* eslint fixes on client/lib and client/settings

* client/header eslint changes

* fixes for client/dashboard part 1

* fixes client/dashboard part 2 of 2

* client/analytics part 1

* client/analytics continued

* client/analytics, last batch

* rename __mock__ directory

* pass in useEffect, useState from React component or function

* remove '+' from sprintf string argument

* use ref instead of findDOMNode

* reformat and repaply package.json changes

* install deps before running linter in Travis

* useGetCountryStateAutofill

* counryStateAutofill

* countryStateAutofill

Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-02-14 15:23:21 +13:00
Joshua T Flowers d1ef0eb029 Hide other elements in wpcontent while in full screen mode (https://github.com/woocommerce/woocommerce-admin/pull/3621) 2020-01-28 07:37:33 -08:00
Jeff Stieler 6a826600c2 Fix WC-Admin component styles for WP 5.3 (https://github.com/woocommerce/woocommerce-admin/pull/3357)
* Style Search component for 5.3.

* Reset native select control styles.

* Fix styling of selected radio options.

* Fix bottom margin on select inputs in filters and pagination.

* Update DropdownButton styles for WP 5.3.

* Style DropdownButton arrow as a chevron.

* Fix tooltip arrow styling.

* Style TextControlWithAffixes for WP 5.3.

* Flatten pagination button style.

* Use SelectControl for StoreAlert snooze action.

* Remove 3D look and use chevron on SplitButton.

* Add changelog entry.

* Fix stylelint issues.

* Update test snapshots.

* Add TextControlWithAffixes disabled prop to documentation and proptypes.

* Use WP checkboxes in ReportTable columns.

* Fix TableCard header background colors.

* Add padding to EllipsisMenu toggle controls.

* Remove version-specific styles.

We require WP 5.3 as a minimum now.
2019-12-13 12:35:29 -05:00
Paul Sealock a5a67b107e Settings: Persist date range selection (https://github.com/woocommerce/woocommerce-admin/pull/3293)
* Settings: fix date range persistance

* set undefined on persisted on save

* add comment
2019-11-29 09:54:15 +13:00
Justin Shreve 03c3251a2a Onboarding - Add tracks queue and fix busted tracks events/add missing event (https://github.com/woocommerce/woocommerce-admin/pull/3220)
* Fix busted tracks events and add missing continue setup event

* Move appearance check to next page load to avoid the event not firing

* Add a tracks queue to delay event recording & log embed page views (https://github.com/woocommerce/woocommerce-admin/pull/3250)

* Add a tracks queue to delay event recording

* Add emebedded page view tracking, and queue the tax skip event
2019-11-15 08:32:02 -05:00
Joshua T Flowers a3224ce65a Onboarding: Add task list welcome modal (https://github.com/woocommerce/woocommerce-admin/pull/3142) 2019-11-01 12:00:57 +08:00
Joshua T Flowers 993934606f Onboarding: Redirect to wccom cart if purchases required (https://github.com/woocommerce/woocommerce-admin/pull/3121) 2019-10-30 09:49:27 +08:00
Darren Ethier f8ebc4cd6d refactor all client files to use new settings api (https://github.com/woocommerce/woocommerce-admin/pull/3002) 2019-10-07 07:51:25 -04:00
Jeff Stieler 499365d5ef Fix direct linking to single components in DevDocs. 2019-09-06 11:52:19 -07:00
Justin Shreve e67b556ac9 Update to Color Studio v2.1.0 (https://github.com/woocommerce/woocommerce-admin/pull/2837)
* Update color-studio to v2.1.0

* Handle additional color updates after rebase.
2019-08-29 12:07:56 -04:00
Paul Sealock d98eceffc7 Revert "Revert "Update to new Snackbar component and notice store"" (https://github.com/woocommerce/woocommerce-admin/pull/2643)
* Revert "Revert "Update to new Snackbar component and notice store""

* Update uploader component to use createNotice

* Bump required WP version to 5.2

* Update required PHP and WP versions in plugin header
2019-07-23 11:26:46 +08:00
Joshua T Flowers f1f3a6e20d Fix flash of unstyled content for onboarding pages (https://github.com/woocommerce/woocommerce-admin/pull/2673) 2019-07-22 12:53:13 +08:00
Jeff Stieler 34e91de4ce Merge pull request woocommerce/woocommerce-admin#2637 from woocommerce/fix/report-table-pagination
Fix "page" parameter collision between routing and table pagination.
2019-07-11 17:23:31 -06:00
Jeff Stieler a03131f3ef Remove unneeded query retrieval instance method. 2019-07-11 15:26:58 -06:00
Jeff Stieler b92bef4941 Fix "page" parameter collision between routing and table pagination. 2019-07-11 14:18:16 -06:00
Timmy Crawford f4735658d7 Revert "Update to new Snackbar component and notice store (https://github.com/woocommerce/woocommerce-admin/pull/2596)"
This reverts commit 980ff6fa71.
2019-07-10 09:58:51 -07:00
Paul Sealock cc4b1bad99 Merge pull request woocommerce/woocommerce-admin#2607 from woocommerce/fix/Layout-propTypes
Fix: propType validation warnings on embedded pages
2019-07-09 07:52:31 +12:00
Joshua T Flowers 980ff6fa71 Update to new Snackbar component and notice store (https://github.com/woocommerce/woocommerce-admin/pull/2596)
* Add new wordpress/components version and fix dependencies

* Add in snackbar styling and gutenberg variables

* Convert all existing notice actions to wordpress/notices

* Fix linting errors

* Add package.lock changes

* Update search list control snapshots with new attributes
2019-07-08 12:10:34 +08:00
Paul Sealock 666dd992e6 Layout: fix propTypes for embedded pages 2019-07-08 12:54:52 +12:00
Daniel Rey López 08417da553 Allow each page to specify their breadcrumbs without having to render the Header component (https://github.com/woocommerce/woocommerce-admin/pull/2491)
* Simplify Header rendering, remove the use of react-slot-fill

* Remove the useless "/analytics" route

* Move all the <Header> renders to the new, declarative way of specifying breadcrumbs

* Re-render the Layout when a report is added using the REPORTS_FILTER, since that affects the breadcrumbs output

* Fix the base breadcrumb link and breadcrumbs on embedded pages

* Expanded Layout.propTypes to specify the breadcrumbs' shape
2019-07-05 09:15:49 +01:00
Paul Sealock b3bde09814 Merge pull request woocommerce/woocommerce-admin#2444 from woocommerce/update/route-handling
Route handling: Remove hash in favor of path parameter
2019-07-03 13:16:04 +12:00
Paul Sealock 3068013095 remove render404 2019-07-03 11:38:11 +12:00
Jeff Stieler bdfe3520c3 Send tracks event for snoozing store alerts. 2019-07-02 09:18:52 -06:00
Paul Sealock 4032c09e67 update id names 2019-07-01 12:33:52 +12:00
Justin Shreve aed4ea63b4 Server side route handling 2019-07-01 12:22:34 +12:00
Job b317e43869 Fixes issue with alerts on mobile (https://github.com/woocommerce/woocommerce-admin/pull/2537) 2019-06-28 10:46:17 -07:00
Daniel Rey López 95c074fbc6 Add a filter to allow other extensions to register new WC-Admin-powered pages (https://github.com/woocommerce/woocommerce-admin/pull/2492) 2019-06-27 00:00:23 +01:00
Daniel Rey López 2ce8c97c48 Remove the "wpClosedMenu" page setting (https://github.com/woocommerce/woocommerce-admin/pull/2441) 2019-06-24 08:43:19 +01:00
Jeff Stieler 5a49991cb1 Trigger a note action on button click. 2019-05-31 09:59:20 -06:00
Jeff Stieler 0756dd929b Merge pull request woocommerce/woocommerce-admin#2324 from woocommerce/add/admin-note-without-link
Allow note action URLs to be empty.
2019-05-30 10:42:02 -06:00
Joshua T Flowers 5e8509edd3 Onboarding: Add profiler body class on initial load + respect skipped/completed flags (https://github.com/woocommerce/woocommerce-admin/pull/2300) (https://github.com/woocommerce/woocommerce-admin/pull/2318)
* Add profiler body class on initial load, and respect skipped/complete status.

* Handle PR feedback: Remove unnecessary global, add some todos, added a filter around the next step slug, generalized the is-loading class a bit.
2019-05-28 06:38:01 -04:00
Jeff Stieler 0d9784700c Allow note action URLs to be empty. 2019-05-24 13:05:12 -04:00
Paul Sealock a0ad2f1fa7 Merge pull request woocommerce/woocommerce-admin#2225 from woocommerce/fix/persistedQuery-sidebar
Persisted Queries: Avoid adding to non time related screens
2019-05-24 08:47:06 +12:00
Paul Sealock f9bad3646d Persisted Queries: Avoid non-time related screens 2019-05-24 08:38:52 +12:00
Jeff Stieler f4d9818fc8 Remove unused layout component and export. 2019-05-23 10:38:45 -06:00
Jeff Stieler 9578280423 Move StoreAlerts below screen meta links on embed pages. 2019-05-22 14:59:18 -06:00
Jeff Stieler 225d75e73a Merge pull request woocommerce/woocommerce-admin#2269 from woocommerce/add/primary-notice-actions
Add support for “primary” admin notice actions.
2019-05-22 08:29:18 -06:00
Joshua T Flowers 633177bdea Update Card component to use Muriel design (https://github.com/woocommerce/woocommerce-admin/pull/2252)
* Use Muriel card styling and override card styles in reports

* Add card description prop

* Add isInactive prop and styling to card component
2019-05-22 16:38:25 +08:00
Jeff Stieler db5a1b7348 Add support for “primary” admin notice actions. 2019-05-21 13:22:48 -06:00
Ajay Ghaghretiya 38c40430ef Hide WordPress Upgrade Nag (https://github.com/woocommerce/woocommerce-admin/pull/2213) 2019-05-13 10:58:29 +08:00
Timmy Crawford d51845930a Dashboard: Rename class/feature to remove conflict with legacy dashboard widget (https://github.com/woocommerce/woocommerce-admin/pull/2138)
* Dashboard: Rename class/feature to remove conflict with legacy dashboard class

* Updates per feedback, and fixes.
2019-05-08 09:10:05 -07:00
Justin Shreve 7fc70157c9 WC_Admin_Loader/PHP Refactor + Method to publish core ready features (https://github.com/woocommerce/woocommerce-admin/pull/1863)
* Try: Setup plugin to publish core library on npm

* Documentation clean up.

* Handle PR Feedback: Fix notices from happening in WC Core from API usage, fix sidebar dashboard ordering in menu, remove preload function check since we are supporting WP 5+, add a filter for preloading data and move usage to respective feature code, move features to a specific folder for bundiling, fix script translations.

* Fix code comment on analytics preload

* Continue refactoring code, and make it possible to launch 'embedded' features via the process as well.

* Fix note hook

* Fix note load order

* Address PR feedback: Fix class name, load leaderboard endpoint

* Remove example code prior to merge
2019-04-11 14:31:31 -04:00
Albert Juhé Lluveras baf3bc3e28 Scroll to top only when URL changes (https://github.com/woocommerce/woocommerce-admin/pull/1989) 2019-04-08 19:53:28 +02:00
Albert Juhé Lluveras 7efd81815f Scroll to top when navigating pages (https://github.com/woocommerce/woocommerce-admin/pull/1958) 2019-04-01 19:02:39 +02:00
Jeff Stieler 6ab3f0b9f9 Style admin note action button and snooze dropdown. 2019-03-20 08:52:27 -06:00
Jeff Stieler 276a6e6744 Hook up “remind me later” button.
Update the admin note status and date_reminder fields.
2019-03-20 08:52:27 -06:00
Jeff Stieler 738ce59e4d Add “remind me later” dropdown button to snoozable admin notes. 2019-03-20 08:52:27 -06:00
Paul Sealock c8537970b7 Merge pull request woocommerce/woocommerce-admin#1793 from woocommerce/fix/store-alerts-css-lint
Fix CSS Lint issues in store-alerts CSS
2019-03-14 13:13:07 +13:00
Jeff Stieler bfe5a75e98 Update text domain. (https://github.com/woocommerce/woocommerce-admin/pull/1795)
* Translation call text domain change from “wc-admin” to “woocommerce-admin”.

* Fix .pot file generation.

* Fix errantly closed array item in /revenue/stats controller.

* Rename plugin zip, main file, and repo name to "woocommerce-admin".
2019-03-13 11:14:02 -06:00
Albert Juhé Lluveras 8dd179d551 Fix CSS Lint issues in store-alerts CSS 2019-03-13 11:36:03 +01:00
Justin Shreve 1348245406 Add store notice around processing historical data. (https://github.com/woocommerce/woocommerce-admin/pull/1763)
* Add store notice around processing historical data.

* Cleanup

* Handle PR feedback.

* Clean up `add` logic and add empty content_data. Also add logic to get_notes_count so that we can hide unactioned statuses.

* Add the ability to update a note, and to also mark a status when an alert is clicked.

* Remove mark_actioned call on sync

* add missing todo
2019-03-12 09:13:20 -04:00
Tiago Noronha 762b7d0b0c Revert "Stop API requests when we know no alerts exist"
This reverts commit 0cdaf1bee2.
2019-03-08 16:18:02 +00:00
Tiago Noronha c3ff6fca49 Simplify StoreAlerts component logic 2019-03-08 16:17:48 +00:00
Tiago Noronha 0cdaf1bee2 Stop API requests when we know no alerts exist 2019-03-06 23:04:13 +00:00
Tiago Noronha dd8d1fbb8b Display StoreAlertsPlaceholder while alerts are being loaded 2019-03-06 22:50:47 +00:00
Tiago Noronha 0af40e8214 Add default props and prop types to StoreAlertsPlaceholder component 2019-03-06 22:16:38 +00:00
Tiago Noronha 3493481f01 Add placeholder for StoreAlerts 2019-03-06 21:36:54 +00:00
Tiago Noronha f8e97b8152 Return immediately if no alerts found 2019-03-04 13:52:20 +00:00
Tiago Noronha 416d41279f Update CSS with new alert types 2019-03-01 17:37:51 +00:00
Tiago Noronha 7248d14595 Hook up StoreAlerts component to notes endpoint 2019-03-01 17:20:28 +00:00
Tiago Noronha c5a3a5dea8 Merge pull request woocommerce/woocommerce-admin#1627 from woocommerce/add/115-store-alerts
Adds StoreAlerts component
2019-02-26 23:18:00 +00:00
Tiago Noronha 6fe2b070bc Alert pagination label alignment 2019-02-26 23:10:00 +00:00
Tiago Noronha f1e6c2f3c8 Reduce alert margin on mobile 2019-02-21 23:39:30 +00:00
Tiago Noronha 952ad025a5 Change button from isPrimary to isDefault and adjust color 2019-02-21 23:34:43 +00:00
Tiago Noronha 1910d76425 Small screens styling tweaks 2019-02-21 23:24:01 +00:00
Tiago Noronha d54d9aa05e Fix store alters margin on mobile 2019-02-21 14:26:43 +00:00
Tiago Noronha f22770ce7e Use global Sass variables and add mixin for alert box-shadow 2019-02-21 01:13:54 +00:00
Tiago Noronha c304760629 Add `store-alerts` feature flag 2019-02-21 00:41:00 +00:00
Tiago Noronha 1d864c222c Fix line break 2019-02-20 19:03:08 +00:00
Tiago Noronha 91b09bfe4b Add propTypes 2019-02-20 16:37:03 +00:00
Tiago Noronha f492dae5a2 Simplify name of consts 2019-02-20 16:18:10 +00:00
Tiago Noronha 4f8336ce3d Add alerts array via props 2019-02-20 15:25:56 +00:00
Justin Shreve c3b0934ad3 Close the WP menu after navigating between reports (https://github.com/woocommerce/woocommerce-admin/pull/1634) 2019-02-20 10:18:27 -05:00
Tiago Noronha d9f9532939 Use interpolateComponents for pagination label 2019-02-20 11:50:55 +00:00
Tiago Noronha 8bc2a84b39 Add basic StoreAlert component 2019-02-19 21:07:19 +00:00
Joshua T Flowers 847b59246d Add transient notices (https://github.com/woocommerce/woocommerce-admin/pull/1423)
* Add initial transient notices component

* Animate notices to slide in and out

* Add notices to wc-api

* Map notices from wc-api to transient notices

* Add success message on settings save

* Add save notices to Settings page

* Remove all margin and padding from notice box when empty

* Add role alert to transient notices

* Add prefers reduced motion media query for transient animation

* Remove initial test notice

* Remove notices from wc-api

* Add wc-admin store for transient notices

* Pull transient notices from newly implemented store

* Use speak instead of role alert for accessibility

* Only show success message after request is complete

* Destructure state in componentDidUpdate

* Add store notice tests and fixtures

* Add box shadow to transient notice

* Move transient notices to bottom left

* Fix indentation
2019-02-13 19:44:58 +08:00
Justin Shreve 0fe061b97d Add Feature Flags (https://github.com/woocommerce/woocommerce-admin/pull/1500)
* First pass at adding feature flags. Accessible over PHP and JS.

* Hook up dev config to test enviornments, hook up features to their flags.

* Cleanup some code and add documentation. Remove beta config.

* Handle PR Feedback: Add devdocs flag, remove categories flag, fix auto-generated PHP warning.

* Add todo for beta phase.

* Handle PR feedback: Simplify is_array check, update build command, simplify test mock, remove empty webpack line.
2019-02-12 15:02:02 -05:00
Kevin Killingsworth 8b7e309e6f navigation: Lazy-create history (https://github.com/woocommerce/woocommerce-admin/pull/1472)
history.createHashHistory() is being called whenever this package is
imported, which causes the URL to redirect to a hash. This is
unnecessary in cases where elements of wc-admin are used outside of a
completely controlled/routed page.

This lazy-creates the history object only when it's needed and therefore
avoids the URL redirection unless history features are in use.
2019-02-06 13:28:29 -06:00
Joshua T Flowers fb0d71f117 Update page query to 1 when base query is changed (https://github.com/woocommerce/woocommerce-admin/pull/1444)
* Update page query to 1 when base query is changed

* Use history replace instead of updating query
2019-02-04 10:55:06 +08:00
Joshua T Flowers 49e78b90cf Add settings page with excluded order statuses (https://github.com/woocommerce/woocommerce-admin/pull/1364)
* Add settings page routes

* Add control options for excluded statuses

* Add control options for excluded statuses

* Add excluded order statuses to rest api

* Add wc settings to wc-api

* Add wc settings to wc-api

* Split and validate multiselect values in settings controller

* Add wcAdminSettings to wcSettings global

* Set initial excluded statuses from serverside wcSettings data

* Add extensible filter for wcSettings global

* Split arrays into comma separated strings in wc-api

* Extract setting as separate component

* Extra settings to config file

* Add checkboxGroup option as input type

* Separate status types into default and custom groups

* Add setting option styling

* Add responsive styling for settings

* Fix wpClosedMenu and wpOpenMenu for settings page

* Add support for resetting to default values

* Only show checkbox group if options are available

* Add proptypes to Setting component

* Add extensible filter to analytics settings

* Add readme for settings config and extensibility

* Hook up excluded status settings to reports

* Pass object to settings API instead of comma delimited string

* Fix inpuType -> inputType typo

* Remove hasError from constructor

* Bump settings API to v4

* Use interpolateComponents instead of dangerously setting html

* Use empty array in initial excldued statuses setting value if none is retrieved

* Remove double check for refunded status in default order statuses

* Update settings wc-api to use namespace

* Add aria=labelledby to checkbox group
2019-01-31 09:04:11 +08:00
Paul Sealock 0e01c98851 Reports: Reduce Margins on Small Viewports 2019-01-22 12:29:32 +13:00
Paul Sealock 0d59998625 Persist chart settings 2018-11-20 12:55:30 +13:00
Kelly Dwan d27cb26ef7 Build: Move `lib/nav-utils` and `lib/history` to `@woocommerce/navigation` (https://github.com/woocommerce/woocommerce-admin/pull/763)
* Move nav-utils and history to new package

* Update config to build and use new navigation package

* Update all imports to use new navigation package

* Remove unnecessary README

* Update nav-utils path
2018-11-05 16:02:04 -05:00
Kelly Dwan c29043a3bc Switch to using `@wordpress/viewport` for responsive screen layouts (https://github.com/woocommerce/woocommerce-admin/pull/761)
* Switch to Gutenberg viewport package

* Switch CSS breakpoints to core-supported values

* Fix double-calendar logic
2018-11-02 15:20:11 -04:00
Albert Juhé Lluveras 856dde0d3d Fix: date params were no longer persisted when navigating pages (https://github.com/woocommerce/woocommerce-admin/pull/717) 2018-10-29 16:43:30 +01:00
Jonathan Belcher 57e46e3273 Updates default analytics menu (https://github.com/woocommerce/woocommerce-admin/pull/658)
* Updates default analytics menu

* Make revenue the default analytics page

* Fix header link to direct to Revenue report

* Fix highlighting with additional filters
2018-10-27 13:38:35 -04:00
Albert Juhé Lluveras 1c819740f4 Persist date params in Products table link (https://github.com/woocommerce/woocommerce-admin/pull/671) 2018-10-25 12:07:30 +02:00
Paul Sealock 240599c095 Persist date related parameters on report navigation 2018-10-24 12:16:35 +13:00
Jonathan Belcher 9d337ce8e0 Add all instances of menu to toggle current state. 2018-10-10 12:06:32 -04:00
Jonathan Belcher a947d304dc Reafctors code to vanila js and removes jQuery 2018-10-10 10:24:57 -04:00
Kelly Dwan 62276fb361 Add visual component docs from markdown examples (https://github.com/woocommerce/woocommerce-admin/pull/470)
* Remove content from README, leaving only the example

* Rename edited READMEs

* Add a devdocs page rendering from markdown example files

* Add more components to devdocs

* Add the rest of the component examples

* Add navigation to single components, show generated readme on single component view

* Style devdocs like calypso

* Split devdocs into two columns at “desktop” sizes

* Update segmented selection example

* Update link

* Add header to avoid notices error
2018-09-24 11:36:35 -04:00
Kelly Dwan f5dd2559db Documentation: Move topic READMEs into docs for discoverability (https://github.com/woocommerce/woocommerce-admin/pull/469)
* Move header/row documentation into the component, so it can be rendered in the external docs

* Move project READMEs into docs folder for exposure in docs site

* Regenerate docs, generate component folder sidebar with component list

* Update format of CSS docs
2018-09-24 11:22:14 -04:00
Kelly Dwan 6d2eec1c12 Update `layout/*` file structure (https://github.com/woocommerce/woocommerce-admin/pull/463)
* Move section, header, and activity panel out of layout folder

* Update file soures

* Move documentation into component, and update generation script to handle the duplicated exports
2018-09-21 11:19:05 -04:00
Timmy Crawford b13d0bd2ac Tracks: Record page views on route changes. (https://github.com/woocommerce/woocommerce-admin/pull/452)
* Tracks: Record page views on route changes.

* adjust regex.
2018-09-19 11:23:05 -07:00
Kelly Dwan cd58cc78ac Build: Update packages (https://github.com/woocommerce/woocommerce-admin/pull/434)
* Update packages to latest versions

* Update snapshot to match updated jest format

* Add missing packages

* Pin docsify-cli to GitHub commit with security fix

* Update engines settings

* Update packages

Again, some things are already out of date from last week

* Regenerate docs
2018-09-18 17:37:57 -04:00
Albert Juhé Lluveras b0c489bab1 IE11: avoid reviews date overlapping product name (https://github.com/woocommerce/woocommerce-admin/pull/400) 2018-09-14 09:19:36 +02:00
Albert Juhé Lluveras 8932f99038 Add fallback gutter for browsers that don't support CSS Custom properties (https://github.com/woocommerce/woocommerce-admin/pull/372) 2018-09-11 09:27:13 +02:00