11import utils from "./utils.js" ;
22import appContext from "../components/app_context.js" ;
33import server from "./server.js" ;
4- import libraryLoader from "./library_loader.js" ;
54import ws from "./ws.js" ;
65import froca from "./froca.js" ;
76import linkService from "./link.js" ;
@@ -17,7 +16,6 @@ function setupGlobs() {
1716
1817 // required for ESLint plugin and CKEditor
1918 window . glob . getActiveContextNote = ( ) => appContext . tabManager . getActiveContextNote ( ) ;
20- window . glob . requireLibrary = libraryLoader . requireLibrary ;
2119 window . glob . appContext = appContext ; // for debugging
2220 window . glob . froca = froca ;
2321 window . glob . treeCache = froca ; // compatibility for CKEditor builds for a while
@@ -64,7 +62,7 @@ function setupGlobs() {
6462 } ) ;
6563
6664 for ( const appCssNoteId of glob . appCssNoteIds || [ ] ) {
67- libraryLoader . requireCss ( `api/notes/download/${ appCssNoteId } ` , false ) ;
65+ requireCss ( `api/notes/download/${ appCssNoteId } ` , false ) ;
6866 }
6967
7068 utils . initHelpButtons ( $ ( window ) ) ;
@@ -76,6 +74,18 @@ function setupGlobs() {
7674 } ) ;
7775}
7876
77+ async function requireCss ( url : string , prependAssetPath = true ) {
78+ const cssLinks = Array . from ( document . querySelectorAll ( "link" ) ) . map ( ( el ) => el . href ) ;
79+
80+ if ( ! cssLinks . some ( ( l ) => l . endsWith ( url ) ) ) {
81+ if ( prependAssetPath ) {
82+ url = `${ window . glob . assetPath } /${ url } ` ;
83+ }
84+
85+ $ ( "head" ) . append ( $ ( '<link rel="stylesheet" type="text/css" />' ) . attr ( "href" , url ) ) ;
86+ }
87+ }
88+
7989export default {
8090 setupGlobs
8191} ;
0 commit comments