Skip to content

Commit

Permalink
Develop (#175)
Browse files Browse the repository at this point in the history
* added support for docx - needs better integration altho it works

* adding timecodes and speakers to plain text export

* develop: Fix 159 performance problem (#171)

* moved header into a component

with shouldComponentUopdate false to avoid unecessary re-renders - test

* moved Header component into separate file

+removed unused styling, commented out for now in case it's needed, eg in mobile view?

* moved playback_rates const into separate file

* optimised re-render of playback rate

* optimise re-render for VideoPlayer

* added some notes - draft

on how to prevent uncessary re-renders in React

* Added some comments

* small note in docs

about using console.log in render to measure performance

* ammend to notes

* Update 2019-05-16-prevent-unnecessary-re-renders-in-react.md

* notes update

* notes fix

* trying out why-did-you-update

* updated MediaPlayer and subcomponents

* made ToolTip 'how does this work' into it's own component

* updated Demo app to reduce unecessary re-renders

* added react-visibility-sensor

* refactor settings

* removed unecessary attributes from state of components + WrapperBlock performance tweak using react-visibility-sensor

* develop: Update timestamps diff (#172)

* Added timestamp update via diff tool

* Added missing function

* Commited intermediate state

* Rewrote timestamp alignment and differ to be integrated in each other instead of doing a 2-step process.

* Update Timestamps now works correctly.

* Fixed errors from rebase, removed debug code

* Moved UpdateTimestamp into its own folder.

* added updateTimestampsSSTAlign which updates the timestamps with the sst-align code

* Added documentation

* Merged timer for updating the timestamps and local save.

* Selection state is now kept across updates to timestamps

* Fixed bug where words with punctuation always are considered as new words. Timestamp update function now also uses the alignWords function directly instead of alignJSONText, removing some overhead.

* Fixed small bug which raised an error if an empty block was present during timestamp update

* Changed time of timestamp-update. Now re-calculates the timestamps after 5 seconds if the transcript has been edited or if the user saves the transcript manually with the save button

* Code cleanup

* develop: Murezzda update timestamps diff (#173)

* Added timestamp update via diff tool

* Added missing function

* Commited intermediate state

* Rewrote timestamp alignment and differ to be integrated in each other instead of doing a 2-step process.

* Update Timestamps now works correctly.

* Fixed errors from rebase, removed debug code

* Moved UpdateTimestamp into its own folder.

* added updateTimestampsSSTAlign which updates the timestamps with the sst-align code

* Added timestamp update via diff tool

* Added missing function

* Commited intermediate state

* Rewrote timestamp alignment and differ to be integrated in each other instead of doing a 2-step process.

* Update Timestamps now works correctly.

* Fixed errors from rebase, removed debug code

* Moved UpdateTimestamp into its own folder.

* added updateTimestampsSSTAlign which updates the timestamps with the sst-align code

* Added documentation

* Merged timer for updating the timestamps and local save.

* Selection state is now kept across updates to timestamps

* Fixed bug where words with punctuation always are considered as new words. Timestamp update function now also uses the alignWords function directly instead of alignJSONText, removing some overhead.

* Fixed small bug which raised an error if an empty block was present during timestamp update

* Changed time of timestamp-update. Now re-calculates the timestamps after 5 seconds if the transcript has been edited or if the user saves the transcript manually with the save button

* Code cleanup

* some changes to show sudgestions for PR

* added some of changes sudgested in PR

* Update package.json

* develop: Murezzda update timestamps diff dpe groups words by speaker (#174)

* Added timestamp update via diff tool

* Added missing function

* Commited intermediate state

* Rewrote timestamp alignment and differ to be integrated in each other instead of doing a 2-step process.

* Update Timestamps now works correctly.

* Fixed errors from rebase, removed debug code

* Moved UpdateTimestamp into its own folder.

* added updateTimestampsSSTAlign which updates the timestamps with the sst-align code

* Added timestamp update via diff tool

* Added missing function

* Commited intermediate state

* Rewrote timestamp alignment and differ to be integrated in each other instead of doing a 2-step process.

* Update Timestamps now works correctly.

* Fixed errors from rebase, removed debug code

* Moved UpdateTimestamp into its own folder.

* added updateTimestampsSSTAlign which updates the timestamps with the sst-align code

* Added documentation

* Merged timer for updating the timestamps and local save.

* Selection state is now kept across updates to timestamps

* Fixed bug where words with punctuation always are considered as new words. Timestamp update function now also uses the alignWords function directly instead of alignJSONText, removing some overhead.

* Fixed small bug which raised an error if an empty block was present during timestamp update

* Changed time of timestamp-update. Now re-calculates the timestamps after 5 seconds if the transcript has been edited or if the user saves the transcript manually with the save button

* Code cleanup

* some changes to show sudgestions for PR

* added some of changes sudgested in PR

* adjusted DPE adapter

so that it preserves paragraphs break within contiguos speakers

* fixed one test

* commented out auto align

left aligning as a step before save btn and before export function, rather then as a step that happens everytime autosave is triggered, as that might be unecessary, and add performance overhead, I also noticed the cursor position jumped after realignement, thought something was been put in place to preserve/avoid that?

* updated package-lock

* fixed vulneranilities

* Getting ready to publish alpha

* 1.0.4-alpha.0

* 1.0.4@alpha

* fixed notes

* changing speaker and timecodes to be unselectable

* 1.0.4-alpha.1

* 1.0.4-alpha.1

unselectabel speakers and timecodes

* fix speaker and timecodes at paragraph level after realignement

* 1.0.4-alpha.2

* fixed docx integration

* Subtitles export (#168)

* added option to export srt files

and layout to export other type of captions with auto segmentation of lines

* added support for other subtitles formats

* fixed npm audit

* implemented export in UI

* fixed test

added sample files for adding tests for subtitle composer module at later stage

* added optional analytics

for export download options

* updated CSS

* 1.0.4-alpha.3

* fixed subtiles segmentation

algo was picking the wrong words from the list

* moved PR template in github folder

* cleaned up code for subtitles parsing

* 1.0.4-alpha.4

* fixed alignement algo

after interpolation words time boundares  where overlapping

* fixed interpolation

* fixed filename of word doc export

* fixed TimeBox

and playback rate not working

* 1.0.4-alpha.5

* removed scroll sync (#181)

fix #180

* refactor

changes from James review #160

* Develop branch -  should component update refactor (#182)

* Refactor should component updatre for transcript editor

* Refactor should component updatre for PlayerControls

* Refactor should component updatre for TimeBox

* Refactor should component update for ProgressBar

* Refactor should component update for TimedTextEditor

* Refactor should component update for Header

* fix from PR review

Fixed from James comments from #144 (review)

* Update package.json

* Update package.json
  • Loading branch information
Pietro committed Aug 13, 2019
1 parent be93c08 commit 6cfca7b
Show file tree
Hide file tree
Showing 79 changed files with 119,019 additions and 612 deletions.
File renamed without changes.
10 changes: 8 additions & 2 deletions demo/app.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import React from 'react';

// NOTE: This slows down performance, even during development
// if (process.env.NODE_ENV !== 'production') {
// const { whyDidYouUpdate } = require('why-did-you-update');
// whyDidYouUpdate(React, { exclude: [ /^HotKeysWrapper/ ] } );
// }
import TranscriptEditor from '../packages/components/transcript-editor';
import SttTypeSelect from './select-stt-json-type';
import ExportFormatSelect from './select-export-format';
Expand Down Expand Up @@ -116,7 +120,9 @@ class App extends React.Component {
if (ext === 'json') {
tmpData = JSON.stringify(data, null, 2);
}
this.download(tmpData, `${ this.state.mediaUrl }.${ ext }`);
if (ext !== 'docx') {
this.download(tmpData, `${ this.state.mediaUrl }.${ ext }`);
}
};

// https://stackoverflow.com/questions/2897619/using-html5-javascript-to-generate-and-save-a-file
Expand Down
1 change: 0 additions & 1 deletion demo/index.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,6 @@ body {
@media (max-width: 767px) {
body {
padding: 0;
text-align: center;
}

.demoNavItem {
Expand Down
9 changes: 9 additions & 0 deletions demo/select-export-format.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ const ExportFormatSelect = props => {
<option value="html" disabled>HTML</option>
<option value="word" disabled>MS Word</option>
<option value="digitalpaperedit">Digital Paper Edit</option>
<option value="srt">Srt - Captions</option>
<option value="ttml">TTML - Captions</option>
<option value="premiereTTML">TTML for Adobe Premiere - Captions</option>
<option value="itt">iTT - Captions</option>
<option value="csv">CSV - Captions</option>
<option value="vtt">VTT - Captions</option>
<option value="pre-segment-txt">Pre-segment-txt - Captions</option>
<option value="docx">MS Word</option>
<option value="json-captions">Json - Captions</option>
</select>;
};

Expand Down
330 changes: 330 additions & 0 deletions docs/notes/2019-05-16-prevent-unnecessary-re-renders-in-react.md

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions docs/notes/2019-07-31-npm-tags.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Npm tags

First make sure you have done a commit of latest changes then

>You can run `npm version 1.0.4-alpha.1` to update `package.json` and create a git tag in one go (see https://docs.npmjs.com/cli/version).
- [Publishing a beta or alpha version to NPM](https://medium.com/@kevinkreuzer/publishing-a-beta-or-alpha-version-to-npm-46035b630dd7)

this changes `package.json` version to be

```json
"version": "1.0.4-alpha.0",
```

then you can run `npm run publish:public` which under the hood preps the files and folder and runs `npm publish dist --access public`.

To install in another repo

```
npm install @bbc/react-transcript-editor@alpha
```
Loading

0 comments on commit 6cfca7b

Please sign in to comment.