Skip to content

Latest commit

 

History

History
292 lines (184 loc) · 12.3 KB

CHANGELOG.md

File metadata and controls

292 lines (184 loc) · 12.3 KB

v0.18.0

  • BC Break: Rename Date filter to DateRange. A text filter can be used for precise dates.
  • Fix an issue with top right header where icons and tooltips were not using the proper API and props.
  • Fix the fuzzy behavior of the DateRange filter, making it more explicit.
  • Fixed/changed the getSubmittedFormData() function's behavior: it now supports cases when you have the same name several times in Form data (via <input name="..."> for instance), so that the processed data is properly converted to an array.
    Check the src/lib/Crud/Form.test.ts file for more details about how it works.
  • Create script to create new theme based on Carbon (for future theming, again).

v0.17.0

  • BC Break: Themes are now separate from the lib, and the default Carbon theme was moved to a themes/svelte/carbon subdirectory for now. The goal is to be able to use other kind of themes in the future.
  • Add support for batch actions in CrudList
  • Add Email field.
  • Add a setup to unit-test single components, especially fields, and test a lot of them.
  • Fix a date parsing bug in DateField.svelte by using the luxon lib.
  • Fix wrongly configured depth display in KeyValueObjectField.svelte.
  • Fix NumberField.svelte's inconsistent handling of numbers & enhance visual.
  • Replace local packager to pnpm.

v0.16.3

  • Fix an issue where StateProcessor's promise is not properly resolved

v0.16.2

  • Add support for disabled fields.

v0.16.1

  • Implement the base features of a new ArrayField.
  • Fix an issue with null values in KeyValueObject.svelte view template.
  • Create small internal CLI package to make it easier to create new fields.
  • Convert error throw with error log when setting Crud or Dashboard twice in an Operation or Crud object. This was really annoying when using HMR in development, because the server had to be restarted for any update in the Typescript code of the Dashboard object, or any Crud object, or even the internal memory implementations, both when developing SvelteAdmin, but also when it was used as a library, where it was really inconvenient and confusing.
  • (internal) Refactor internal providers to use a common memory-based storage.

v0.16.0

  • BC Break: Rename Crud operation Field into SingleField to avoid mistyping with the Field class in the eponym directory.
  • BC Break: Remove some internal types to avoid circular dependencies with generic types (like Optional and KeyValueObject).
  • The project is now fully built with Typescript instead of using JS files as "intermediate".
  • Reorganized index files to have more "automatic" imports. This avoid forgetting to import some types that were newly imported. Not perfect because it needs manual import of certain files, but works nonetheless.
  • Remove "sideMenu" store and put it in Carbon's components. It wasn't exported to the end-user anyway, but was still available through other kind of imports. For now, it's useless for the end-user, and needs not be exported, so it was removed.

v0.15.0

  • docs path was changed for apidocs
  • BC Break all internal code structure has been changed.
    This will not concern paths like import {...} from '@orbitale/svelte-admin';, as all library imports are still the same. However, you will have to update the loading of all the Typescript types from other files/directories.
    The main reason for this change is to make sure the lib is better organized, but also the API docs are more readable just because of the code's structure.

