Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Jan 18, 2023
  2. Jan 16, 2023
  3. Jan 13, 2023
    • Braden Shepherdson's avatar
      [metabase-lib] Port date and time parsing and formatting to CLJC (#27551) · 335d161f
      Braden Shepherdson authored
      This adds a cross-platform date/time formatting library in CLJC, with
      (nearly) identical output in both JVM and JS environments.
      
      The only known difference is week numbers.
      
      CLJS (through Moment.js) has ordinal numbers, and renders the week
      number as "34th". Neither the JVM nor Clojure has a handy library for
      this (I'm sure it's out there somewhere, but it seems like a silly
      dep to add) so it renders week numbers as simply "34".
      
      Both platforms have date formatters that use pattern strings (eg.
      `"YYYY-MM-dd"`) to turn date/time objects into strings. There's a strong
      resemblance in how these work and what letters stand for what parts of
      the date and time, but they are far from identical.
      
      Rather than try to hackily convert one set of strings to another with
      regexes or other manipulations, this PR defines a set of names for
      fragments of dates (eg. `:year`, `:day-of-week-full`, `:hour-24-dd`)
      and includes functions to transform a list of these keys into a
      platform-specific format function.
      
      This is portable and transparent, and can be written in Clojure or
      JS code:
      
      ```clj
      [:year "-" :month-dd "-" :day-of-month-dd]   ; 2022-04-08
      [:month-full " " :day-of-month-d ", " :year] ; April 8, 2022
      [:hour-12-dd ":" :minute-dd " " :am-pm]      ; 7:52 AM
      ```
      
      ```js
      [":year", "-", ":month-dd", "-", ":day-of-month-dd"]   ; 2022-04-08
      [":month-full", " ", ":day-of-month-d", ", ", ":year"] ; April 8, 2022
      [":hour-12-dd", ":", ":minute-dd", " ", ":am-pm"]      ; 7:52 AM
      ```
      
      Note that the original code allowed an unrecognized `:date-style` string
      to be used directly as the formatting string. With the move to
      formatting data structures that no longer works. Instead there is a
      fixed map of format strings to the above data structures, that contains
      all the currently used `:date-style` inputs.
      
      If some caller needs a new format someday, we can either: (a) add the
      style to the map; or (b) pass the data structure form directly to the
      `:date-format` option, which if provided is used as the format.
      
      It's tempting to go to all the call sites and replace these `:date-style`
      strings with the new format structures. However, the strings are still
      embedded in the `:visualization_settings` in user appDBs, so we still
      need to recognize them.
      
      Most of the existing functions in the TS library have the same API.
      
      The set of allowed `:date-style` and `:time-style` values is turned into
      a type using `keyof`, so that we get precise type-checking of these
      values rather than simply `string`.
      
      One function has been dropped from the API: `getDateFormatFromStyle`.
      There was no practical way to implement it using the new format data
      structures. The only caller was the date format column settings, and it
      has been rewritten to use the formatted string for its sample date as
      its key instead.
      335d161f
  4. Jan 11, 2023
    • Nemanja Glumac's avatar
      Remove forced `yarn` resolutions (#27419) · 799afb45
      Nemanja Glumac authored
      * Removed forced `node-forge` resolution
      
      It now resolves to the `version "1.3.0"` anyway.
      
      * Removed forced `nanoid` resolution
      
      It now resolves to the `version "3.1.31"` anyway.
      
      * Removed forced `immer` resolution
      
      It doesn't appear in the list of dependencies anymore.
      
      * Removed forced `prismjs` resolution
      
      It doesn't appear in the list of dependencies anymore.
      
      * Removed forced `minimist` resolution
      
      It now resolves to the `version "1.2.6"` anyway.
      
      * Removed forced `nth-check` resolution
      
      It now resolves to the `version "1.0.2"` anyway.
      799afb45
  5. Jan 10, 2023
    • Anton Kulyk's avatar
      Add jest-dom and testing-library eslint plugins (#27577) · 6d3f5925
      Anton Kulyk authored
      * Install and enable plugins
      
      * Run eslint auto fix
      
      * Fix linter issues (part 1)
      
      * Fix Visualization test
      
      * Fix Pie Visualization test
      
      * Add `getIcon` and `queryIcon` helpers
      
      * Fix `VisibilityToggler` tests
      
      * Fix `QuestionActivityTimeline` tests
      
      * Fix formatting tests
      
      * Fix `EntityMenuItem` tests
      
      * Fix `ClampedText` tests
      
      * Fix `ObjectRelationships` tests
      
      * Fix `EmailAttachmentPicker` tests
      
      * Fix `SavedQuestionHeaderButton` tests
      
      * Fix `DatabaseEngineWarning` tests
      
      * Fix `Tooltip` tests
      
      * Fix `TippyPopoverWithTrigger` tests
      
      * Fix `TippyPopover` tests
      
      * Fix `TableLabel` tests
      
      * Fix `TableInfo` tests
      
      * Fix `ModerationStatusIcon` tests
      
      * Fix `Sidebar` tests
      
      * Fix `PermissionSelect` tests
      
      * Fix `PinnedItemCard` tests
      
      * Fix widget tests
      
      * Fix `DimensionSemanticTypeLabel` tests
      
      * Fix `ListSearchField` tests
      
      * Fix `ControlledPopoverWithTrigger` tests
      
      * Fix `FieldFingerprintInfo` tests
      
      * Fix `ErrorActionButton` tests
      
      * Fix `QueryValidationError` tests
      
      * Fix `LineAreaBarRenderer` tests
      
      * Fix `DataSelector` tests
      
      * Fix `PivotTable` tests
      
      * Fix `ItemPicker` tests
      
      * Fix `TokenField` tests
      
      * Fix `TagEditorParam` tests
      
      * Fix tests
      
      * Fix tests
      
      * Run prettier
      
      * Fix tests
      6d3f5925
  6. Jan 09, 2023
    • Anton Kulyk's avatar
      Add `eslint-plugin-jest` (#27574) · fb88dbef
      Anton Kulyk authored
      * Install `eslint-plugin-jest`
      
      * Enable `eslint-plugin-jest`
      
      * Run eslint auto fix
      
      * Fix linter issues
      
      * Fix get-column-key
      
      * Fix extra space
      
      * Fix ChartSettingFieldPicker
      
      * Fix eslint issues
      
      * Remove redundant describe
      fb88dbef
  7. Dec 25, 2022
  8. Dec 24, 2022
  9. Dec 21, 2022
    • Aleksandr Lesnenko's avatar
      bump redux (#27043) · 9147c1a9
      Aleksandr Lesnenko authored
      * check how much is broken after redux upgrade
      
      * fix popovers could not use connected components
      
      * fix a unit spec failure
      
      * fix accessing a connected component ref which is a class instance
      
      * supress typescript errors caused by better type inference of the newer react-redux
      9147c1a9
  10. Dec 20, 2022
  11. Dec 16, 2022
  12. Dec 12, 2022
  13. Dec 08, 2022
  14. Dec 05, 2022
  15. Nov 21, 2022
  16. Nov 18, 2022
  17. Nov 17, 2022
  18. Nov 16, 2022
  19. Nov 15, 2022
  20. Nov 11, 2022
  21. Nov 10, 2022
  22. Nov 09, 2022
  23. Nov 05, 2022
  24. Nov 02, 2022
  25. Nov 01, 2022
  26. Oct 28, 2022
    • Nick Fitzpatrick's avatar
      Move series settings into chart settings popup (#25926) · 404006bd
      Nick Fitzpatrick authored
      
      * Initial attempt for metrics
      
      * Breakout Support
      
      * PR Cleanup
      
      * Changing how ChartSettingsPopover renders widgets
      
      * Fixing ChartSettingsPopover selected section handling
      
      * Maz Feedback
      
      * adding readonly prop to ChartSettingsWidgets
      
      * RE-adding Multiseries editing component for dashboard Viz Settings
      
      * removing readonly nonsense I added
      
      * Removing series settings for waterfall charts
      
      * Some PR Feedback
      
      * PR Cleanup
      
      * PR Feedback
      
      * more PR feedback
      
      * Fixing getColumnKey import
      
      * use rawSeries instead of series
      
      * Adjusting tests
      
      * Adjusting test
      
      Co-authored-by: default avatarAleksandr Lesnenko <alxnddr@gmail.com>
  27. Oct 26, 2022
    • Aleksandr Lesnenko's avatar
      Revamped row chart (#25408) · 73f2eb44
      Aleksandr Lesnenko authored
      * dynamic row chart
      
      * fix bugs
      
      * test
      
      * fix ticks and labels were cut
      
      * bugfixes around ticks, data labels in certain chart states
      
      * fix bugs, polish
      
      * review
      
      * adapt settings
      
      * review, fix bugs
      
      * review
      
      * polish, specs
      
      * review
      
      * review
      
      * fix initial card size
      
      * fix crashing when settings code passes undefined as a metric dimension
      
      * specs
      73f2eb44
Loading