@babylonjs/shared-ui-components 7.34.4 → 7.35.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/colorPicker/colorComponentEntry.js.map +1 -1
- package/colorPicker/colorPicker.js.map +1 -1
- package/colorPicker/hexColor.js.map +1 -1
- package/components/Button.d.ts +0 -1
- package/components/Icon.d.ts +0 -1
- package/components/MessageDialog.js.map +1 -1
- package/components/Toggle.d.ts +0 -1
- package/components/bars/CommandBarComponent.js.map +1 -1
- package/components/bars/CommandDropdownComponent.js.map +1 -1
- package/components/classNames.js.map +1 -1
- package/components/colorPicker/ColorComponentEntry.js.map +1 -1
- package/components/colorPicker/ColorPicker.js.map +1 -1
- package/components/colorPicker/HexColor.js.map +1 -1
- package/components/layout/FlexibleDragHandler.js.map +1 -1
- package/components/layout/FlexibleGridLayout.js.map +1 -1
- package/components/layout/FlexibleTabsContainer.js.map +1 -1
- package/components/layout/LayoutContext.d.ts +0 -1
- package/components/layout/utils.js.map +1 -1
- package/components/lines/ColorLineComponent.d.ts +1 -1
- package/components/lines/ColorLineComponent.js.map +1 -1
- package/components/lines/ColorPickerLineComponent.d.ts +1 -1
- package/components/lines/ColorPickerLineComponent.js.map +1 -1
- package/components/lines/FileButtonLineComponent.js.map +1 -1
- package/components/lines/NumericInputComponent.js.map +1 -1
- package/components/lines/OptionsLineComponent.js.map +1 -1
- package/components/reactGraphSystem/GraphContextManager.d.ts +0 -1
- package/components/reactGraphSystem/GraphNodesContainer.js.map +1 -1
- package/components/reactGraphSystem/NodeRenderer.js.map +1 -1
- package/copyCommandToClipboard.js.map +1 -1
- package/historyStack.js.map +1 -1
- package/lines/checkBoxLineComponent.js +1 -1
- package/lines/checkBoxLineComponent.js.map +1 -1
- package/lines/colorLineComponent.d.ts +1 -1
- package/lines/colorLineComponent.js.map +1 -1
- package/lines/colorPickerComponent.d.ts +1 -1
- package/lines/colorPickerComponent.js.map +1 -1
- package/lines/fileButtonLineComponent.js.map +1 -1
- package/lines/fileMultipleButtonLineComponent.js.map +1 -1
- package/lines/floatLineComponent.js.map +1 -1
- package/lines/hexLineComponent.js.map +1 -1
- package/lines/indentedTextLineComponent.js.map +1 -1
- package/lines/inputArrowsComponent.js.map +1 -1
- package/lines/lineContainerComponent.js.map +1 -1
- package/lines/lineWithFileButtonComponent.js.map +1 -1
- package/lines/linkButtonComponent.js.map +1 -1
- package/lines/matrixLineComponent.js.map +1 -1
- package/lines/messageLineComponent.js.map +1 -1
- package/lines/numericInputComponent.js.map +1 -1
- package/lines/optionsLineComponent.js.map +1 -1
- package/lines/radioLineComponent.js.map +1 -1
- package/lines/sliderLineComponent.js.map +1 -1
- package/lines/targetsProxy.js.map +1 -1
- package/lines/textInputLineComponent.js.map +1 -1
- package/lines/textLineComponent.js.map +1 -1
- package/lines/vector2LineComponent.js.map +1 -1
- package/lines/vector3LineComponent.js.map +1 -1
- package/lines/vector4LineComponent.js.map +1 -1
- package/nodeGraphSystem/automaticProperties.js.map +1 -1
- package/nodeGraphSystem/frameNodePort.js.map +1 -1
- package/nodeGraphSystem/graphCanvas.js.map +1 -1
- package/nodeGraphSystem/graphFrame.js +1 -1
- package/nodeGraphSystem/graphFrame.js.map +1 -1
- package/nodeGraphSystem/graphNode.d.ts +0 -1
- package/nodeGraphSystem/graphNode.js.map +1 -1
- package/nodeGraphSystem/nodeLink.js.map +1 -1
- package/nodeGraphSystem/nodePort.js.map +1 -1
- package/nodeGraphSystem/searchBox.js.map +1 -1
- package/nodeGraphSystem/stateManager.d.ts +2 -2
- package/nodeGraphSystem/tools.js.map +1 -1
- package/package.json +1 -1
- package/popupHelper.js.map +1 -1
- package/split/splitContainer.d.ts +0 -1
- package/split/splitContainer.js.map +1 -1
- package/split/splitContext.d.ts +0 -1
- package/split/splitter.d.ts +0 -1
- package/split/splitter.js.map +1 -1
- package/stringTools.js.map +1 -1
- package/tabs/propertyGrids/gui/commonControlPropertyGridComponent.js.map +1 -1
- package/tabs/propertyGrids/gui/gridPropertyGridComponent.js.map +1 -1
- package/tabs/propertyGrids/gui/linePropertyGridComponent.js.map +1 -1
package/package.json
CHANGED
package/popupHelper.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"popupHelper.js","sourceRoot":"","sources":["../../../dev/sharedUiComponents/src/popupHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACvB,KAAa,EACb,OAKE;IAEF,MAAM,YAAY,GAAG;QACjB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,GAAG,OAAO;KACb,CAAC;IAEF,MAAM,yBAAyB,GAAG;QAC9B,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO;QACnE,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO;KACvE,CAAC;IAEF,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;SAC/D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAI,yBAAiC,CAAC,GAAG,CAAC,CAAC;SACjE,IAAI,CAAC,GAAG,CAAC,CAAC;IAEf,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAClE,IAAI,CAAC,WAAW,EAAE;
|
1
|
+
{"version":3,"file":"popupHelper.js","sourceRoot":"","sources":["../../../dev/sharedUiComponents/src/popupHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACvB,KAAa,EACb,OAKE;IAEF,MAAM,YAAY,GAAG;QACjB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,GAAG,OAAO;KACb,CAAC;IAEF,MAAM,yBAAyB,GAAG;QAC9B,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO;QACnE,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO;KACvE,CAAC;IAEF,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;SAC/D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAI,yBAAiC,CAAC,GAAG,CAAC,CAAC;SACjE,IAAI,CAAC,GAAG,CAAC,CAAC;IAEf,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAClE,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC;IAE5C,OAAO;IACP,MAAM,SAAS,GAAG,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,GAAG,YAAY,CAAC;IAC7B,SAAS,CAAC,IAAI,GAAG,qCAAqC,CAAC;IACvD,cAAc,CAAC,IAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAE5C,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC;IAC7B,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACzC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1C,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;IACvC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;IAExC,MAAM,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1D,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACnC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACpC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;IACjC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;IAElC,IAAI,YAAY,CAAC,6BAA6B,EAAE,CAAC;QAC7C,YAAY,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACrD,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC5C,UAAU,CAAC,GAAG,EAAE;QACZ,8BAA8B;QAC9B,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,IAAI,YAAY,CAAC,sBAAsB,EAAE,CAAC;QACtC,YAAY,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC","sourcesContent":["import { CopyStyles } from \"./styleHelper\";\r\n\r\n/**\r\n * Create a popup window\r\n * @param title default title for the popup\r\n * @param options options for the popup\r\n * @returns the parent control of the popup\r\n */\r\nexport function CreatePopup(\r\n title: string,\r\n options: Partial<{\r\n onParentControlCreateCallback?: (parentControl: HTMLDivElement) => void;\r\n onWindowCreateCallback?: (newWindow: Window) => void;\r\n width?: number;\r\n height?: number;\r\n }>\r\n) {\r\n const localOptions = {\r\n width: 300,\r\n height: 800,\r\n ...options,\r\n };\r\n\r\n const windowCreationOptionsList = {\r\n width: localOptions.width,\r\n height: localOptions.height,\r\n top: (window.innerHeight - localOptions.width) / 2 + window.screenY,\r\n left: (window.innerWidth - localOptions.height) / 2 + window.screenX,\r\n };\r\n\r\n const windowCreationOptions = Object.keys(windowCreationOptionsList)\r\n .map((key) => key + \"=\" + (windowCreationOptionsList as any)[key])\r\n .join(\",\");\r\n\r\n const popupWindow = window.open(\"\", title, windowCreationOptions);\r\n if (!popupWindow) {\r\n return null;\r\n }\r\n\r\n const parentDocument = popupWindow.document;\r\n\r\n // Font\r\n const newLinkEl = parentDocument.createElement(\"link\");\r\n\r\n newLinkEl.rel = \"stylesheet\";\r\n newLinkEl.href = \"https://use.typekit.net/cta4xsb.css\";\r\n parentDocument.head!.appendChild(newLinkEl);\r\n\r\n parentDocument.title = title;\r\n parentDocument.body.style.width = \"100%\";\r\n parentDocument.body.style.height = \"100%\";\r\n parentDocument.body.style.margin = \"0\";\r\n parentDocument.body.style.padding = \"0\";\r\n\r\n const parentControl = parentDocument.createElement(\"div\");\r\n parentControl.style.width = \"100%\";\r\n parentControl.style.height = \"100%\";\r\n parentControl.style.margin = \"0\";\r\n parentControl.style.padding = \"0\";\r\n\r\n if (localOptions.onParentControlCreateCallback) {\r\n localOptions.onParentControlCreateCallback(parentControl);\r\n }\r\n\r\n popupWindow.document.body.appendChild(parentControl);\r\n CopyStyles(window.document, parentDocument);\r\n setTimeout(() => {\r\n // need this for late bindings\r\n CopyStyles(window.document, parentDocument);\r\n }, 0);\r\n\r\n if (localOptions.onWindowCreateCallback) {\r\n localOptions.onWindowCreateCallback(popupWindow);\r\n }\r\n\r\n return parentControl;\r\n}\r\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"splitContainer.js","sourceRoot":"","sources":["../../../../dev/sharedUiComponents/src/split/splitContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA8D9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmC,CAAC,KAAK,EAAE,EAAE;IACpE,MAAM,UAAU,GAAoC,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IACvF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,aAAa,GAAc,EAAE,CAAC;IACpC,MAAM,cAAc,GAAc,EAAE,CAAC;IACrC,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,GAAG,CAAC;IACrD,MAAM,WAAW,GAAe,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACrB,OAAO;SACV;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;QAE7C,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;YAC1B,MAAM,YAAY,GAAG,KAAoB,CAAC;YAC1C,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE;gBAC9C,cAAc,IAAI,OAAO,CAAC;aAC7B;iBAAM;gBACH,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7C,IAAI,aAAa,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE;oBAC3D,cAAc,IAAI,MAAM,CAAC;iBAC5B;qBAAM;oBACH,cAAc,IAAI,OAAO,CAAC;iBAC7B;aACJ;YAED,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC,UAAU,EAAE;gBAC/C,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;gBACjC,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;aACxD;iBAAM;gBACH,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;gBACpC,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;aACrD;YAED,SAAS,EAAE,CAAC;SACf;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC,UAAU,EAAE;YAC/C,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC;YACnD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,cAAc,CAAC;SACjE;aAAM;YACH,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,MAAM,CAAC;YACtD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,cAAc,CAAC;SAC9D;IACL,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACrB,OAAO;SACV;QAED,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;gBACnB,SAAS;aACZ;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAgB,CAAC;YACzC,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC,UAAU,EAAE;gBAC/C,SAAS,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;aACnD;iBAAM;gBACH,SAAS,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;aACpD;YAED,IAAI,SAAS,GAAG,eAAe,EAAE;gBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;gBACxD,IAAI,IAAI,GAAG,CAAC,CAAC;gBAEb,sEAAsE;gBACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAgB,CAAC;oBAC5D,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;oBACzJ,IAAI,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC;oBACpC,IAAI,QAAQ,CAAC,eAAe,CAAC,EAAE;wBAC3B,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;qBAC1D;oBACD,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC,UAAU,EAAE;wBAC/C,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,OAAO,IAAI,CAAC;qBAC3C;yBAAM;wBACH,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC;qBAC5C;oBAED,IAAI,IAAI,WAAW,GAAG,OAAO,CAAC;oBAE9B,IAAI,IAAI,KAAK,OAAO,EAAE;wBAClB,aAAa;wBACb,MAAM;qBACT;iBACJ;aACJ;SACJ;IACL,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACX,mBAAmB,EAAE,CAAC;QAEtB,uCAAuC;QACvC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEhD,kDAAkD;QAClD,OAAO,GAAG,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,MAAmB,EAAE,cAA8B,EAAE,EAAE;QACjF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACrB,OAAO;SACV;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAkB,CAAC;QACzD,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,WAAW,IAAI,CAAC,EAAE;YAClB,OAAO;SACV;QAED,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,cAAc,KAAK,cAAc,CAAC,KAAK,EAAE;YACzC,OAAO,GAAG,WAAW,GAAG,CAAC,CAAC;SAC7B;aAAM;YACH,OAAO,GAAG,WAAW,GAAG,CAAC,CAAC;SAC7B;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAElC,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAChC,mBAAmB,EAAE,CAAC;QAEtB,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;QAEtH,iBAAiB;QACjB,IAAI,OAAO,GAAG,OAAO,EAAE;YACnB,OAAO,GAAG,OAAO,CAAC;SACrB;QAED,iBAAiB;QACjB,IAAI,OAAO,IAAI,OAAO,GAAG,OAAO,EAAE;YAC9B,OAAO,GAAG,OAAO,CAAC;SACrB;QAED,4CAA4C;QAC5C,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;gBAClB,aAAa,EAAE,CAAC;aACnB;iBAAM;gBACH,SAAS,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACnD;SACJ;QAED,IAAI,gBAAgB,GAAG,SAAS,GAAG,eAAe,GAAG,aAAa,EAAE;YAChE,OAAO,GAAG,gBAAgB,GAAG,eAAe,GAAG,aAAa,CAAC;SAChE;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC,UAAU,EAAE;YAC/C,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,OAAO,IAAI,CAAC;SACpD;aAAM;YACH,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC;SACrD;IACL,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACrB,OAAO;SACV;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC7C,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;YAC1B,MAAM,YAAY,GAAG,KAAoB,CAAC;YAE1C,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC,UAAU,EAAE;gBAC/C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC;aAC1D;iBAAM;gBACH,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC;aAC3D;SACJ;IACL,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACjB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,wEAAwE;IACxE,MAAM,IAAI,GAAG,CAAC,MAAmB,EAAE,cAA8B,EAAE,IAAa,EAAE,OAAgB,EAAE,OAAgB,EAAE,EAAE;QACpH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACrB,OAAO;SACV;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAkB,CAAC;QACzD,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,WAAW,IAAI,CAAC,EAAE;YAClB,OAAO;SACV;QAED,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,cAAc,KAAK,cAAc,CAAC,KAAK,EAAE;YACzC,OAAO,GAAG,WAAW,GAAG,CAAC,CAAC;YAC1B,KAAK,GAAG,WAAW,GAAG,CAAC,CAAC;SAC3B;aAAM;YACH,OAAO,GAAG,WAAW,GAAG,CAAC,CAAC;YAC1B,KAAK,GAAG,WAAW,GAAG,CAAC,CAAC;SAC3B;QAED,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,MAAM,UAAU,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC;YAEnC,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC,UAAU,EAAE;gBAC/C,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;aAChD;iBAAM;gBACH,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;aACjD;SACJ;aAAM;YACH,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;SAClC;QAED,IAAI,OAAO,KAAK,SAAS,EAAE;YACvB,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;SAC/B;QAED,IAAI,OAAO,KAAK,SAAS,EAAE;YACvB,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;SAC/B;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YACrB,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;SAC3B;QACD,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,YACxF,cACI,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,EAC5D,GAAG,EAAE,UAAU,EACf,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EACvE,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EACvE,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EACjE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAClD,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,YAE7D,KAAK,CAAC,QAAQ,GACb,GACc,CAC3B,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { useEffect, useRef } from \"react\";\r\nimport styles from \"./splitContainer.module.scss\";\r\nimport { ControlledSize, SplitDirection, SplitContext } from \"./splitContext\";\r\n\r\n/**\r\n * Split container properties\r\n */\r\nexport interface ISplitContainerProps {\r\n /**\r\n * Unique identifier\r\n */\r\n id?: string;\r\n\r\n /**\r\n * Split direction\r\n */\r\n direction: SplitDirection;\r\n\r\n /**\r\n * Minimum size for the floating elements\r\n */\r\n floatingMinSize?: number;\r\n\r\n /**\r\n * RefObject to the root div element\r\n */\r\n containerRef?: React.RefObject<HTMLDivElement>;\r\n\r\n /**\r\n * Optional class name\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Pointer down\r\n * @param event pointer events\r\n */\r\n onPointerDown?: (event: React.PointerEvent) => void;\r\n\r\n /**\r\n * Pointer move\r\n * @param event pointer events\r\n */\r\n onPointerMove?: (event: React.PointerEvent) => void;\r\n\r\n /**\r\n * Pointer up\r\n * @param event pointer events\r\n */\r\n onPointerUp?: (event: React.PointerEvent) => void;\r\n\r\n /**\r\n * Drop\r\n * @param event drag events\r\n */\r\n onDrop?: (event: React.DragEvent<HTMLDivElement>) => void;\r\n\r\n /**\r\n * Drag over\r\n * @param event drag events\r\n */\r\n onDragOver?: (event: React.DragEvent<HTMLDivElement>) => void;\r\n}\r\n\r\n/**\r\n * Creates a split container component\r\n * @param props defines the split container properties\r\n * @returns the split container component\r\n */\r\nexport const SplitContainer: React.FC<ISplitContainerProps> = (props) => {\r\n const elementRef: React.RefObject<HTMLDivElement> = props.containerRef || useRef(null);\r\n const sizes: number[] = [];\r\n const floatingCells: boolean[] = [];\r\n const noInitialSizes: boolean[] = [];\r\n const floatingMinSize = props.floatingMinSize || 200;\r\n const controllers: number[][] = [];\r\n const minSizes: number[] = [];\r\n const maxSizes: number[] = [];\r\n\r\n const buildGridDefinition = () => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n const children = elementRef.current.children;\r\n\r\n let gridIndex = 1;\r\n const pickArray = Array.from(children);\r\n let gridDefinition = \"\";\r\n for (const child of children) {\r\n const childElement = child as HTMLElement;\r\n if (child.classList.contains(styles[\"splitter\"])) {\r\n gridDefinition += \"auto \";\r\n } else {\r\n const sourceIndex = pickArray.indexOf(child);\r\n if (floatingCells[sourceIndex] || noInitialSizes[sourceIndex]) {\r\n gridDefinition += \"1fr \";\r\n } else {\r\n gridDefinition += \"auto \";\r\n }\r\n }\r\n\r\n if (props.direction === SplitDirection.Horizontal) {\r\n childElement.style.gridRow = \"1\";\r\n childElement.style.gridColumn = gridIndex.toString();\r\n } else {\r\n childElement.style.gridColumn = \"1\";\r\n childElement.style.gridRow = gridIndex.toString();\r\n }\r\n\r\n gridIndex++;\r\n }\r\n\r\n if (props.direction === SplitDirection.Horizontal) {\r\n elementRef.current.style.gridTemplateRows = \"100%\";\r\n elementRef.current.style.gridTemplateColumns = gridDefinition;\r\n } else {\r\n elementRef.current.style.gridTemplateColumns = \"100%\";\r\n elementRef.current.style.gridTemplateRows = gridDefinition;\r\n }\r\n };\r\n\r\n const handleResize = () => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n\r\n // Check if we have enough room for everyone\r\n const children = elementRef.current.children;\r\n for (let i = 0; i < children.length; i++) {\r\n if (!floatingCells[i]) {\r\n continue;\r\n }\r\n\r\n const child = children[i] as HTMLElement;\r\n let childsize = 0;\r\n if (props.direction === SplitDirection.Horizontal) {\r\n childsize = child.getBoundingClientRect().width;\r\n } else {\r\n childsize = child.getBoundingClientRect().height;\r\n }\r\n\r\n if (childsize < floatingMinSize) {\r\n const missing = Math.floor(floatingMinSize - childsize);\r\n let done = 0;\r\n\r\n // picking the controller in order and try to reduce their size to fit\r\n for (let j = 0; j < controllers[i].length; j++) {\r\n const controllerIndex = controllers[i][j];\r\n const controller = children[controllerIndex] as HTMLElement;\r\n const currentSize = props.direction === SplitDirection.Horizontal ? controller.getBoundingClientRect().width : controller.getBoundingClientRect().height;\r\n let newSize = currentSize - missing;\r\n if (minSizes[controllerIndex]) {\r\n newSize = Math.max(newSize, minSizes[controllerIndex]);\r\n }\r\n if (props.direction === SplitDirection.Horizontal) {\r\n controller.style.width = `${newSize}px`;\r\n } else {\r\n controller.style.height = `${newSize}px`;\r\n }\r\n\r\n done += currentSize - newSize;\r\n\r\n if (done === missing) {\r\n // We made it\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n buildGridDefinition();\r\n\r\n // Add event listener for window resize\r\n window.addEventListener(\"resize\", handleResize);\r\n\r\n // Cleanup the event listener on component unmount\r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize);\r\n };\r\n }, []);\r\n\r\n const drag = (offset: number, source: HTMLElement, controlledSide: ControlledSize) => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n\r\n const children = elementRef.current.children;\r\n const childArray = Array.from(children) as HTMLElement[];\r\n const sourceIndex = childArray.indexOf(source);\r\n if (sourceIndex <= 0) {\r\n return;\r\n }\r\n\r\n let current = 0;\r\n if (controlledSide === ControlledSize.First) {\r\n current = sourceIndex - 1;\r\n } else {\r\n current = sourceIndex + 1;\r\n }\r\n const minSize = minSizes[current] || 0;\r\n const maxSize = maxSizes[current];\r\n\r\n noInitialSizes[current] = false;\r\n buildGridDefinition();\r\n\r\n let newSize = Math.floor(controlledSide === ControlledSize.First ? sizes[current] + offset : sizes[current] - offset);\r\n\r\n // Min size check\r\n if (newSize < minSize) {\r\n newSize = minSize;\r\n }\r\n\r\n // Max size check\r\n if (maxSize && newSize > maxSize) {\r\n newSize = maxSize;\r\n }\r\n\r\n // Max size check across the whole container\r\n const maxContainerSize = sizes.reduce((a, b) => a + b, 0) || 0;\r\n let totalSize = 0;\r\n let totalFloating = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n if (floatingCells[i]) {\r\n totalFloating++;\r\n } else {\r\n totalSize += i === current ? newSize : sizes[i];\r\n }\r\n }\r\n\r\n if (maxContainerSize - totalSize < floatingMinSize * totalFloating) {\r\n newSize = maxContainerSize - floatingMinSize * totalFloating;\r\n }\r\n\r\n if (props.direction === SplitDirection.Horizontal) {\r\n childArray[current].style.width = `${newSize}px`;\r\n } else {\r\n childArray[current].style.height = `${newSize}px`;\r\n }\r\n };\r\n\r\n const beginDrag = () => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n const children = elementRef.current.children;\r\n sizes.length = 0;\r\n for (const child of children) {\r\n const childElement = child as HTMLElement;\r\n\r\n if (props.direction === SplitDirection.Horizontal) {\r\n sizes.push(childElement.getBoundingClientRect().width);\r\n } else {\r\n sizes.push(childElement.getBoundingClientRect().height);\r\n }\r\n }\r\n };\r\n\r\n const endDrag = () => {\r\n sizes.length = 0;\r\n };\r\n\r\n // We assume splitter are not flagging floating cells in a different way\r\n const sync = (source: HTMLElement, controlledSide: ControlledSize, size?: number, minSize?: number, maxSize?: number) => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n\r\n const children = elementRef.current.children;\r\n const childArray = Array.from(children) as HTMLElement[];\r\n const sourceIndex = childArray.indexOf(source);\r\n if (sourceIndex <= 0) {\r\n return;\r\n }\r\n\r\n let current = 0;\r\n let other = 0;\r\n if (controlledSide === ControlledSize.First) {\r\n current = sourceIndex - 1;\r\n other = sourceIndex + 1;\r\n } else {\r\n current = sourceIndex + 1;\r\n other = sourceIndex - 1;\r\n }\r\n\r\n if (size !== undefined) {\r\n const sizeString = `${size | 0}px`;\r\n\r\n if (props.direction === SplitDirection.Horizontal) {\r\n childArray[current].style.width = sizeString;\r\n } else {\r\n childArray[current].style.height = sizeString;\r\n }\r\n } else {\r\n noInitialSizes[current] = true;\r\n }\r\n\r\n if (minSize !== undefined) {\r\n minSizes[current] = minSize;\r\n }\r\n\r\n if (maxSize !== undefined) {\r\n maxSizes[current] = maxSize;\r\n }\r\n\r\n if (!controllers[other]) {\r\n controllers[other] = [];\r\n }\r\n controllers[other].push(current);\r\n floatingCells[other] = true;\r\n };\r\n\r\n return (\r\n <SplitContext.Provider value={{ direction: props.direction, drag, beginDrag, endDrag, sync }}>\r\n <div\r\n id={props.id}\r\n className={styles[\"split-container\"] + \" \" + props.className}\r\n ref={elementRef}\r\n onPointerDown={(evt) => props.onPointerDown && props.onPointerDown(evt)}\r\n onPointerMove={(evt) => props.onPointerMove && props.onPointerMove(evt)}\r\n onPointerUp={(evt) => props.onPointerUp && props.onPointerUp(evt)}\r\n onDrop={(evt) => props.onDrop && props.onDrop(evt)}\r\n onDragOver={(evt) => props.onDragOver && props.onDragOver(evt)}\r\n >\r\n {props.children}\r\n </div>\r\n </SplitContext.Provider>\r\n );\r\n};\r\n"]}
|
1
|
+
{"version":3,"file":"splitContainer.js","sourceRoot":"","sources":["../../../../dev/sharedUiComponents/src/split/splitContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef } from \"react\";\r\nimport styles from \"./splitContainer.module.scss\";\r\nimport { ControlledSize, SplitDirection, SplitContext } from \"./splitContext\";\r\n\r\n/**\r\n * Split container properties\r\n */\r\nexport interface ISplitContainerProps {\r\n /**\r\n * Unique identifier\r\n */\r\n id?: string;\r\n\r\n /**\r\n * Split direction\r\n */\r\n direction: SplitDirection;\r\n\r\n /**\r\n * Minimum size for the floating elements\r\n */\r\n floatingMinSize?: number;\r\n\r\n /**\r\n * RefObject to the root div element\r\n */\r\n containerRef?: React.RefObject<HTMLDivElement>;\r\n\r\n /**\r\n * Optional class name\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Pointer down\r\n * @param event pointer events\r\n */\r\n onPointerDown?: (event: React.PointerEvent) => void;\r\n\r\n /**\r\n * Pointer move\r\n * @param event pointer events\r\n */\r\n onPointerMove?: (event: React.PointerEvent) => void;\r\n\r\n /**\r\n * Pointer up\r\n * @param event pointer events\r\n */\r\n onPointerUp?: (event: React.PointerEvent) => void;\r\n\r\n /**\r\n * Drop\r\n * @param event drag events\r\n */\r\n onDrop?: (event: React.DragEvent<HTMLDivElement>) => void;\r\n\r\n /**\r\n * Drag over\r\n * @param event drag events\r\n */\r\n onDragOver?: (event: React.DragEvent<HTMLDivElement>) => void;\r\n}\r\n\r\n/**\r\n * Creates a split container component\r\n * @param props defines the split container properties\r\n * @returns the split container component\r\n */\r\nexport const SplitContainer: React.FC<ISplitContainerProps> = (props) => {\r\n const elementRef: React.RefObject<HTMLDivElement> = props.containerRef || useRef(null);\r\n const sizes: number[] = [];\r\n const floatingCells: boolean[] = [];\r\n const noInitialSizes: boolean[] = [];\r\n const floatingMinSize = props.floatingMinSize || 200;\r\n const controllers: number[][] = [];\r\n const minSizes: number[] = [];\r\n const maxSizes: number[] = [];\r\n\r\n const buildGridDefinition = () => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n const children = elementRef.current.children;\r\n\r\n let gridIndex = 1;\r\n const pickArray = Array.from(children);\r\n let gridDefinition = \"\";\r\n for (const child of children) {\r\n const childElement = child as HTMLElement;\r\n if (child.classList.contains(styles[\"splitter\"])) {\r\n gridDefinition += \"auto \";\r\n } else {\r\n const sourceIndex = pickArray.indexOf(child);\r\n if (floatingCells[sourceIndex] || noInitialSizes[sourceIndex]) {\r\n gridDefinition += \"1fr \";\r\n } else {\r\n gridDefinition += \"auto \";\r\n }\r\n }\r\n\r\n if (props.direction === SplitDirection.Horizontal) {\r\n childElement.style.gridRow = \"1\";\r\n childElement.style.gridColumn = gridIndex.toString();\r\n } else {\r\n childElement.style.gridColumn = \"1\";\r\n childElement.style.gridRow = gridIndex.toString();\r\n }\r\n\r\n gridIndex++;\r\n }\r\n\r\n if (props.direction === SplitDirection.Horizontal) {\r\n elementRef.current.style.gridTemplateRows = \"100%\";\r\n elementRef.current.style.gridTemplateColumns = gridDefinition;\r\n } else {\r\n elementRef.current.style.gridTemplateColumns = \"100%\";\r\n elementRef.current.style.gridTemplateRows = gridDefinition;\r\n }\r\n };\r\n\r\n const handleResize = () => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n\r\n // Check if we have enough room for everyone\r\n const children = elementRef.current.children;\r\n for (let i = 0; i < children.length; i++) {\r\n if (!floatingCells[i]) {\r\n continue;\r\n }\r\n\r\n const child = children[i] as HTMLElement;\r\n let childsize = 0;\r\n if (props.direction === SplitDirection.Horizontal) {\r\n childsize = child.getBoundingClientRect().width;\r\n } else {\r\n childsize = child.getBoundingClientRect().height;\r\n }\r\n\r\n if (childsize < floatingMinSize) {\r\n const missing = Math.floor(floatingMinSize - childsize);\r\n let done = 0;\r\n\r\n // picking the controller in order and try to reduce their size to fit\r\n for (let j = 0; j < controllers[i].length; j++) {\r\n const controllerIndex = controllers[i][j];\r\n const controller = children[controllerIndex] as HTMLElement;\r\n const currentSize = props.direction === SplitDirection.Horizontal ? controller.getBoundingClientRect().width : controller.getBoundingClientRect().height;\r\n let newSize = currentSize - missing;\r\n if (minSizes[controllerIndex]) {\r\n newSize = Math.max(newSize, minSizes[controllerIndex]);\r\n }\r\n if (props.direction === SplitDirection.Horizontal) {\r\n controller.style.width = `${newSize}px`;\r\n } else {\r\n controller.style.height = `${newSize}px`;\r\n }\r\n\r\n done += currentSize - newSize;\r\n\r\n if (done === missing) {\r\n // We made it\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n buildGridDefinition();\r\n\r\n // Add event listener for window resize\r\n window.addEventListener(\"resize\", handleResize);\r\n\r\n // Cleanup the event listener on component unmount\r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize);\r\n };\r\n }, []);\r\n\r\n const drag = (offset: number, source: HTMLElement, controlledSide: ControlledSize) => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n\r\n const children = elementRef.current.children;\r\n const childArray = Array.from(children) as HTMLElement[];\r\n const sourceIndex = childArray.indexOf(source);\r\n if (sourceIndex <= 0) {\r\n return;\r\n }\r\n\r\n let current = 0;\r\n if (controlledSide === ControlledSize.First) {\r\n current = sourceIndex - 1;\r\n } else {\r\n current = sourceIndex + 1;\r\n }\r\n const minSize = minSizes[current] || 0;\r\n const maxSize = maxSizes[current];\r\n\r\n noInitialSizes[current] = false;\r\n buildGridDefinition();\r\n\r\n let newSize = Math.floor(controlledSide === ControlledSize.First ? sizes[current] + offset : sizes[current] - offset);\r\n\r\n // Min size check\r\n if (newSize < minSize) {\r\n newSize = minSize;\r\n }\r\n\r\n // Max size check\r\n if (maxSize && newSize > maxSize) {\r\n newSize = maxSize;\r\n }\r\n\r\n // Max size check across the whole container\r\n const maxContainerSize = sizes.reduce((a, b) => a + b, 0) || 0;\r\n let totalSize = 0;\r\n let totalFloating = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n if (floatingCells[i]) {\r\n totalFloating++;\r\n } else {\r\n totalSize += i === current ? newSize : sizes[i];\r\n }\r\n }\r\n\r\n if (maxContainerSize - totalSize < floatingMinSize * totalFloating) {\r\n newSize = maxContainerSize - floatingMinSize * totalFloating;\r\n }\r\n\r\n if (props.direction === SplitDirection.Horizontal) {\r\n childArray[current].style.width = `${newSize}px`;\r\n } else {\r\n childArray[current].style.height = `${newSize}px`;\r\n }\r\n };\r\n\r\n const beginDrag = () => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n const children = elementRef.current.children;\r\n sizes.length = 0;\r\n for (const child of children) {\r\n const childElement = child as HTMLElement;\r\n\r\n if (props.direction === SplitDirection.Horizontal) {\r\n sizes.push(childElement.getBoundingClientRect().width);\r\n } else {\r\n sizes.push(childElement.getBoundingClientRect().height);\r\n }\r\n }\r\n };\r\n\r\n const endDrag = () => {\r\n sizes.length = 0;\r\n };\r\n\r\n // We assume splitter are not flagging floating cells in a different way\r\n const sync = (source: HTMLElement, controlledSide: ControlledSize, size?: number, minSize?: number, maxSize?: number) => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n\r\n const children = elementRef.current.children;\r\n const childArray = Array.from(children) as HTMLElement[];\r\n const sourceIndex = childArray.indexOf(source);\r\n if (sourceIndex <= 0) {\r\n return;\r\n }\r\n\r\n let current = 0;\r\n let other = 0;\r\n if (controlledSide === ControlledSize.First) {\r\n current = sourceIndex - 1;\r\n other = sourceIndex + 1;\r\n } else {\r\n current = sourceIndex + 1;\r\n other = sourceIndex - 1;\r\n }\r\n\r\n if (size !== undefined) {\r\n const sizeString = `${size | 0}px`;\r\n\r\n if (props.direction === SplitDirection.Horizontal) {\r\n childArray[current].style.width = sizeString;\r\n } else {\r\n childArray[current].style.height = sizeString;\r\n }\r\n } else {\r\n noInitialSizes[current] = true;\r\n }\r\n\r\n if (minSize !== undefined) {\r\n minSizes[current] = minSize;\r\n }\r\n\r\n if (maxSize !== undefined) {\r\n maxSizes[current] = maxSize;\r\n }\r\n\r\n if (!controllers[other]) {\r\n controllers[other] = [];\r\n }\r\n controllers[other].push(current);\r\n floatingCells[other] = true;\r\n };\r\n\r\n return (\r\n <SplitContext.Provider value={{ direction: props.direction, drag, beginDrag, endDrag, sync }}>\r\n <div\r\n id={props.id}\r\n className={styles[\"split-container\"] + \" \" + props.className}\r\n ref={elementRef}\r\n onPointerDown={(evt) => props.onPointerDown && props.onPointerDown(evt)}\r\n onPointerMove={(evt) => props.onPointerMove && props.onPointerMove(evt)}\r\n onPointerUp={(evt) => props.onPointerUp && props.onPointerUp(evt)}\r\n onDrop={(evt) => props.onDrop && props.onDrop(evt)}\r\n onDragOver={(evt) => props.onDragOver && props.onDragOver(evt)}\r\n >\r\n {props.children}\r\n </div>\r\n </SplitContext.Provider>\r\n );\r\n};\r\n"]}
|
package/split/splitContext.d.ts
CHANGED
package/split/splitter.d.ts
CHANGED
package/split/splitter.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"splitter.js","sourceRoot":"","sources":["../../../../dev/sharedUiComponents/src/split/splitter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA0C9D;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA6B,CAAC,KAAK,EAAE,EAAE;IACxD,MAAM,UAAU,GAAoC,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC9C,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,UAAkB,CAAC;IAEvB,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;
|
1
|
+
{"version":3,"file":"splitter.js","sourceRoot":"","sources":["../../../../dev/sharedUiComponents/src/split/splitter.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useContext, useEffect, useRef } from \"react\";\r\nimport styles from \"./splitContainer.module.scss\";\r\nimport type { ControlledSize } from \"./splitContext\";\r\nimport { SplitContext, SplitDirection } from \"./splitContext\";\r\n\r\n/**\r\n * Splitter component properties\r\n */\r\nexport interface ISplitterProps {\r\n /**\r\n * Unique identifier\r\n */\r\n id?: string;\r\n\r\n /**\r\n * Splitter size\r\n */\r\n size: number;\r\n\r\n /**\r\n * Minimum size for the controlled element\r\n */\r\n minSize?: number;\r\n\r\n /**\r\n * Maximum size for the controlled element\r\n */\r\n maxSize?: number;\r\n\r\n /**\r\n * Initial size for the controlled element\r\n */\r\n initialSize?: number;\r\n\r\n /**\r\n * Defines the controlled side\r\n */\r\n controlledSide: ControlledSize;\r\n\r\n /**\r\n * refObject to the splitter element\r\n */\r\n refObject?: React.RefObject<HTMLDivElement>;\r\n}\r\n\r\n/**\r\n * Creates a splitter component\r\n * @param props defines the splitter properties\r\n * @returns the splitter component\r\n */\r\nexport const Splitter: React.FC<ISplitterProps> = (props) => {\r\n const elementRef: React.RefObject<HTMLDivElement> = props.refObject || useRef(null);\r\n const splitContext = useContext(SplitContext);\r\n let isCaptured = false;\r\n let startValue: number;\r\n\r\n useEffect(() => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n\r\n if (splitContext.direction === SplitDirection.Horizontal) {\r\n elementRef.current.style.width = `${props.size}px`;\r\n elementRef.current.style.height = `100%`;\r\n elementRef.current.classList.add(styles[\"horizontal\"]);\r\n } else {\r\n elementRef.current.style.height = `${props.size}px`;\r\n elementRef.current.style.width = `100%`;\r\n elementRef.current.classList.add(styles[\"vertical\"]);\r\n }\r\n\r\n splitContext.sync(elementRef.current, props.controlledSide, props.initialSize, props.minSize, props.maxSize);\r\n });\r\n\r\n const onPointerDown = (evt: React.PointerEvent) => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n elementRef.current.setPointerCapture(evt.pointerId);\r\n isCaptured = true;\r\n splitContext.beginDrag();\r\n\r\n if (splitContext.direction === SplitDirection.Horizontal) {\r\n startValue = evt.clientX;\r\n } else {\r\n startValue = evt.clientY;\r\n }\r\n evt.preventDefault();\r\n };\r\n const onPointerMove = (evt: React.PointerEvent) => {\r\n if (!elementRef.current || !isCaptured) {\r\n return;\r\n }\r\n if (splitContext.direction === SplitDirection.Horizontal) {\r\n splitContext.drag(evt.clientX - startValue, elementRef.current, props.controlledSide);\r\n } else {\r\n splitContext.drag(evt.clientY - startValue, elementRef.current, props.controlledSide);\r\n }\r\n evt.preventDefault();\r\n };\r\n const onPointerUp = (evt: React.PointerEvent) => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n elementRef.current.releasePointerCapture(evt.pointerId);\r\n isCaptured = false;\r\n splitContext.endDrag();\r\n evt.preventDefault();\r\n };\r\n\r\n return (\r\n <div\r\n id={props.id}\r\n className={styles[\"splitter\"]}\r\n ref={elementRef}\r\n onPointerDown={(evt) => onPointerDown(evt)}\r\n onPointerUp={(evt) => onPointerUp(evt)}\r\n onPointerMove={(evt) => onPointerMove(evt)}\r\n ></div>\r\n );\r\n};\r\n"]}
|
package/stringTools.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stringTools.js","sourceRoot":"","sources":["../../../dev/sharedUiComponents/src/stringTools.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IACpB;;;;;;;;OAQG;IACK,MAAM,CAAC,OAAO,CAAC,IAAU,EAAE,IAAY,EAAE,QAAsB;QACnE,IAAI,UAAU,IAAI,iBAAiB,CAAC,SAAS,EAAE;
|
1
|
+
{"version":3,"file":"stringTools.js","sourceRoot":"","sources":["../../../dev/sharedUiComponents/src/stringTools.ts"],"names":[],"mappings":"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","sourcesContent":["export class StringTools {\r\n /*\r\n * Based on FileSaver.js\r\n * A saveAs() FileSaver implementation.\r\n *\r\n * By Eli Grey, http://eligrey.com\r\n *\r\n * License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\r\n * source : http://purl.eligrey.com/github/FileSaver.js\r\n */\r\n private static _SaveAs(blob: Blob, name: string, document: HTMLDocument) {\r\n if (\"download\" in HTMLAnchorElement.prototype) {\r\n const URL = window.URL || window.webkitURL;\r\n const a = document.createElement(\"a\");\r\n\r\n a.download = name;\r\n a.rel = \"noopener\"; // tabnabbing\r\n\r\n a.href = URL.createObjectURL(blob);\r\n setTimeout(() => {\r\n URL.revokeObjectURL(a.href);\r\n }, 4e4); // 40s\r\n setTimeout(() => {\r\n this._Click(a, document);\r\n }, 0);\r\n return;\r\n }\r\n\r\n // Open a popup immediately do go around popup blocker\r\n // Mostly only available on user interaction and the fileReader is async so...\r\n let popup = open(\"\", \"_blank\");\r\n if (popup) {\r\n popup.document.title = popup.document.body.innerText = \"downloading...\";\r\n }\r\n\r\n const force = blob.type === \"application/octet-stream\";\r\n const isSafari = /constructor/i.test((window as any).HTMLElement) || (window as any).safari;\r\n const isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\r\n\r\n if ((isChromeIOS || (force && isSafari)) && typeof FileReader !== \"undefined\") {\r\n // Safari doesn't allow downloading of blob URLs\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n let url: any = reader.result;\r\n url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, \"data:attachment/file;\");\r\n if (popup) {\r\n popup.location.href = url;\r\n } else {\r\n location.href = url;\r\n }\r\n popup = null;\r\n };\r\n reader.readAsDataURL(blob);\r\n } else {\r\n const URL = window.URL || window.webkitURL;\r\n const url = URL.createObjectURL(blob);\r\n if (popup) {\r\n popup.location.href = url;\r\n } else {\r\n location.href = url;\r\n }\r\n popup = null;\r\n setTimeout(function () {\r\n URL.revokeObjectURL(url);\r\n }, 4e4);\r\n }\r\n }\r\n\r\n private static _Click(node: HTMLElement, document: HTMLDocument) {\r\n try {\r\n node.dispatchEvent(new MouseEvent(\"click\"));\r\n } catch (e) {\r\n const evt = document.createEvent(\"MouseEvents\");\r\n evt.initMouseEvent(\"click\", true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);\r\n node.dispatchEvent(evt);\r\n }\r\n }\r\n\r\n /**\r\n * Download a string into a file that will be saved locally by the browser\r\n * @param document\r\n * @param content defines the string to download locally as a file\r\n * @param filename\r\n */\r\n public static DownloadAsFile(document: HTMLDocument, content: string, filename: string) {\r\n const blob = new Blob([content], {\r\n type: \"application/octet-stream\",\r\n });\r\n\r\n this._SaveAs(blob, filename, document);\r\n }\r\n}\r\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"commonControlPropertyGridComponent.js","sourceRoot":"","sources":["../../../../../../dev/sharedUiComponents/src/tabs/propertyGrids/gui/commonControlPropertyGridComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,8CAAgC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAS/D,MAAM,OAAO,kCAAmC,SAAQ,KAAK,CAAC,SAAmD;IAC7G,YAAY,KAA+C;QACvD,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,qBAAqB,CAAC,OAAgB;QAClC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACjB,OAAO,IAAI,CAAC;SACf;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;QAElC,IAAK,UAAkB,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC5C,OAAO,IAAI,CAAC;SACf;QAED,MAAM,IAAI,GAAG,UAAkB,CAAC;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAErD,IAAI,aAAa,KAAK,SAAS,EAAE;YAC7B,OAAO,IAAI,CAAC;SACf;QAED,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE3C,OAAO,CACH,MAAC,sBAAsB,IAAC,KAAK,EAAC,MAAM,aAChC,KAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAI,EACxD,KAAC,iBAAiB,IAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAI,IACtC,CAC5B,CAAC;IACN,CAAC;IAEQ,MAAM;QACX,IAAI,QAAmB,CAAC;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACrB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;SAClC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAC3B,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACnC;aAAM;YACH,OAAO;SACV;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5B,MAAM,iBAAiB,GAAG;YACtB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,yBAAyB,EAAE;YAC3D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,0BAA0B,EAAE;YAC7D,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,2BAA2B,EAAE;SAClE,CAAC;QAEF,MAAM,eAAe,GAAG;YACpB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,sBAAsB,EAAE;YACvD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,yBAAyB,EAAE;YAC7D,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,yBAAyB,EAAE;SAChE,CAAC;QAEF,OAAO,CACH,8BACI,MAAC,sBAAsB,IAAC,KAAK,EAAC,SAAS,aACnC,KAAC,iBAAiB,IAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,GAAI,EAClE,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,MAAM,EACZ,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,MAAM,EACnB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,iBAAiB,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAI,EAC3E,KAAC,mBAAmB,IAChB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,OAAO,EACb,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,OAAO,EACpB,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,CAAC,EACV,IAAI,EAAE,IAAI,EACV,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACA,OAAe,CAAC,KAAK,KAAK,SAAS,IAAI,CACrC,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,OAAO,EACb,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,OAAO,EACpB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,CACL,EACC,OAAe,CAAC,UAAU,KAAK,SAAS,IAAI,CAC1C,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,YAAY,EAClB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,YAAY,EACzB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,CACL,EACD,KAAC,kBAAkB,IACf,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,QAAQ,EACd,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,QAAQ,EACrB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,IACmB,EACxB,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EACpC,MAAC,sBAAsB,IAAC,KAAK,EAAC,WAAW,aACrC,KAAC,WAAW,IACR,KAAK,EAAC,YAAY,EAClB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,qBAAqB,EAClC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,WAAW,IACR,KAAK,EAAC,UAAU,EAChB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,mBAAmB,EAChC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,IACmB,EACzB,MAAC,sBAAsB,IAAC,KAAK,EAAC,UAAU,aACpC,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,MAAM,EACZ,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,MAAM,EACnB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,KAAK,EACX,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,KAAK,EAClB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,OAAO,EACb,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,OAAO,EACpB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,QAAQ,EACd,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,QAAQ,EACrB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,cAAc,EACpB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,aAAa,EAC1B,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,aAAa,EACnB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,YAAY,EACzB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,eAAe,EACrB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,cAAc,EAC3B,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,gBAAgB,EACtB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,eAAe,EAC5B,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,IACmB,EACzB,MAAC,sBAAsB,IAAC,KAAK,EAAC,gBAAgB,EAAC,MAAM,EAAE,IAAI,aACvD,KAAC,kBAAkB,IACf,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,QAAQ,EACd,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,QAAQ,EACrB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,kBAAkB,IACf,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,QAAQ,EACd,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,QAAQ,EACrB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,mBAAmB,IAChB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,UAAU,EAChB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,UAAU,EACvB,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EACpB,IAAI,EAAE,IAAI,EACV,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,kBAAkB,IACf,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,oBAAoB,EAC1B,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,kBAAkB,EAC/B,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,kBAAkB,IACf,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,oBAAoB,EAC1B,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,kBAAkB,EAC/B,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,IACmB,EACzB,MAAC,sBAAsB,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAE,IAAI,aAC7C,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,QAAQ,EACd,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,YAAY,EACzB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,MAAM,EACZ,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,UAAU,EACvB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,QAAQ,EACd,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,YAAY,EACzB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,OAAO,EACb,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,WAAW,EACxB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,IACmB,EACzB,MAAC,sBAAsB,IAAC,KAAK,EAAC,SAAS,EAAC,MAAM,EAAE,IAAI,aAChD,KAAC,sBAAsB,IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,OAAO,EACb,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,aAAa,EAC1B,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,kBAAkB,IACf,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,UAAU,EAChB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,eAAe,EAC5B,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,kBAAkB,IACf,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,UAAU,EAChB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,eAAe,EAC5B,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,EACF,KAAC,kBAAkB,IACf,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAC,MAAM,EACZ,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAC1E,YAAY,EAAC,YAAY,EACzB,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GACrE,IACmB,IAC1B,CACN,CAAC;IACN,CAAC;CACJ","sourcesContent":["import * as React from \"react\";\r\nimport type { Observable } from \"core/Misc/observable\";\r\nimport type { PropertyChangedEvent } from \"../../../propertyChangedEvent\";\r\nimport { LineContainerComponent } from \"../../../lines/lineContainerComponent\";\r\nimport { TextLineComponent } from \"../../../lines/textLineComponent\";\r\nimport { Control } from \"gui/2D/controls/control\";\r\nimport type { Grid } from \"gui/2D/controls/grid\";\r\nimport { SliderLineComponent } from \"../../../lines/sliderLineComponent\";\r\nimport { FloatLineComponent } from \"../../../lines/floatLineComponent\";\r\nimport { TextInputLineComponent } from \"../../../lines/textInputLineComponent\";\r\nimport type { LockObject } from \"../../../tabs/propertyGrids/lockObject\";\r\nimport { OptionsLine } from \"../../../lines/optionsLineComponent\";\r\nimport { makeTargetsProxy } from \"../../../lines/targetsProxy\";\r\n\r\ninterface ICommonControlPropertyGridComponentProps {\r\n controls?: Control[];\r\n control?: Control;\r\n lockObject: LockObject;\r\n onPropertyChangedObservable?: Observable<PropertyChangedEvent>;\r\n}\r\n\r\nexport class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {\r\n constructor(props: ICommonControlPropertyGridComponentProps) {\r\n super(props);\r\n }\r\n\r\n renderGridInformation(control: Control) {\r\n if (!control.parent) {\r\n return null;\r\n }\r\n\r\n const gridParent = control.parent;\r\n\r\n if ((gridParent as any).rowCount === undefined) {\r\n return null;\r\n }\r\n\r\n const grid = gridParent as Grid;\r\n const childCellInfo = grid.getChildCellInfo(control);\r\n\r\n if (childCellInfo === undefined) {\r\n return null;\r\n }\r\n\r\n const cellInfos = childCellInfo.split(\":\");\r\n\r\n return (\r\n <LineContainerComponent title=\"GRID\">\r\n <TextLineComponent label={\"Row\"} value={cellInfos[0]} />\r\n <TextLineComponent label={\"Column\"} value={cellInfos[1]} />\r\n </LineContainerComponent>\r\n );\r\n }\r\n\r\n override render() {\r\n let controls: Control[];\r\n if (this.props.controls) {\r\n controls = this.props.controls;\r\n } else if (this.props.control) {\r\n controls = [this.props.control];\r\n } else {\r\n return;\r\n }\r\n const control = controls[0];\r\n\r\n const horizontalOptions = [\r\n { label: \"Left\", value: Control.HORIZONTAL_ALIGNMENT_LEFT },\r\n { label: \"Right\", value: Control.HORIZONTAL_ALIGNMENT_RIGHT },\r\n { label: \"Center\", value: Control.HORIZONTAL_ALIGNMENT_CENTER },\r\n ];\r\n\r\n const verticalOptions = [\r\n { label: \"Top\", value: Control.VERTICAL_ALIGNMENT_TOP },\r\n { label: \"Bottom\", value: Control.VERTICAL_ALIGNMENT_BOTTOM },\r\n { label: \"Center\", value: Control.VERTICAL_ALIGNMENT_CENTER },\r\n ];\r\n\r\n return (\r\n <>\r\n <LineContainerComponent title=\"GENERAL\">\r\n <TextLineComponent label=\"Class\" value={control.getClassName()} />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Name\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"name\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextLineComponent label=\"Unique ID\" value={control.uniqueId.toString()} />\r\n <SliderLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Alpha\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"alpha\"\r\n minimum={0}\r\n maximum={1}\r\n step={0.01}\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n {(control as any).color !== undefined && (\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Color\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"color\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n )}\r\n {(control as any).background !== undefined && (\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Background\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"background\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n )}\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"ZIndex\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"zIndex\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n </LineContainerComponent>\r\n {this.renderGridInformation(control)}\r\n <LineContainerComponent title=\"ALIGNMENT\">\r\n <OptionsLine\r\n label=\"Horizontal\"\r\n options={horizontalOptions}\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"horizontalAlignment\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <OptionsLine\r\n label=\"Vertical\"\r\n options={verticalOptions}\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"verticalAlignment\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n </LineContainerComponent>\r\n <LineContainerComponent title=\"POSITION\">\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Left\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"left\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Top\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"top\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Width\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"width\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Height\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"height\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Padding left\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"paddingLeft\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Padding top\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"paddingTop\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Padding right\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"paddingRight\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Padding bottom\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"paddingBottom\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n </LineContainerComponent>\r\n <LineContainerComponent title=\"TRANSFORMATION\" closed={true}>\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"ScaleX\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"scaleX\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"ScaleY\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"scaleY\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <SliderLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Rotation\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"rotation\"\r\n minimum={0}\r\n maximum={2 * Math.PI}\r\n step={0.01}\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Transform center X\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"transformCenterX\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Transform center Y\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"transformCenterY\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n </LineContainerComponent>\r\n <LineContainerComponent title=\"FONT\" closed={true}>\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Family\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"fontFamily\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Size\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"fontSize\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Weight\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"fontWeight\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Style\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"fontStyle\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n </LineContainerComponent>\r\n <LineContainerComponent title=\"SHADOWS\" closed={true}>\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Color\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"shadowColor\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Offset X\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"shadowOffsetX\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Offset Y\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"shadowOffsetY\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Blur\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"shadowBlur\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n </LineContainerComponent>\r\n </>\r\n );\r\n }\r\n}\r\n"]}
|
1
|
+
{"version":3,"file":"commonControlPropertyGridComponent.js","sourceRoot":"","sources":["../../../../../../dev/sharedUiComponents/src/tabs/propertyGrids/gui/commonControlPropertyGridComponent.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\r\nimport type { Observable } from \"core/Misc/observable\";\r\nimport type { PropertyChangedEvent } from \"../../../propertyChangedEvent\";\r\nimport { LineContainerComponent } from \"../../../lines/lineContainerComponent\";\r\nimport { TextLineComponent } from \"../../../lines/textLineComponent\";\r\nimport { Control } from \"gui/2D/controls/control\";\r\nimport type { Grid } from \"gui/2D/controls/grid\";\r\nimport { SliderLineComponent } from \"../../../lines/sliderLineComponent\";\r\nimport { FloatLineComponent } from \"../../../lines/floatLineComponent\";\r\nimport { TextInputLineComponent } from \"../../../lines/textInputLineComponent\";\r\nimport type { LockObject } from \"../../../tabs/propertyGrids/lockObject\";\r\nimport { OptionsLine } from \"../../../lines/optionsLineComponent\";\r\nimport { makeTargetsProxy } from \"../../../lines/targetsProxy\";\r\n\r\ninterface ICommonControlPropertyGridComponentProps {\r\n controls?: Control[];\r\n control?: Control;\r\n lockObject: LockObject;\r\n onPropertyChangedObservable?: Observable<PropertyChangedEvent>;\r\n}\r\n\r\nexport class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {\r\n constructor(props: ICommonControlPropertyGridComponentProps) {\r\n super(props);\r\n }\r\n\r\n renderGridInformation(control: Control) {\r\n if (!control.parent) {\r\n return null;\r\n }\r\n\r\n const gridParent = control.parent;\r\n\r\n if ((gridParent as any).rowCount === undefined) {\r\n return null;\r\n }\r\n\r\n const grid = gridParent as Grid;\r\n const childCellInfo = grid.getChildCellInfo(control);\r\n\r\n if (childCellInfo === undefined) {\r\n return null;\r\n }\r\n\r\n const cellInfos = childCellInfo.split(\":\");\r\n\r\n return (\r\n <LineContainerComponent title=\"GRID\">\r\n <TextLineComponent label={\"Row\"} value={cellInfos[0]} />\r\n <TextLineComponent label={\"Column\"} value={cellInfos[1]} />\r\n </LineContainerComponent>\r\n );\r\n }\r\n\r\n override render() {\r\n let controls: Control[];\r\n if (this.props.controls) {\r\n controls = this.props.controls;\r\n } else if (this.props.control) {\r\n controls = [this.props.control];\r\n } else {\r\n return;\r\n }\r\n const control = controls[0];\r\n\r\n const horizontalOptions = [\r\n { label: \"Left\", value: Control.HORIZONTAL_ALIGNMENT_LEFT },\r\n { label: \"Right\", value: Control.HORIZONTAL_ALIGNMENT_RIGHT },\r\n { label: \"Center\", value: Control.HORIZONTAL_ALIGNMENT_CENTER },\r\n ];\r\n\r\n const verticalOptions = [\r\n { label: \"Top\", value: Control.VERTICAL_ALIGNMENT_TOP },\r\n { label: \"Bottom\", value: Control.VERTICAL_ALIGNMENT_BOTTOM },\r\n { label: \"Center\", value: Control.VERTICAL_ALIGNMENT_CENTER },\r\n ];\r\n\r\n return (\r\n <>\r\n <LineContainerComponent title=\"GENERAL\">\r\n <TextLineComponent label=\"Class\" value={control.getClassName()} />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Name\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"name\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextLineComponent label=\"Unique ID\" value={control.uniqueId.toString()} />\r\n <SliderLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Alpha\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"alpha\"\r\n minimum={0}\r\n maximum={1}\r\n step={0.01}\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n {(control as any).color !== undefined && (\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Color\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"color\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n )}\r\n {(control as any).background !== undefined && (\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Background\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"background\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n )}\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"ZIndex\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"zIndex\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n </LineContainerComponent>\r\n {this.renderGridInformation(control)}\r\n <LineContainerComponent title=\"ALIGNMENT\">\r\n <OptionsLine\r\n label=\"Horizontal\"\r\n options={horizontalOptions}\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"horizontalAlignment\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <OptionsLine\r\n label=\"Vertical\"\r\n options={verticalOptions}\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"verticalAlignment\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n </LineContainerComponent>\r\n <LineContainerComponent title=\"POSITION\">\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Left\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"left\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Top\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"top\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Width\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"width\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Height\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"height\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Padding left\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"paddingLeft\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Padding top\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"paddingTop\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Padding right\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"paddingRight\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Padding bottom\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"paddingBottom\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n </LineContainerComponent>\r\n <LineContainerComponent title=\"TRANSFORMATION\" closed={true}>\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"ScaleX\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"scaleX\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"ScaleY\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"scaleY\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <SliderLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Rotation\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"rotation\"\r\n minimum={0}\r\n maximum={2 * Math.PI}\r\n step={0.01}\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Transform center X\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"transformCenterX\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Transform center Y\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"transformCenterY\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n </LineContainerComponent>\r\n <LineContainerComponent title=\"FONT\" closed={true}>\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Family\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"fontFamily\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Size\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"fontSize\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Weight\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"fontWeight\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Style\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"fontStyle\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n </LineContainerComponent>\r\n <LineContainerComponent title=\"SHADOWS\" closed={true}>\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Color\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"shadowColor\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Offset X\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"shadowOffsetX\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Offset Y\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"shadowOffsetY\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Blur\"\r\n target={makeTargetsProxy(controls, this.props.onPropertyChangedObservable)}\r\n propertyName=\"shadowBlur\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n </LineContainerComponent>\r\n </>\r\n );\r\n }\r\n}\r\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"gridPropertyGridComponent.js","sourceRoot":"","sources":["../../../../../../dev/sharedUiComponents/src/tabs/propertyGrids/gui/gridPropertyGridComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,kCAAkC,EAAE,MAAM,oEAAoE,CAAC;AAGxH,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAQrE,MAAM,OAAO,yBAA0B,SAAQ,KAAK,CAAC,SAA0C;IAC3F,YAAY,KAAsC;QAC9C,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,UAAU;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,MAAM,IAAI,GAAG,EAAE,CAAC;QAEhB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;
|
1
|
+
{"version":3,"file":"gridPropertyGridComponent.js","sourceRoot":"","sources":["../../../../../../dev/sharedUiComponents/src/tabs/propertyGrids/gui/gridPropertyGridComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,kCAAkC,EAAE,MAAM,oEAAoE,CAAC;AAGxH,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAQrE,MAAM,OAAO,yBAA0B,SAAQ,KAAK,CAAC,SAA0C;IAC3F,YAAY,KAAsC;QAC9C,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,UAAU;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,MAAM,IAAI,GAAG,EAAE,CAAC;QAEhB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAE,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACtB,OAAO,KAAC,iBAAiB,IAAe,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAhG,IAAI,CAAC,EAAE,CAA6F,CAAC;QACxI,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,MAAM,IAAI,GAAG,EAAE,CAAC;QAEhB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAE,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACtB,OAAO,KAAC,iBAAiB,IAAe,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAA/D,IAAI,CAAC,EAAE,CAA4D,CAAC;QACvG,CAAC,CAAC,CAAC;IACP,CAAC;IAEQ,MAAM;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAE7B,MAAM,IAAI,GAAG,EAAE,CAAC;QAEhB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,CACH,8BACI,KAAC,kCAAkC,IAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,GAAI,EAC7J,MAAC,sBAAsB,IAAC,KAAK,EAAC,MAAM,aAC/B,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,aAAa,EAAE,IACA,IAC1B,CACN,CAAC;IACN,CAAC;CACJ","sourcesContent":["import * as React from \"react\";\r\nimport type { Observable } from \"core/Misc/observable\";\r\nimport type { PropertyChangedEvent } from \"../../../propertyChangedEvent\";\r\nimport { CommonControlPropertyGridComponent } from \"../../../tabs/propertyGrids/gui/commonControlPropertyGridComponent\";\r\nimport type { LockObject } from \"../../../tabs/propertyGrids/lockObject\";\r\nimport type { Grid } from \"gui/2D/controls/grid\";\r\nimport { LineContainerComponent } from \"../../../lines/lineContainerComponent\";\r\nimport { TextLineComponent } from \"../../../lines/textLineComponent\";\r\n\r\ninterface IGridPropertyGridComponentProps {\r\n grid: Grid;\r\n lockObject: LockObject;\r\n onPropertyChangedObservable?: Observable<PropertyChangedEvent>;\r\n}\r\n\r\nexport class GridPropertyGridComponent extends React.Component<IGridPropertyGridComponentProps> {\r\n constructor(props: IGridPropertyGridComponentProps) {\r\n super(props);\r\n }\r\n\r\n renderRows() {\r\n const grid = this.props.grid;\r\n const rows = [];\r\n\r\n for (let index = 0; index < grid.rowCount; index++) {\r\n rows.push(grid.getRowDefinition(index)!);\r\n }\r\n\r\n return rows.map((rd, i) => {\r\n return <TextLineComponent key={`r${i}`} label={`Row ${i}`} value={rd.toString(grid.host, 2)} underline={i === grid.rowCount - 1} />;\r\n });\r\n }\r\n\r\n renderColumns() {\r\n const grid = this.props.grid;\r\n const cols = [];\r\n\r\n for (let index = 0; index < grid.columnCount; index++) {\r\n cols.push(grid.getColumnDefinition(index)!);\r\n }\r\n\r\n return cols.map((cd, i) => {\r\n return <TextLineComponent key={`c${i}`} label={`Column ${i}`} value={cd.toString(grid.host, 2)} />;\r\n });\r\n }\r\n\r\n override render() {\r\n const grid = this.props.grid;\r\n\r\n const cols = [];\r\n\r\n for (let index = 0; index < grid.rowCount; index++) {\r\n cols.push(grid.getColumnDefinition(index));\r\n }\r\n\r\n return (\r\n <>\r\n <CommonControlPropertyGridComponent lockObject={this.props.lockObject} control={grid} onPropertyChangedObservable={this.props.onPropertyChangedObservable} />\r\n <LineContainerComponent title=\"GRID\">\r\n {this.renderRows()}\r\n {this.renderColumns()}\r\n </LineContainerComponent>\r\n </>\r\n );\r\n }\r\n}\r\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"linePropertyGridComponent.js","sourceRoot":"","sources":["../../../../../../dev/sharedUiComponents/src/tabs/propertyGrids/gui/linePropertyGridComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,kCAAkC,EAAE,MAAM,oEAAoE,CAAC;AAGxH,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAQ/E,MAAM,OAAO,yBAA0B,SAAQ,KAAK,CAAC,SAA0C;IAC3F,YAAY,KAAsC;QAC9C,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,YAAY,CAAC,KAAa;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAChB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAExB,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;
|
1
|
+
{"version":3,"file":"linePropertyGridComponent.js","sourceRoot":"","sources":["../../../../../../dev/sharedUiComponents/src/tabs/propertyGrids/gui/linePropertyGridComponent.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\r\nimport type { Observable } from \"core/Misc/observable\";\r\nimport type { PropertyChangedEvent } from \"../../../propertyChangedEvent\";\r\nimport { CommonControlPropertyGridComponent } from \"../../../tabs/propertyGrids/gui/commonControlPropertyGridComponent\";\r\nimport type { LockObject } from \"../../../tabs/propertyGrids/lockObject\";\r\nimport type { Line } from \"gui/2D/controls/line\";\r\nimport { LineContainerComponent } from \"../../../lines/lineContainerComponent\";\r\nimport { FloatLineComponent } from \"../../../lines/floatLineComponent\";\r\nimport { TextInputLineComponent } from \"../../../lines/textInputLineComponent\";\r\n\r\ninterface ILinePropertyGridComponentProps {\r\n line: Line;\r\n lockObject: LockObject;\r\n onPropertyChangedObservable?: Observable<PropertyChangedEvent>;\r\n}\r\n\r\nexport class LinePropertyGridComponent extends React.Component<ILinePropertyGridComponentProps> {\r\n constructor(props: ILinePropertyGridComponentProps) {\r\n super(props);\r\n }\r\n\r\n onDashChange(value: string) {\r\n const line = this.props.line;\r\n const split = value.split(\",\");\r\n line.dash = [];\r\n\r\n split.forEach((v) => {\r\n const int = parseInt(v);\r\n\r\n if (isNaN(int)) {\r\n return;\r\n }\r\n\r\n line.dash.push(int);\r\n });\r\n }\r\n\r\n override render() {\r\n const line = this.props.line;\r\n\r\n return (\r\n <>\r\n <CommonControlPropertyGridComponent lockObject={this.props.lockObject} control={line} onPropertyChangedObservable={this.props.onPropertyChangedObservable} />\r\n <LineContainerComponent title=\"LINE\">\r\n <FloatLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Line width\"\r\n target={line}\r\n propertyName=\"lineWidth\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"X1\"\r\n target={line}\r\n propertyName=\"x1\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Y1\"\r\n target={line}\r\n propertyName=\"y1\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"X2\"\r\n target={line}\r\n propertyName=\"x2\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Y2\"\r\n target={line}\r\n propertyName=\"y2\"\r\n onPropertyChangedObservable={this.props.onPropertyChangedObservable}\r\n />\r\n <TextInputLineComponent\r\n lockObject={this.props.lockObject}\r\n label=\"Dash pattern\"\r\n target={line}\r\n value={line.dash.join(\",\")}\r\n onChange={(newValue) => this.onDashChange(newValue)}\r\n />\r\n </LineContainerComponent>\r\n </>\r\n );\r\n }\r\n}\r\n"]}
|