Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved the extendability of the SchemaView and DataGridView. #7876

Merged
merged 28 commits into from
Sep 9, 2024

Commits on Aug 29, 2024

  1. Improved the extendability fo the SchemaView and DataGridView.

    Restructured these modules for ease of mainteance and apply the single
    responsibilty principle (wherever is applicable).
    
    * SchemaView
    
     - Split the code based on the functionality, and responsibility.
     - Introduced a new View 'InlineView' instead of using the
       'nextInline' configuration of the fields to have a better, and
       manageable view.
     - Using the separate class 'SchemaState' for managing the data and
       states of the SchemaView (separated from the 'useSchemaState'
       custom hook).
     - Introduced three new custom hooks 'useFieldValue',
       'useFieldOptions', 'useFieldError' for the individual control to
       use for each Schema Field.
     - Don't pass value as the parameter props, and let the
       'useFieldValue' and other custom hooks to decide, wheather to
       rerender the control itself or the whole dialog/view. (single
       responsibilty principle)
     - Introduced a new data store with subscription facility.
     - Moving the field metadata (option) evaluation to separate place
       for better management, and each option can be defined for a
       particular kind of field (for example - colleciton, row, cell,
       general, etc).
     - Allow to provide custom control for all kind of Schema field.
    
    * DataGridView
    
     - Same as SchemaView, split the DataGridView call in smaller and
       manageable chunks. (For example - grid, row, mappedCell, etc).
     - Use context based approach for providing the row and table data
       instead of passing them as parameter to each and every component
       separately.
     - Have a facility to extend this feature separately in future.
       (for example - selecatable cell, column grouping, etc.)
     - Separated the features like deletable, editable, reorder,
       expandable etc. cells using the above feature support.
     - Added ability to provide the CustomHeader, and CustomRow through the
       Schema field, which will extend the ability to customisation better.
     - Removed the 'DataGridViewWithHeaderForm' as it has been achieved
       through providing 'CustomHeader', and also introduced
       'DataGridFormHeader' (a custom header) to achieve the same feature
       as 'DataGridViewWithHeaderForm'.
    
    Also - Modified the testcases to use separate 'Schema' objects for
    testing the rendering of create, edit, and properties mode as
    BaseUISchema instance share the same SchemaState object.
    asheshv committed Aug 29, 2024
    Configuration menu
    Copy the full SHA
    997fba1 View commit details
    Browse the repository at this point in the history
  2. Provide the name of the view during the registration as production co…

    …de will mangled the name of the component function, which would lead to 'View not found' error.
    asheshv committed Aug 29, 2024
    Configuration menu
    Copy the full SHA
    91c5843 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2024

  1. Configuration menu
    Copy the full SHA
    664e9da View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9588f15 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    044931d View commit details
    Browse the repository at this point in the history
  4. Pass the reset key to 'FormView' from SchemaDialogView, and set the

    reset the tab only, when reset key is changed.
    asheshv committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    ab2e467 View commit details
    Browse the repository at this point in the history
  5. Fixed a typo

    asheshv committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    4c80dd9 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2024

  1. Used 'origData' variable to get the initiail data for validation of

    the data.
    
    I never realised that - we were using 'origData' for schema
    validation to get the initial data, and replaced it with 'sessData'
    variable by mistake. Changing it back to use 'origData' based on the
    feedback from Aditya.
    asheshv committed Sep 2, 2024
    Configuration menu
    Copy the full SHA
    3ff9916 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1ed674f View commit details
    Browse the repository at this point in the history
  3. Fixed the review comments shared by Aditya.

    TODO:: Yet to work on the issues for the partition and table dialog UI.
    asheshv committed Sep 2, 2024
    Configuration menu
    Copy the full SHA
    3fe575b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    740d9c6 View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2024

  1. Introduce the 'useFieldSchema' custom hook to calculate the 'visible'

    option for the field having no 'id'. e.g. a field with type
    'nested-tab', 'nested-fieldset'.
    asheshv committed Sep 3, 2024
    Configuration menu
    Copy the full SHA
    8188504 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2ce7f90 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    971c895 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e905991 View commit details
    Browse the repository at this point in the history
  5. Removed ununsed variable

    asheshv committed Sep 3, 2024
    Configuration menu
    Copy the full SHA
    ee522f6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f840198 View commit details
    Browse the repository at this point in the history
  7. Fixed the linter issue

    asheshv committed Sep 3, 2024
    Configuration menu
    Copy the full SHA
    c909e0a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    490b9e5 View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2024

  1. Configuration menu
    Copy the full SHA
    d5f56c9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b87ca9b View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2024

  1. Use a table level schema for the PgTable to use showing the expanded

    row details. It fixes the dashboard issue, where activity table was
    showing same query for all the rows. [pgadmin-org#7895]
    asheshv committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    21972d8 View commit details
    Browse the repository at this point in the history
  2. Fix the query tool restore connection issue on the server disconnecti…

    …on from the left side object explorer. pgadmin-org#6502
    anilsahoo20 authored and asheshv committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    490bb24 View commit details
    Browse the repository at this point in the history
  3. Update release notes.

    khushboovashi authored and asheshv committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    6ec6cf5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    77a7211 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b06b466 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8d7b9ce View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2024

  1. Configuration menu
    Copy the full SHA
    15d97de View commit details
    Browse the repository at this point in the history