Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions Collaborative Editing/Client/.babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"presets": [
[
"@babel/preset-typescript",
{}
]
]
}
9 changes: 9 additions & 0 deletions Collaborative Editing/Client/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
node_modules/
dist/
*.log
.DS_Store
.vscode/
.idea/
*.swp
*.swo
*~
75 changes: 75 additions & 0 deletions Collaborative Editing/Client/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# PDF Viewer Client Application

This is a TypeScript-based client application for the Syncfusion PDF Viewer component.

## Prerequisites

- Node.js (v14.0.0 or higher)
- npm or yarn

## Installation

1. Navigate to the Client folder:
```bash
cd Client
```

2. Install dependencies:
```bash
npm install
```

## Development

To start the development server:

```bash
npm start
```

This will start webpack dev server on `http://localhost:4000` and automatically open the application in your default browser.

## Build for Production

To build the application for production:

```bash
npm build
```

The build output will be generated in the `dist` folder.

## Project Structure

```
Client/
├── src/
│ ├── app/
│ │ └── app.ts # Main application entry point
│ ├── styles/
│ │ └── styles.css # Global styles
│ ├── index.html # HTML template
│ └── resources/ # Static resources
├── dist/ # Build output
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── webpack.config.js # Webpack configuration
└── gulpfile.js # Gulp tasks
```

## Available Features

- PDF Viewing
- Toolbar
- Navigation
- Magnification (Zoom)
- Annotations
- Form Fields
- Text Selection
- Text Search
- Print
- Bookmarks and Thumbnails

## License

This project is licensed under the Syncfusion license. See LICENSE file for details.
31 changes: 31 additions & 0 deletions Collaborative Editing/Client/gulpfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
var gulp = require('gulp');
var gTsc = require('gulp-typescript');
var tsProject = gTsc.createProject('tsconfig.json');
var browserSync = require('browser-sync').create();
var protractor = require('gulp-protractor').protractor;
var webdriver = require('gulp-protractor').webdriver_update;

gulp.task('e2e-serve', function () {
browserSync.init({
server: './dist',
port: 3000,
online: false
});
gulp.watch(['src/**/*.ts', 'src/**/*.css', 'src/**/*.html'], gulp.series('e2e-build', function (done) {
browserSync.reload();
done();
}));
});

gulp.task('e2e-build', function () {
return tsProject.src()
.pipe(gTsc())
.pipe(gulp.dest('dist'));
});

gulp.task('e2e-test', function () {
return gulp.src('e2e/**/*.ts')
.pipe(protractor({ configFile: 'e2e/protractor.config.js' }));
});

gulp.task('e2e-webdriver-update', webdriver);
1 change: 1 addition & 0 deletions Collaborative Editing/Client/license
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This is a commercial product and requires a paid license for possession or use. Syncfusion's licensed software, including this component, is subject to the terms and conditions of Syncfusion's EULA.
43 changes: 43 additions & 0 deletions Collaborative Editing/Client/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"name": "ej2-pdf-viewer-client",
"version": "0.0.1",
"description": "Essential JS 2 PDF Viewer client application",
"author": "Syncfusion Inc.",
"license": "SEE LICENSE IN license",
"repository": {
"type": "git",
"url": "https://github.com/syncfusion/ej2-examples.git"
},
"scripts": {
"start": "webpack serve --mode development",
"build": "webpack --mode production",
"serve": "gulp e2e-serve",
"test": "gulp e2e-test",
"update-webdriver": "gulp e2e-webdriver-update"
},
"devDependencies": {
"@babel/core": "^8.0.6",
"@babel/preset-typescript": "^8.0.1",
"ajv": "^8.11.2",
"babel-loader": "^10.1.1",
"browser-sync": "^2.18.12",
"css-loader": "^6.7.2",
"gulp": "*",
"gulp-protractor": "*",
"gulp-typescript": "*",
"html-webpack-plugin": "^5.5.0",
"jasmine": "^2.6.0",
"mini-css-extract-plugin": "^2.7.0",
"ts-loader": "^9.6.2",
"typescript": "^7.0.2",
"webpack": "^5.75.0",
"webpack-cli": "^5.0.0",
"webpack-dev-server": "^5.2.1",
"webpack-stream": "^7.0.0"
},
"dependencies": {
"@syncfusion/ej2-collaborator": "*",
"@syncfusion/ej2-pdfviewer": "*",
"@syncfusion/ej2-tailwind3-theme": "*"
}
}
Loading
Loading