survey-creator-react 2.3.4 → 2.3.5

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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * SurveyJS Creator React v2.3.4
2
+ * SurveyJS Creator React v2.3.5
3
3
  * (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * Github: https://github.com/surveyjs/survey-creator
5
5
  * License: https://surveyjs.io/Licenses#SurveyCreator
@@ -2234,26 +2234,19 @@ class TabDesignerComponent extends SurveyElementBase {
2234
2234
  if (this.creator.pageEditMode !== "bypage") {
2235
2235
  const pages = this.model.pages;
2236
2236
  pages.forEach((page) => {
2237
- renderedPages.push(this.createRenderedPage(page, page == this.model.newPage));
2237
+ renderedPages.push(this.createRenderedPage(page, "svc-page", page == this.model.newPage));
2238
2238
  });
2239
2239
  }
2240
2240
  else {
2241
2241
  const page2Display = this.model.pagesController.page2Display;
2242
2242
  if (!!page2Display) {
2243
- renderedPages.push(this.createRenderedPage(page2Display, this.model.newPage === page2Display));
2243
+ renderedPages.push(this.createRenderedPage(page2Display, "svc-page", this.model.newPage === page2Display));
2244
2244
  }
2245
2245
  }
2246
2246
  return renderedPages;
2247
2247
  }
2248
- createRenderedPage(page, isGhostPage) {
2249
- return (React.createElement("div", { className: "svc-page", "data-sv-drop-target-page": page.name, "data-sv-drop-target-survey-element": isGhostPage ? "newGhostPage" : page.name, key: page.id }, this.renderPage(page, isGhostPage)));
2250
- }
2251
- renderNewPage(className, key = "") {
2252
- return (React.createElement(React.Fragment, { key: key },
2253
- React.createElement("div", { className: className, "data-sv-drop-target-survey-element": "newGhostPage" }, !!this.model.newPage ? this.renderPage(this.model.newPage, true) : null)));
2254
- }
2255
- renderPage(pageV, isGhost) {
2256
- return ReactElementFactory.Instance.createElement("svc-page", { survey: this.creator.survey, page: pageV, creator: this.creator, isGhost });
2248
+ createRenderedPage(page, className, isGhostPage) {
2249
+ return React.createElement(PageWrapperComponent, { key: page === null || page === void 0 ? void 0 : page.id, page: page, isGhost: isGhostPage, creator: this.creator, className: className });
2257
2250
  }
2258
2251
  renderElement() {
2259
2252
  const designerTabClassName = "svc-tab-designer " + this.model.getRootCss();
@@ -2277,7 +2270,7 @@ class TabDesignerComponent extends SurveyElementBase {
2277
2270
  surveyHeader,
2278
2271
  React.createElement("div", { className: "svc-designer__placeholder-container", "data-sv-drop-target-survey-element": "newGhostPage" },
2279
2272
  this.renderPlaceHolderContent(),
2280
- this.renderNewPage("svc-designer-placeholder-page"))));
2273
+ this.createRenderedPage(this.model.newPage, "svc-designer-placeholder-page", true))));
2281
2274
  }