v0.14.1

  • Fix DataTable types so they don't rely on Carbon types.
  • Allow Submenu links/actions to have options.
  • Allow Action options to use arbitrary key/value pairs.
  • Revamp TopRightMenu to avoid having one single submenu, and to allow multiple submenus.
    (Note: this can be considered as BC break, but technically it's just a UI fix because it was previously impossible to have "normal" links, so it was decided to not flag it as BC break)

v0.14.0

  • BC Break: Dashboard attributes sideMenu, topRightMenu and topLeftMenu are now deprecated. They are moved to the stores.* property.
  • Add Dashboard.stores property, to allow dynamic configuration of the dashboard, especially when updating menus after the dashboard is loaded.
  • Add htmlAttributes option to Action url/button types.

v0.13.0

  • Add support for external entities

v0.12.0

  • BC Break: CrudDefinition's name is no longer an argument, and set in the options instead.
  • Allow accessing Dashboard from CrudDefinition instances.
  • Allow accessing Dashboard and CrudDefinition from CrudOperation instances.
  • Remove internal stores and functions to fetch current theme, and use new dashboard accessors instead.
  • Add new KeyValueObjectFied and its templates.

v0.11.1

  • Fix formFormat option in Date field

v0.11.0

  • Add Date field
  • Add "button kind" option to all Action objects, to customize button style
  • Add popup message system based on @zerodevx/svelte-toast
  • Normalize "test" crud fields
  • Fix Columns and Tabs incorrect options types
  • Fix text fields templates names
  • Update "books" and "tests" cruds with latest updates

v0.10.1

  • Fix expandable DataTable that was only here for testing

v0.10.0

  • Add sortable fields for the List operation 🎉

v0.9.0

  • BC Break: Definition options types have been renamed and merged in the $lib/Fields/index.ts file.
  • Add DateFilter as a range of dates.
  • Add BooleanFilter with radio inputs.
  • Remove empty values from submitted filters.
  • Make Dashboard no longer generic.
  • Rename Field & Filter interfaces and merge definitions in one file. This was inconsistent.
  • (Carbon theme) Create a FilterContainer component to uniformize filters rendering.

v0.8.1

  • Fix columns and tabs rendering in List (not super UX-friendly at first, but use cases could definitely be found for that)
  • Standardize more fields to properly use dashboard's configured theme
  • Update theme injection in view & form fields

v0.8.0

  • BC Break: importing a theme is now done via the themes variable which is exported by default in the main package.
  • Fixed some building issues caused by the test setup
  • Add a new "test" crud to showcase more fields
  • Create or improve templates for Url, Number, Checkbox and Toggle fields
  • Added openInNewTab option to UrlField, for "view" type usage (aka "list" and "view" operations)

v0.7.0

  • BC Break: StateProcessor.process() now returns an empty Promise, even though it contains nothing. It is to be in sync with the StateProvider class, and to make sure one can await the .process() method to execute actions after it finished.
  • Instead of using SvelteKit's goto() to redirect in New and Edit actions, changed its usage to window.location.href = '...';. It's only client-compatible, but these calls were only made in client context, so it should be fine. The main reason for this was to avoid having to depend on SvelteKit when building the package.
  • Add base setup for Filters. 🎉 Now need more filter types!

v0.6.6

  • Update dependencies internally, especially update to Vitest 1.0
  • Make sure CrudList requires a List operation object.
  • Allow forcing List state provider to wait a minimum amount of time to avoid stressful blinking. Useful for UX and accessibility.

v0.6.5

  • Fix wrong variable assignation

v0.6.4

  • Fix UX issue with pagination where whole DataTable disappeared

v0.6.3

  • Fix wrong pagination default config

v0.6.2

  • Fix remaining extension imports in CrudList

v0.6.1

  • Fix missing export of PaginatedResults class.

v0.6.0

  • BC Break (though was unused): Disable Crud events for now, they have no real usage, and they imply mandatory callback. The configuration, apart Callback providers and processors, is supposed to be as much static as possible, to be able to configure it from outside just with JSON.
  • Implemented pagination. To use it, configure the itemsPerPage in your action's Operation (like List for instance), and make sure your StateProvider for the same Operation returns an instance of the PaginatedResults object.
  • Add adminConfig.rootUrl and configure redirection when submitting new or edit forms.
  • Rename Dashboard web-component name to avoid duplication with other themes (still not sure whether the package will be built as web-components, but maybe, who knows)
  • Remove useless custom theme call in test app, this helps in making sure the Dashboard-configured theme is the main one.

v0.5.0

Changes:

  • BC Break: Reorganize theme config, for consistency.
    Before, some theme components were mixed in crud, view and form fields.
    Now there are components specific to crudActions, viewFields and formFields that can be dynamic.
    If end users want to, they can add new keys to these specific theme components, so their custom-created theme views can be used by their custom Definition objects.
  • BC Break (internal): Revamp tabs and optimize their behavior for a simpler and more flexible approach (and even nestable, though I don't see use-cases for that).
  • Create identifierFieldName CrudDefinition option, to allow using another field than id as an entity identifier.
    Having an id property is mandatory for Carbon's DataTable component, but might become useful for standardization of identifier usage later in filters.
  • Add Columns field type (new name, replaces "sections" concept). Nestable and sizeable. The size property in columns will have a behavior only related to the used theme. For example, Carbon has a 16-units grid, and Bootstrap's one is 12.
    The user value will not be converted into any other grid size.

v0.4.6

Changes:

  • Fix null coalescing property call in Icon.svelte

v0.4.4

Changes:

  • Move Icon component outside themes, since it's generic, and export it to the public

v0.4.3

Changes:

  • Make sure icons can still be used when icon type is empty.

v0.4.2

Changes:

  • Fix CrudOperation that's no longer generic
  • Attempt at fixing paths for themes module loading

v0.4.1

Changes:

  • Standardize more theme usage, to give form/view fields a name instead of the direct component
  • Update all crud actions with new theme system, using a store

Internal work:

  • Move internal test app persistence to a specific file
  • Generate fake books with Faker for test app
  • Start working on a Section field (upcoming)

v0.4.0

Changes:

  • BC Break: Create a separate theme config system. Themes must now be added to the DashboardDefinition config via the adminConfig option.
    The current theme's path is @orbitale/svelte-admin/themes/carbon.
  • Remove some warnings in test app
  • Slight readme wording updates
  • First addition of CI script
  • Add browser-save support for whole test app. This means books are stored in your localStorage!

v0.3.6

Changes:

  • Add "autoCloseSideMenu" to AdminConfig to allow customizing left-side menu

v0.3.5

Changes:

  • Fixed wrong empty label display in menus

v0.3.4

Changes:

  • Added AdminConfig.defaultLocale property, to avoid having to set the locale manually outside the dashboard.

v0.3.3

Changes:

  • Added missing exports in package.json

v0.3.2

Changes:

  • Turns out previous version was incorrectly built when pushed to npm registry, so rebuilt it.

v0.3.1

Changes:

  • Remove all extensions from file imports

v0.3.0

Changes:

  • BC Break: lib was previously in the admin/ subdirectory. This part has been removed, library is now accessible from its root path.
  • BC Break: all Svelte templates have been moved to the themes/carbon/ directory: this will further help with themes integration.
  • BC Break: Svelte templates are no longer available from library's root, only via the themes/ directory.
  • Add a changelog
  • Try to uniformize file imports
  • Remove code from older repository
  • Fix some linting errors

v0.2.3

Changes:

  • Add initLocale function helper to lib exports, this allows users to call the function themselves before the library does

v0.2.2

Changes:

  • Fix demo crud state provider and processor
  • Transform peer deps into normal deps, and update installation readme
  • Update documentation to add more details about state providers and processors

v0.2.1

Changes:

  • Fix file imports to use only js, because svelte-package doesn't change it

v0.2.0

New version, complete revamp of previous version.

v0.1.0

Prototype, stored in a previous v0 branch.