* fix style bugs * fix select styles * test: fix font size issue for cypress tests * incorporate ashit feedback * test: addresed review comments for cypress tests * add analytics events * height issue in view mode * incorporate code review feedbacks * incorporate code review feedbacks * refactor: addressed review comments; removed border radius and box shadow for text widget; Updated migrations * feat: Makes shadow and radius controls keyboard accessible (#11547) * makes shadow and radius controls keyboard accessible * removes unused imports * moves options out of render method * fix: changed the misnomer background property name to the relevant property name * fix: border radius issue for the map widget * address qa bugs * address qa bugs * fix ux of theming pane when widget is selected * fix: * added backgroundColor to the video widget * restricted pop-over border radius to 0.375rem * added box shadow for the input group for select widget * fix: added delete icon in the delete theme modal * address qa bugs * change checkbox column size in config * add js convertible to button color * remove unused imports * test: fixed jest tests * fix primary color typo * fix: migrations for the theming * fix: * Removed background color from MultiTreeSelect and TreeSelect component. * grouped button's menu button pop over border radius restricting to 0.375rem. * test: updated Dsl migration UT * address qa bugs * address qa bugs * fix: address qa comments * address qa bugs * fix: * migration issue; * unit test cases; * fix rating widget scroll issue * fix youtube video border radius bug * fix select widget * fix select widgets styles * address qa bugs * merge conflicts * makes the reset button keyboard accessible (#12134) * -resolved merge conflicts * address qa bugs * fix: labelTextSize migration fixes * refactor: * made changes to the fontSizeUtils function * fixed the issue related to unit tests * fix button group widget * remove unused imports * fix: fixed the text size migration for the table widget * refactor: addressed review comments for the table widget theming migration * fix button group widget * add init calls for view mode * json form init theme changes * fix: added migration for boxShadow, borderRadius and textSizes for table widget * fix broken fields * test: fixed unit tests * wip * inconsistancy fixes and schemaItem update in updateHook/fieldConfiguration * feat: init json form migration theming * json form primaryColor -> accentColor * update table widget * update table widget * object field label styling * fix: migration related to the JSON form * fix: fixed labelTextSize migration for JSON form nested widgets * property control nested stylesheet lookup * JSONForm label styles form array items * show label for checkbox field array item * fix button group widget * wip * refactor: addressed table widget review comments * refactor: addressed ashit review comments; * added childStylesheet for widgets * feat: Keyboard navigable Color Picker control (#11797) * Makes ColorPicker keyboard accessible * seperate out keyboard and mouse interactions * fix issue with not focusing back to input * Adds test for Color picker * chore: added comment for the boxShadow property * fix: * added unit test cases for the widget and property utils * resolved warning messages * wip * theme config update * fix merge conflicts * refactor: moved theming migration inside the migrations folder * fix qa bugs * fix jest test * fix: unit test cases * fix table column creation logic * refactor: addressed review comments for migrations * fix: Overriding margin and padding for custom render in the dropdown component (#12875) * * fix for custom render padding and margin in ADS dropdown * * fix for removing padding from normal render options * refactor: moved the boxShadow condition to the variable * fix qa bugs * fix: migration QA callouts for audio recorder widget * refactor: added updated comments for boxShadow migration for table widget * fix theme binfings for JSONForm fields under Object * fix table widget theming bug * fix: addressed code review comments * fix: unit test cases * fix: qa migration callouts * fix table widget theming bug * fix JSONForm currency input dropdown not submit form * Added new tests - AppThemingSpec * fix qa bugs * fix unit test * fix JSONForm cellBorderWidth to have default value post migration * fix unit test * fix qa bugs * remove unused imports * fix qa bugs * fix JSONForm input height issue * fix qa bugs * Updating Theming spec * * dropdown color fixes (#13249) * fix caching issue ; * Fixed Theming tests * fix tests * fix tab widget tests * fix: json form children level migration issue * fix table widget tests * Updated test * updated tests * updated test * updated tests * updated tests * updated pageload * fix cypress tests * remove cypress created files * fix color picker issues * Failure fixes * Fixed some more tests * fix: cypress test failures * fix tests * remove consoles * fix table tests * fix qa bugs * updating snapshots for AppPageLayout_spec as per new UI * fix rating widget bug * fix qa bugs * fix: * cypress failing tests * Migration QA callouts * Removed unused imports * update constract check algo * fix color contrast issue * fix: cypress failure test cases * update font sizes labels * fix regression bugs * fix: * JSON form labelTextSize issue fix * Updated comment for the fontSizeUtility function * migrations issues related to table widget borderRadius and boxShadow * fix: default labelTextSize issue for the Input and Select families * fix regression bugs * fix regression bugs * PassingParams spec - added wait time * fix: font family default value issue on JS toggle * fix js toggle issue in text widget * fix tests * fix tests * fix tests * fix cypress tests * fix regression bugs * fix regression bugs * fix: * refactored table widget migration function as per review comments, * added default value to the widget * fix: failing unit test cases * fix theming spec * fix cypress tests * test: fixed failed cypress test * incorporate ashit feedback * fix cypress tests * fix: addressed review comments * comment out table cypress test * fix merge conflicts * comment out color picker tests Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local> Co-authored-by: keyurparalkar <keyur@appsmith.com> Co-authored-by: Aswath K <aswath@appsmith.com> Co-authored-by: Nayan <nayan@appsmith.com> Co-authored-by: Ashit Rath <ashit@appsmith.com> Co-authored-by: balajisoundar <balaji@appsmith.com> Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com> Co-authored-by: Aishwarya UR <aishwarya@appsmith.com> Co-authored-by: apple <nandan@thinkify.io> Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
280 lines
8.0 KiB
TypeScript
280 lines
8.0 KiB
TypeScript
import {
|
|
defaultSelectedRowValidation,
|
|
updateIconNameHook,
|
|
} from "./propertyUtils";
|
|
import _ from "lodash";
|
|
|
|
const tableWProps = {
|
|
multiRowSelection: false,
|
|
widgetName: "Table1",
|
|
defaultPageSize: 0,
|
|
columnOrder: ["step", "task", "status", "action"],
|
|
isVisibleDownload: true,
|
|
dynamicPropertyPathList: [],
|
|
displayName: "Table",
|
|
iconSVG: "/static/media/icon.db8a9cbd.svg",
|
|
topRow: 54,
|
|
bottomRow: 82,
|
|
isSortable: true,
|
|
parentRowSpace: 10,
|
|
type: "TABLE_WIDGET",
|
|
defaultSelectedRow: "0",
|
|
hideCard: false,
|
|
parentColumnSpace: 25.6875,
|
|
dynamicTriggerPathList: [],
|
|
dynamicBindingPathList: [
|
|
{
|
|
key: "primaryColumns.step.computedValue",
|
|
},
|
|
{
|
|
key: "primaryColumns.task.computedValue",
|
|
},
|
|
{
|
|
key: "primaryColumns.status.computedValue",
|
|
},
|
|
{
|
|
key: "primaryColumns.action.computedValue",
|
|
},
|
|
],
|
|
leftColumn: 25,
|
|
primaryColumns: {
|
|
step: {
|
|
index: 0,
|
|
width: 150,
|
|
id: "step",
|
|
horizontalAlignment: "LEFT",
|
|
verticalAlignment: "CENTER",
|
|
columnType: "text",
|
|
textSize: "PARAGRAPH",
|
|
enableFilter: true,
|
|
enableSort: true,
|
|
isVisible: true,
|
|
isCellVisible: true,
|
|
isDerived: false,
|
|
label: "step",
|
|
computedValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( currentRow.step))}}",
|
|
},
|
|
task: {
|
|
index: 1,
|
|
width: 150,
|
|
id: "task",
|
|
horizontalAlignment: "LEFT",
|
|
verticalAlignment: "CENTER",
|
|
columnType: "text",
|
|
textSize: "PARAGRAPH",
|
|
enableFilter: true,
|
|
enableSort: true,
|
|
isVisible: true,
|
|
isCellVisible: true,
|
|
isDerived: false,
|
|
label: "task",
|
|
computedValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( currentRow.task))}}",
|
|
},
|
|
status: {
|
|
index: 2,
|
|
width: 150,
|
|
id: "status",
|
|
horizontalAlignment: "LEFT",
|
|
verticalAlignment: "CENTER",
|
|
columnType: "text",
|
|
textSize: "PARAGRAPH",
|
|
enableFilter: true,
|
|
enableSort: true,
|
|
isVisible: true,
|
|
isCellVisible: true,
|
|
isDerived: false,
|
|
label: "status",
|
|
computedValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( currentRow.status))}}",
|
|
},
|
|
action: {
|
|
index: 3,
|
|
width: 150,
|
|
id: "action",
|
|
horizontalAlignment: "LEFT",
|
|
verticalAlignment: "CENTER",
|
|
columnType: "button",
|
|
textSize: "PARAGRAPH",
|
|
enableFilter: true,
|
|
enableSort: true,
|
|
isVisible: true,
|
|
isCellVisible: true,
|
|
isDisabled: false,
|
|
isDerived: false,
|
|
label: "action",
|
|
onClick:
|
|
"{{currentRow.step === '#1' ? showAlert('Done', 'success') : currentRow.step === '#2' ? navigateTo('https://docs.appsmith.com/core-concepts/connecting-to-data-sources/querying-a-database',undefined,'NEW_WINDOW') : navigateTo('https://docs.appsmith.com/core-concepts/displaying-data-read/display-data-tables',undefined,'NEW_WINDOW')}}",
|
|
computedValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( currentRow.action))}}",
|
|
},
|
|
},
|
|
delimiter: ",",
|
|
key: "fzi9jh5j7j",
|
|
derivedColumns: {},
|
|
rightColumn: 50,
|
|
textSize: "PARAGRAPH",
|
|
widgetId: "2tk8bgzwaz",
|
|
isVisibleFilters: true,
|
|
tableData: [
|
|
{
|
|
step: "#1",
|
|
task: "Drop a table",
|
|
status: "✅",
|
|
action: "",
|
|
},
|
|
{
|
|
step: "#2",
|
|
task: "Create a query fetch_users with the Mock DB",
|
|
status: "--",
|
|
action: "",
|
|
},
|
|
{
|
|
step: "#3",
|
|
task: "Bind the query using => fetch_users.data",
|
|
status: "--",
|
|
action: "",
|
|
},
|
|
],
|
|
isVisible: true,
|
|
label: "Data",
|
|
searchKey: "",
|
|
version: 3,
|
|
totalRecordsCount: 0,
|
|
parentId: "0",
|
|
renderMode: "CANVAS",
|
|
isLoading: false,
|
|
horizontalAlignment: "LEFT",
|
|
isVisibleSearch: true,
|
|
isVisiblePagination: true,
|
|
verticalAlignment: "CENTER",
|
|
columnSizeMap: {
|
|
task: 245,
|
|
step: 62,
|
|
status: 75,
|
|
},
|
|
childStylesheet: {
|
|
button: {
|
|
buttonColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
menuButton: {
|
|
menuColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
iconButton: {
|
|
menuColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
},
|
|
};
|
|
|
|
describe("unit test case for property utils", () => {
|
|
it("case: check if the defaultSelectedRowValiation returns parsed value as undefined", () => {
|
|
const value = defaultSelectedRowValidation("", tableWProps as any, _);
|
|
|
|
expect(value.isValid).toBeTruthy();
|
|
expect(value.parsed).toEqual(undefined);
|
|
});
|
|
it("case: when columnType is menuButton, iconName should be empty string", () => {
|
|
const propertiesToUpdate = updateIconNameHook(
|
|
tableWProps as any,
|
|
"primaryColumns.action.columnType",
|
|
"menuButton",
|
|
);
|
|
const output = [
|
|
{
|
|
propertyPath: "derivedColumns.action.menuColor",
|
|
propertyValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( appsmith.theme.colors.primaryColor))}}",
|
|
},
|
|
{
|
|
propertyPath: "primaryColumns.action.menuColor",
|
|
propertyValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( appsmith.theme.colors.primaryColor))}}",
|
|
},
|
|
{
|
|
propertyPath: "derivedColumns.action.borderRadius",
|
|
propertyValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( appsmith.theme.borderRadius.appBorderRadius))}}",
|
|
},
|
|
{
|
|
propertyPath: "primaryColumns.action.borderRadius",
|
|
propertyValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( appsmith.theme.borderRadius.appBorderRadius))}}",
|
|
},
|
|
{
|
|
propertyPath: "derivedColumns.action.boxShadow",
|
|
propertyValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( 'none'))}}",
|
|
},
|
|
{
|
|
propertyPath: "primaryColumns.action.boxShadow",
|
|
propertyValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( 'none'))}}",
|
|
},
|
|
{
|
|
propertyPath: "primaryColumns.action.columnType",
|
|
propertyValue: "menuButton",
|
|
},
|
|
{
|
|
propertyPath: "primaryColumns.action.iconName",
|
|
propertyValue: "",
|
|
},
|
|
];
|
|
expect(propertiesToUpdate).toEqual(output);
|
|
});
|
|
it("case: when columnType is iconButton, iconName value should be add", () => {
|
|
const propertiesToUpdate = updateIconNameHook(
|
|
tableWProps as any,
|
|
"primaryColumns.action.columnType",
|
|
"iconButton",
|
|
);
|
|
const output = [
|
|
{
|
|
propertyPath: "derivedColumns.action.menuColor",
|
|
propertyValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( appsmith.theme.colors.primaryColor))}}",
|
|
},
|
|
{
|
|
propertyPath: "primaryColumns.action.menuColor",
|
|
propertyValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( appsmith.theme.colors.primaryColor))}}",
|
|
},
|
|
{
|
|
propertyPath: "derivedColumns.action.borderRadius",
|
|
propertyValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( appsmith.theme.borderRadius.appBorderRadius))}}",
|
|
},
|
|
{
|
|
propertyPath: "primaryColumns.action.borderRadius",
|
|
propertyValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( appsmith.theme.borderRadius.appBorderRadius))}}",
|
|
},
|
|
{
|
|
propertyPath: "derivedColumns.action.boxShadow",
|
|
propertyValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( 'none'))}}",
|
|
},
|
|
{
|
|
propertyPath: "primaryColumns.action.boxShadow",
|
|
propertyValue:
|
|
"{{Table1.sanitizedTableData.map((currentRow) => ( 'none'))}}",
|
|
},
|
|
{
|
|
propertyPath: "primaryColumns.action.columnType",
|
|
propertyValue: "iconButton",
|
|
},
|
|
{
|
|
propertyPath: "primaryColumns.action.iconName",
|
|
propertyValue: "add",
|
|
},
|
|
];
|
|
expect(propertiesToUpdate).toEqual(output);
|
|
});
|
|
});
|