ToolJet/server/migrations/1705162272372-numberInputMinMaxValidation.ts
Midhun Kumar E d36cc44920
test: Add automation for text-input revamp. (#8671)
* init textinput revamp

* updated styles panel

* bugfix

* updates

* fix :: accordion

* fix :: styling

* add box shadow , additional property,tooltip

* fix conditional render for styles

* feat :: fixed order of each property and styles

* feat :: styling input

* bugfix

* feat :: add option to add icon

* add option to add icon

* adding option to toggle visibility

* updated password input with new design

* chnaging component location

* bugfix

* style fixes

* fix :: added loader

* updated :: few detailing

* few bugfixes

* fix :: for form widget label

* fixes

* added option to add icon color

* including label field for password input

* fix for label

* fix

* test fix backward compatibility for height

* updates

* revert

* adding key for distinguishing older and newer widgets

* testing

* test

* test

* update

* update

* migration testing

* limit vertical resizing in textinput

* testing

* throw test

* test

* adding check for label length

* fixing edge cases

* removing resize

* backward compatibility height

* backward compatibility

* number input review fixes

* added exposed items

* fixing csa

* ui fixes

* fix height compatibility

* feat :: csa for all inputs and exposed variables

* backward compatibility fixes and validation fixes

* fixes :: textinput positioning of loader and icon

* fix :: password input

* cleanup and fixes

* fixes

* cleanup

* fixes

* review fixes

* review fixes

* typo fix

* fix padding

* review fixes styles component panel

* fix naming

* fix padding

* fix :: icons position

* updates

* cleanup

* updates events , csa

* backward compatibility

* clean

* feat :: change validation from properties

* ui fixes

* icon name

* removed 'px' text from tooltip

* fixes placeholder

* few updates :: removing label in form

* ui in form

* update :: number input validation behaviour

* testing fixes

* added side handlers

* removing unwanted fx

* disabling fx for padding field

* ordering change

* fix

* label issue + restricted side handler

* fix :: box shadow bug

* on change event doesnt propagate exposed vars correctly

* adding debounce for slider value change

* fix :: for modal ooen bug during onfocus event

* test slider

* Add common utils

* Modify helpers

* Add text input spec

* Add utils for field validation

* Minor spec updates

* Fix for password  basic automation cases

---------

Co-authored-by: stepinfwd <stepinfwd@gmail.com>
2024-02-06 10:27:31 +05:30

41 lines
1.7 KiB
TypeScript

import { Component } from 'src/entities/component.entity';
import { In, MigrationInterface, QueryRunner } from 'typeorm';
export class NumberInputMinMaxValidation1705162272372 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
// Array of component types to be enhanced
const componentTypes = ['NumberInput'];
// Obtaining the TypeORM EntityManager from the QueryRunner
const entityManager = queryRunner.manager;
// Retrieving components of specified types from the database
const components = await entityManager.find(Component, {
where: { type: In(componentTypes) }, // Filtering by component types
order: { createdAt: 'ASC' }, // Ordering components by creation date in ascending order
});
// Iterating through each retrieved component
for (const component of components) {
// Extracting properties and validation from the component
const properties = component.properties;
const validation = component.validation;
// Moving 'minValue' from properties to validation
if (properties.minValue) {
validation.minValue = properties.minValue;
delete properties.minValue; // Removing 'minValue' from properties
}
// Moving 'minValue' from properties to validation
if (properties.maxValue) {
validation.maxValue = properties.maxValue;
delete properties.maxValue; // Removing 'minValue' from properties
}
// Updating the component in the database with the modified properties and validation
await entityManager.update(Component, component.id, { properties, validation });
}
}
public async down(queryRunner: QueryRunner): Promise<void> {}
}