2282
2275
  renderPlaceHolderContent() {
2283
2276
  return React.createElement(SurfacePlaceholder, { name: "designer", placeholderTitleText: this.model.placeholderTitleText, placeholderDescriptionText: this.model.placeholderDescriptionText });
@@ -2312,6 +2305,43 @@ class TabDesignerComponent extends SurveyElementBase {
2312
2305
  ReactElementFactory.Instance.registerElement("svc-tab-designer", (props) => {
2313
2306
  return React.createElement(TabDesignerComponent, props);
2314
2307
  });
2308
+ class PageWrapperComponent extends React.Component {
2309
+ constructor(props) {
2310
+ super(props);
2311
+ this.id = `PageWrapperCallback_${++PageWrapperComponent.ID}`;
2312
+ this.state = { changed: 0 };
2313
+ }
2314
+ render() {
2315
+ var _a, _b;
2316
+ const pageContent = !!this.props.page ? ReactElementFactory.Instance.createElement("svc-page", { survey: this.props.creator.survey, page: this.props.page, creator: this.props.creator, isGhost: this.props.isGhost }) : null;
2317
+ return React.createElement("div", { className: this.props.className, "data-sv-drop-target-page": (_a = this.props.page) === null || _a === void 0 ? void 0 : _a.name, "data-sv-drop-target-survey-element": this.props.isGhost ? "newGhostPage" : (_b = this.props.page) === null || _b === void 0 ? void 0 : _b.name }, pageContent);
2318
+ }
2319
+ setupCallback(page) {
2320
+ if (!page)
2321
+ return;
2322
+ page.registerFunctionOnPropertyValueChanged("name", () => {
2323
+ this.setState({ changed: !!this.state && this.state.changed ? this.state.changed + 1 : 1 });
2324
+ }, this.id);
2325
+ }
2326
+ clearCallback(page) {
2327
+ if (!page)
2328
+ return;
2329
+ page.unRegisterFunctionOnPropertyValueChanged("name");
2330
+ }
2331
+ componentDidUpdate(prevProps, prevState) {
2332
+ if (prevProps.page !== this.props.page) {
2333
+ this.clearCallback(prevProps.page);
2334
+ this.setupCallback(this.props.page);
2335
+ }
2336
+ }
2337
+ componentDidMount() {
2338
+ this.setupCallback(this.props.page);
2339
+ }
2340
+ componentWillUnmount() {
2341
+ this.clearCallback(this.props.page);
2342
+ }
2343
+ }
2344
+ PageWrapperComponent.ID = 0;
2315
2345
 
2316
2346
  class TabJsonEditorErrorsComponent extends SurveyElementBase {
2317
2347
  getStateElement() {
@@ -2851,8 +2881,8 @@ ReactQuestionFactory.Instance.registerQuestion("sv-boolean-switch", (props) => {
2851
2881
  RendererFactory.Instance.registerRenderer("boolean", "switch", "sv-boolean-switch");
2852
2882
 
2853
2883
  let Version;
2854
- Version = `${"2.3.4"}`;
2855
- checkLibraryVersion(`${"2.3.4"}`, "survey-creator-react");
2884
+ Version = `${"2.3.5"}`;
2885
+ checkLibraryVersion(`${"2.3.5"}`, "survey-creator-react");
2856
2886
 
2857
2887
  export { ActionButton, AdaptiveToolbox, CellQuestionAdornerComponent, CellQuestionDropdownAdornerComponent, CreatorSurveyPageComponent, ImageItemValueAdornerComponent, ItemValueAdornerComponent, LogoImageComponent, MatrixCellAdornerComponent, PanelAdornerComponent, PropertyGridComponent, PropertyGridPlaceholderComponent, QuestionAdornerComponent, QuestionBanner, QuestionDropdownAdornerComponent, QuestionEditorContentComponent, QuestionErrorComponent, QuestionImageAdornerComponent, QuestionRatingAdornerComponent, QuestionWidgetAdornerComponent, QuestionWrapperFooter, QuestionWrapperHeader, ReactDragEvent, ReactMouseEvent, RowWrapper, SearchComponent, SideBarDefaultHeader, SidebarComponent, SurveyCreator, SurveyCreatorComponent, SurveyCreatorToolboxCategory, SurveyCreatorToolboxItem, SurveyCreatorToolboxItemGroup, SurveyCreatorToolboxTool, SurveyElementEmbeddedSurvey, SurveyLocStringEditor, SurveyLogicOpertor, SurveyNavigation, SurveyQuestionBooleanSwitch, SurveyQuestionColor, SurveyQuestionFileEditor, SurveyQuestionLinkValue, SurveyQuestionSpinEditor, SurveyQuestionTextWithReset, SurveyResults, SurveyResultsByRow, SurveySimulator, SwitcherComponent, TabButtonComponent, TabDesignerComponent, TabJsonEditorAceComponent, TabJsonEditorErrorsComponent, TabJsonEditorTextareaComponent, TabLogicAddButtonComponent, TabLogicComponent, TabPreviewSurveyComponent, TabPreviewTestSurveyAgainComponent, TabThemeSurveyComponent, TabTranslationComponent, TabbedMenuComponent, TabbedMenuItemComponent, ToolboxList, TranslateFromAction, TranslationLineSkeleton, Version };
2858
2888
  //# sourceMappingURL=survey-creator-react.mjs.map