Skip to content

Commit 0a07b0d

Browse files
authored
Merge pull request #5259 from BookStackApp/typescript-conversions
Conversion of Services to TypeScript
2 parents 94165cc + 209fa04 commit 0a07b0d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+304
-297
lines changed

dev/build/esbuild.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const isProd = process.argv[2] === 'production';
1010

1111
// Gather our input files
1212
const entryPoints = {
13-
app: path.join(__dirname, '../../resources/js/app.js'),
13+
app: path.join(__dirname, '../../resources/js/app.ts'),
1414
code: path.join(__dirname, '../../resources/js/code/index.mjs'),
1515
'legacy-modes': path.join(__dirname, '../../resources/js/code/legacy-modes.mjs'),
1616
markdown: path.join(__dirname, '../../resources/js/markdown/index.mjs'),

resources/js/app.js

-33
This file was deleted.

resources/js/app.ts

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import {EventManager} from './services/events';
2+
import {HttpManager} from './services/http';
3+
import {Translator} from './services/translations';
4+
import * as componentMap from './components/index';
5+
import {ComponentStore} from './services/components';
6+
import {baseUrl, importVersioned} from "./services/util";
7+
8+
// eslint-disable-next-line no-underscore-dangle
9+
window.__DEV__ = false;
10+
11+
// Make common important util functions global
12+
window.baseUrl = baseUrl;
13+
window.importVersioned = importVersioned;
14+
15+
// Setup events, http & translation services
16+
window.$http = new HttpManager();
17+
window.$events = new EventManager();
18+
window.$trans = new Translator();
19+
20+
// Load & initialise components
21+
window.$components = new ComponentStore();
22+
window.$components.register(componentMap);
23+
window.$components.init();

resources/js/components/add-remove-rows.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {onChildEvent} from '../services/dom';
2-
import {uniqueId} from '../services/util';
1+
import {onChildEvent} from '../services/dom.ts';
2+
import {uniqueId} from '../services/util.ts';
33
import {Component} from './component';
44

55
/**

resources/js/components/ajax-delete-row.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {onSelect} from '../services/dom';
1+
import {onSelect} from '../services/dom.ts';
22
import {Component} from './component';
33

44
export class AjaxDeleteRow extends Component {

resources/js/components/ajax-form.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {onEnterPress, onSelect} from '../services/dom';
1+
import {onEnterPress, onSelect} from '../services/dom.ts';
22
import {Component} from './component';
33

44
/**

resources/js/components/attachments.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {showLoading} from '../services/dom';
1+
import {showLoading} from '../services/dom.ts';
22
import {Component} from './component';
33

44
export class Attachments extends Component {

resources/js/components/auto-suggest.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import {escapeHtml} from '../services/util';
2-
import {onChildEvent} from '../services/dom';
1+
import {escapeHtml} from '../services/util.ts';
2+
import {onChildEvent} from '../services/dom.ts';
33
import {Component} from './component';
4-
import {KeyboardNavigationHandler} from '../services/keyboard-navigation';
4+
import {KeyboardNavigationHandler} from '../services/keyboard-navigation.ts';
55

66
const ajaxCache = {};
77

resources/js/components/book-sort.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import Sortable, {MultiDrag} from 'sortablejs';
22
import {Component} from './component';
3-
import {htmlToDom} from '../services/dom';
3+
import {htmlToDom} from '../services/dom.ts';
44

55
// Auto sort control
66
const sortOperations = {

resources/js/components/chapter-contents.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {slideUp, slideDown} from '../services/animations';
1+
import {slideUp, slideDown} from '../services/animations.ts';
22
import {Component} from './component';
33

44
export class ChapterContents extends Component {

resources/js/components/code-editor.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {onChildEvent, onEnterPress, onSelect} from '../services/dom';
1+
import {onChildEvent, onEnterPress, onSelect} from '../services/dom.ts';
22
import {Component} from './component';
33

44
export class CodeEditor extends Component {

resources/js/components/collapsible.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {slideDown, slideUp} from '../services/animations';
1+
import {slideDown, slideUp} from '../services/animations.ts';
22
import {Component} from './component';
33

44
/**

resources/js/components/confirm-dialog.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {onSelect} from '../services/dom';
1+
import {onSelect} from '../services/dom.ts';
22
import {Component} from './component';
33

44
/**

resources/js/components/dropdown-search.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {debounce} from '../services/util';
2-
import {transitionHeight} from '../services/animations';
1+
import {debounce} from '../services/util.ts';
2+
import {transitionHeight} from '../services/animations.ts';
33
import {Component} from './component';
44

55
export class DropdownSearch extends Component {

resources/js/components/dropdown.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {onSelect} from '../services/dom';
2-
import {KeyboardNavigationHandler} from '../services/keyboard-navigation';
1+
import {onSelect} from '../services/dom.ts';
2+
import {KeyboardNavigationHandler} from '../services/keyboard-navigation.ts';
33
import {Component} from './component';
44

55
/**

resources/js/components/dropzone.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {Component} from './component';
22
import {Clipboard} from '../services/clipboard.ts';
33
import {
44
elem, getLoading, onSelect, removeLoading,
5-
} from '../services/dom';
5+
} from '../services/dom.ts';
66

77
export class Dropzone extends Component {
88

resources/js/components/entity-permissions.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {htmlToDom} from '../services/dom';
1+
import {htmlToDom} from '../services/dom.ts';
22
import {Component} from './component';
33

44
export class EntityPermissions extends Component {

resources/js/components/entity-search.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {onSelect} from '../services/dom';
1+
import {onSelect} from '../services/dom.ts';
22
import {Component} from './component';
33

44
export class EntitySearch extends Component {

resources/js/components/entity-selector.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {onChildEvent} from '../services/dom';
1+
import {onChildEvent} from '../services/dom.ts';
22
import {Component} from './component';
33

44
/**

resources/js/components/event-emit-select.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {onSelect} from '../services/dom';
1+
import {onSelect} from '../services/dom.ts';
22
import {Component} from './component';
33

44
/**

resources/js/components/expand-toggle.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {slideUp, slideDown} from '../services/animations';
1+
import {slideUp, slideDown} from '../services/animations.ts';
22
import {Component} from './component';
33

44
export class ExpandToggle extends Component {

resources/js/components/global-search.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import {htmlToDom} from '../services/dom';
2-
import {debounce} from '../services/util';
3-
import {KeyboardNavigationHandler} from '../services/keyboard-navigation';
1+
import {htmlToDom} from '../services/dom.ts';
2+
import {debounce} from '../services/util.ts';
3+
import {KeyboardNavigationHandler} from '../services/keyboard-navigation.ts';
44
import {Component} from './component';
55

66
/**

resources/js/components/image-manager.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {
22
onChildEvent, onSelect, removeLoading, showLoading,
3-
} from '../services/dom';
3+
} from '../services/dom.ts';
44
import {Component} from './component';
55

66
export class ImageManager extends Component {
File renamed without changes.

resources/js/components/optional-input.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {onSelect} from '../services/dom';
1+
import {onSelect} from '../services/dom.ts';
22
import {Component} from './component';
33

44
export class OptionalInput extends Component {

resources/js/components/page-comment.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {Component} from './component';
2-
import {getLoading, htmlToDom} from '../services/dom';
2+
import {getLoading, htmlToDom} from '../services/dom.ts';
33
import {buildForInput} from '../wysiwyg-tinymce/config';
44

55
export class PageComment extends Component {

resources/js/components/page-comments.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {Component} from './component';
2-
import {getLoading, htmlToDom} from '../services/dom';
2+
import {getLoading, htmlToDom} from '../services/dom.ts';
33
import {buildForInput} from '../wysiwyg-tinymce/config';
44

55
export class PageComments extends Component {

resources/js/components/page-display.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import * as DOM from '../services/dom';
2-
import {scrollAndHighlightElement} from '../services/util';
1+
import * as DOM from '../services/dom.ts';
2+
import {scrollAndHighlightElement} from '../services/util.ts';
33
import {Component} from './component';
44

55
function toggleAnchorHighlighting(elementId, shouldHighlight) {

resources/js/components/page-editor.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {onSelect} from '../services/dom';
2-
import {debounce} from '../services/util';
1+
import {onSelect} from '../services/dom.ts';
2+
import {debounce} from '../services/util.ts';
33
import {Component} from './component';
44
import {utcTimeStampToLocalTime} from '../services/dates.ts';
55

resources/js/components/pointer.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as DOM from '../services/dom';
1+
import * as DOM from '../services/dom.ts';
22
import {Component} from './component';
33
import {copyTextToClipboard} from '../services/clipboard.ts';
44

resources/js/components/popup.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {fadeIn, fadeOut} from '../services/animations';
2-
import {onSelect} from '../services/dom';
1+
import {fadeIn, fadeOut} from '../services/animations.ts';
2+
import {onSelect} from '../services/dom.ts';
33
import {Component} from './component';
44

55
/**

resources/js/components/template-manager.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as DOM from '../services/dom';
1+
import * as DOM from '../services/dom.ts';
22
import {Component} from './component';
33

44
export class TemplateManager extends Component {

resources/js/components/user-select.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {onChildEvent} from '../services/dom';
1+
import {onChildEvent} from '../services/dom.ts';
22
import {Component} from './component';
33

44
export class UserSelect extends Component {

resources/js/global.d.ts

+2
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ declare global {
77
const __DEV__: boolean;
88

99
interface Window {
10+
__DEV__: boolean;
1011
$components: ComponentStore;
1112
$events: EventManager;
1213
$trans: Translator;
1314
$http: HttpManager;
1415
baseUrl: (path: string) => string;
16+
importVersioned: (module: string) => Promise<object>;
1517
}
1618
}

resources/js/markdown/codemirror.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {provideKeyBindings} from './shortcuts';
2-
import {debounce} from '../services/util';
2+
import {debounce} from '../services/util.ts';
33
import {Clipboard} from '../services/clipboard.ts';
44

55
/**

0 commit comments

Comments
 (0)