├── .github
└── workflows
│ └── check-build.yml
├── README.md
├── dashboard-table-view
├── angular
│ ├── .editorconfig
│ ├── .gitignore
│ ├── .vscode
│ │ ├── extensions.json
│ │ ├── launch.json
│ │ └── tasks.json
│ ├── README.md
│ ├── angular.json
│ ├── karma.conf.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ ├── app
│ │ │ ├── app.component.css
│ │ │ ├── app.component.html
│ │ │ ├── app.component.spec.ts
│ │ │ ├── app.component.ts
│ │ │ └── app.module.ts
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── environments
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.ts
│ │ ├── polyfills.ts
│ │ ├── styles.css
│ │ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ └── tsconfig.spec.json
├── html-css-js
│ ├── README.md
│ ├── index.html
│ └── index.js
├── jquery
│ └── README.md
├── knockout
│ └── README.md
├── react
│ ├── .gitignore
│ ├── README.md
│ ├── next.config.ts
│ ├── package-lock.json
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── public
│ │ ├── favicon.ico
│ │ ├── file.svg
│ │ ├── globe.svg
│ │ ├── next.svg
│ │ ├── vercel.svg
│ │ └── window.svg
│ ├── src
│ │ ├── components
│ │ │ └── Tabulator.tsx
│ │ ├── pages
│ │ │ ├── _app.tsx
│ │ │ └── index.tsx
│ │ └── styles
│ │ │ └── globals.css
│ └── tsconfig.json
├── vue
│ └── README.md
└── vue3
│ ├── .gitignore
│ ├── .vscode
│ └── extensions.json
│ ├── README.md
│ ├── env.d.ts
│ ├── index.html
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ └── favicon.ico
│ ├── src
│ ├── App.vue
│ ├── assets
│ │ ├── base.css
│ │ ├── logo.svg
│ │ └── main.css
│ ├── components
│ │ └── DashboardTableView.vue
│ └── main.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ ├── tsconfig.node.json
│ └── vite.config.ts
├── get-started-analytics
├── angular
│ ├── .editorconfig
│ ├── .gitignore
│ ├── .vscode
│ │ ├── extensions.json
│ │ ├── launch.json
│ │ └── tasks.json
│ ├── README.md
│ ├── angular.json
│ ├── karma.conf.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ ├── app
│ │ │ ├── app.component.css
│ │ │ ├── app.component.html
│ │ │ ├── app.component.spec.ts
│ │ │ ├── app.component.ts
│ │ │ └── app.module.ts
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── environments
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.ts
│ │ ├── polyfills.ts
│ │ ├── styles.css
│ │ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ └── tsconfig.spec.json
├── html-css-js
│ ├── README.md
│ ├── index.html
│ └── index.js
├── jquery
│ └── README.md
├── knockout
│ └── README.md
├── react
│ ├── .gitignore
│ ├── README.md
│ ├── next.config.ts
│ ├── package-lock.json
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── public
│ │ ├── favicon.ico
│ │ ├── file.svg
│ │ ├── globe.svg
│ │ ├── next.svg
│ │ ├── vercel.svg
│ │ └── window.svg
│ ├── src
│ │ ├── components
│ │ │ └── Dashboard.tsx
│ │ ├── pages
│ │ │ ├── _app.tsx
│ │ │ └── index.tsx
│ │ └── styles
│ │ │ └── globals.css
│ └── tsconfig.json
├── vue
│ └── README.md
└── vue3
│ ├── .gitignore
│ ├── .vscode
│ └── extensions.json
│ ├── README.md
│ ├── env.d.ts
│ ├── index.html
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ └── favicon.ico
│ ├── src
│ ├── App.vue
│ ├── assets
│ │ ├── base.css
│ │ ├── logo.svg
│ │ └── main.css
│ ├── components
│ │ └── SurveyDashboard.vue
│ └── main.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ ├── tsconfig.node.json
│ └── vite.config.ts
├── get-started-creator
├── angular-standalone-components
│ ├── .editorconfig
│ ├── .gitignore
│ ├── .vscode
│ │ ├── extensions.json
│ │ ├── launch.json
│ │ └── tasks.json
│ ├── README.md
│ ├── angular.json
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ ├── app
│ │ │ ├── app.component.css
│ │ │ ├── app.component.html
│ │ │ ├── app.component.spec.ts
│ │ │ ├── app.component.ts
│ │ │ ├── app.config.ts
│ │ │ ├── app.routes.ts
│ │ │ └── survey-creator
│ │ │ │ ├── survey-creator.component.css
│ │ │ │ ├── survey-creator.component.html
│ │ │ │ ├── survey-creator.component.spec.ts
│ │ │ │ └── survey-creator.component.ts
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.ts
│ │ └── styles.css
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ └── tsconfig.spec.json
├── angular
│ ├── .editorconfig
│ ├── .gitignore
│ ├── README.md
│ ├── angular.json
│ ├── karma.conf.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ ├── app
│ │ │ ├── app.component.css
│ │ │ ├── app.component.html
│ │ │ ├── app.component.spec.ts
│ │ │ ├── app.component.ts
│ │ │ ├── app.module.ts
│ │ │ └── survey-creator
│ │ │ │ ├── survey-creator.component.css
│ │ │ │ ├── survey-creator.component.html
│ │ │ │ ├── survey-creator.component.spec.ts
│ │ │ │ └── survey-creator.component.ts
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── environments
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.ts
│ │ ├── polyfills.ts
│ │ ├── styles.css
│ │ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ └── tsconfig.spec.json
├── html-css-js
│ ├── README.md
│ ├── index.html
│ └── index.js
├── jquery
│ └── README.md
├── knockout
│ └── README.md
├── react
│ ├── .gitignore
│ ├── README.md
│ ├── next.config.ts
│ ├── package-lock.json
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── public
│ │ ├── favicon.ico
│ │ ├── file.svg
│ │ ├── globe.svg
│ │ ├── next.svg
│ │ ├── vercel.svg
│ │ └── window.svg
│ ├── src
│ │ ├── components
│ │ │ └── SurveyCreator.tsx
│ │ ├── pages
│ │ │ ├── _app.tsx
│ │ │ └── index.tsx
│ │ └── styles
│ │ │ └── globals.css
│ └── tsconfig.json
├── vue
│ └── README.md
└── vue3
│ ├── .gitignore
│ ├── .vscode
│ └── extensions.json
│ ├── README.md
│ ├── env.d.ts
│ ├── index.html
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ └── favicon.ico
│ ├── src
│ ├── App.vue
│ ├── assets
│ │ ├── base.css
│ │ ├── logo.svg
│ │ └── main.css
│ ├── components
│ │ └── SurveyCreator.vue
│ └── main.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ ├── tsconfig.node.json
│ └── vite.config.ts
├── get-started-library
├── angular-standalone-components
│ ├── .editorconfig
│ ├── .gitignore
│ ├── .vscode
│ │ ├── extensions.json
│ │ ├── launch.json
│ │ └── tasks.json
│ ├── README.md
│ ├── angular.json
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ ├── app
│ │ │ ├── app.component.css
│ │ │ ├── app.component.html
│ │ │ ├── app.component.spec.ts
│ │ │ ├── app.component.ts
│ │ │ ├── app.config.ts
│ │ │ ├── app.routes.ts
│ │ │ └── survey
│ │ │ │ ├── survey.component.css
│ │ │ │ ├── survey.component.html
│ │ │ │ ├── survey.component.spec.ts
│ │ │ │ └── survey.component.ts
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.ts
│ │ └── styles.css
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ └── tsconfig.spec.json
├── angular
│ ├── .editorconfig
│ ├── .gitignore
│ ├── README.md
│ ├── angular.json
│ ├── e2e
│ │ ├── protractor.conf.js
│ │ ├── src
│ │ │ ├── app.e2e-spec.ts
│ │ │ └── app.po.ts
│ │ └── tsconfig.json
│ ├── karma.conf.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ ├── app
│ │ │ ├── app.component.css
│ │ │ ├── app.component.html
│ │ │ ├── app.component.spec.ts
│ │ │ ├── app.component.ts
│ │ │ └── app.module.ts
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── environments
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.ts
│ │ ├── polyfills.ts
│ │ ├── styles.css
│ │ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ ├── tsconfig.spec.json
│ └── tslint.json
├── html-css-js
│ ├── README.md
│ ├── index.html
│ └── index.js
├── jquery
│ └── README.md
├── knockout
│ └── README.md
├── react
│ ├── .gitignore
│ ├── README.md
│ ├── next.config.ts
│ ├── package-lock.json
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── public
│ │ ├── favicon.ico
│ │ ├── file.svg
│ │ ├── globe.svg
│ │ ├── next.svg
│ │ ├── vercel.svg
│ │ └── window.svg
│ ├── src
│ │ ├── components
│ │ │ └── Survey.tsx
│ │ ├── pages
│ │ │ ├── _app.tsx
│ │ │ └── index.tsx
│ │ └── styles
│ │ │ └── globals.css
│ └── tsconfig.json
├── vue
│ └── README.md
└── vue3
│ ├── .gitignore
│ ├── README.md
│ ├── env.d.ts
│ ├── index.html
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ └── favicon.ico
│ ├── src
│ ├── App.vue
│ ├── components
│ │ └── MyFirstSurvey.vue
│ ├── main.ts
│ └── shims-vue.d.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ ├── tsconfig.node.json
│ └── vite.config.ts
├── get-started-pdf
├── angular
│ ├── .editorconfig
│ ├── .gitignore
│ ├── .vscode
│ │ ├── extensions.json
│ │ ├── launch.json
│ │ └── tasks.json
│ ├── README.md
│ ├── angular.json
│ ├── karma.conf.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ ├── app
│ │ │ ├── app.component.css
│ │ │ ├── app.component.html
│ │ │ ├── app.component.spec.ts
│ │ │ ├── app.component.ts
│ │ │ └── app.module.ts
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── environments
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.ts
│ │ ├── polyfills.ts
│ │ ├── styles.css
│ │ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ └── tsconfig.spec.json
├── html-css-js
│ ├── README.md
│ ├── index.html
│ └── index.js
├── jquery
│ └── README.md
├── knockout
│ └── README.md
├── react
│ ├── .gitignore
│ ├── README.md
│ ├── next.config.ts
│ ├── package-lock.json
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── public
│ │ ├── favicon.ico
│ │ ├── file.svg
│ │ ├── globe.svg
│ │ ├── next.svg
│ │ ├── vercel.svg
│ │ └── window.svg
│ ├── src
│ │ ├── components
│ │ │ └── Survey.tsx
│ │ ├── pages
│ │ │ ├── _app.tsx
│ │ │ └── index.tsx
│ │ └── styles
│ │ │ └── globals.css
│ └── tsconfig.json
├── vue
│ ├── .gitignore
│ ├── README.md
│ ├── babel.config.js
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ └── index.html
│ └── src
│ │ ├── App.vue
│ │ ├── assets
│ │ └── logo.png
│ │ ├── components
│ │ └── MySurvey.vue
│ │ └── main.js
└── vue3
│ ├── .gitignore
│ ├── README.md
│ ├── env.d.ts
│ ├── index.html
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ └── favicon.ico
│ ├── src
│ ├── App.vue
│ ├── components
│ │ └── MySurvey.vue
│ ├── main.ts
│ └── shims-vue.d.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ ├── tsconfig.node.json
│ └── vite.config.ts
├── icons
├── README.md
├── index-form-library.html
├── index.css
├── index.html
└── index.js
├── integrate-third-party-angular-components
├── .editorconfig
├── .gitignore
├── .vscode
│ ├── extensions.json
│ ├── launch.json
│ └── tasks.json
├── README.md
├── angular.json
├── karma.conf.js
├── package-lock.json
├── package.json
├── src
│ ├── app
│ │ ├── app.component.css
│ │ ├── app.component.html
│ │ ├── app.component.ts
│ │ ├── app.module.ts
│ │ ├── color-picker
│ │ │ ├── color-picker.component.css
│ │ │ ├── color-picker.component.html
│ │ │ └── color-picker.component.ts
│ │ └── survey-creator
│ │ │ ├── survey-creator.component.css
│ │ │ ├── survey-creator.component.html
│ │ │ └── survey-creator.component.ts
│ ├── assets
│ │ └── .gitkeep
│ ├── environments
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── favicon.ico
│ ├── index.html
│ ├── main.ts
│ ├── polyfills.ts
│ ├── styles.css
│ └── test.ts
├── tsconfig.app.json
├── tsconfig.json
└── tsconfig.spec.json
├── integrate-third-party-react-components
├── .gitignore
├── README.md
├── next.config.ts
├── package-lock.json
├── package.json
├── postcss.config.mjs
├── public
│ ├── favicon.ico
│ ├── file.svg
│ ├── globe.svg
│ ├── next.svg
│ ├── vercel.svg
│ └── window.svg
├── src
│ ├── components
│ │ ├── ColorPicker.tsx
│ │ ├── SurveyCreator.tsx
│ │ └── icons
│ │ │ └── color-picker.js
│ ├── pages
│ │ ├── _app.tsx
│ │ └── index.tsx
│ └── styles
│ │ └── globals.css
└── tsconfig.json
├── integrate-third-party-vue-components
├── .eslintrc.cjs
├── .gitignore
├── .prettierrc.json
├── .vscode
│ └── extensions.json
├── README.md
├── env.d.ts
├── index.html
├── package-lock.json
├── package.json
├── public
│ └── favicon.ico
├── src
│ ├── App.vue
│ ├── assets
│ │ ├── base.css
│ │ ├── logo.svg
│ │ └── main.css
│ ├── components
│ │ ├── ColorPicker.vue
│ │ └── SurveyCreator.vue
│ └── main.ts
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
├── legacy-angular
├── form-library
│ ├── .gitignore
│ ├── README.md
│ ├── angular.json
│ ├── browserslist
│ ├── e2e
│ │ ├── protractor.conf.js
│ │ ├── src
│ │ │ ├── app.e2e-spec.ts
│ │ │ └── app.po.ts
│ │ └── tsconfig.json
│ ├── karma.conf.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ ├── app
│ │ │ ├── app.component.html
│ │ │ ├── app.component.scss
│ │ │ ├── app.component.ts
│ │ │ └── app.module.ts
│ │ ├── assets
│ │ │ └── survey.json
│ │ ├── environments
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.ts
│ │ ├── polyfills.ts
│ │ ├── styles.scss
│ │ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ ├── tsconfig.spec.json
│ └── tslint.json
└── survey-creator
│ ├── .gitignore
│ ├── README.md
│ ├── angular.json
│ ├── browserslist
│ ├── e2e
│ ├── protractor.conf.js
│ ├── src
│ │ ├── app.e2e-spec.ts
│ │ └── app.po.ts
│ └── tsconfig.json
│ ├── karma.conf.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ ├── app
│ │ ├── app.component.html
│ │ ├── app.component.spec.ts
│ │ ├── app.component.ts
│ │ ├── app.module.ts
│ │ └── components
│ │ │ ├── survey-creator.component.css
│ │ │ ├── survey-creator.component.html
│ │ │ └── survey-creator.component.ts
│ ├── assets
│ │ └── survey.json
│ ├── environments
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── favicon.ico
│ ├── index.html
│ ├── main.ts
│ ├── polyfills.ts
│ ├── styles.scss
│ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ ├── tsconfig.spec.json
│ └── tslint.json
├── multi-page-survey
├── angular
│ ├── .editorconfig
│ ├── .gitignore
│ ├── README.md
│ ├── angular.json
│ ├── e2e
│ │ ├── protractor.conf.js
│ │ ├── src
│ │ │ ├── app.e2e-spec.ts
│ │ │ └── app.po.ts
│ │ └── tsconfig.json
│ ├── karma.conf.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ ├── app
│ │ │ ├── app.component.css
│ │ │ ├── app.component.html
│ │ │ ├── app.component.spec.ts
│ │ │ ├── app.component.ts
│ │ │ └── app.module.ts
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── environments
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.ts
│ │ ├── polyfills.ts
│ │ ├── styles.css
│ │ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ ├── tsconfig.spec.json
│ └── tslint.json
├── html-css-js
│ ├── README.md
│ ├── index.html
│ └── index.js
├── jquery
│ └── README.md
├── knockout
│ └── README.md
├── react
│ ├── .gitignore
│ ├── README.md
│ ├── next.config.ts
│ ├── package-lock.json
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── public
│ │ ├── favicon.ico
│ │ ├── file.svg
│ │ ├── globe.svg
│ │ ├── next.svg
│ │ ├── vercel.svg
│ │ └── window.svg
│ ├── src
│ │ ├── components
│ │ │ └── Survey.tsx
│ │ ├── pages
│ │ │ ├── _app.tsx
│ │ │ └── index.tsx
│ │ └── styles
│ │ │ └── globals.css
│ └── tsconfig.json
├── vue
│ └── README.md
└── vue3
│ ├── .gitignore
│ ├── README.md
│ ├── env.d.ts
│ ├── index.html
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ └── favicon.ico
│ ├── src
│ ├── App.vue
│ ├── components
│ │ └── MultiPageSurvey.vue
│ ├── main.ts
│ └── shims-vue.d.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ ├── tsconfig.node.json
│ └── vite.config.ts
├── quiz
├── angular
│ ├── .editorconfig
│ ├── .gitignore
│ ├── README.md
│ ├── angular.json
│ ├── e2e
│ │ ├── protractor.conf.js
│ │ ├── src
│ │ │ ├── app.e2e-spec.ts
│ │ │ └── app.po.ts
│ │ └── tsconfig.json
│ ├── karma.conf.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ ├── app
│ │ │ ├── app.component.css
│ │ │ ├── app.component.html
│ │ │ ├── app.component.spec.ts
│ │ │ ├── app.component.ts
│ │ │ └── app.module.ts
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── environments
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.ts
│ │ ├── polyfills.ts
│ │ ├── styles.css
│ │ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ ├── tsconfig.spec.json
│ └── tslint.json
├── html-css-js
│ ├── README.md
│ ├── index.html
│ └── index.js
├── jquery
│ └── README.md
├── knockout
│ └── README.md
├── react
│ ├── .gitignore
│ ├── README.md
│ ├── next.config.ts
│ ├── package-lock.json
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── public
│ │ ├── favicon.ico
│ │ ├── file.svg
│ │ ├── globe.svg
│ │ ├── next.svg
│ │ ├── vercel.svg
│ │ └── window.svg
│ ├── src
│ │ ├── components
│ │ │ └── Survey.tsx
│ │ ├── pages
│ │ │ ├── _app.tsx
│ │ │ └── index.tsx
│ │ └── styles
│ │ │ └── globals.css
│ └── tsconfig.json
├── vue
│ └── README.md
└── vue3
│ ├── .gitignore
│ ├── README.md
│ ├── env.d.ts
│ ├── index.html
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ └── favicon.ico
│ ├── src
│ ├── App.vue
│ ├── components
│ │ └── Quiz.vue
│ ├── main.ts
│ └── shims-vue.d.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ ├── tsconfig.node.json
│ └── vite.config.ts
├── survey-creator-web-service
├── angular
│ ├── .editorconfig
│ ├── .gitignore
│ ├── README.md
│ ├── angular.json
│ ├── karma.conf.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ │ ├── app
│ │ │ ├── WebDataService.ts
│ │ │ ├── app-routing.module.ts
│ │ │ ├── app.component.html
│ │ │ ├── app.component.scss
│ │ │ ├── app.component.spec.ts
│ │ │ ├── app.component.ts
│ │ │ ├── app.module.ts
│ │ │ └── components
│ │ │ │ ├── creator-widget.component.html
│ │ │ │ ├── creator-widget.component.ts
│ │ │ │ ├── survey-list.component.html
│ │ │ │ └── survey-list.component.ts
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── environments
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.ts
│ │ ├── polyfills.ts
│ │ ├── styles.scss
│ │ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ └── tsconfig.spec.json
└── react
│ ├── .gitignore
│ ├── package.json
│ ├── public
│ └── index.html
│ └── src
│ ├── App.js
│ ├── SurveyCreatorWidget.jsx
│ ├── SurveyListWidget.jsx
│ ├── WebDataService.js
│ ├── index.js
│ └── styles.css
└── surveyjs-pdf-nodejs
├── .gitignore
├── README.MD
├── index.js
└── package.json
/README.md:
--------------------------------------------------------------------------------
1 | # SurveyJS Code Examples
2 |
3 | This repository contains code examples used in [SurveyJS](https://surveyjs.io/) help topics.
4 |
5 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/.gitignore:
--------------------------------------------------------------------------------
1 | # See http://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # Compiled output
4 | /dist
5 | /tmp
6 | /out-tsc
7 | /bazel-out
8 |
9 | # Node
10 | /node_modules
11 | npm-debug.log
12 | yarn-error.log
13 |
14 | # IDEs and editors
15 | .idea/
16 | .project
17 | .classpath
18 | .c9/
19 | *.launch
20 | .settings/
21 | *.sublime-workspace
22 |
23 | # Visual Studio Code
24 | .vscode/*
25 | !.vscode/settings.json
26 | !.vscode/tasks.json
27 | !.vscode/launch.json
28 | !.vscode/extensions.json
29 | .history/*
30 |
31 | # Miscellaneous
32 | /.angular/cache
33 | .sass-cache/
34 | /connect.lock
35 | /coverage
36 | /libpeerconnection.log
37 | testem.log
38 | /typings
39 |
40 | # System files
41 | .DS_Store
42 | Thumbs.db
43 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3 | "recommendations": ["angular.ng-template"]
4 | }
5 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
3 | "version": "0.2.0",
4 | "configurations": [
5 | {
6 | "name": "ng serve",
7 | "type": "pwa-chrome",
8 | "request": "launch",
9 | "preLaunchTask": "npm: start",
10 | "url": "http://localhost:4200/"
11 | },
12 | {
13 | "name": "ng test",
14 | "type": "chrome",
15 | "request": "launch",
16 | "preLaunchTask": "npm: test",
17 | "url": "http://localhost:9876/debug.html"
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/README.md:
--------------------------------------------------------------------------------
1 | # Table View - SurveyJS Dashboard for Angular
2 |
3 | This example is used in the following help topic: [Table View for Survey Results in an Angular Application](https://surveyjs.io/dashboard/documentation/set-up-table-view/angular). It was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.2.13.
4 |
5 | ## Development server
6 |
7 | Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
8 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/src/app/app.component.css:
--------------------------------------------------------------------------------
1 | /* ... */
--------------------------------------------------------------------------------
/dashboard-table-view/angular/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/src/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { BrowserModule } from '@angular/platform-browser';
3 |
4 | import { AppComponent } from './app.component';
5 |
6 | @NgModule({
7 | declarations: [
8 | AppComponent
9 | ],
10 | imports: [
11 | BrowserModule
12 | ],
13 | providers: [],
14 | bootstrap: [AppComponent]
15 | })
16 | export class AppModule { }
17 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/dashboard-table-view/angular/src/assets/.gitkeep
--------------------------------------------------------------------------------
/dashboard-table-view/angular/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/dashboard-table-view/angular/src/favicon.ico
--------------------------------------------------------------------------------
/dashboard-table-view/angular/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Table View in SurveyJS Dashboard for Angular
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 |
4 | import { AppModule } from './app/app.module';
5 | import { environment } from './environments/environment';
6 |
7 | if (environment.production) {
8 | enableProdMode();
9 | }
10 |
11 | platformBrowserDynamic().bootstrapModule(AppModule)
12 | .catch(err => console.error(err));
13 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/src/styles.css:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js/testing';
4 | import { getTestBed } from '@angular/core/testing';
5 | import {
6 | BrowserDynamicTestingModule,
7 | platformBrowserDynamicTesting
8 | } from '@angular/platform-browser-dynamic/testing';
9 |
10 | // First, initialize the Angular testing environment.
11 | getTestBed().initTestEnvironment(
12 | BrowserDynamicTestingModule,
13 | platformBrowserDynamicTesting(),
14 | );
15 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/app",
6 | "types": []
7 | },
8 | "files": [
9 | "src/main.ts",
10 | "src/polyfills.ts"
11 | ],
12 | "include": [
13 | "src/**/*.d.ts"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/dashboard-table-view/angular/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/spec",
6 | "types": [
7 | "jasmine"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts",
12 | "src/polyfills.ts"
13 | ],
14 | "include": [
15 | "src/**/*.spec.ts",
16 | "src/**/*.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/dashboard-table-view/html-css-js/README.md:
--------------------------------------------------------------------------------
1 | # Table View - SurveyJS Dashboard
2 |
3 | This example is used in the following help topic: [Table View for Survey Results in a JavaScript Application](https://surveyjs.io/dashboard/documentation/set-up-table-view/html-css-javascript). To run the example, open `index.html` in your browser.
--------------------------------------------------------------------------------
/dashboard-table-view/jquery/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Table View - SurveyJS Dashboard for jQuery
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/dashboard-table-view/knockout/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Table View - SurveyJS Dashboard for Knockout
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/dashboard-table-view/react/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.*
7 | .yarn/*
8 | !.yarn/patches
9 | !.yarn/plugins
10 | !.yarn/releases
11 | !.yarn/versions
12 |
13 | # testing
14 | /coverage
15 |
16 | # next.js
17 | /.next/
18 | /out/
19 |
20 | # production
21 | /build
22 |
23 | # misc
24 | .DS_Store
25 | *.pem
26 |
27 | # debug
28 | npm-debug.log*
29 | yarn-debug.log*
30 | yarn-error.log*
31 | .pnpm-debug.log*
32 |
33 | # env files (can opt-in for committing if needed)
34 | .env*
35 |
36 | # vercel
37 | .vercel
38 |
39 | # typescript
40 | *.tsbuildinfo
41 | next-env.d.ts
42 |
--------------------------------------------------------------------------------
/dashboard-table-view/react/README.md:
--------------------------------------------------------------------------------
1 | # Table View - SurveyJS Dashboard for React
2 |
3 | This example is used in the following help topic: [Table View for Survey Results in a React Application](https://surveyjs.io/dashboard/documentation/set-up-table-view/react). It is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/pages/api-reference/create-next-app).
4 |
5 | ## Run the Application
6 |
7 | ```bash
8 | npm run dev
9 | ```
10 |
11 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
12 |
--------------------------------------------------------------------------------
/dashboard-table-view/react/next.config.ts:
--------------------------------------------------------------------------------
1 | import type { NextConfig } from "next";
2 |
3 | const nextConfig: NextConfig = {
4 | /* config options here */
5 | reactStrictMode: true,
6 | };
7 |
8 | export default nextConfig;
9 |
--------------------------------------------------------------------------------
/dashboard-table-view/react/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | const config = {
2 | plugins: ["@tailwindcss/postcss"],
3 | };
4 |
5 | export default config;
6 |
--------------------------------------------------------------------------------
/dashboard-table-view/react/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/dashboard-table-view/react/public/favicon.ico
--------------------------------------------------------------------------------
/dashboard-table-view/react/public/file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dashboard-table-view/react/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dashboard-table-view/react/public/window.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dashboard-table-view/react/src/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import '../styles/globals.css'
2 | import type { AppProps } from 'next/app'
3 |
4 | export default function MyApp({ Component, pageProps }: AppProps) {
5 | return
6 | }
--------------------------------------------------------------------------------
/dashboard-table-view/react/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import Head from "next/head";
2 | import dynamic from 'next/dynamic';
3 |
4 | const TableViewComponent = dynamic(() => import("@/components/Tabulator"), { ssr: false });
5 |
6 | export default function Home() {
7 | return (
8 | <>
9 |
10 | SurveyJS Dashboard for React - Table View
11 |
12 |
13 |
14 |
15 |
16 | >
17 | );
18 | }
--------------------------------------------------------------------------------
/dashboard-table-view/react/src/styles/globals.css:
--------------------------------------------------------------------------------
1 | /* Add global styles here */
--------------------------------------------------------------------------------
/dashboard-table-view/react/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2017",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "noEmit": true,
9 | "esModuleInterop": true,
10 | "module": "esnext",
11 | "moduleResolution": "bundler",
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "jsx": "preserve",
15 | "incremental": true,
16 | "paths": {
17 | "@/*": ["./src/*"]
18 | }
19 | },
20 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
21 | "exclude": ["node_modules"]
22 | }
23 |
--------------------------------------------------------------------------------
/dashboard-table-view/vue/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Table View - SurveyJS Dashboard for Vue 2
2 |
3 | Use the [Vue 3](../vue3/) example instead.
4 |
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | .DS_Store
12 | dist
13 | dist-ssr
14 | coverage
15 | *.local
16 |
17 | /cypress/videos/
18 | /cypress/screenshots/
19 |
20 | # Editor directories and files
21 | .vscode/*
22 | !.vscode/extensions.json
23 | .idea
24 | *.suo
25 | *.ntvs*
26 | *.njsproj
27 | *.sln
28 | *.sw?
29 |
30 | *.tsbuildinfo
31 |
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar"]
3 | }
4 |
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/README.md:
--------------------------------------------------------------------------------
1 | # Table View - SurveyJS Dashboard for Vue.js
2 |
3 | This example is used in the following help topic: [Table View for Survey Results in a Vue.js Application](https://surveyjs.io/dashboard/documentation/set-up-table-view/vue).
4 |
5 | ## Project Setup
6 |
7 | ```sh
8 | npm install
9 | ```
10 |
11 | ### Compile and Hot-Reload for Development
12 |
13 | ```sh
14 | npm run dev
15 | ```
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite App
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/dashboard-table-view/vue3/public/favicon.ico
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/src/App.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/src/assets/base.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/dashboard-table-view/vue3/src/assets/base.css
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/src/assets/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/src/assets/main.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/dashboard-table-view/vue3/src/assets/main.css
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/src/main.ts:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { createApp } from 'vue'
4 | import App from './App.vue'
5 |
6 | createApp(App).mount('#app')
7 |
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@vue/tsconfig/tsconfig.dom.json",
3 | "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
4 | "exclude": ["src/**/__tests__/*"],
5 | "compilerOptions": {
6 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
7 |
8 | "paths": {
9 | "@/*": ["./src/*"]
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [
4 | {
5 | "path": "./tsconfig.node.json"
6 | },
7 | {
8 | "path": "./tsconfig.app.json"
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@tsconfig/node22/tsconfig.json",
3 | "include": [
4 | "vite.config.*",
5 | "vitest.config.*",
6 | "cypress.config.*",
7 | "nightwatch.conf.*",
8 | "playwright.config.*",
9 | "eslint.config.*"
10 | ],
11 | "compilerOptions": {
12 | "noEmit": true,
13 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
14 |
15 | "module": "ESNext",
16 | "moduleResolution": "Bundler",
17 | "types": ["node"]
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/dashboard-table-view/vue3/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { fileURLToPath, URL } from 'node:url'
2 |
3 | import { defineConfig } from 'vite'
4 | import vue from '@vitejs/plugin-vue'
5 | import vueDevTools from 'vite-plugin-vue-devtools'
6 |
7 | // https://vite.dev/config/
8 | export default defineConfig({
9 | plugins: [
10 | vue(),
11 | vueDevTools(),
12 | ],
13 | resolve: {
14 | alias: {
15 | '@': fileURLToPath(new URL('./src', import.meta.url))
16 | },
17 | },
18 | })
19 |
--------------------------------------------------------------------------------
/get-started-analytics/angular/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/get-started-analytics/angular/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3 | "recommendations": ["angular.ng-template"]
4 | }
5 |
--------------------------------------------------------------------------------
/get-started-analytics/angular/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
3 | "version": "0.2.0",
4 | "configurations": [
5 | {
6 | "name": "ng serve",
7 | "type": "pwa-chrome",
8 | "request": "launch",
9 | "preLaunchTask": "npm: start",
10 | "url": "http://localhost:4200/"
11 | },
12 | {
13 | "name": "ng test",
14 | "type": "chrome",
15 | "request": "launch",
16 | "preLaunchTask": "npm: test",
17 | "url": "http://localhost:9876/debug.html"
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/get-started-analytics/angular/README.md:
--------------------------------------------------------------------------------
1 | # Get Started with SurveyJS Dashboard for Angular
2 |
3 | This example is used in the following help topic: [Add SurveyJS Dashboard to an Angular Application](https://surveyjs.io/dashboard/documentation/get-started-angular). It was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.2.13.
4 |
5 | ## Development server
6 |
7 | Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
8 |
--------------------------------------------------------------------------------
/get-started-analytics/angular/src/app/app.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-analytics/angular/src/app/app.component.css
--------------------------------------------------------------------------------
/get-started-analytics/angular/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-analytics/angular/src/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { BrowserModule } from '@angular/platform-browser';
3 |
4 | import { AppComponent } from './app.component';
5 |
6 | @NgModule({
7 | declarations: [
8 | AppComponent
9 | ],
10 | imports: [
11 | BrowserModule
12 | ],
13 | providers: [],
14 | bootstrap: [AppComponent]
15 | })
16 | export class AppModule { }
17 |
--------------------------------------------------------------------------------
/get-started-analytics/angular/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-analytics/angular/src/assets/.gitkeep
--------------------------------------------------------------------------------
/get-started-analytics/angular/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/get-started-analytics/angular/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-analytics/angular/src/favicon.ico
--------------------------------------------------------------------------------
/get-started-analytics/angular/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SurveyJS Analytics for Angular
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/get-started-analytics/angular/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 |
4 | import { AppModule } from './app/app.module';
5 | import { environment } from './environments/environment';
6 |
7 | if (environment.production) {
8 | enableProdMode();
9 | }
10 |
11 | platformBrowserDynamic().bootstrapModule(AppModule)
12 | .catch(err => console.error(err));
13 |
--------------------------------------------------------------------------------
/get-started-analytics/angular/src/styles.css:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/get-started-analytics/angular/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js/testing';
4 | import { getTestBed } from '@angular/core/testing';
5 | import {
6 | BrowserDynamicTestingModule,
7 | platformBrowserDynamicTesting
8 | } from '@angular/platform-browser-dynamic/testing';
9 |
10 | // First, initialize the Angular testing environment.
11 | getTestBed().initTestEnvironment(
12 | BrowserDynamicTestingModule,
13 | platformBrowserDynamicTesting(),
14 | );
15 |
--------------------------------------------------------------------------------
/get-started-analytics/angular/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/app",
6 | "types": []
7 | },
8 | "files": [
9 | "src/main.ts",
10 | "src/polyfills.ts"
11 | ],
12 | "include": [
13 | "src/**/*.d.ts"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/get-started-analytics/angular/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/spec",
6 | "types": [
7 | "jasmine"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts",
12 | "src/polyfills.ts"
13 | ],
14 | "include": [
15 | "src/**/*.spec.ts",
16 | "src/**/*.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/get-started-analytics/html-css-js/README.md:
--------------------------------------------------------------------------------
1 | # Get Started with SurveyJS Dashboard
2 |
3 | This example is used in the following help topic: [Add SurveyJS Dashboard to a JavaScript Application](https://surveyjs.io/dashboard/documentation/get-started-html-css-javascript). To run the example, open `index.html` in your browser.
--------------------------------------------------------------------------------
/get-started-analytics/jquery/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Get Started with SurveyJS Dashboard for jQuery
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/get-started-analytics/knockout/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Get Started with SurveyJS Dashboard for Knockout
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/get-started-analytics/react/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.*
7 | .yarn/*
8 | !.yarn/patches
9 | !.yarn/plugins
10 | !.yarn/releases
11 | !.yarn/versions
12 |
13 | # testing
14 | /coverage
15 |
16 | # next.js
17 | /.next/
18 | /out/
19 |
20 | # production
21 | /build
22 |
23 | # misc
24 | .DS_Store
25 | *.pem
26 |
27 | # debug
28 | npm-debug.log*
29 | yarn-debug.log*
30 | yarn-error.log*
31 | .pnpm-debug.log*
32 |
33 | # env files (can opt-in for committing if needed)
34 | .env*
35 |
36 | # vercel
37 | .vercel
38 |
39 | # typescript
40 | *.tsbuildinfo
41 | next-env.d.ts
42 |
--------------------------------------------------------------------------------
/get-started-analytics/react/README.md:
--------------------------------------------------------------------------------
1 | # Get Started with SurveyJS Dashboard for React
2 |
3 | This example is used in the following help topic: [Add SurveyJS Dashboard to a React Application](https://surveyjs.io/dashboard/documentation/get-started-react). It is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/pages/api-reference/create-next-app).
4 |
5 | ## Run the Application
6 |
7 | ```bash
8 | npm run dev
9 | ```
10 |
11 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
12 |
--------------------------------------------------------------------------------
/get-started-analytics/react/next.config.ts:
--------------------------------------------------------------------------------
1 | import type { NextConfig } from "next";
2 |
3 | const nextConfig: NextConfig = {
4 | /* config options here */
5 | reactStrictMode: true,
6 | };
7 |
8 | export default nextConfig;
9 |
--------------------------------------------------------------------------------
/get-started-analytics/react/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "surveyjs-dashboard-get-started-react",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint"
10 | },
11 | "dependencies": {
12 | "next": "15.2.2",
13 | "react": "^19.0.0",
14 | "react-dom": "^19.0.0",
15 | "survey-analytics": "^2.0.0"
16 | },
17 | "devDependencies": {
18 | "@tailwindcss/postcss": "^4",
19 | "@types/node": "^20",
20 | "@types/react": "^19",
21 | "@types/react-dom": "^19",
22 | "tailwindcss": "^4",
23 | "typescript": "^5"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/get-started-analytics/react/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | const config = {
2 | plugins: ["@tailwindcss/postcss"],
3 | };
4 |
5 | export default config;
6 |
--------------------------------------------------------------------------------
/get-started-analytics/react/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-analytics/react/public/favicon.ico
--------------------------------------------------------------------------------
/get-started-analytics/react/public/file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-analytics/react/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-analytics/react/public/window.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-analytics/react/src/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import '../styles/globals.css'
2 | import type { AppProps } from 'next/app'
3 |
4 | export default function MyApp({ Component, pageProps }: AppProps) {
5 | return
6 | }
--------------------------------------------------------------------------------
/get-started-analytics/react/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import Head from "next/head";
2 | import dynamic from 'next/dynamic';
3 |
4 | const DashboardComponent = dynamic(() => import("@/components/Dashboard"), { ssr: false });
5 |
6 | export default function Home() {
7 | return (
8 | <>
9 |
10 | SurveyJS Dashboard for React
11 |
12 |
13 |
14 |
15 |
16 | >
17 | );
18 | }
--------------------------------------------------------------------------------
/get-started-analytics/react/src/styles/globals.css:
--------------------------------------------------------------------------------
1 | /* Add global styles here */
--------------------------------------------------------------------------------
/get-started-analytics/react/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2017",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "noEmit": true,
9 | "esModuleInterop": true,
10 | "module": "esnext",
11 | "moduleResolution": "bundler",
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "jsx": "preserve",
15 | "incremental": true,
16 | "paths": {
17 | "@/*": ["./src/*"]
18 | }
19 | },
20 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
21 | "exclude": ["node_modules"]
22 | }
23 |
--------------------------------------------------------------------------------
/get-started-analytics/vue/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Get Started with SurveyJS Dashboard for Vue 2
2 |
3 | Use the [Vue 3](../vue3/) example instead.
--------------------------------------------------------------------------------
/get-started-analytics/vue3/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | .DS_Store
12 | dist
13 | dist-ssr
14 | coverage
15 | *.local
16 |
17 | /cypress/videos/
18 | /cypress/screenshots/
19 |
20 | # Editor directories and files
21 | .vscode/*
22 | !.vscode/extensions.json
23 | .idea
24 | *.suo
25 | *.ntvs*
26 | *.njsproj
27 | *.sln
28 | *.sw?
29 |
30 | *.tsbuildinfo
31 |
--------------------------------------------------------------------------------
/get-started-analytics/vue3/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar"]
3 | }
4 |
--------------------------------------------------------------------------------
/get-started-analytics/vue3/README.md:
--------------------------------------------------------------------------------
1 | # Get Started with SurveyJS Dashboard for Vue.js
2 |
3 | This example is used in the following help topic: [Add SurveyJS Dashboard to a Vue Application](https://surveyjs.io/dashboard/documentation/get-started-vue).
4 |
5 | ## Project Setup
6 |
7 | ```sh
8 | npm install
9 | ```
10 |
11 | ### Compile and Hot-Reload for Development
12 |
13 | ```sh
14 | npm run dev
15 | ```
--------------------------------------------------------------------------------
/get-started-analytics/vue3/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/get-started-analytics/vue3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite App
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/get-started-analytics/vue3/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-analytics/vue3/public/favicon.ico
--------------------------------------------------------------------------------
/get-started-analytics/vue3/src/App.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/get-started-analytics/vue3/src/assets/base.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-analytics/vue3/src/assets/base.css
--------------------------------------------------------------------------------
/get-started-analytics/vue3/src/assets/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/get-started-analytics/vue3/src/assets/main.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-analytics/vue3/src/assets/main.css
--------------------------------------------------------------------------------
/get-started-analytics/vue3/src/main.ts:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { createApp } from 'vue'
4 | import App from './App.vue'
5 |
6 | createApp(App).mount('#app')
7 |
--------------------------------------------------------------------------------
/get-started-analytics/vue3/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@vue/tsconfig/tsconfig.dom.json",
3 | "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
4 | "exclude": ["src/**/__tests__/*"],
5 | "compilerOptions": {
6 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
7 |
8 | "paths": {
9 | "@/*": ["./src/*"]
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/get-started-analytics/vue3/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [
4 | {
5 | "path": "./tsconfig.node.json"
6 | },
7 | {
8 | "path": "./tsconfig.app.json"
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/get-started-analytics/vue3/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@tsconfig/node22/tsconfig.json",
3 | "include": [
4 | "vite.config.*",
5 | "vitest.config.*",
6 | "cypress.config.*",
7 | "nightwatch.conf.*",
8 | "playwright.config.*",
9 | "eslint.config.*"
10 | ],
11 | "compilerOptions": {
12 | "noEmit": true,
13 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
14 |
15 | "module": "ESNext",
16 | "moduleResolution": "Bundler",
17 | "types": ["node"]
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/get-started-analytics/vue3/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { fileURLToPath, URL } from 'node:url'
2 |
3 | import { defineConfig } from 'vite'
4 | import vue from '@vitejs/plugin-vue'
5 | import vueDevTools from 'vite-plugin-vue-devtools'
6 |
7 | // https://vite.dev/config/
8 | export default defineConfig({
9 | plugins: [
10 | vue(),
11 | vueDevTools(),
12 | ],
13 | resolve: {
14 | alias: {
15 | '@': fileURLToPath(new URL('./src', import.meta.url))
16 | },
17 | },
18 | })
19 |
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3 | "recommendations": ["angular.ng-template"]
4 | }
5 |
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
3 | "version": "0.2.0",
4 | "configurations": [
5 | {
6 | "name": "ng serve",
7 | "type": "chrome",
8 | "request": "launch",
9 | "preLaunchTask": "npm: start",
10 | "url": "http://localhost:4200/"
11 | },
12 | {
13 | "name": "ng test",
14 | "type": "chrome",
15 | "request": "launch",
16 | "preLaunchTask": "npm: test",
17 | "url": "http://localhost:9876/debug.html"
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/src/app/app.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-creator/angular-standalone-components/src/app/app.component.css
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { RouterOutlet } from '@angular/router';
3 | import { SurveyCreatorComponent } from './survey-creator/survey-creator.component';
4 |
5 | @Component({
6 | selector: 'app-root',
7 | standalone: true,
8 | imports: [RouterOutlet, SurveyCreatorComponent],
9 | templateUrl: './app.component.html',
10 | styleUrl: './app.component.css'
11 | })
12 | export class AppComponent {
13 | title = 'Get Started with SurveyJS Form Builder for Angular';
14 | }
15 |
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/src/app/app.config.ts:
--------------------------------------------------------------------------------
1 | import { ApplicationConfig } from '@angular/core';
2 | import { provideRouter } from '@angular/router';
3 |
4 | import { routes } from './app.routes';
5 |
6 | export const appConfig: ApplicationConfig = {
7 | providers: [provideRouter(routes)]
8 | };
9 |
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/src/app/app.routes.ts:
--------------------------------------------------------------------------------
1 | import { Routes } from '@angular/router';
2 |
3 | export const routes: Routes = [];
4 |
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/src/app/survey-creator/survey-creator.component.css:
--------------------------------------------------------------------------------
1 | #surveyCreator {
2 | height: 100vh;
3 | width: 100vw;
4 | }
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/src/app/survey-creator/survey-creator.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-creator/angular-standalone-components/src/assets/.gitkeep
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-creator/angular-standalone-components/src/favicon.ico
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SurveyJS Form Builder - Standalone Angular Components
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/src/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrapApplication } from '@angular/platform-browser';
2 | import { appConfig } from './app/app.config';
3 | import { AppComponent } from './app/app.component';
4 |
5 | bootstrapApplication(AppComponent, appConfig)
6 | .catch((err) => console.error(err));
7 |
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/src/styles.css:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/app",
6 | "types": []
7 | },
8 | "files": [
9 | "src/main.ts"
10 | ],
11 | "include": [
12 | "src/**/*.d.ts"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/get-started-creator/angular-standalone-components/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/spec",
6 | "types": [
7 | "jasmine"
8 | ]
9 | },
10 | "include": [
11 | "src/**/*.spec.ts",
12 | "src/**/*.d.ts"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/get-started-creator/angular/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/get-started-creator/angular/.gitignore:
--------------------------------------------------------------------------------
1 | # See http://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # Compiled output
4 | /dist
5 | /tmp
6 | /out-tsc
7 | /bazel-out
8 |
9 | # Node
10 | /node_modules
11 | npm-debug.log
12 | yarn-error.log
13 |
14 | # IDEs and editors
15 | .idea/
16 | .project
17 | .classpath
18 | .c9/
19 | *.launch
20 | .settings/
21 | *.sublime-workspace
22 |
23 | # Visual Studio Code
24 | .vscode/*
25 | !.vscode/settings.json
26 | !.vscode/tasks.json
27 | !.vscode/launch.json
28 | !.vscode/extensions.json
29 | .history/*
30 |
31 | # Miscellaneous
32 | /.angular/cache
33 | .sass-cache/
34 | /connect.lock
35 | /coverage
36 | /libpeerconnection.log
37 | testem.log
38 | /typings
39 |
40 | # System files
41 | .DS_Store
42 | Thumbs.db
43 |
--------------------------------------------------------------------------------
/get-started-creator/angular/src/app/app.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-creator/angular/src/app/app.component.css
--------------------------------------------------------------------------------
/get-started-creator/angular/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-creator/angular/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-root',
5 | templateUrl: './app.component.html',
6 | styleUrls: ['./app.component.css']
7 | })
8 | export class AppComponent {
9 | title = 'get-started-creator-angular';
10 | }
11 |
--------------------------------------------------------------------------------
/get-started-creator/angular/src/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { BrowserModule } from '@angular/platform-browser';
3 | import { SurveyCreatorModule } from 'survey-creator-angular';
4 |
5 | import { AppComponent } from './app.component';
6 | import { SurveyCreatorComponent } from './survey-creator/survey-creator.component';
7 |
8 | @NgModule({
9 | declarations: [
10 | AppComponent,
11 | SurveyCreatorComponent
12 | ],
13 | imports: [
14 | BrowserModule,
15 | SurveyCreatorModule
16 | ],
17 | providers: [],
18 | bootstrap: [AppComponent]
19 | })
20 | export class AppModule { }
21 |
--------------------------------------------------------------------------------
/get-started-creator/angular/src/app/survey-creator/survey-creator.component.css:
--------------------------------------------------------------------------------
1 | #surveyCreator {
2 | height: 100vh;
3 | width: 100vw;
4 | }
--------------------------------------------------------------------------------
/get-started-creator/angular/src/app/survey-creator/survey-creator.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/get-started-creator/angular/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-creator/angular/src/assets/.gitkeep
--------------------------------------------------------------------------------
/get-started-creator/angular/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/get-started-creator/angular/src/environments/environment.ts:
--------------------------------------------------------------------------------
1 | // This file can be replaced during build by using the `fileReplacements` array.
2 | // `ng build` replaces `environment.ts` with `environment.prod.ts`.
3 | // The list of file replacements can be found in `angular.json`.
4 |
5 | export const environment = {
6 | production: false
7 | };
8 |
9 | /*
10 | * For easier debugging in development mode, you can import the following file
11 | * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
12 | *
13 | * This import should be commented out in production mode because it will have a negative impact
14 | * on performance if an error is thrown.
15 | */
16 | // import 'zone.js/plugins/zone-error'; // Included with Angular CLI.
17 |
--------------------------------------------------------------------------------
/get-started-creator/angular/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-creator/angular/src/favicon.ico
--------------------------------------------------------------------------------
/get-started-creator/angular/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Survey Creator for Angular
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/get-started-creator/angular/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 |
4 | import { AppModule } from './app/app.module';
5 | import { environment } from './environments/environment';
6 |
7 | if (environment.production) {
8 | enableProdMode();
9 | }
10 |
11 | platformBrowserDynamic().bootstrapModule(AppModule)
12 | .catch(err => console.error(err));
13 |
--------------------------------------------------------------------------------
/get-started-creator/angular/src/styles.css:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/get-started-creator/angular/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js/testing';
4 | import { getTestBed } from '@angular/core/testing';
5 | import {
6 | BrowserDynamicTestingModule,
7 | platformBrowserDynamicTesting
8 | } from '@angular/platform-browser-dynamic/testing';
9 |
10 | // First, initialize the Angular testing environment.
11 | getTestBed().initTestEnvironment(
12 | BrowserDynamicTestingModule,
13 | platformBrowserDynamicTesting(),
14 | );
15 |
--------------------------------------------------------------------------------
/get-started-creator/angular/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/app",
6 | "types": []
7 | },
8 | "files": [
9 | "src/main.ts",
10 | "src/polyfills.ts"
11 | ],
12 | "include": [
13 | "src/**/*.d.ts"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/get-started-creator/angular/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/spec",
6 | "types": [
7 | "jasmine"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts",
12 | "src/polyfills.ts"
13 | ],
14 | "include": [
15 | "src/**/*.spec.ts",
16 | "src/**/*.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/get-started-creator/html-css-js/README.md:
--------------------------------------------------------------------------------
1 | # Get Started with Survey Creator / Form Builder
2 |
3 | This example is used in the following help topic: [Add Survey Creator / Form Builder to a JavaScript Application](https://surveyjs.io/survey-creator/documentation/get-started-html-css-javascript). To run the example, open `index.html` in your browser.
--------------------------------------------------------------------------------
/get-started-creator/jquery/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Get Started with Survey Creator / Form Builder - jQuery
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/get-started-creator/knockout/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Get Started with Survey Creator / Form Builder - Knockout
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/get-started-creator/react/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.*
7 | .yarn/*
8 | !.yarn/patches
9 | !.yarn/plugins
10 | !.yarn/releases
11 | !.yarn/versions
12 |
13 | # testing
14 | /coverage
15 |
16 | # next.js
17 | /.next/
18 | /out/
19 |
20 | # production
21 | /build
22 |
23 | # misc
24 | .DS_Store
25 | *.pem
26 |
27 | # debug
28 | npm-debug.log*
29 | yarn-debug.log*
30 | yarn-error.log*
31 | .pnpm-debug.log*
32 |
33 | # env files (can opt-in for committing if needed)
34 | .env*
35 |
36 | # vercel
37 | .vercel
38 |
39 | # typescript
40 | *.tsbuildinfo
41 | next-env.d.ts
42 |
--------------------------------------------------------------------------------
/get-started-creator/react/README.md:
--------------------------------------------------------------------------------
1 | # Get Started with Survey Creator / Form Builder for React
2 |
3 | This example is used in the following help topic: [Add Survey Creator / Form Builder to a React Application](https://surveyjs.io/survey-creator/documentation/get-started-react). It is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/pages/api-reference/create-next-app).
4 |
5 | ## Run the Application
6 |
7 | ```bash
8 | npm run dev
9 | ```
10 |
11 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
12 |
--------------------------------------------------------------------------------
/get-started-creator/react/next.config.ts:
--------------------------------------------------------------------------------
1 | import type { NextConfig } from "next";
2 |
3 | const nextConfig: NextConfig = {
4 | /* config options here */
5 | reactStrictMode: true,
6 | };
7 |
8 | export default nextConfig;
9 |
--------------------------------------------------------------------------------
/get-started-creator/react/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "surveyjs-form-builder-get-started-react",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint"
10 | },
11 | "dependencies": {
12 | "ace-builds": "^1.39.0",
13 | "next": "15.2.2",
14 | "react": "^19.0.0",
15 | "react-dom": "^19.0.0",
16 | "survey-creator-react": "^2.0.0"
17 | },
18 | "devDependencies": {
19 | "@tailwindcss/postcss": "^4",
20 | "@types/node": "^20",
21 | "@types/react": "^19",
22 | "@types/react-dom": "^19",
23 | "tailwindcss": "^4",
24 | "typescript": "^5"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/get-started-creator/react/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | const config = {
2 | plugins: ["@tailwindcss/postcss"],
3 | };
4 |
5 | export default config;
6 |
--------------------------------------------------------------------------------
/get-started-creator/react/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-creator/react/public/favicon.ico
--------------------------------------------------------------------------------
/get-started-creator/react/public/file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-creator/react/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-creator/react/public/window.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-creator/react/src/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import '../styles/globals.css'
2 | import type { AppProps } from 'next/app'
3 |
4 | export default function MyApp({ Component, pageProps }: AppProps) {
5 | return
6 | }
--------------------------------------------------------------------------------
/get-started-creator/react/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import Head from "next/head";
2 | import dynamic from 'next/dynamic';
3 |
4 | const SurveyCreatorComponent = dynamic(() => import("@/components/SurveyCreator"), { ssr: false });
5 |
6 | export default function Home() {
7 | return (
8 | <>
9 |
10 | SurveyJS React Form Builder
11 |
12 |
13 |
14 |
15 |
16 | >
17 | );
18 | }
--------------------------------------------------------------------------------
/get-started-creator/react/src/styles/globals.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | }
--------------------------------------------------------------------------------
/get-started-creator/react/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2017",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "noEmit": true,
9 | "esModuleInterop": true,
10 | "module": "esnext",
11 | "moduleResolution": "bundler",
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "jsx": "preserve",
15 | "incremental": true,
16 | "paths": {
17 | "@/*": ["./src/*"]
18 | }
19 | },
20 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
21 | "exclude": ["node_modules"]
22 | }
23 |
--------------------------------------------------------------------------------
/get-started-creator/vue/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Get Started with Survey Creator / Form Builder - Vue 2
2 |
3 | Use the [Vue 3 example](../vue3/) instead.
--------------------------------------------------------------------------------
/get-started-creator/vue3/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | .DS_Store
12 | dist
13 | dist-ssr
14 | coverage
15 | *.local
16 |
17 | /cypress/videos/
18 | /cypress/screenshots/
19 |
20 | # Editor directories and files
21 | .vscode/*
22 | !.vscode/extensions.json
23 | .idea
24 | *.suo
25 | *.ntvs*
26 | *.njsproj
27 | *.sln
28 | *.sw?
29 |
30 | *.tsbuildinfo
31 |
--------------------------------------------------------------------------------
/get-started-creator/vue3/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
3 | }
4 |
--------------------------------------------------------------------------------
/get-started-creator/vue3/README.md:
--------------------------------------------------------------------------------
1 | # Get Started with Survey Creator / Form Builder - Vue 3
2 |
3 | This example is used in the following help topic: [Add Survey Creator to a Vue 3 Application](https://surveyjs.io/survey-creator/documentation/get-started-vue#add-survey-creator-to-a-vue-3-application).
4 |
5 | ## Project setup
6 |
7 | ```
8 | npm install
9 | ```
10 |
11 | ## Compile and hot-reload for development
12 |
13 | ```
14 | npm run dev
15 | ```
--------------------------------------------------------------------------------
/get-started-creator/vue3/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/get-started-creator/vue3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Get Started with Survey Creator for Vue 3
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/get-started-creator/vue3/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-creator/vue3/public/favicon.ico
--------------------------------------------------------------------------------
/get-started-creator/vue3/src/App.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/get-started-creator/vue3/src/assets/base.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-creator/vue3/src/assets/base.css
--------------------------------------------------------------------------------
/get-started-creator/vue3/src/assets/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/get-started-creator/vue3/src/assets/main.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-creator/vue3/src/assets/main.css
--------------------------------------------------------------------------------
/get-started-creator/vue3/src/main.ts:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { createApp } from "vue";
4 | import App from "./App.vue";
5 |
6 | createApp(App).mount("#app");
--------------------------------------------------------------------------------
/get-started-creator/vue3/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@vue/tsconfig/tsconfig.dom.json",
3 | "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
4 | "exclude": ["src/**/__tests__/*"],
5 | "compilerOptions": {
6 | "composite": true,
7 | "noEmit": true,
8 | "baseUrl": ".",
9 | "paths": {
10 | "@/*": ["./src/*"]
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/get-started-creator/vue3/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [
4 | {
5 | "path": "./tsconfig.node.json"
6 | },
7 | {
8 | "path": "./tsconfig.app.json"
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/get-started-creator/vue3/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@tsconfig/node18/tsconfig.json",
3 | "include": [
4 | "vite.config.*",
5 | "vitest.config.*",
6 | "cypress.config.*",
7 | "nightwatch.conf.*",
8 | "playwright.config.*"
9 | ],
10 | "compilerOptions": {
11 | "composite": true,
12 | "noEmit": true,
13 | "module": "ESNext",
14 | "moduleResolution": "Bundler",
15 | "types": ["node"]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/get-started-creator/vue3/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { fileURLToPath, URL } from 'node:url'
2 |
3 | import { defineConfig } from 'vite'
4 | import vue from '@vitejs/plugin-vue'
5 |
6 | // https://vitejs.dev/config/
7 | export default defineConfig({
8 | plugins: [
9 | vue(),
10 | ],
11 | resolve: {
12 | alias: {
13 | '@': fileURLToPath(new URL('./src', import.meta.url))
14 | }
15 | }
16 | })
17 |
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3 | "recommendations": ["angular.ng-template"]
4 | }
5 |
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
3 | "version": "0.2.0",
4 | "configurations": [
5 | {
6 | "name": "ng serve",
7 | "type": "chrome",
8 | "request": "launch",
9 | "preLaunchTask": "npm: start",
10 | "url": "http://localhost:4200/"
11 | },
12 | {
13 | "name": "ng test",
14 | "type": "chrome",
15 | "request": "launch",
16 | "preLaunchTask": "npm: test",
17 | "url": "http://localhost:9876/debug.html"
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/src/app/app.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-library/angular-standalone-components/src/app/app.component.css
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/src/app/app.config.ts:
--------------------------------------------------------------------------------
1 | import { ApplicationConfig } from '@angular/core';
2 | import { provideRouter } from '@angular/router';
3 |
4 | import { routes } from './app.routes';
5 |
6 | export const appConfig: ApplicationConfig = {
7 | providers: [provideRouter(routes)]
8 | };
9 |
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/src/app/app.routes.ts:
--------------------------------------------------------------------------------
1 | import { Routes } from '@angular/router';
2 |
3 | export const routes: Routes = [];
4 |
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/src/app/survey/survey.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-library/angular-standalone-components/src/app/survey/survey.component.css
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/src/app/survey/survey.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-library/angular-standalone-components/src/assets/.gitkeep
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-library/angular-standalone-components/src/favicon.ico
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Get Started with SurveyJS Form Library for Angular
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/src/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrapApplication } from '@angular/platform-browser';
2 | import { appConfig } from './app/app.config';
3 | import { AppComponent } from './app/app.component';
4 |
5 | bootstrapApplication(AppComponent, appConfig)
6 | .catch((err) => console.error(err));
7 |
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/src/styles.css:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/app",
6 | "types": []
7 | },
8 | "files": [
9 | "src/main.ts"
10 | ],
11 | "include": [
12 | "src/**/*.d.ts"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/get-started-library/angular-standalone-components/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/spec",
6 | "types": [
7 | "jasmine"
8 | ]
9 | },
10 | "include": [
11 | "src/**/*.spec.ts",
12 | "src/**/*.d.ts"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/get-started-library/angular/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/get-started-library/angular/e2e/src/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, by, element } from 'protractor';
2 |
3 | export class AppPage {
4 | navigateTo(): Promise {
5 | return browser.get(browser.baseUrl) as Promise;
6 | }
7 |
8 | getTitleText(): Promise {
9 | return element(by.css('app-root .content span')).getText() as Promise;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/get-started-library/angular/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "../tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "../out-tsc/e2e",
6 | "module": "commonjs",
7 | "target": "es2018",
8 | "types": [
9 | "jasmine",
10 | "jasminewd2",
11 | "node"
12 | ]
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/get-started-library/angular/src/app/app.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-library/angular/src/app/app.component.css
--------------------------------------------------------------------------------
/get-started-library/angular/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-library/angular/src/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { BrowserModule } from '@angular/platform-browser';
2 | import { NgModule } from '@angular/core';
3 | import { SurveyModule } from "survey-angular-ui";
4 |
5 | import { AppComponent } from './app.component';
6 |
7 | @NgModule({
8 | declarations: [
9 | AppComponent
10 | ],
11 | imports: [
12 | BrowserModule,
13 | SurveyModule
14 | ],
15 | providers: [],
16 | bootstrap: [AppComponent]
17 | })
18 | export class AppModule { }
19 |
--------------------------------------------------------------------------------
/get-started-library/angular/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-library/angular/src/assets/.gitkeep
--------------------------------------------------------------------------------
/get-started-library/angular/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/get-started-library/angular/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-library/angular/src/favicon.ico
--------------------------------------------------------------------------------
/get-started-library/angular/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | My First Survey
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/get-started-library/angular/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 |
4 | import { AppModule } from './app/app.module';
5 | import { environment } from './environments/environment';
6 |
7 | if (environment.production) {
8 | enableProdMode();
9 | }
10 |
11 | platformBrowserDynamic().bootstrapModule(AppModule)
12 | .catch(err => console.error(err));
13 |
--------------------------------------------------------------------------------
/get-started-library/angular/src/styles.css:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/get-started-library/angular/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js/dist/zone-testing';
4 | import { getTestBed } from '@angular/core/testing';
5 | import {
6 | BrowserDynamicTestingModule,
7 | platformBrowserDynamicTesting
8 | } from '@angular/platform-browser-dynamic/testing';
9 |
10 | // First, initialize the Angular testing environment.
11 | getTestBed().initTestEnvironment(
12 | BrowserDynamicTestingModule,
13 | platformBrowserDynamicTesting()
14 | );
15 |
--------------------------------------------------------------------------------
/get-started-library/angular/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/app",
6 | "types": []
7 | },
8 | "files": [
9 | "src/main.ts",
10 | "src/polyfills.ts"
11 | ],
12 | "include": [
13 | "src/**/*.d.ts"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/get-started-library/angular/tsconfig.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "compileOnSave": false,
4 | "compilerOptions": {
5 | "baseUrl": "./",
6 | "outDir": "./dist/out-tsc",
7 | "sourceMap": true,
8 | "esModuleInterop": true,
9 | "declaration": false,
10 | "experimentalDecorators": true,
11 | "moduleResolution": "node",
12 | "importHelpers": true,
13 | "target": "ES2022",
14 | "module": "es2020",
15 | "lib": [
16 | "es2018",
17 | "dom"
18 | ],
19 | "useDefineForClassFields": false
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/get-started-library/angular/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/spec",
6 | "types": [
7 | "jasmine"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts",
12 | "src/polyfills.ts"
13 | ],
14 | "include": [
15 | "src/**/*.spec.ts",
16 | "src/**/*.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/get-started-library/html-css-js/README.md:
--------------------------------------------------------------------------------
1 | # Get Started with SurveyJS Form Library
2 |
3 | This example is used in the following help topic: [Add a Survey to a JavaScript Application](https://surveyjs.io/form-library/documentation/get-started-html-css-javascript). To run the example, open `index.html` in your browser.
--------------------------------------------------------------------------------
/get-started-library/html-css-js/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | My First Survey
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/get-started-library/jquery/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Get Started with SurveyJS - jQuery
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/get-started-library/knockout/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Get Started with SurveyJS - Knockout
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/get-started-library/react/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.*
7 | .yarn/*
8 | !.yarn/patches
9 | !.yarn/plugins
10 | !.yarn/releases
11 | !.yarn/versions
12 |
13 | # testing
14 | /coverage
15 |
16 | # next.js
17 | /.next/
18 | /out/
19 |
20 | # production
21 | /build
22 |
23 | # misc
24 | .DS_Store
25 | *.pem
26 |
27 | # debug
28 | npm-debug.log*
29 | yarn-debug.log*
30 | yarn-error.log*
31 | .pnpm-debug.log*
32 |
33 | # env files (can opt-in for committing if needed)
34 | .env*
35 |
36 | # vercel
37 | .vercel
38 |
39 | # typescript
40 | *.tsbuildinfo
41 | next-env.d.ts
42 |
--------------------------------------------------------------------------------
/get-started-library/react/README.md:
--------------------------------------------------------------------------------
1 | # Get Started with SurveyJS React Form Library
2 |
3 | This example is used in the following help topic: [Add a Survey to a React Application](https://surveyjs.io/form-library/documentation/get-started-react). It is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/pages/api-reference/create-next-app).
4 |
5 | ## Run the Application
6 |
7 | ```bash
8 | npm run dev
9 | ```
10 |
11 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
12 |
--------------------------------------------------------------------------------
/get-started-library/react/next.config.ts:
--------------------------------------------------------------------------------
1 | import type { NextConfig } from "next";
2 |
3 | const nextConfig: NextConfig = {
4 | /* config options here */
5 | reactStrictMode: true,
6 | };
7 |
8 | export default nextConfig;
9 |
--------------------------------------------------------------------------------
/get-started-library/react/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "surveyjs-form-library-get-started-react",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint"
10 | },
11 | "dependencies": {
12 | "next": "15.2.2",
13 | "react": "^19.0.0",
14 | "react-dom": "^19.0.0",
15 | "survey-react-ui": "^2.0.0"
16 | },
17 | "devDependencies": {
18 | "@tailwindcss/postcss": "^4",
19 | "@types/node": "^20",
20 | "@types/react": "^19",
21 | "@types/react-dom": "^19",
22 | "tailwindcss": "^4",
23 | "typescript": "^5"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/get-started-library/react/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | const config = {
2 | plugins: ["@tailwindcss/postcss"],
3 | };
4 |
5 | export default config;
6 |
--------------------------------------------------------------------------------
/get-started-library/react/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-library/react/public/favicon.ico
--------------------------------------------------------------------------------
/get-started-library/react/public/file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-library/react/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-library/react/public/window.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-library/react/src/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import '../styles/globals.css'
2 | import type { AppProps } from 'next/app'
3 |
4 | export default function MyApp({ Component, pageProps }: AppProps) {
5 | return
6 | }
--------------------------------------------------------------------------------
/get-started-library/react/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import Head from "next/head";
2 | import dynamic from 'next/dynamic';
3 |
4 | const SurveyComponent = dynamic(() => import("@/components/Survey"), { ssr: false });
5 |
6 | export default function Home() {
7 | return (
8 | <>
9 |
10 | My First Survey
11 |
12 |
13 |
14 |
15 |
16 | >
17 | );
18 | }
--------------------------------------------------------------------------------
/get-started-library/react/src/styles/globals.css:
--------------------------------------------------------------------------------
1 | /* Add global styles here */
--------------------------------------------------------------------------------
/get-started-library/react/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2017",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "noEmit": true,
9 | "esModuleInterop": true,
10 | "module": "esnext",
11 | "moduleResolution": "bundler",
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "jsx": "preserve",
15 | "incremental": true,
16 | "paths": {
17 | "@/*": ["./src/*"]
18 | }
19 | },
20 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
21 | "exclude": ["node_modules"]
22 | }
23 |
--------------------------------------------------------------------------------
/get-started-library/vue/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Get Started with SurveyJS - Vue 2
2 |
3 | Use the [Vue 3](../vue3/) example instead.
--------------------------------------------------------------------------------
/get-started-library/vue3/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | .DS_Store
12 | dist
13 | dist-ssr
14 | coverage
15 | *.local
16 |
17 | /cypress/videos/
18 | /cypress/screenshots/
19 |
20 | # Editor directories and files
21 | .vscode/*
22 | !.vscode/extensions.json
23 | .idea
24 | *.suo
25 | *.ntvs*
26 | *.njsproj
27 | *.sln
28 | *.sw?
29 |
--------------------------------------------------------------------------------
/get-started-library/vue3/README.md:
--------------------------------------------------------------------------------
1 | # Get Started with SurveyJS - Vue 3
2 |
3 | This example is used in the following help topic: [Add a Survey to a Vue 3 Application](https://surveyjs.io/form-library/documentation/get-started-vue#add-a-survey-to-a-vue-3-application).
4 |
5 | ## Project setup
6 |
7 | ```
8 | npm install
9 | ```
10 |
11 | ## Compile and hot-reload for development
12 |
13 | ```
14 | npm run dev
15 | ```
--------------------------------------------------------------------------------
/get-started-library/vue3/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/get-started-library/vue3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | My First Survey
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/get-started-library/vue3/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-library/vue3/public/favicon.ico
--------------------------------------------------------------------------------
/get-started-library/vue3/src/App.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/get-started-library/vue3/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | createApp(App).mount('#app')
--------------------------------------------------------------------------------
/get-started-library/vue3/src/shims-vue.d.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | declare module "*.vue" {
3 | import type { DefineComponent } from "vue"
4 | const component: DefineComponent<{}, {}, any>
5 | export default component
6 | }
--------------------------------------------------------------------------------
/get-started-library/vue3/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@vue/tsconfig/tsconfig.dom.json",
3 | "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
4 | "exclude": ["src/**/__tests__/*"],
5 | "compilerOptions": {
6 | "composite": true,
7 | "baseUrl": ".",
8 | "paths": {
9 | "@/*": ["./src/*"]
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/get-started-library/vue3/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [
4 | {
5 | "path": "./tsconfig.node.json"
6 | },
7 | {
8 | "path": "./tsconfig.app.json"
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/get-started-library/vue3/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@tsconfig/node18/tsconfig.json",
3 | "include": [
4 | "vite.config.*",
5 | "vitest.config.*",
6 | "cypress.config.*",
7 | "nightwatch.conf.*",
8 | "playwright.config.*"
9 | ],
10 | "compilerOptions": {
11 | "composite": true,
12 | "module": "ESNext",
13 | "moduleResolution": "Bundler",
14 | "types": ["node"]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/get-started-library/vue3/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { fileURLToPath, URL } from 'node:url'
2 |
3 | import { defineConfig } from 'vite'
4 | import vue from '@vitejs/plugin-vue'
5 |
6 | // https://vitejs.dev/config/
7 | export default defineConfig({
8 | plugins: [
9 | vue(),
10 | ],
11 | resolve: {
12 | alias: {
13 | '@': fileURLToPath(new URL('./src', import.meta.url))
14 | }
15 | }
16 | })
17 |
--------------------------------------------------------------------------------
/get-started-pdf/angular/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/get-started-pdf/angular/.gitignore:
--------------------------------------------------------------------------------
1 | # See http://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # Compiled output
4 | /dist
5 | /tmp
6 | /out-tsc
7 | /bazel-out
8 |
9 | # Node
10 | /node_modules
11 | npm-debug.log
12 | yarn-error.log
13 |
14 | # IDEs and editors
15 | .idea/
16 | .project
17 | .classpath
18 | .c9/
19 | *.launch
20 | .settings/
21 | *.sublime-workspace
22 |
23 | # Visual Studio Code
24 | .vscode/*
25 | !.vscode/settings.json
26 | !.vscode/tasks.json
27 | !.vscode/launch.json
28 | !.vscode/extensions.json
29 | .history/*
30 |
31 | # Miscellaneous
32 | /.angular/cache
33 | .sass-cache/
34 | /connect.lock
35 | /coverage
36 | /libpeerconnection.log
37 | testem.log
38 | /typings
39 |
40 | # System files
41 | .DS_Store
42 | Thumbs.db
43 |
--------------------------------------------------------------------------------
/get-started-pdf/angular/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3 | "recommendations": ["angular.ng-template"]
4 | }
5 |
--------------------------------------------------------------------------------
/get-started-pdf/angular/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
3 | "version": "0.2.0",
4 | "configurations": [
5 | {
6 | "name": "ng serve",
7 | "type": "pwa-chrome",
8 | "request": "launch",
9 | "preLaunchTask": "npm: start",
10 | "url": "http://localhost:4200/"
11 | },
12 | {
13 | "name": "ng test",
14 | "type": "chrome",
15 | "request": "launch",
16 | "preLaunchTask": "npm: test",
17 | "url": "http://localhost:9876/debug.html"
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/get-started-pdf/angular/README.md:
--------------------------------------------------------------------------------
1 | # Export Survey to PDF (SurveyJS for Angular)
2 |
3 | This example is used in the following help topic: [Export Survey to PDF in an Angular Application](https://surveyjs.io/Documentation/Pdf-Export?id=get-started-angular). It was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.2.13.
4 |
5 | ## Development server
6 |
7 | Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
--------------------------------------------------------------------------------
/get-started-pdf/angular/src/app/app.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-pdf/angular/src/app/app.component.css
--------------------------------------------------------------------------------
/get-started-pdf/angular/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-pdf/angular/src/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { BrowserModule } from '@angular/platform-browser';
2 | import { NgModule } from '@angular/core';
3 | import { SurveyModule } from "survey-angular-ui";
4 |
5 | import { AppComponent } from './app.component';
6 |
7 | @NgModule({
8 | declarations: [
9 | AppComponent
10 | ],
11 | imports: [
12 | BrowserModule,
13 | SurveyModule
14 | ],
15 | providers: [],
16 | bootstrap: [AppComponent]
17 | })
18 | export class AppModule { }
--------------------------------------------------------------------------------
/get-started-pdf/angular/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-pdf/angular/src/assets/.gitkeep
--------------------------------------------------------------------------------
/get-started-pdf/angular/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/get-started-pdf/angular/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-pdf/angular/src/favicon.ico
--------------------------------------------------------------------------------
/get-started-pdf/angular/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Export Survey to PDF - SurveyJS for Angular
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/get-started-pdf/angular/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 |
4 | import { AppModule } from './app/app.module';
5 | import { environment } from './environments/environment';
6 |
7 | if (environment.production) {
8 | enableProdMode();
9 | }
10 |
11 | platformBrowserDynamic().bootstrapModule(AppModule)
12 | .catch(err => console.error(err));
13 |
--------------------------------------------------------------------------------
/get-started-pdf/angular/src/styles.css:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/get-started-pdf/angular/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js/testing';
4 | import { getTestBed } from '@angular/core/testing';
5 | import {
6 | BrowserDynamicTestingModule,
7 | platformBrowserDynamicTesting
8 | } from '@angular/platform-browser-dynamic/testing';
9 |
10 | // First, initialize the Angular testing environment.
11 | getTestBed().initTestEnvironment(
12 | BrowserDynamicTestingModule,
13 | platformBrowserDynamicTesting(),
14 | );
15 |
--------------------------------------------------------------------------------
/get-started-pdf/angular/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/app",
6 | "types": []
7 | },
8 | "files": [
9 | "src/main.ts",
10 | "src/polyfills.ts"
11 | ],
12 | "include": [
13 | "src/**/*.d.ts"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/get-started-pdf/angular/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/spec",
6 | "types": [
7 | "jasmine"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts",
12 | "src/polyfills.ts"
13 | ],
14 | "include": [
15 | "src/**/*.spec.ts",
16 | "src/**/*.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/get-started-pdf/html-css-js/README.md:
--------------------------------------------------------------------------------
1 | # Export Survey to PDF
2 |
3 | This example is used in the following help topic: [Export Survey to PDF in a JavaScript Application](https://surveyjs.io/pdf-generator/documentation/get-started-html-css-javascript). To run the example, open `index.html` in your browser.
--------------------------------------------------------------------------------
/get-started-pdf/jquery/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Export Survey to PDF (SurveyJS for jQuery)
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/get-started-pdf/knockout/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Export Survey to PDF (SurveyJS for Knockout)
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/get-started-pdf/react/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.*
7 | .yarn/*
8 | !.yarn/patches
9 | !.yarn/plugins
10 | !.yarn/releases
11 | !.yarn/versions
12 |
13 | # testing
14 | /coverage
15 |
16 | # next.js
17 | /.next/
18 | /out/
19 |
20 | # production
21 | /build
22 |
23 | # misc
24 | .DS_Store
25 | *.pem
26 |
27 | # debug
28 | npm-debug.log*
29 | yarn-debug.log*
30 | yarn-error.log*
31 | .pnpm-debug.log*
32 |
33 | # env files (can opt-in for committing if needed)
34 | .env*
35 |
36 | # vercel
37 | .vercel
38 |
39 | # typescript
40 | *.tsbuildinfo
41 | next-env.d.ts
42 |
--------------------------------------------------------------------------------
/get-started-pdf/react/README.md:
--------------------------------------------------------------------------------
1 | # Export Survey to PDF (SurveyJS for React)
2 |
3 | This example is used in the following help topic: [Export Survey to PDF in a React Application](https://surveyjs.io/pdf-generator/documentation/get-started-react). It is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/pages/api-reference/create-next-app).
4 |
5 | ## Run the Application
6 |
7 | ```bash
8 | npm run dev
9 | ```
10 |
11 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
--------------------------------------------------------------------------------
/get-started-pdf/react/next.config.ts:
--------------------------------------------------------------------------------
1 | import type { NextConfig } from "next";
2 |
3 | const nextConfig: NextConfig = {
4 | /* config options here */
5 | reactStrictMode: true,
6 | };
7 |
8 | export default nextConfig;
9 |
--------------------------------------------------------------------------------
/get-started-pdf/react/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "surveyjs-pdf-generator-get-started-react",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint"
10 | },
11 | "dependencies": {
12 | "next": "15.2.2",
13 | "react": "^19.0.0",
14 | "react-dom": "^19.0.0",
15 | "survey-react-ui": "^2.0.0",
16 | "survey-pdf": "^2.0.0"
17 | },
18 | "devDependencies": {
19 | "@tailwindcss/postcss": "^4",
20 | "@types/node": "^20",
21 | "@types/react": "^19",
22 | "@types/react-dom": "^19",
23 | "tailwindcss": "^4",
24 | "typescript": "^5"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/get-started-pdf/react/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | const config = {
2 | plugins: ["@tailwindcss/postcss"],
3 | };
4 |
5 | export default config;
6 |
--------------------------------------------------------------------------------
/get-started-pdf/react/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-pdf/react/public/favicon.ico
--------------------------------------------------------------------------------
/get-started-pdf/react/public/file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-pdf/react/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-pdf/react/public/window.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/get-started-pdf/react/src/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import '../styles/globals.css'
2 | import type { AppProps } from 'next/app'
3 |
4 | export default function MyApp({ Component, pageProps }: AppProps) {
5 | return
6 | }
--------------------------------------------------------------------------------
/get-started-pdf/react/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import Head from "next/head";
2 | import dynamic from 'next/dynamic';
3 |
4 | const SurveyComponent = dynamic(() => import("@/components/Survey"), { ssr: false });
5 |
6 | export default function Home() {
7 | return (
8 | <>
9 |
10 | SurveyJS PDF Generator for React
11 |
12 |
13 |
14 |
15 |
16 | >
17 | );
18 | }
--------------------------------------------------------------------------------
/get-started-pdf/react/src/styles/globals.css:
--------------------------------------------------------------------------------
1 | /* Add global styles here */
--------------------------------------------------------------------------------
/get-started-pdf/react/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2017",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "noEmit": true,
9 | "esModuleInterop": true,
10 | "module": "esnext",
11 | "moduleResolution": "bundler",
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "jsx": "preserve",
15 | "incremental": true,
16 | "paths": {
17 | "@/*": ["./src/*"]
18 | }
19 | },
20 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
21 | "exclude": ["node_modules"]
22 | }
23 |
--------------------------------------------------------------------------------
/get-started-pdf/vue/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/get-started-pdf/vue/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Export Survey to PDF (SurveyJS for Vue 2)
2 |
3 | Use the [Vue 3](../vue3/) example instead.
--------------------------------------------------------------------------------
/get-started-pdf/vue/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/get-started-pdf/vue/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-pdf/vue/public/favicon.ico
--------------------------------------------------------------------------------
/get-started-pdf/vue/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Export Survey to PDF - SurveyJS for Vue
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/get-started-pdf/vue/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
17 |
--------------------------------------------------------------------------------
/get-started-pdf/vue/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-pdf/vue/src/assets/logo.png
--------------------------------------------------------------------------------
/get-started-pdf/vue/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 |
4 | Vue.config.productionTip = false
5 |
6 | new Vue({
7 | render: h => h(App),
8 | }).$mount('#app')
9 |
--------------------------------------------------------------------------------
/get-started-pdf/vue3/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | .DS_Store
12 | dist
13 | dist-ssr
14 | coverage
15 | *.local
16 |
17 | /cypress/videos/
18 | /cypress/screenshots/
19 |
20 | # Editor directories and files
21 | .vscode/*
22 | !.vscode/extensions.json
23 | .idea
24 | *.suo
25 | *.ntvs*
26 | *.njsproj
27 | *.sln
28 | *.sw?
29 |
--------------------------------------------------------------------------------
/get-started-pdf/vue3/README.md:
--------------------------------------------------------------------------------
1 | # Export Survey to PDF (SurveyJS for Vue.js)
2 |
3 | This example is used in the following help topic: [Export Survey to PDF in a Vue.js Application](https://surveyjs.io/pdf-generator/documentation/get-started-vue).
4 |
5 | ## Project setup
6 |
7 | ```
8 | npm install
9 | ```
10 |
11 | ## Compile and hot-reload for development
12 |
13 | ```
14 | npm run dev
15 | ```
--------------------------------------------------------------------------------
/get-started-pdf/vue3/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/get-started-pdf/vue3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | My First Survey
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/get-started-pdf/vue3/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/get-started-pdf/vue3/public/favicon.ico
--------------------------------------------------------------------------------
/get-started-pdf/vue3/src/App.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/get-started-pdf/vue3/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | createApp(App).mount('#app')
--------------------------------------------------------------------------------
/get-started-pdf/vue3/src/shims-vue.d.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | declare module "*.vue" {
3 | import type { DefineComponent } from "vue"
4 | const component: DefineComponent<{}, {}, any>
5 | export default component
6 | }
--------------------------------------------------------------------------------
/get-started-pdf/vue3/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@vue/tsconfig/tsconfig.dom.json",
3 | "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
4 | "exclude": ["src/**/__tests__/*"],
5 | "compilerOptions": {
6 | "composite": true,
7 | "baseUrl": ".",
8 | "paths": {
9 | "@/*": ["./src/*"]
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/get-started-pdf/vue3/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [
4 | {
5 | "path": "./tsconfig.node.json"
6 | },
7 | {
8 | "path": "./tsconfig.app.json"
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/get-started-pdf/vue3/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@tsconfig/node18/tsconfig.json",
3 | "include": [
4 | "vite.config.*",
5 | "vitest.config.*",
6 | "cypress.config.*",
7 | "nightwatch.conf.*",
8 | "playwright.config.*"
9 | ],
10 | "compilerOptions": {
11 | "composite": true,
12 | "module": "ESNext",
13 | "moduleResolution": "Bundler",
14 | "types": ["node"]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/get-started-pdf/vue3/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { fileURLToPath, URL } from 'node:url'
2 |
3 | import { defineConfig } from 'vite'
4 | import vue from '@vitejs/plugin-vue'
5 |
6 | // https://vitejs.dev/config/
7 | export default defineConfig({
8 | plugins: [
9 | vue(),
10 | ],
11 | resolve: {
12 | alias: {
13 | '@': fileURLToPath(new URL('./src', import.meta.url))
14 | }
15 | }
16 | })
17 |
--------------------------------------------------------------------------------
/icons/README.md:
--------------------------------------------------------------------------------
1 | # SurveyJS Icons
2 |
3 | This directory contains source code for an example embedded into the [Icons](https://surveyjs.io/Documentation/Library?id=icons) help topic on the SurveyJS website.
--------------------------------------------------------------------------------
/icons/index-form-library.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SurveyJS Icons
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/icons/index.css:
--------------------------------------------------------------------------------
1 | svg {
2 | height: 32px;
3 | width: 32px;
4 | margin-right: 10px;
5 | vertical-align: middle;
6 | }
7 |
8 | .icon-name {
9 | font-size: 14px;
10 | font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
11 | margin-top: 5px;
12 | color: #86929d;
13 | }
14 |
15 | .container {
16 | display: inline-block;
17 | width: 280px;
18 | padding: 0 15px 15px 0;
19 | }
--------------------------------------------------------------------------------
/icons/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SurveyJS Icons
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3 | "recommendations": ["angular.ng-template"]
4 | }
5 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
3 | "version": "0.2.0",
4 | "configurations": [
5 | {
6 | "name": "ng serve",
7 | "type": "pwa-chrome",
8 | "request": "launch",
9 | "preLaunchTask": "npm: start",
10 | "url": "http://localhost:4200/"
11 | },
12 | {
13 | "name": "ng test",
14 | "type": "chrome",
15 | "request": "launch",
16 | "preLaunchTask": "npm: test",
17 | "url": "http://localhost:9876/debug.html"
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/README.md:
--------------------------------------------------------------------------------
1 | # Integrate Third-Party Angular Components into SurveyJS
2 |
3 | This example is used in the following help topic: [Integrate Third-Party Angular Components](https://surveyjs.io/form-library/documentation/customize-question-types/third-party-component-integration-angular). It was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.2.13.
4 |
5 | ## Development server
6 |
7 | Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/app/app.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/integrate-third-party-angular-components/src/app/app.component.css
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { ColorPickerComponent } from './color-picker/color-picker.component';
3 |
4 | @Component({
5 | selector: 'app-root',
6 | templateUrl: './app.component.html',
7 | styleUrls: ['./app.component.css']
8 | })
9 | export class AppComponent {
10 | static declaration = [ColorPickerComponent];
11 | }
12 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/app/color-picker/color-picker.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/integrate-third-party-angular-components/src/app/color-picker/color-picker.component.css
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/app/color-picker/color-picker.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/app/survey-creator/survey-creator.component.css:
--------------------------------------------------------------------------------
1 | #surveyCreator {
2 | height: 100vh;
3 | width: 100vw;
4 | }
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/app/survey-creator/survey-creator.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/integrate-third-party-angular-components/src/assets/.gitkeep
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/integrate-third-party-angular-components/src/favicon.ico
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Integrate Third-Party Angular Components into SurveyJS
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 |
4 | import { AppModule } from './app/app.module';
5 | import { environment } from './environments/environment';
6 |
7 | if (environment.production) {
8 | enableProdMode();
9 | }
10 |
11 | platformBrowserDynamic().bootstrapModule(AppModule)
12 | .catch(err => console.error(err));
13 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/styles.css:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js/testing';
4 | import { getTestBed } from '@angular/core/testing';
5 | import {
6 | BrowserDynamicTestingModule,
7 | platformBrowserDynamicTesting
8 | } from '@angular/platform-browser-dynamic/testing';
9 |
10 | // First, initialize the Angular testing environment.
11 | getTestBed().initTestEnvironment(
12 | BrowserDynamicTestingModule,
13 | platformBrowserDynamicTesting(),
14 | );
15 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/app",
6 | "types": []
7 | },
8 | "files": [
9 | "src/main.ts",
10 | "src/polyfills.ts"
11 | ],
12 | "include": [
13 | "src/**/*.d.ts"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/integrate-third-party-angular-components/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/spec",
6 | "types": [
7 | "jasmine"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts",
12 | "src/polyfills.ts"
13 | ],
14 | "include": [
15 | "src/**/*.spec.ts",
16 | "src/**/*.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/integrate-third-party-react-components/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.*
7 | .yarn/*
8 | !.yarn/patches
9 | !.yarn/plugins
10 | !.yarn/releases
11 | !.yarn/versions
12 |
13 | # testing
14 | /coverage
15 |
16 | # next.js
17 | /.next/
18 | /out/
19 |
20 | # production
21 | /build
22 |
23 | # misc
24 | .DS_Store
25 | *.pem
26 |
27 | # debug
28 | npm-debug.log*
29 | yarn-debug.log*
30 | yarn-error.log*
31 | .pnpm-debug.log*
32 |
33 | # env files (can opt-in for committing if needed)
34 | .env*
35 |
36 | # vercel
37 | .vercel
38 |
39 | # typescript
40 | *.tsbuildinfo
41 | next-env.d.ts
42 |
--------------------------------------------------------------------------------
/integrate-third-party-react-components/README.md:
--------------------------------------------------------------------------------
1 | # Integrate Third-Party React Components into SurveyJS
2 |
3 | This example is used in the following help topic: [Integrate Third-Party React Components](https://surveyjs.io/form-library/documentation/customize-question-types/third-party-component-integration-react). It is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/pages/api-reference/create-next-app).
4 |
5 | ## Run the Application
6 |
7 | ```bash
8 | npm run dev
9 | ```
10 |
11 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
12 |
--------------------------------------------------------------------------------
/integrate-third-party-react-components/next.config.ts:
--------------------------------------------------------------------------------
1 | import type { NextConfig } from "next";
2 |
3 | const nextConfig: NextConfig = {
4 | /* config options here */
5 | reactStrictMode: true,
6 | };
7 |
8 | export default nextConfig;
9 |
--------------------------------------------------------------------------------
/integrate-third-party-react-components/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | const config = {
2 | plugins: ["@tailwindcss/postcss"],
3 | };
4 |
5 | export default config;
6 |
--------------------------------------------------------------------------------
/integrate-third-party-react-components/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/integrate-third-party-react-components/public/favicon.ico
--------------------------------------------------------------------------------
/integrate-third-party-react-components/public/file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/integrate-third-party-react-components/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/integrate-third-party-react-components/public/window.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/integrate-third-party-react-components/src/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import '../styles/globals.css'
2 | import type { AppProps } from 'next/app'
3 |
4 | export default function MyApp({ Component, pageProps }: AppProps) {
5 | return
6 | }
--------------------------------------------------------------------------------
/integrate-third-party-react-components/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import Head from "next/head";
2 | import dynamic from 'next/dynamic';
3 |
4 | const SurveyCreatorWidget = dynamic(() => import("@/components/SurveyCreator"), { ssr: false });
5 |
6 | export default function Home() {
7 | return (
8 | <>
9 |
10 | Integrate Third-Party Components with SurveyJS
11 |
12 |
13 |
14 |
15 |
16 | >
17 | );
18 | }
--------------------------------------------------------------------------------
/integrate-third-party-react-components/src/styles/globals.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0
3 | }
--------------------------------------------------------------------------------
/integrate-third-party-react-components/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2017",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "noEmit": true,
9 | "esModuleInterop": true,
10 | "module": "esnext",
11 | "moduleResolution": "bundler",
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "jsx": "preserve",
15 | "incremental": true,
16 | "paths": {
17 | "@/*": ["./src/*"]
18 | }
19 | },
20 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
21 | "exclude": ["node_modules"]
22 | }
23 |
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | /* eslint-env node */
2 | require('@rushstack/eslint-patch/modern-module-resolution')
3 |
4 | module.exports = {
5 | root: true,
6 | 'extends': [
7 | 'plugin:vue/vue3-essential',
8 | 'eslint:recommended',
9 | '@vue/eslint-config-typescript',
10 | '@vue/eslint-config-prettier/skip-formatting'
11 | ],
12 | rules: {
13 | "vue/no-mutating-props": ["error", {
14 | "shallowOnly": true
15 | }]
16 | },
17 | parserOptions: {
18 | ecmaVersion: 'latest'
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | .DS_Store
12 | dist
13 | dist-ssr
14 | coverage
15 | *.local
16 |
17 | /cypress/videos/
18 | /cypress/screenshots/
19 |
20 | # Editor directories and files
21 | .vscode/*
22 | !.vscode/extensions.json
23 | .idea
24 | *.suo
25 | *.ntvs*
26 | *.njsproj
27 | *.sln
28 | *.sw?
29 |
30 | *.tsbuildinfo
31 |
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/prettierrc",
3 | "semi": false,
4 | "tabWidth": 2,
5 | "singleQuote": true,
6 | "printWidth": 100,
7 | "trailingComma": "none"
8 | }
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": [
3 | "Vue.volar",
4 | "Vue.vscode-typescript-vue-plugin",
5 | "dbaeumer.vscode-eslint",
6 | "esbenp.prettier-vscode"
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/README.md:
--------------------------------------------------------------------------------
1 | # Integrate Third-Party Vue.js Components into SurveyJS
2 |
3 | This example is used in the following help topic: [Integrate Third-Party Vue 3 Components](https://surveyjs.io/form-library/documentation/customize-question-types/third-party-component-integration-vue).
4 |
5 | ## Project setup
6 |
7 | ```
8 | npm install
9 | ```
10 |
11 | ## Compile and hot-reload for development
12 |
13 | ```
14 | npm run dev
15 | ```
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Integrate Third-Party Vue 3 Components with SurveyJS
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/integrate-third-party-vue-components/public/favicon.ico
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/src/App.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/src/assets/base.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/integrate-third-party-vue-components/src/assets/base.css
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/src/assets/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/src/assets/main.css:
--------------------------------------------------------------------------------
1 | .vc-sketch-presets {
2 | white-space: normal;
3 | }
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/src/main.ts:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { createApp } from "vue";
4 | import App from "./App.vue";
5 | import ColorPickerComponent from "./components/ColorPicker.vue";
6 |
7 | createApp(App)
8 | .component("survey-color-picker", ColorPickerComponent)
9 | .mount("#app");
10 |
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@vue/tsconfig/tsconfig.dom.json",
3 | "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
4 | "exclude": ["src/**/__tests__/*"],
5 | "compilerOptions": {
6 | "composite": true,
7 | "noEmit": true,
8 | "baseUrl": ".",
9 | "paths": {
10 | "@/*": ["./src/*"]
11 | },
12 | "noImplicitAny": false
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [
4 | {
5 | "path": "./tsconfig.node.json"
6 | },
7 | {
8 | "path": "./tsconfig.app.json"
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@tsconfig/node18/tsconfig.json",
3 | "include": [
4 | "vite.config.*",
5 | "vitest.config.*",
6 | "cypress.config.*",
7 | "nightwatch.conf.*",
8 | "playwright.config.*"
9 | ],
10 | "compilerOptions": {
11 | "composite": true,
12 | "noEmit": true,
13 | "module": "ESNext",
14 | "moduleResolution": "Bundler",
15 | "types": ["node"]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/integrate-third-party-vue-components/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { fileURLToPath, URL } from 'node:url'
2 |
3 | import { defineConfig } from 'vite'
4 | import vue from '@vitejs/plugin-vue'
5 |
6 | // https://vitejs.dev/config/
7 | export default defineConfig({
8 | plugins: [
9 | vue(),
10 | ],
11 | resolve: {
12 | alias: {
13 | '@': fileURLToPath(new URL('./src', import.meta.url))
14 | }
15 | }
16 | })
17 |
--------------------------------------------------------------------------------
/legacy-angular/form-library/browserslist:
--------------------------------------------------------------------------------
1 | # This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
2 | # For additional information regarding the format and rule options, please see:
3 | # https://github.com/browserslist/browserslist#queries
4 |
5 | # You can see what browsers were selected by your queries by running:
6 | # npx browserslist
7 |
8 | > 0.5%
9 | last 2 versions
10 | Firefox ESR
11 | not dead
12 | not IE 9-11 # For IE 9-11 support, remove 'not'.
--------------------------------------------------------------------------------
/legacy-angular/form-library/e2e/src/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, by, element } from 'protractor';
2 |
3 | export class AppPage {
4 | navigateTo() {
5 | return browser.get(browser.baseUrl) as Promise;
6 | }
7 |
8 | getTitleText() {
9 | return element(by.css('app-root .content span')).getText() as Promise;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/legacy-angular/form-library/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../out-tsc/e2e",
5 | "module": "commonjs",
6 | "target": "es5",
7 | "types": [
8 | "jasmine",
9 | "jasminewd2",
10 | "node"
11 | ]
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/legacy-angular/form-library/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/legacy-angular/form-library/src/app/app.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/legacy-angular/form-library/src/app/app.component.scss
--------------------------------------------------------------------------------
/legacy-angular/form-library/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { AfterViewInit, Component } from '@angular/core';
2 | import { SurveyNG, Model } from "survey-angular";
3 | const json = require("../assets/survey.json");
4 |
5 | @Component({
6 | selector: 'app-root',
7 | templateUrl: './app.component.html',
8 | styleUrls: ['./app.component.scss']
9 | })
10 | export class AppComponent implements AfterViewInit {
11 | ngAfterViewInit() {
12 | SurveyNG.render("surveyElement", {
13 | model: new Model(json)
14 | })
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/legacy-angular/form-library/src/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { BrowserModule } from '@angular/platform-browser';
2 | import { NgModule } from '@angular/core';
3 |
4 | import { AppComponent } from './app.component';
5 |
6 | @NgModule({
7 | declarations: [
8 | AppComponent
9 | ],
10 | imports: [
11 | BrowserModule
12 | ],
13 | providers: [],
14 | bootstrap: [AppComponent]
15 | })
16 | export class AppModule { }
17 |
--------------------------------------------------------------------------------
/legacy-angular/form-library/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/legacy-angular/form-library/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/legacy-angular/form-library/src/favicon.ico
--------------------------------------------------------------------------------
/legacy-angular/form-library/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SurveyJS Form Library in an Angular v8 Application
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/legacy-angular/form-library/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 |
4 | import { AppModule } from './app/app.module';
5 | import { environment } from './environments/environment';
6 |
7 | if (environment.production) {
8 | enableProdMode();
9 | }
10 |
11 | platformBrowserDynamic().bootstrapModule(AppModule)
12 | .catch(err => console.error(err));
13 |
--------------------------------------------------------------------------------
/legacy-angular/form-library/src/styles.scss:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/legacy-angular/form-library/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js/dist/zone-testing';
4 | import { getTestBed } from '@angular/core/testing';
5 | import {
6 | BrowserDynamicTestingModule,
7 | platformBrowserDynamicTesting
8 | } from '@angular/platform-browser-dynamic/testing';
9 |
10 | declare const require: any;
11 |
12 | // First, initialize the Angular testing environment.
13 | getTestBed().initTestEnvironment(
14 | BrowserDynamicTestingModule,
15 | platformBrowserDynamicTesting()
16 | );
17 | // Then we find all the tests.
18 | const context = require.context('./', true, /\.spec\.ts$/);
19 | // And load the modules.
20 | context.keys().map(context);
21 |
--------------------------------------------------------------------------------
/legacy-angular/form-library/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "./out-tsc/app",
5 | "types": [
6 | "node"
7 | ]
8 | },
9 | "files": [
10 | "src/main.ts",
11 | "src/polyfills.ts"
12 | ],
13 | "include": [
14 | "src/**/*.ts"
15 | ],
16 | "exclude": [
17 | "src/test.ts",
18 | "src/**/*.spec.ts"
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/legacy-angular/form-library/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "baseUrl": "./",
5 | "outDir": "./dist/out-tsc",
6 | "sourceMap": true,
7 | "declaration": false,
8 | "downlevelIteration": true,
9 | "experimentalDecorators": true,
10 | "module": "esnext",
11 | "moduleResolution": "node",
12 | "importHelpers": true,
13 | "target": "es2015",
14 | "types": [
15 | "node"
16 | ],
17 | "typeRoots": [
18 | "node_modules/@types"
19 | ],
20 | "lib": [
21 | "es2018",
22 | "dom"
23 | ]
24 | },
25 | "angularCompilerOptions": {
26 | "fullTemplateTypeCheck": true,
27 | "strictInjectionParameters": true
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/legacy-angular/form-library/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "./out-tsc/spec",
5 | "types": [
6 | "jasmine",
7 | "node"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts",
12 | "src/polyfills.ts"
13 | ],
14 | "include": [
15 | "src/**/*.spec.ts",
16 | "src/**/*.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/browserslist:
--------------------------------------------------------------------------------
1 | # This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
2 | # For additional information regarding the format and rule options, please see:
3 | # https://github.com/browserslist/browserslist#queries
4 |
5 | # You can see what browsers were selected by your queries by running:
6 | # npx browserslist
7 |
8 | > 0.5%
9 | last 2 versions
10 | Firefox ESR
11 | not dead
12 | not IE 9-11 # For IE 9-11 support, remove 'not'.
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/e2e/src/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, by, element } from 'protractor';
2 |
3 | export class AppPage {
4 | navigateTo() {
5 | return browser.get(browser.baseUrl) as Promise;
6 | }
7 |
8 | getTitleText() {
9 | return element(by.css('app-root .content span')).getText() as Promise;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../out-tsc/e2e",
5 | "module": "commonjs",
6 | "target": "es5",
7 | "types": [
8 | "jasmine",
9 | "jasminewd2",
10 | "node"
11 | ]
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-root',
5 | templateUrl: './app.component.html'
6 | })
7 | export class AppComponent { }
8 |
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/src/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { BrowserModule } from '@angular/platform-browser';
2 | import { NgModule } from '@angular/core';
3 |
4 | import { AppComponent } from './app.component';
5 |
6 | import { SurveyCreatorComponent } from './components/survey-creator.component';
7 |
8 | @NgModule({
9 | declarations: [
10 | AppComponent,
11 | SurveyCreatorComponent
12 | ],
13 | imports: [
14 | BrowserModule
15 | ],
16 | providers: [],
17 | bootstrap: [AppComponent]
18 | })
19 | export class AppModule { }
20 |
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/src/app/components/survey-creator.component.css:
--------------------------------------------------------------------------------
1 | #surveyCreator {
2 | height: 100vh;
3 | width: 100vw;
4 | }
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/src/app/components/survey-creator.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/legacy-angular/survey-creator/src/favicon.ico
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Survey Creator in an Angular v8 Application
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 |
4 | import { AppModule } from './app/app.module';
5 | import { environment } from './environments/environment';
6 |
7 | if (environment.production) {
8 | enableProdMode();
9 | }
10 |
11 | platformBrowserDynamic().bootstrapModule(AppModule)
12 | .catch(err => console.error(err));
13 |
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/src/styles.scss:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 | body {
3 | margin: 0;
4 | }
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js/dist/zone-testing';
4 | import { getTestBed } from '@angular/core/testing';
5 | import {
6 | BrowserDynamicTestingModule,
7 | platformBrowserDynamicTesting
8 | } from '@angular/platform-browser-dynamic/testing';
9 |
10 | declare const require: any;
11 |
12 | // First, initialize the Angular testing environment.
13 | getTestBed().initTestEnvironment(
14 | BrowserDynamicTestingModule,
15 | platformBrowserDynamicTesting()
16 | );
17 | // Then we find all the tests.
18 | const context = require.context('./', true, /\.spec\.ts$/);
19 | // And load the modules.
20 | context.keys().map(context);
21 |
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "./out-tsc/app",
5 | "types": ["node"]
6 | },
7 | "files": [
8 | "src/main.ts",
9 | "src/polyfills.ts"
10 | ],
11 | "include": [
12 | "src/**/*.ts"
13 | ],
14 | "exclude": [
15 | "src/test.ts",
16 | "src/**/*.spec.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "baseUrl": "./",
5 | "outDir": "./dist/out-tsc",
6 | "sourceMap": true,
7 | "skipLibCheck": true,
8 | "declaration": false,
9 | "downlevelIteration": true,
10 | "experimentalDecorators": true,
11 | "module": "esnext",
12 | "moduleResolution": "node",
13 | "importHelpers": true,
14 | "target": "es2015",
15 | "typeRoots": [
16 | "node_modules/@types"
17 | ],
18 | "lib": [
19 | "es2018",
20 | "dom"
21 | ]
22 | },
23 | "angularCompilerOptions": {
24 | "fullTemplateTypeCheck": true,
25 | "strictInjectionParameters": true
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/legacy-angular/survey-creator/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "./out-tsc/spec",
5 | "types": [
6 | "jasmine",
7 | "node"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts",
12 | "src/polyfills.ts"
13 | ],
14 | "include": [
15 | "src/**/*.spec.ts",
16 | "src/**/*.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/multi-page-survey/angular/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/multi-page-survey/angular/README.md:
--------------------------------------------------------------------------------
1 | # Create a Multi-Page Survey (SurveyJS for Angular)
2 |
3 | This example is used in the following help topic: [Create a Multi-Page Survey](https://surveyjs.io/Documentation/Library?id=design-survey-create-a-multi-page-survey). It was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.2.13.
4 |
5 | ## Development server
6 |
7 | Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
--------------------------------------------------------------------------------
/multi-page-survey/angular/e2e/src/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, by, element } from 'protractor';
2 |
3 | export class AppPage {
4 | navigateTo(): Promise {
5 | return browser.get(browser.baseUrl) as Promise;
6 | }
7 |
8 | getTitleText(): Promise {
9 | return element(by.css('app-root .content span')).getText() as Promise;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/multi-page-survey/angular/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "../tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "../out-tsc/e2e",
6 | "module": "commonjs",
7 | "target": "es2018",
8 | "types": [
9 | "jasmine",
10 | "jasminewd2",
11 | "node"
12 | ]
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/multi-page-survey/angular/src/app/app.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/multi-page-survey/angular/src/app/app.component.css
--------------------------------------------------------------------------------
/multi-page-survey/angular/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Result JSON:
4 |
5 | {{surveyResults}}
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/multi-page-survey/angular/src/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { BrowserModule } from '@angular/platform-browser';
2 | import { NgModule } from '@angular/core';
3 | import { SurveyModule } from 'survey-angular-ui';
4 |
5 | import { AppComponent } from './app.component';
6 |
7 | @NgModule({
8 | declarations: [
9 | AppComponent
10 | ],
11 | imports: [
12 | BrowserModule,
13 | SurveyModule
14 | ],
15 | providers: [],
16 | bootstrap: [AppComponent]
17 | })
18 | export class AppModule { }
19 |
--------------------------------------------------------------------------------
/multi-page-survey/angular/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/multi-page-survey/angular/src/assets/.gitkeep
--------------------------------------------------------------------------------
/multi-page-survey/angular/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/multi-page-survey/angular/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/multi-page-survey/angular/src/favicon.ico
--------------------------------------------------------------------------------
/multi-page-survey/angular/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SurveyJS for Angular - Multi-Page Survey
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/multi-page-survey/angular/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 |
4 | import { AppModule } from './app/app.module';
5 | import { environment } from './environments/environment';
6 |
7 | if (environment.production) {
8 | enableProdMode();
9 | }
10 |
11 | platformBrowserDynamic().bootstrapModule(AppModule)
12 | .catch(err => console.error(err));
13 |
--------------------------------------------------------------------------------
/multi-page-survey/angular/src/styles.css:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/multi-page-survey/angular/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js/dist/zone-testing';
4 | import { getTestBed } from '@angular/core/testing';
5 | import {
6 | BrowserDynamicTestingModule,
7 | platformBrowserDynamicTesting
8 | } from '@angular/platform-browser-dynamic/testing';
9 |
10 | // First, initialize the Angular testing environment.
11 | getTestBed().initTestEnvironment(
12 | BrowserDynamicTestingModule,
13 | platformBrowserDynamicTesting()
14 | );
15 |
--------------------------------------------------------------------------------
/multi-page-survey/angular/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/app",
6 | "types": []
7 | },
8 | "files": [
9 | "src/main.ts",
10 | "src/polyfills.ts"
11 | ],
12 | "include": [
13 | "src/**/*.d.ts"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/multi-page-survey/angular/tsconfig.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "compileOnSave": false,
4 | "compilerOptions": {
5 | "baseUrl": "./",
6 | "outDir": "./dist/out-tsc",
7 | "sourceMap": true,
8 | "esModuleInterop": true,
9 | "declaration": false,
10 | "experimentalDecorators": true,
11 | "moduleResolution": "node",
12 | "importHelpers": true,
13 | "target": "ES2022",
14 | "module": "es2020",
15 | "lib": [
16 | "es2018",
17 | "dom"
18 | ],
19 | "useDefineForClassFields": false
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/multi-page-survey/angular/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/spec",
6 | "types": [
7 | "jasmine"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts",
12 | "src/polyfills.ts"
13 | ],
14 | "include": [
15 | "src/**/*.spec.ts",
16 | "src/**/*.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/multi-page-survey/html-css-js/README.md:
--------------------------------------------------------------------------------
1 | # Create a Multi-Page Survey (SurveyJS for HTML/CSS/JS Applications)
2 |
3 | This example is used in the following help topic: [Create a Multi-Page Survey](https://surveyjs.io/Documentation/Library?id=design-survey-create-a-multi-page-survey). To run the example, open `index.html` in your browser.
--------------------------------------------------------------------------------
/multi-page-survey/jquery/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Create a Multi-Page Survey (SurveyJS for jQuery)
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/multi-page-survey/knockout/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Create a Multi-Page Survey (SurveyJS for Knockout)
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/multi-page-survey/react/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.*
7 | .yarn/*
8 | !.yarn/patches
9 | !.yarn/plugins
10 | !.yarn/releases
11 | !.yarn/versions
12 |
13 | # testing
14 | /coverage
15 |
16 | # next.js
17 | /.next/
18 | /out/
19 |
20 | # production
21 | /build
22 |
23 | # misc
24 | .DS_Store
25 | *.pem
26 |
27 | # debug
28 | npm-debug.log*
29 | yarn-debug.log*
30 | yarn-error.log*
31 | .pnpm-debug.log*
32 |
33 | # env files (can opt-in for committing if needed)
34 | .env*
35 |
36 | # vercel
37 | .vercel
38 |
39 | # typescript
40 | *.tsbuildinfo
41 | next-env.d.ts
42 |
--------------------------------------------------------------------------------
/multi-page-survey/react/README.md:
--------------------------------------------------------------------------------
1 | # Create a Multi-Page Survey (SurveyJS for React)
2 |
3 | This example is used in the following help topic: [Create a Multi-Page Survey](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey). It is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/pages/api-reference/create-next-app).
4 |
5 | ## Run the Application
6 |
7 | ```bash
8 | npm run dev
9 | ```
10 |
11 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
12 |
--------------------------------------------------------------------------------
/multi-page-survey/react/next.config.ts:
--------------------------------------------------------------------------------
1 | import type { NextConfig } from "next";
2 |
3 | const nextConfig: NextConfig = {
4 | /* config options here */
5 | reactStrictMode: true,
6 | };
7 |
8 | export default nextConfig;
9 |
--------------------------------------------------------------------------------
/multi-page-survey/react/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "surveyjs-multi-page-survey-react",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint"
10 | },
11 | "dependencies": {
12 | "next": "15.2.2",
13 | "react": "^19.0.0",
14 | "react-dom": "^19.0.0",
15 | "survey-react-ui": "^2.0.0"
16 | },
17 | "devDependencies": {
18 | "@tailwindcss/postcss": "^4",
19 | "@types/node": "^20",
20 | "@types/react": "^19",
21 | "@types/react-dom": "^19",
22 | "tailwindcss": "^4",
23 | "typescript": "^5"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/multi-page-survey/react/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | const config = {
2 | plugins: ["@tailwindcss/postcss"],
3 | };
4 |
5 | export default config;
6 |
--------------------------------------------------------------------------------
/multi-page-survey/react/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/multi-page-survey/react/public/favicon.ico
--------------------------------------------------------------------------------
/multi-page-survey/react/public/file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/multi-page-survey/react/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/multi-page-survey/react/public/window.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/multi-page-survey/react/src/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import '../styles/globals.css'
2 | import type { AppProps } from 'next/app'
3 |
4 | export default function MyApp({ Component, pageProps }: AppProps) {
5 | return
6 | }
--------------------------------------------------------------------------------
/multi-page-survey/react/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import Head from "next/head";
2 | import dynamic from 'next/dynamic';
3 |
4 | const SurveyComponent = dynamic(() => import("@/components/Survey"), { ssr: false });
5 |
6 | export default function Home() {
7 | return (
8 | <>
9 |
10 | Multi-Page Survey | SurveyJS React Form Library
11 |
12 |
13 |
14 |
15 |
16 | >
17 | );
18 | }
--------------------------------------------------------------------------------
/multi-page-survey/react/src/styles/globals.css:
--------------------------------------------------------------------------------
1 | /* Add global styles here */
--------------------------------------------------------------------------------
/multi-page-survey/react/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2017",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "noEmit": true,
9 | "esModuleInterop": true,
10 | "module": "esnext",
11 | "moduleResolution": "bundler",
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "jsx": "preserve",
15 | "incremental": true,
16 | "paths": {
17 | "@/*": ["./src/*"]
18 | }
19 | },
20 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
21 | "exclude": ["node_modules"]
22 | }
23 |
--------------------------------------------------------------------------------
/multi-page-survey/vue/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Create a Multi-Page Survey (SurveyJS for Vue 2)
2 |
3 | Use the [Vue 3](../vue3/) example instead.
--------------------------------------------------------------------------------
/multi-page-survey/vue3/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | .DS_Store
12 | dist
13 | dist-ssr
14 | coverage
15 | *.local
16 |
17 | /cypress/videos/
18 | /cypress/screenshots/
19 |
20 | # Editor directories and files
21 | .vscode/*
22 | !.vscode/extensions.json
23 | .idea
24 | *.suo
25 | *.ntvs*
26 | *.njsproj
27 | *.sln
28 | *.sw?
29 |
--------------------------------------------------------------------------------
/multi-page-survey/vue3/README.md:
--------------------------------------------------------------------------------
1 | # Create a Multi-Page Survey - Vue 3
2 |
3 | This example is used in the following help topic: [Create a Multi-Page Survey](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey).
4 |
5 | ## Project setup
6 |
7 | ```
8 | npm install
9 | ```
10 |
11 | ## Compile and hot-reload for development
12 |
13 | ```
14 | npm run dev
15 | ```
--------------------------------------------------------------------------------
/multi-page-survey/vue3/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/multi-page-survey/vue3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | SurveyJS for Vue - Multi-Page Survey
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/multi-page-survey/vue3/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/multi-page-survey/vue3/public/favicon.ico
--------------------------------------------------------------------------------
/multi-page-survey/vue3/src/App.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/multi-page-survey/vue3/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | createApp(App).mount('#app')
--------------------------------------------------------------------------------
/multi-page-survey/vue3/src/shims-vue.d.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | declare module "*.vue" {
3 | import type { DefineComponent } from "vue"
4 | const component: DefineComponent<{}, {}, any>
5 | export default component
6 | }
--------------------------------------------------------------------------------
/multi-page-survey/vue3/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@vue/tsconfig/tsconfig.dom.json",
3 | "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
4 | "exclude": ["src/**/__tests__/*"],
5 | "compilerOptions": {
6 | "composite": true,
7 | "baseUrl": ".",
8 | "paths": {
9 | "@/*": ["./src/*"]
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/multi-page-survey/vue3/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [
4 | {
5 | "path": "./tsconfig.node.json"
6 | },
7 | {
8 | "path": "./tsconfig.app.json"
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/multi-page-survey/vue3/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@tsconfig/node18/tsconfig.json",
3 | "include": [
4 | "vite.config.*",
5 | "vitest.config.*",
6 | "cypress.config.*",
7 | "nightwatch.conf.*",
8 | "playwright.config.*"
9 | ],
10 | "compilerOptions": {
11 | "composite": true,
12 | "module": "ESNext",
13 | "moduleResolution": "Bundler",
14 | "types": ["node"]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/multi-page-survey/vue3/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { fileURLToPath, URL } from 'node:url'
2 |
3 | import { defineConfig } from 'vite'
4 | import vue from '@vitejs/plugin-vue'
5 |
6 | // https://vitejs.dev/config/
7 | export default defineConfig({
8 | plugins: [
9 | vue(),
10 | ],
11 | resolve: {
12 | alias: {
13 | '@': fileURLToPath(new URL('./src', import.meta.url))
14 | }
15 | }
16 | })
17 |
--------------------------------------------------------------------------------
/quiz/angular/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/quiz/angular/README.md:
--------------------------------------------------------------------------------
1 | # Create a Quiz (SurveyJS for Angular)
2 |
3 | This example is used in the following help topic: [Create a Quiz](https://surveyjs.io/Documentation/Library?id=design-survey-create-a-quiz). It was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.2.13.
4 |
5 | ## Development server
6 |
7 | Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
--------------------------------------------------------------------------------
/quiz/angular/e2e/src/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, by, element } from 'protractor';
2 |
3 | export class AppPage {
4 | navigateTo(): Promise {
5 | return browser.get(browser.baseUrl) as Promise;
6 | }
7 |
8 | getTitleText(): Promise {
9 | return element(by.css('app-root .content span')).getText() as Promise;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/quiz/angular/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "../tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "../out-tsc/e2e",
6 | "module": "commonjs",
7 | "target": "es2018",
8 | "types": [
9 | "jasmine",
10 | "jasminewd2",
11 | "node"
12 | ]
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/quiz/angular/src/app/app.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/quiz/angular/src/app/app.component.css
--------------------------------------------------------------------------------
/quiz/angular/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/quiz/angular/src/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { BrowserModule } from '@angular/platform-browser';
2 | import { NgModule } from '@angular/core';
3 | import { SurveyModule } from 'survey-angular-ui';
4 |
5 | import { AppComponent } from './app.component';
6 |
7 | @NgModule({
8 | declarations: [
9 | AppComponent
10 | ],
11 | imports: [
12 | BrowserModule,
13 | SurveyModule
14 | ],
15 | providers: [],
16 | bootstrap: [AppComponent]
17 | })
18 | export class AppModule { }
19 |
--------------------------------------------------------------------------------
/quiz/angular/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/quiz/angular/src/assets/.gitkeep
--------------------------------------------------------------------------------
/quiz/angular/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/quiz/angular/src/environments/environment.ts:
--------------------------------------------------------------------------------
1 | // This file can be replaced during build by using the `fileReplacements` array.
2 | // `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
3 | // The list of file replacements can be found in `angular.json`.
4 |
5 | export const environment = {
6 | production: false
7 | };
8 |
9 | /*
10 | * For easier debugging in development mode, you can import the following file
11 | * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
12 | *
13 | * This import should be commented out in production mode because it will have a negative impact
14 | * on performance if an error is thrown.
15 | */
16 | // import 'zone.js/dist/zone-error'; // Included with Angular CLI.
17 |
--------------------------------------------------------------------------------
/quiz/angular/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/quiz/angular/src/favicon.ico
--------------------------------------------------------------------------------
/quiz/angular/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SurveyJS for Angular - Quiz
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/quiz/angular/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 |
4 | import { AppModule } from './app/app.module';
5 | import { environment } from './environments/environment';
6 |
7 | if (environment.production) {
8 | enableProdMode();
9 | }
10 |
11 | platformBrowserDynamic().bootstrapModule(AppModule)
12 | .catch(err => console.error(err));
13 |
--------------------------------------------------------------------------------
/quiz/angular/src/styles.css:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/quiz/angular/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js/dist/zone-testing';
4 | import { getTestBed } from '@angular/core/testing';
5 | import {
6 | BrowserDynamicTestingModule,
7 | platformBrowserDynamicTesting
8 | } from '@angular/platform-browser-dynamic/testing';
9 |
10 | // First, initialize the Angular testing environment.
11 | getTestBed().initTestEnvironment(
12 | BrowserDynamicTestingModule,
13 | platformBrowserDynamicTesting()
14 | );
15 |
--------------------------------------------------------------------------------
/quiz/angular/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/app",
6 | "types": []
7 | },
8 | "files": [
9 | "src/main.ts",
10 | "src/polyfills.ts"
11 | ],
12 | "include": [
13 | "src/**/*.d.ts"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/quiz/angular/tsconfig.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "compileOnSave": false,
4 | "compilerOptions": {
5 | "baseUrl": "./",
6 | "outDir": "./dist/out-tsc",
7 | "sourceMap": true,
8 | "esModuleInterop": true,
9 | "declaration": false,
10 | "experimentalDecorators": true,
11 | "moduleResolution": "node",
12 | "importHelpers": true,
13 | "target": "ES2022",
14 | "module": "es2020",
15 | "lib": [
16 | "es2018",
17 | "dom"
18 | ],
19 | "useDefineForClassFields": false
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/quiz/angular/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/spec",
6 | "types": [
7 | "jasmine"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts",
12 | "src/polyfills.ts"
13 | ],
14 | "include": [
15 | "src/**/*.spec.ts",
16 | "src/**/*.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/quiz/html-css-js/README.md:
--------------------------------------------------------------------------------
1 | # Create a Quiz (SurveyJS for HTML/CSS/JS Applications)
2 |
3 | This example is used in the following help topic: [Create a Quiz](https://surveyjs.io/Documentation/Library?id=design-survey-create-a-quiz). To run the example, open `index.html` in your browser.
--------------------------------------------------------------------------------
/quiz/html-css-js/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SurveyJS for HTML/CSS/JS Applications - Multi-Page Survey
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/quiz/jquery/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Create a Quiz (SurveyJS for jQuery)
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/quiz/knockout/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Create a Quiz (SurveyJS for Knockout)
2 |
3 | Use the [vanilla JS](../html-css-js/) example instead.
--------------------------------------------------------------------------------
/quiz/react/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.*
7 | .yarn/*
8 | !.yarn/patches
9 | !.yarn/plugins
10 | !.yarn/releases
11 | !.yarn/versions
12 |
13 | # testing
14 | /coverage
15 |
16 | # next.js
17 | /.next/
18 | /out/
19 |
20 | # production
21 | /build
22 |
23 | # misc
24 | .DS_Store
25 | *.pem
26 |
27 | # debug
28 | npm-debug.log*
29 | yarn-debug.log*
30 | yarn-error.log*
31 | .pnpm-debug.log*
32 |
33 | # env files (can opt-in for committing if needed)
34 | .env*
35 |
36 | # vercel
37 | .vercel
38 |
39 | # typescript
40 | *.tsbuildinfo
41 | next-env.d.ts
42 |
--------------------------------------------------------------------------------
/quiz/react/README.md:
--------------------------------------------------------------------------------
1 | # Create a Quiz (SurveyJS for React)
2 |
3 | This example is used in the following help topic: [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz). It is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/pages/api-reference/create-next-app).
4 |
5 | ## Run the Application
6 |
7 | ```bash
8 | npm run dev
9 | ```
10 |
11 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
12 |
--------------------------------------------------------------------------------
/quiz/react/next.config.ts:
--------------------------------------------------------------------------------
1 | import type { NextConfig } from "next";
2 |
3 | const nextConfig: NextConfig = {
4 | /* config options here */
5 | reactStrictMode: true,
6 | };
7 |
8 | export default nextConfig;
9 |
--------------------------------------------------------------------------------
/quiz/react/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "surveyjs-form-library-quiz-react",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint"
10 | },
11 | "dependencies": {
12 | "next": "15.2.2",
13 | "react": "^19.0.0",
14 | "react-dom": "^19.0.0",
15 | "survey-react-ui": "^2.0.0"
16 | },
17 | "devDependencies": {
18 | "@tailwindcss/postcss": "^4",
19 | "@types/node": "^20",
20 | "@types/react": "^19",
21 | "@types/react-dom": "^19",
22 | "tailwindcss": "^4",
23 | "typescript": "^5"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/quiz/react/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | const config = {
2 | plugins: ["@tailwindcss/postcss"],
3 | };
4 |
5 | export default config;
6 |
--------------------------------------------------------------------------------
/quiz/react/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/quiz/react/public/favicon.ico
--------------------------------------------------------------------------------
/quiz/react/public/file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/quiz/react/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/quiz/react/public/window.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/quiz/react/src/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import '../styles/globals.css'
2 | import type { AppProps } from 'next/app'
3 |
4 | export default function MyApp({ Component, pageProps }: AppProps) {
5 | return
6 | }
--------------------------------------------------------------------------------
/quiz/react/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import Head from "next/head";
2 | import dynamic from 'next/dynamic';
3 |
4 | const SurveyComponent = dynamic(() => import("@/components/Survey"), { ssr: false });
5 |
6 | export default function Home() {
7 | return (
8 | <>
9 |
10 | Create a Quiz | SurveyJS React Form Library
11 |
12 |
13 |
14 |
15 |
16 | >
17 | );
18 | }
--------------------------------------------------------------------------------
/quiz/react/src/styles/globals.css:
--------------------------------------------------------------------------------
1 | /* Add global styles here */
--------------------------------------------------------------------------------
/quiz/react/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2017",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "noEmit": true,
9 | "esModuleInterop": true,
10 | "module": "esnext",
11 | "moduleResolution": "bundler",
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "jsx": "preserve",
15 | "incremental": true,
16 | "paths": {
17 | "@/*": ["./src/*"]
18 | }
19 | },
20 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
21 | "exclude": ["node_modules"]
22 | }
23 |
--------------------------------------------------------------------------------
/quiz/vue/README.md:
--------------------------------------------------------------------------------
1 | # (Obsolete) Create a Quiz (SurveyJS for Vue 2)
2 |
3 | Use the [Vue 3](../vue3/) example instead.
--------------------------------------------------------------------------------
/quiz/vue3/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | .DS_Store
12 | dist
13 | dist-ssr
14 | coverage
15 | *.local
16 |
17 | /cypress/videos/
18 | /cypress/screenshots/
19 |
20 | # Editor directories and files
21 | .vscode/*
22 | !.vscode/extensions.json
23 | .idea
24 | *.suo
25 | *.ntvs*
26 | *.njsproj
27 | *.sln
28 | *.sw?
29 |
--------------------------------------------------------------------------------
/quiz/vue3/README.md:
--------------------------------------------------------------------------------
1 | # Create a Quiz (SurveyJS for Vue 3)
2 |
3 | This example is used in the following help topic: [Create a Quiz](https://surveyjs.io/Documentation/Library?id=design-survey-create-a-quiz).
4 |
5 | ## Project setup
6 | ```
7 | npm install
8 | ```
9 |
10 | ## Compile and hot-reload for development
11 | ```
12 | npm run dev
13 | ```
--------------------------------------------------------------------------------
/quiz/vue3/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/quiz/vue3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | SurveyJS for Vue - Quiz
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/quiz/vue3/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "create-quiz-vue3",
3 | "version": "0.0.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "run-p type-check build-only",
8 | "preview": "vite preview",
9 | "build-only": "vite build",
10 | "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false"
11 | },
12 | "dependencies": {
13 | "survey-vue3-ui": "latest",
14 | "vue": "^3.3.4"
15 | },
16 | "devDependencies": {
17 | "@tsconfig/node18": "^18.2.0",
18 | "@types/node": "^18.17.0",
19 | "@vitejs/plugin-vue": "^4.2.3",
20 | "@vue/tsconfig": "^0.4.0",
21 | "npm-run-all": "^4.1.5",
22 | "typescript": "~5.1.6",
23 | "vite": "^4.4.6",
24 | "vue-tsc": "^1.8.6"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/quiz/vue3/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/quiz/vue3/public/favicon.ico
--------------------------------------------------------------------------------
/quiz/vue3/src/App.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/quiz/vue3/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | createApp(App).mount('#app')
--------------------------------------------------------------------------------
/quiz/vue3/src/shims-vue.d.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | declare module "*.vue" {
3 | import type { DefineComponent } from "vue"
4 | const component: DefineComponent<{}, {}, any>
5 | export default component
6 | }
--------------------------------------------------------------------------------
/quiz/vue3/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@vue/tsconfig/tsconfig.dom.json",
3 | "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
4 | "exclude": ["src/**/__tests__/*"],
5 | "compilerOptions": {
6 | "composite": true,
7 | "baseUrl": ".",
8 | "paths": {
9 | "@/*": ["./src/*"]
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/quiz/vue3/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [
4 | {
5 | "path": "./tsconfig.node.json"
6 | },
7 | {
8 | "path": "./tsconfig.app.json"
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/quiz/vue3/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@tsconfig/node18/tsconfig.json",
3 | "include": [
4 | "vite.config.*",
5 | "vitest.config.*",
6 | "cypress.config.*",
7 | "nightwatch.conf.*",
8 | "playwright.config.*"
9 | ],
10 | "compilerOptions": {
11 | "composite": true,
12 | "module": "ESNext",
13 | "moduleResolution": "Bundler",
14 | "types": ["node"]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/quiz/vue3/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { fileURLToPath, URL } from 'node:url'
2 |
3 | import { defineConfig } from 'vite'
4 | import vue from '@vitejs/plugin-vue'
5 |
6 | // https://vitejs.dev/config/
7 | export default defineConfig({
8 | plugins: [
9 | vue(),
10 | ],
11 | resolve: {
12 | alias: {
13 | '@': fileURLToPath(new URL('./src', import.meta.url))
14 | }
15 | }
16 | })
17 |
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/src/app/app-routing.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { RouterModule, Routes } from '@angular/router';
3 | import { CreatorWidgetComponent } from './components/creator-widget.component';
4 | import { SurveyListComponent } from './components/survey-list.component';
5 |
6 | const routes: Routes = [
7 | { path: "", component: SurveyListComponent },
8 | { path: "editsurvey", component: CreatorWidgetComponent }
9 | ];
10 |
11 | @NgModule({
12 | imports: [RouterModule.forRoot(routes)],
13 | exports: [RouterModule]
14 | })
15 | export class AppRoutingModule { }
16 |
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/src/app/app.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/survey-creator-web-service/angular/src/app/app.component.scss
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-root',
5 | templateUrl: './app.component.html',
6 | styleUrls: ['./app.component.scss']
7 | })
8 | export class AppComponent {
9 | title = 'Survey Creator Web Service';
10 | }
11 |
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/src/app/components/creator-widget.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/src/app/components/survey-list.component.html:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/survey-creator-web-service/angular/src/assets/.gitkeep
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surveyjs/code-examples/d599be467e2ba3dbae3eceefa8856ecdf1c2cfeb/survey-creator-web-service/angular/src/favicon.ico
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Angular
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 |
4 | import { AppModule } from './app/app.module';
5 | import { environment } from './environments/environment';
6 |
7 | if (environment.production) {
8 | enableProdMode();
9 | }
10 |
11 | platformBrowserDynamic().bootstrapModule(AppModule)
12 | .catch(err => console.error(err));
13 |
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js/testing';
4 | import { getTestBed } from '@angular/core/testing';
5 | import {
6 | BrowserDynamicTestingModule,
7 | platformBrowserDynamicTesting
8 | } from '@angular/platform-browser-dynamic/testing';
9 |
10 | // First, initialize the Angular testing environment.
11 | getTestBed().initTestEnvironment(
12 | BrowserDynamicTestingModule,
13 | platformBrowserDynamicTesting(),
14 | );
15 |
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/app",
6 | "types": []
7 | },
8 | "files": [
9 | "src/main.ts",
10 | "src/polyfills.ts"
11 | ],
12 | "include": [
13 | "src/**/*.d.ts"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/survey-creator-web-service/angular/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "./out-tsc/spec",
6 | "types": [
7 | "jasmine"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts",
12 | "src/polyfills.ts"
13 | ],
14 | "include": [
15 | "src/**/*.spec.ts",
16 | "src/**/*.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/survey-creator-web-service/react/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/survey-creator-web-service/react/src/index.js:
--------------------------------------------------------------------------------
1 | import * as React from "react";
2 | import ReactDOM from "react-dom";
3 | import App from "./App";
4 |
5 | const rootElement = document.getElementById("root");
6 | ReactDOM.render(, rootElement);
7 |
--------------------------------------------------------------------------------
/surveyjs-pdf-nodejs/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | .DS_Store
12 | dist
13 | dist-ssr
14 | coverage
15 | *.local
16 |
17 | /cypress/videos/
18 | /cypress/screenshots/
19 |
20 | # Editor directories and files
21 | .vscode/*
22 | !.vscode/extensions.json
23 | .idea
24 | *.suo
25 | *.ntvs*
26 | *.njsproj
27 | *.sln
28 | *.sw?
29 |
--------------------------------------------------------------------------------
/surveyjs-pdf-nodejs/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "survey-pdf-node",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "",
10 | "license": "ISC",
11 | "dependencies": {
12 | "jsdom": "^22.1.0",
13 | "survey-pdf": "latest"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------