Closed BretterThanYou closed 3 months ago
Hello, Thank you for sharing this demo.
I got the following exception on my end:
ERROR Error: NotYetImplemented
at VERSION (d:/examples/Survey/node_modules/@angular/platform-server/fesm2022/platform-server.mjs:347:13)
at SvgBundleComponent.ngOnInit (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:6959:37)
at callHookInternal (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5136:14)
at callHook (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5163:13)
at callHooks (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5118:17)
at executeInitAndCheckHooks (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5068:9)
at refreshView (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:12351:21)
at detectChangesInView$1 (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:12560:9)
at detectChangesInViewIfAttached (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:12523:5)
at detectChangesInEmbeddedViews (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:12480:13)
ERROR Error: NotYetImplemented
at VERSION (d:/examples/Survey/node_modules/@angular/platform-server/fesm2022/platform-server.mjs:347:13)
at SvgBundleComponent.ngOnInit (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:6959:37)
at callHookInternal (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5136:14)
at callHook (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5163:13)
at callHooks (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5118:17)
at executeInitAndCheckHooks (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5068:9)
at refreshView (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:12351:21)
at detectChangesInView$1 (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:12560:9)
at detectChangesInViewIfAttached (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:12523:5)
at detectChangesInEmbeddedViews (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:12480:13)
ERROR ReferenceError: window is not defined
at PopupDropdownViewModel2../src/popup-dropdown-view-model.ts.PopupDropdownViewModel2.updateOnHiding (d:/examples/Survey/node_modules/survey-core/survey.core.js:25676:9)
at onIsVisibleChangedHandler (d:/examples/Survey/node_modules/survey-core/survey.core.js:26451:23)
at PopupDropdownViewModel2../src/popup-view-model.ts.PopupBaseViewModel2.setupModel (d:/examples/Survey/node_modules/survey-core/survey.core.js:26456:9)
at PopupDropdownViewModel2.set (d:/examples/Survey/node_modules/survey-core/survey.core.js:26463:18)
at PopupDropdownViewModel2.PopupBaseViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:26382:15)
at PopupDropdownViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:25501:28)
at createPopupViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:26321:16)
at PopupComponent.onModelChanged (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:8424:18)
at PopupComponent.ngOnInit (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:8434:10)
at callHookInternal (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5136:14)
ERROR ReferenceError: window is not defined
at PopupDropdownViewModel2../src/popup-dropdown-view-model.ts.PopupDropdownViewModel2.updateOnHiding (d:/examples/Survey/node_modules/survey-core/survey.core.js:25676:9)
at onIsVisibleChangedHandler (d:/examples/Survey/node_modules/survey-core/survey.core.js:26451:23)
at PopupDropdownViewModel2../src/popup-view-model.ts.PopupBaseViewModel2.setupModel (d:/examples/Survey/node_modules/survey-core/survey.core.js:26456:9)
at PopupDropdownViewModel2.set (d:/examples/Survey/node_modules/survey-core/survey.core.js:26463:18)
at PopupDropdownViewModel2.PopupBaseViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:26382:15)
at PopupDropdownViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:25501:28)
at createPopupViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:26321:16)
at PopupComponent.onModelChanged (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:8424:18)
at PopupComponent.ngOnInit (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:8434:10)
at callHookInternal (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5136:14)
ERROR ReferenceError: window is not defined
at PopupDropdownViewModel2../src/popup-dropdown-view-model.ts.PopupDropdownViewModel2.updateOnHiding (d:/examples/Survey/node_modules/survey-core/survey.core.js:25676:9)
at onIsVisibleChangedHandler (d:/examples/Survey/node_modules/survey-core/survey.core.js:26451:23)
at PopupDropdownViewModel2../src/popup-view-model.ts.PopupBaseViewModel2.setupModel (d:/examples/Survey/node_modules/survey-core/survey.core.js:26456:9)
at PopupDropdownViewModel2.set (d:/examples/Survey/node_modules/survey-core/survey.core.js:26463:18)
at PopupDropdownViewModel2.PopupBaseViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:26382:15)
at PopupDropdownViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:25501:28)
at createPopupViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:26321:16)
at PopupComponent.onModelChanged (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:8424:18)
at PopupComponent.ngDoCheck (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:6343:12)
at callHookInternal (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5136:14)
ERROR ReferenceError: window is not defined
at PopupDropdownViewModel2../src/popup-dropdown-view-model.ts.PopupDropdownViewModel2.updateOnHiding (d:/examples/Survey/node_modules/survey-core/survey.core.js:25676:9)
at onIsVisibleChangedHandler (d:/examples/Survey/node_modules/survey-core/survey.core.js:26451:23)
at PopupDropdownViewModel2../src/popup-view-model.ts.PopupBaseViewModel2.setupModel (d:/examples/Survey/node_modules/survey-core/survey.core.js:26456:9)
at PopupDropdownViewModel2.set (d:/examples/Survey/node_modules/survey-core/survey.core.js:26463:18)
at PopupDropdownViewModel2.PopupBaseViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:26382:15)
at PopupDropdownViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:25501:28)
at createPopupViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:26321:16)
at PopupComponent.onModelChanged (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:8424:18)
at PopupComponent.ngDoCheck (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:6343:12)
at callHookInternal (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5136:14)
ERROR ReferenceError: window is not defined
at PopupDropdownViewModel2../src/popup-dropdown-view-model.ts.PopupDropdownViewModel2.updateOnHiding (d:/examples/Survey/node_modules/survey-core/survey.core.js:25676:9)
at onIsVisibleChangedHandler (d:/examples/Survey/node_modules/survey-core/survey.core.js:26451:23)
at PopupDropdownViewModel2../src/popup-view-model.ts.PopupBaseViewModel2.setupModel (d:/examples/Survey/node_modules/survey-core/survey.core.js:26456:9)
at PopupDropdownViewModel2.set (d:/examples/Survey/node_modules/survey-core/survey.core.js:26463:18)
at PopupDropdownViewModel2.PopupBaseViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:26382:15)
at PopupDropdownViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:25501:28)
at createPopupViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:26321:16)
at PopupComponent.onModelChanged (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:8424:18)
at PopupComponent.ngDoCheck (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:6343:12)
at callHookInternal (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5136:14)
ERROR ReferenceError: window is not defined
at PopupDropdownViewModel2../src/popup-dropdown-view-model.ts.PopupDropdownViewModel2.updateOnHiding (d:/examples/Survey/node_modules/survey-core/survey.core.js:25676:9)
at onIsVisibleChangedHandler (d:/examples/Survey/node_modules/survey-core/survey.core.js:26451:23)
at PopupDropdownViewModel2../src/popup-view-model.ts.PopupBaseViewModel2.setupModel (d:/examples/Survey/node_modules/survey-core/survey.core.js:26456:9)
at PopupDropdownViewModel2.set (d:/examples/Survey/node_modules/survey-core/survey.core.js:26463:18)
at PopupDropdownViewModel2.PopupBaseViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:26382:15)
at PopupDropdownViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:25501:28)
at createPopupViewModel2 (d:/examples/Survey/node_modules/survey-core/survey.core.js:26321:16)
at PopupComponent.onModelChanged (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:8424:18)
at PopupComponent.ngDoCheck (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:6343:12)
at callHookInternal (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:5136:14)
d:/examples/Survey/node_modules/zone.js/fesm2015/zone-node.js:178
throw error;
^
TypeError: Cannot read properties of undefined (reading 'resetComponentElement')
at PopupComponent.ngOnDestroy (d:/examples/Survey/node_modules/survey-angular-ui/fesm2015/survey-angular-ui.js:8437:16)
at executeOnDestroys (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:9960:32)
at cleanUpView (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:9863:9)
at destroyViewTree (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:9691:21)
at destroyLView (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:9836:9)
at ViewRef$1.destroy (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:12672:9)
at eval (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:31493:56)
at Array.forEach (<anonymous>)
at _ApplicationRef.ngOnDestroy (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:31493:33)
at R3Injector.destroy (d:/examples/Survey/node_modules/@angular/core/fesm2022/core.mjs:3003:25)
I'll reach out to our developers for further details on this issue. Please stay tuned.
Hello @BretterThanYou, Thank you for your patience. I discussed this issue with our developers. SurveyJS Form Library for React uses Agular component which may not be rendered on the server-side. To fix the issue, disable the server-side rendering for your survey Angular component. I created a corresponding PR which fixes the issue: https://github.com/BretterThanYou/Survey/pull/1. app.component.html
<survey [model]="surveyModel" *ngIf="isBrowser"></survey>
app.component.ts
import { Component, OnInit, Inject, PLATFORM_ID } from '@angular/core';
import { isPlatformBrowser } from '@angular/common';
import { Model } from "survey-core";
const surveyJson = {
elements: [{
name: "FirstName",
title: "Please Enter your first name:",
type: "text"
}, {
name: "LastName",
title: "Enter your last name:",
type: "text"
},
{
"type": "radiogroup",
"name": "car",
"title": "Which is the brand of your car?",
"isRequired": true,
"showNoneItem": true,
"showOtherItem": true,
"colCount": 1,
"choices": [ "Ford", "Vauxhall", "Volkswagen", "Nissan", "Audi", "Mercedes-Benz", "BMW", "Peugeot", "Toyota" ],
"separateSpecialChoices": true,
"showClearButton": true
}]
};
const survey = new Model(surveyJson);
survey.onComplete.add(function (sender, options) {
// Display the "Saving..." message (pass a string value to display a custom message)
options.showSaveInProgress();
const xhr = new XMLHttpRequest();
xhr.open("POST", "databaselink");
xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8");
xhr.onload = xhr.onerror = function () {
if (xhr.status == 200) {
// Display the "Success" message (pass a string value to display a custom message)
options.showSaveSuccess();
// Alternatively, you can clear all messages:
// options.clearSaveMessages();
} else {
// Display the "Error" message (pass a string value to display a custom message)
options.showSaveError();
}
};
xhr.send(JSON.stringify(sender.data));
});
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrl: './app.component.css'
})
export class AppComponent implements OnInit {
title = 'survey-app';
surveyModel: any;
isBrowser: boolean;
constructor(@Inject(PLATFORM_ID) private platformId: Object){
this.isBrowser = isPlatformBrowser(this.platformId);
}
ngOnInit() {
const survey = new Model(surveyJson);
this.surveyModel = survey;
}
}
Please feel free to reactivate this thread if you have any further questions.
Thanks
Thank you so much!
Are you requesting a feature, reporting a bug or asking a question?
I'm reporting a bug.
What is the current behavior?
The
ng serve
server crashes and the webpage says "This site can't be found" once I navigate to the website.What is the expected behavior?
A fillable HTML form is displayed.
How would you reproduce the current behavior (if this is a bug)?
Clone the linked repo and switch to the
Bug_Report_One
branch. Install dependencies (as you would for any Angular project), and runng serve
on the cli. Open the website in your browser. Theng serve
cli will then crash, and the website displays a "This site can't be reached" error.Provide the test code and the tested page URL (if applicable)
Tested page URL: http://localhost:4200/
Test code
This commit change causes the issue: https://github.com/BretterThanYou/Survey/commit/8fa44c008136de04a16c62aa38f51a1780d07b4a This is the broken code: https://github.com/BretterThanYou/Survey/tree/Bug_Report_One This code works: https://github.com/BretterThanYou/Survey/tree/main
Specify your