* update meta properties + default properties map * update widget registery * update get meta property * update metahoc + widgetfactory + data tree evaluator * try sending function as string to worker * revert data tree evaluator update * pass default props map from dataTreeWidget file * wip * save child meta properties * remove console.log * save meta and default map in list * update listwidget * remove console.log + unused variables * revert getMetaPropertiesMap function * fix data tree test * fix list widget test * fix entity definition test * fix overriting of item in updatedItems * remove todo comments * fix meta prop issue * revert making meta properties from undefiend to "" & fix filepicker bug * fix test case * change items to listData and updatedItems to items * remove console.log * fix test * extract derived properties to dervied.js * disabled top, left, right resize handler list widget container * add test for dervied js * add test for selectedItem * fix background color bug on hover * remove console.log * fix chart widget inside list widget * fix checkbox issue + points raised by yogesh * revert the createImmerReducer usage * fix parse derived properties * remove internal props object that fails the test * fix import typo * allow bottom resize handler * fix template height check * fix template height check * update template size check * fix the is visible invalid prop issue * fix migration of list widget phase 2 * fix migration * remove unused import * fix migration * fix migration * remove console.log * hide delete option for container in entity explorer * fix testcases * remove unused import * fix switch widget meta prop Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain> Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
388 lines
10 KiB
TypeScript
388 lines
10 KiB
TypeScript
import { get } from "lodash";
|
|
import {
|
|
handleIfParentIsListWidgetWhilePasting,
|
|
handleSpecificCasesWhilePasting,
|
|
doesTriggerPathsContainPropertyPath,
|
|
} from "./WidgetOperationUtils";
|
|
|
|
describe("WidgetOperationSaga", () => {
|
|
it("should returns widgets after executing handleIfParentIsListWidgetWhilePasting", async () => {
|
|
expect(
|
|
doesTriggerPathsContainPropertyPath(false, "trigger-path-1", [
|
|
"trigger-path-1",
|
|
]),
|
|
).toBe(true);
|
|
|
|
expect(
|
|
doesTriggerPathsContainPropertyPath(false, "trigger-path-1", [
|
|
"trigger-path-2",
|
|
]),
|
|
).toBe(false);
|
|
|
|
expect(
|
|
doesTriggerPathsContainPropertyPath(true, "trigger-path-1", [
|
|
"trigger-path-2",
|
|
]),
|
|
).toBe(true);
|
|
});
|
|
|
|
it("should returns widgets after executing handleIfParentIsListWidgetWhilePasting", async () => {
|
|
const result = handleIfParentIsListWidgetWhilePasting(
|
|
{
|
|
widgetId: "text1",
|
|
type: "TEXT_WIDGET",
|
|
widgetName: "Text1",
|
|
parentId: "list1",
|
|
renderMode: "CANVAS",
|
|
parentColumnSpace: 2,
|
|
parentRowSpace: 3,
|
|
leftColumn: 2,
|
|
rightColumn: 3,
|
|
topRow: 1,
|
|
bottomRow: 3,
|
|
isLoading: false,
|
|
listData: [],
|
|
text: "{{currentItem.text}}",
|
|
version: 16,
|
|
disablePropertyPane: false,
|
|
},
|
|
{
|
|
list1: {
|
|
widgetId: "list1",
|
|
type: "LIST_WIDGET",
|
|
widgetName: "List1",
|
|
parentId: "0",
|
|
renderMode: "CANVAS",
|
|
parentColumnSpace: 2,
|
|
parentRowSpace: 3,
|
|
leftColumn: 2,
|
|
rightColumn: 3,
|
|
topRow: 1,
|
|
bottomRow: 3,
|
|
isLoading: false,
|
|
listData: [],
|
|
version: 16,
|
|
disablePropertyPane: false,
|
|
template: {},
|
|
},
|
|
0: {
|
|
image: "",
|
|
defaultImage: "",
|
|
widgetId: "0",
|
|
type: "CANVAS_WIDGET",
|
|
widgetName: "MainContainer",
|
|
renderMode: "CANVAS",
|
|
parentColumnSpace: 2,
|
|
parentRowSpace: 3,
|
|
leftColumn: 2,
|
|
rightColumn: 3,
|
|
topRow: 1,
|
|
bottomRow: 3,
|
|
isLoading: false,
|
|
listData: [],
|
|
version: 16,
|
|
disablePropertyPane: false,
|
|
template: {},
|
|
},
|
|
},
|
|
);
|
|
|
|
expect(result.list1.template["Text1"].text).toStrictEqual(
|
|
"{{List1.listData.map((currentItem) => currentItem.text)}}",
|
|
);
|
|
expect(get(result, "list1.dynamicBindingPathList.0.key")).toStrictEqual(
|
|
"template.Text1.text",
|
|
);
|
|
});
|
|
|
|
it("should returns widgets after executing handleSpecificCasesWhilePasting", async () => {
|
|
const result = handleSpecificCasesWhilePasting(
|
|
{
|
|
widgetId: "text2",
|
|
type: "TEXT_WIDGET",
|
|
widgetName: "Text2",
|
|
parentId: "list2",
|
|
renderMode: "CANVAS",
|
|
parentColumnSpace: 2,
|
|
parentRowSpace: 3,
|
|
leftColumn: 2,
|
|
rightColumn: 3,
|
|
topRow: 1,
|
|
bottomRow: 3,
|
|
isLoading: false,
|
|
listData: [],
|
|
text: "{{currentItem.text}}",
|
|
version: 16,
|
|
disablePropertyPane: false,
|
|
},
|
|
{
|
|
list1: {
|
|
widgetId: "list1",
|
|
type: "LIST_WIDGET",
|
|
widgetName: "List1",
|
|
parentId: "0",
|
|
renderMode: "CANVAS",
|
|
parentColumnSpace: 2,
|
|
parentRowSpace: 3,
|
|
leftColumn: 2,
|
|
rightColumn: 3,
|
|
topRow: 1,
|
|
bottomRow: 3,
|
|
isLoading: false,
|
|
listData: [],
|
|
version: 16,
|
|
disablePropertyPane: false,
|
|
template: {},
|
|
},
|
|
0: {
|
|
image: "",
|
|
defaultImage: "",
|
|
widgetId: "0",
|
|
type: "CANVAS_WIDGET",
|
|
widgetName: "MainContainer",
|
|
renderMode: "CANVAS",
|
|
parentColumnSpace: 2,
|
|
parentRowSpace: 3,
|
|
leftColumn: 2,
|
|
rightColumn: 3,
|
|
topRow: 1,
|
|
bottomRow: 3,
|
|
isLoading: false,
|
|
listData: [],
|
|
version: 16,
|
|
disablePropertyPane: false,
|
|
template: {},
|
|
},
|
|
list2: {
|
|
widgetId: "list2",
|
|
type: "LIST_WIDGET",
|
|
widgetName: "List2",
|
|
parentId: "0",
|
|
renderMode: "CANVAS",
|
|
parentColumnSpace: 2,
|
|
parentRowSpace: 3,
|
|
leftColumn: 2,
|
|
rightColumn: 3,
|
|
topRow: 1,
|
|
bottomRow: 3,
|
|
isLoading: false,
|
|
listData: [],
|
|
version: 16,
|
|
disablePropertyPane: false,
|
|
template: {},
|
|
},
|
|
},
|
|
{
|
|
List1: "List2",
|
|
},
|
|
[
|
|
{
|
|
widgetId: "list2",
|
|
type: "LIST_WIDGET",
|
|
widgetName: "List2",
|
|
parentId: "0",
|
|
renderMode: "CANVAS",
|
|
parentColumnSpace: 2,
|
|
parentRowSpace: 3,
|
|
leftColumn: 2,
|
|
rightColumn: 3,
|
|
topRow: 1,
|
|
bottomRow: 3,
|
|
isLoading: false,
|
|
listData: [],
|
|
version: 16,
|
|
disablePropertyPane: false,
|
|
template: {},
|
|
},
|
|
],
|
|
);
|
|
|
|
expect(result.list2.template["Text2"].text).toStrictEqual(
|
|
"{{List2.listData.map((currentItem) => currentItem.text)}}",
|
|
);
|
|
expect(get(result, "list2.dynamicBindingPathList.0.key")).toStrictEqual(
|
|
"template.Text2.text",
|
|
);
|
|
});
|
|
|
|
it("should returns correct close model reference name after executing handleSpecificCasesWhilePasting", async () => {
|
|
const result = handleSpecificCasesWhilePasting(
|
|
{
|
|
widgetName: "Modal1Copy",
|
|
rightColumn: 24,
|
|
detachFromLayout: true,
|
|
widgetId: "k441huwm77",
|
|
topRow: 34,
|
|
bottomRow: 58,
|
|
parentRowSpace: 10,
|
|
canOutsideClickClose: true,
|
|
type: "MODAL_WIDGET",
|
|
canEscapeKeyClose: true,
|
|
version: 1,
|
|
parentId: "0",
|
|
shouldScrollContents: true,
|
|
isLoading: false,
|
|
parentColumnSpace: 17.21875,
|
|
size: "MODAL_SMALL",
|
|
leftColumn: 0,
|
|
children: ["ihxw5r23hd"],
|
|
renderMode: "CANVAS",
|
|
},
|
|
{
|
|
k441huwm77: {
|
|
widgetName: "Modal1Copy",
|
|
rightColumn: 24,
|
|
detachFromLayout: true,
|
|
widgetId: "k441huwm77",
|
|
topRow: 34,
|
|
bottomRow: 58,
|
|
parentRowSpace: 10,
|
|
canOutsideClickClose: true,
|
|
type: "MODAL_WIDGET",
|
|
canEscapeKeyClose: true,
|
|
version: 1,
|
|
parentId: "0",
|
|
shouldScrollContents: true,
|
|
isLoading: false,
|
|
parentColumnSpace: 17.21875,
|
|
size: "MODAL_SMALL",
|
|
leftColumn: 0,
|
|
children: ["ihxw5r23hd"],
|
|
renderMode: "CANVAS",
|
|
},
|
|
suhkuyfpk3: {
|
|
widgetName: "Icon1Copy",
|
|
rightColumn: 64,
|
|
onClick: "{{closeModal('Modal1')}}",
|
|
color: "#040627",
|
|
iconName: "cross",
|
|
widgetId: "suhkuyfpk3",
|
|
topRow: 1,
|
|
bottomRow: 5,
|
|
isVisible: true,
|
|
type: "ICON_WIDGET",
|
|
version: 1,
|
|
parentId: "ihxw5r23hd",
|
|
isLoading: false,
|
|
leftColumn: 56,
|
|
iconSize: 24,
|
|
renderMode: "CANVAS",
|
|
parentColumnSpace: 2,
|
|
parentRowSpace: 3,
|
|
},
|
|
twnxjwy3r1: {
|
|
widgetName: "Button1Copy",
|
|
rightColumn: 48,
|
|
onClick: "{{closeModal('Modal1')}}",
|
|
isDefaultClickDisabled: true,
|
|
widgetId: "twnxjwy3r1",
|
|
buttonStyle: "SECONDARY_BUTTON",
|
|
topRow: 16,
|
|
bottomRow: 20,
|
|
isVisible: true,
|
|
type: "BUTTON_WIDGET",
|
|
version: 1,
|
|
parentId: "ihxw5r23hd",
|
|
isLoading: false,
|
|
dynamicTriggerPathList: [
|
|
{
|
|
key: "onClick",
|
|
},
|
|
],
|
|
leftColumn: 36,
|
|
dynamicBindingPathList: [],
|
|
text: "Cancel",
|
|
isDisabled: false,
|
|
renderMode: "CANVAS",
|
|
parentColumnSpace: 2,
|
|
parentRowSpace: 3,
|
|
},
|
|
},
|
|
{
|
|
Modal1: "Modal1Copy",
|
|
Canvas1: "Canvas1Copy",
|
|
Icon1: "Icon1Copy",
|
|
Text1: "Text1Copy",
|
|
Button1: "Button1Copy",
|
|
Button2: "Button2Copy",
|
|
},
|
|
[
|
|
{
|
|
widgetName: "Modal1Copy",
|
|
rightColumn: 24,
|
|
detachFromLayout: true,
|
|
widgetId: "k441huwm77",
|
|
topRow: 34,
|
|
bottomRow: 58,
|
|
parentRowSpace: 10,
|
|
canOutsideClickClose: true,
|
|
type: "MODAL_WIDGET",
|
|
canEscapeKeyClose: true,
|
|
version: 1,
|
|
parentId: "0",
|
|
shouldScrollContents: true,
|
|
isLoading: false,
|
|
parentColumnSpace: 17.21875,
|
|
size: "MODAL_SMALL",
|
|
leftColumn: 0,
|
|
children: ["ihxw5r23hd"],
|
|
renderMode: "CANVAS",
|
|
},
|
|
{
|
|
widgetName: "Icon1Copy",
|
|
rightColumn: 64,
|
|
onClick: "{{closeModal('Modal1')}}",
|
|
color: "#040627",
|
|
iconName: "cross",
|
|
widgetId: "suhkuyfpk3",
|
|
topRow: 1,
|
|
bottomRow: 5,
|
|
isVisible: true,
|
|
type: "ICON_WIDGET",
|
|
version: 1,
|
|
parentId: "ihxw5r23hd",
|
|
isLoading: false,
|
|
leftColumn: 56,
|
|
iconSize: 24,
|
|
renderMode: "CANVAS",
|
|
parentColumnSpace: 2,
|
|
parentRowSpace: 3,
|
|
},
|
|
{
|
|
widgetName: "Button1Copy",
|
|
rightColumn: 48,
|
|
onClick: "{{closeModal('Modal1')}}",
|
|
isDefaultClickDisabled: true,
|
|
widgetId: "twnxjwy3r1",
|
|
buttonStyle: "SECONDARY_BUTTON",
|
|
topRow: 16,
|
|
bottomRow: 20,
|
|
isVisible: true,
|
|
type: "BUTTON_WIDGET",
|
|
version: 1,
|
|
parentId: "ihxw5r23hd",
|
|
isLoading: false,
|
|
dynamicTriggerPathList: [
|
|
{
|
|
key: "onClick",
|
|
},
|
|
],
|
|
leftColumn: 36,
|
|
dynamicBindingPathList: [],
|
|
text: "Cancel",
|
|
isDisabled: false,
|
|
renderMode: "CANVAS",
|
|
parentColumnSpace: 2,
|
|
parentRowSpace: 3,
|
|
},
|
|
],
|
|
);
|
|
expect(result["suhkuyfpk3"].onClick).toStrictEqual(
|
|
"{{closeModal('Modal1Copy')}}",
|
|
);
|
|
expect(result["twnxjwy3r1"].onClick).toStrictEqual(
|
|
"{{closeModal('Modal1Copy')}}",
|
|
);
|
|
});
|
|
});
|